)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":2759,"name":"Huang Zhiteng","email":"winston.d@gmail.com","username":"zhiteng-huang"},"change_message_id":"042f065cc1a18bd4ed7faa0c0f38e664a2b7a78b","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Ivan Kolodyazhny \u003ce0ne@e0ne.info\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-06-15 16:26:21 +0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Ceph driver support retries on rados_connect_timeout"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Added retry feature when connection to Ceph cluster failed"},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"fa32b979_62036043","line":7,"updated":"2015-06-16 06:44:31.000000000","message":"Would this retry be configurable?  Hardcode value is ugly.","commit_id":"1b39e0ae1dde7fd741353f066ca190aa079dc8f6"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"da70c2bc7c0b724c9f27e1b73f450a7b36ba3c60","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Ceph driver support retries on rados_connect_timeout"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Added retry feature when connection to Ceph cluster failed"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: Ice65fc40e9bd94805700f64397caf856982fa320"},{"line_number":12,"context_line":"Closes-Bug: #1462970"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"fa32b979_b123ae57","line":9,"updated":"2015-06-17 13:41:12.000000000","message":"Missing DocImpact as well as mentioning the 2 new configuration options.","commit_id":"c3ce7dd451fa6d58d99d8f73d85fafb6e0e78e32"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"abbf684b472da11b79150483dbf0e31177083a2d","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Ceph driver support retries on rados_connect_timeout"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Added retry feature when connection to Ceph cluster failed"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: Ice65fc40e9bd94805700f64397caf856982fa320"},{"line_number":12,"context_line":"Closes-Bug: #1462970"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"fa32b979_2280aabf","line":9,"in_reply_to":"fa32b979_b123ae57","updated":"2015-06-17 14:24:13.000000000","message":"Thanks. I forgot about it","commit_id":"c3ce7dd451fa6d58d99d8f73d85fafb6e0e78e32"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"6e14233e90a0fb7a1c7a51dcb6d5ba7baf3d7b9e","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Ceph driver support retries on rados_connect_timeout"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Added retry feature when connection to Ceph cluster failed"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"DocImpact"},{"line_number":12,"context_line":"Change-Id: Ice65fc40e9bd94805700f64397caf856982fa320"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"fa32b979_95da0f4a","line":9,"updated":"2015-06-17 15:21:31.000000000","message":"Commit message still not mentioning the 2 new configuration options. I\u0027m not too happy about that.\n\nIt will make more difficult for Doc team to know all changes done by this patch without looking at the code.","commit_id":"5565a36efdb7fea4bc964ddcb0cdb53d341cbd5c"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"af2357eddf091d3b3696090365c75853476be61d","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Ceph driver support retries on rados_connect_timeout"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Added retry feature when connection to Ceph cluster failed"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"DocImpact"},{"line_number":12,"context_line":"Change-Id: Ice65fc40e9bd94805700f64397caf856982fa320"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"fa32b979_a2e02c97","line":9,"in_reply_to":"fa32b979_58c6fe9a","updated":"2015-06-17 18:43:16.000000000","message":"No, their automation will pick it up, but they still like extra usage information if possible according to the DocImpact documentation, because when we use DocImpact a bug is created for them and the commit message appears in the bug report.","commit_id":"5565a36efdb7fea4bc964ddcb0cdb53d341cbd5c"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"33a803edbed727efbef6c1e18aa3cde4ee165cd5","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Ceph driver support retries on rados_connect_timeout"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Added retry feature when connection to Ceph cluster failed"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"DocImpact"},{"line_number":12,"context_line":"Change-Id: Ice65fc40e9bd94805700f64397caf856982fa320"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"fa32b979_58c6fe9a","line":9,"in_reply_to":"fa32b979_95da0f4a","updated":"2015-06-17 15:36:48.000000000","message":"Are you saying that the doc team do this manually? Won\u0027t the config table get updated automatically?","commit_id":"5565a36efdb7fea4bc964ddcb0cdb53d341cbd5c"}],"cinder/tests/unit/test_rbd.py":[{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"572b423d807ca7db664211ec78aa8cee90b3d366","unresolved":false,"context_lines":[{"line_number":882,"context_line":"                          self.driver._connect_to_rados)"},{"line_number":883,"context_line":"        self.assertTrue(self.mock_rados.Rados.return_value.open_ioctx.called)"},{"line_number":884,"context_line":"        self.assertEqual("},{"line_number":885,"context_line":"            3, self.mock_rados.Rados.return_value.shutdown.call_count)"},{"line_number":886,"context_line":""},{"line_number":887,"context_line":""},{"line_number":888,"context_line":"class RBDImageIOWrapperTestCase(test.TestCase):"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa32b979_4c3b19d2","line":885,"updated":"2015-06-15 12:56:56.000000000","message":"This will be more readable if we can declare a constant for retry count in rbd.","commit_id":"4d5c235e3764857d15cd3082b84705937da83272"}],"cinder/volume/drivers/rbd.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"ea814ffc3194d9cfa2260667c538f67159a8b546","unresolved":false,"context_lines":[{"line_number":325,"context_line":"        else:"},{"line_number":326,"context_line":"            pool \u003d self.configuration.rbd_pool"},{"line_number":327,"context_line":""},{"line_number":328,"context_line":"        # NOTE (e0ne): We can\u0027t use utils.retry because unit test will failed"},{"line_number":329,"context_line":"        # if python-rados is not installed."},{"line_number":330,"context_line":"        retries \u003d 3"},{"line_number":331,"context_line":"        delay \u003d 5"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_54408556","line":328,"updated":"2015-06-15 12:08:46.000000000","message":"I believe code should never adapt to tests (except in very extreme cases), but the other say around.\n\nTests could work around the issue by adding the module to test-requirements.txt or in the worst case by doing something like what the surrogate micro library does: https://github.com/ikostia/surrogate","commit_id":"1c5616c080425063fbc9022aaf508749a295f75b"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"e43bcd3f81aae56352427a02957377497141ba03","unresolved":false,"context_lines":[{"line_number":325,"context_line":"        else:"},{"line_number":326,"context_line":"            pool \u003d self.configuration.rbd_pool"},{"line_number":327,"context_line":""},{"line_number":328,"context_line":"        # NOTE (e0ne): We can\u0027t use utils.retry because unit test will failed"},{"line_number":329,"context_line":"        # if python-rados is not installed."},{"line_number":330,"context_line":"        retries \u003d 3"},{"line_number":331,"context_line":"        delay \u003d 5"}],"source_content_type":"text/x-python","patch_set":2,"id":"1af86dd1_a748a65c","line":328,"updated":"2015-06-12 15:25:07.000000000","message":"fail","commit_id":"1c5616c080425063fbc9022aaf508749a295f75b"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"bb66137f3c9999a53962ab47e66574974f537680","unresolved":false,"context_lines":[{"line_number":325,"context_line":"        else:"},{"line_number":326,"context_line":"            pool \u003d self.configuration.rbd_pool"},{"line_number":327,"context_line":""},{"line_number":328,"context_line":"        # NOTE (e0ne): We can\u0027t use utils.retry because unit test will failed"},{"line_number":329,"context_line":"        # if python-rados is not installed."},{"line_number":330,"context_line":"        retries \u003d 3"},{"line_number":331,"context_line":"        delay \u003d 5"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_eadd3071","line":328,"in_reply_to":"1af86dd1_a748a65c","updated":"2015-06-15 12:35:22.000000000","message":"Done","commit_id":"1c5616c080425063fbc9022aaf508749a295f75b"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"e43bcd3f81aae56352427a02957377497141ba03","unresolved":false,"context_lines":[{"line_number":328,"context_line":"        # NOTE (e0ne): We can\u0027t use utils.retry because unit test will failed"},{"line_number":329,"context_line":"        # if python-rados is not installed."},{"line_number":330,"context_line":"        retries \u003d 3"},{"line_number":331,"context_line":"        delay \u003d 5"},{"line_number":332,"context_line":"        while retries \u003e 0:"},{"line_number":333,"context_line":"            try:"},{"line_number":334,"context_line":"                if self.configuration.rados_connect_timeout \u003e\u003d 0:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1af86dd1_87d00a55","line":331,"updated":"2015-06-12 15:25:07.000000000","message":"Do we need to declare these as constants?","commit_id":"1c5616c080425063fbc9022aaf508749a295f75b"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"ea814ffc3194d9cfa2260667c538f67159a8b546","unresolved":false,"context_lines":[{"line_number":328,"context_line":"        # NOTE (e0ne): We can\u0027t use utils.retry because unit test will failed"},{"line_number":329,"context_line":"        # if python-rados is not installed."},{"line_number":330,"context_line":"        retries \u003d 3"},{"line_number":331,"context_line":"        delay \u003d 5"},{"line_number":332,"context_line":"        while retries \u003e 0:"},{"line_number":333,"context_line":"            try:"},{"line_number":334,"context_line":"                if self.configuration.rados_connect_timeout \u003e\u003d 0:"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_ef13025b","line":331,"in_reply_to":"1af86dd1_87d00a55","updated":"2015-06-15 12:08:46.000000000","message":"At the very least they should be constants, and I would go as far as suggesting actual configuration options.","commit_id":"1c5616c080425063fbc9022aaf508749a295f75b"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"bb66137f3c9999a53962ab47e66574974f537680","unresolved":false,"context_lines":[{"line_number":328,"context_line":"        # NOTE (e0ne): We can\u0027t use utils.retry because unit test will failed"},{"line_number":329,"context_line":"        # if python-rados is not installed."},{"line_number":330,"context_line":"        retries \u003d 3"},{"line_number":331,"context_line":"        delay \u003d 5"},{"line_number":332,"context_line":"        while retries \u003e 0:"},{"line_number":333,"context_line":"            try:"},{"line_number":334,"context_line":"                if self.configuration.rados_connect_timeout \u003e\u003d 0:"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_eac45093","line":331,"in_reply_to":"1af86dd1_87d00a55","updated":"2015-06-15 12:35:22.000000000","message":"Not sure that we need it. May be it would be better to make it configuable","commit_id":"1c5616c080425063fbc9022aaf508749a295f75b"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"dac20d3d8d8de95a385bc5b85258b151b96ca491","unresolved":false,"context_lines":[{"line_number":328,"context_line":"        # NOTE (e0ne): We can\u0027t use utils.retry because unit test will failed"},{"line_number":329,"context_line":"        # if python-rados is not installed."},{"line_number":330,"context_line":"        retries \u003d 3"},{"line_number":331,"context_line":"        delay \u003d 5"},{"line_number":332,"context_line":"        while retries \u003e 0:"},{"line_number":333,"context_line":"            try:"},{"line_number":334,"context_line":"                if self.configuration.rados_connect_timeout \u003e\u003d 0:"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_15bf54fc","line":331,"in_reply_to":"fa32b979_eac45093","updated":"2015-06-15 14:00:16.000000000","message":"I\u0027m OK with making it configurable.","commit_id":"1c5616c080425063fbc9022aaf508749a295f75b"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"e43bcd3f81aae56352427a02957377497141ba03","unresolved":false,"context_lines":[{"line_number":344,"context_line":"                client.shutdown()"},{"line_number":345,"context_line":"                retries -\u003d1"},{"line_number":346,"context_line":"                eventlet.sleep(delay)"},{"line_number":347,"context_line":"        LOG.error(_LE(\"Rados connection max retries reached\"))"},{"line_number":348,"context_line":"        raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":349,"context_line":""},{"line_number":350,"context_line":"    def _disconnect_from_rados(self, client, ioctx):"}],"source_content_type":"text/x-python","patch_set":2,"id":"1af86dd1_47f3320b","line":347,"updated":"2015-06-12 15:25:07.000000000","message":"end with period.","commit_id":"1c5616c080425063fbc9022aaf508749a295f75b"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"bb66137f3c9999a53962ab47e66574974f537680","unresolved":false,"context_lines":[{"line_number":344,"context_line":"                client.shutdown()"},{"line_number":345,"context_line":"                retries -\u003d1"},{"line_number":346,"context_line":"                eventlet.sleep(delay)"},{"line_number":347,"context_line":"        LOG.error(_LE(\"Rados connection max retries reached\"))"},{"line_number":348,"context_line":"        raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":349,"context_line":""},{"line_number":350,"context_line":"    def _disconnect_from_rados(self, client, ioctx):"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_0adbb47d","line":347,"in_reply_to":"1af86dd1_47f3320b","updated":"2015-06-15 12:35:22.000000000","message":"Done","commit_id":"1c5616c080425063fbc9022aaf508749a295f75b"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"572b423d807ca7db664211ec78aa8cee90b3d366","unresolved":false,"context_lines":[{"line_number":345,"context_line":"                client.shutdown()"},{"line_number":346,"context_line":"                retries -\u003d 1"},{"line_number":347,"context_line":"                eventlet.sleep(delay)"},{"line_number":348,"context_line":"        LOG.error(_LE(\"Rados connection max retries reached,\"))"},{"line_number":349,"context_line":"        raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":350,"context_line":""},{"line_number":351,"context_line":"    def _disconnect_from_rados(self, client, ioctx):"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa32b979_ec79cd94","line":348,"updated":"2015-06-15 12:56:56.000000000","message":"comma -\u003e period.","commit_id":"4d5c235e3764857d15cd3082b84705937da83272"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"5575734319c132c719afddd0f07b3726c732b6cc","unresolved":false,"context_lines":[{"line_number":345,"context_line":"                client.shutdown()"},{"line_number":346,"context_line":"                retries -\u003d 1"},{"line_number":347,"context_line":"                eventlet.sleep(delay)"},{"line_number":348,"context_line":"        LOG.error(_LE(\"Rados connection max retries reached,\"))"},{"line_number":349,"context_line":"        raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":350,"context_line":""},{"line_number":351,"context_line":"    def _disconnect_from_rados(self, client, ioctx):"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa32b979_2f6007ce","line":348,"in_reply_to":"fa32b979_ec79cd94","updated":"2015-06-15 13:27:21.000000000","message":"Done","commit_id":"4d5c235e3764857d15cd3082b84705937da83272"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"57c2f2c3275a02b8c491aab1bbf1bc95d216f855","unresolved":false,"context_lines":[{"line_number":326,"context_line":"            pool \u003d self.configuration.rbd_pool"},{"line_number":327,"context_line":""},{"line_number":328,"context_line":"        # NOTE (e0ne): We can\u0027t use utils.retry because unit test will fail"},{"line_number":329,"context_line":"        # if python-rados is not installed."},{"line_number":330,"context_line":"        retries \u003d 3"},{"line_number":331,"context_line":"        delay \u003d 5"},{"line_number":332,"context_line":"        while retries \u003e 0:"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa32b979_75db407d","line":329,"updated":"2015-06-15 14:00:50.000000000","message":"I still think we should not stop using retry because tests fail, like I mentioned in patch 2.","commit_id":"1b39e0ae1dde7fd741353f066ca190aa079dc8f6"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"f762df6d2eccf85bcac32cc875a0b0e774d04d60","unresolved":false,"context_lines":[{"line_number":326,"context_line":"            pool \u003d self.configuration.rbd_pool"},{"line_number":327,"context_line":""},{"line_number":328,"context_line":"        # NOTE (e0ne): We can\u0027t use utils.retry because unit test will fail"},{"line_number":329,"context_line":"        # if python-rados is not installed."},{"line_number":330,"context_line":"        retries \u003d 3"},{"line_number":331,"context_line":"        delay \u003d 5"},{"line_number":332,"context_line":"        while retries \u003e 0:"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa32b979_61937e5c","line":329,"in_reply_to":"fa32b979_218ed678","updated":"2015-06-15 15:04:37.000000000","message":"It makes sense. I\u0027ll try to mock rados to make unit-tests work. Adding new dependency to requirements only for one tests is overhead, IMO","commit_id":"1b39e0ae1dde7fd741353f066ca190aa079dc8f6"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"a8ee9733196d83160822abc0d9d966d47e6bd59f","unresolved":false,"context_lines":[{"line_number":326,"context_line":"            pool \u003d self.configuration.rbd_pool"},{"line_number":327,"context_line":""},{"line_number":328,"context_line":"        # NOTE (e0ne): We can\u0027t use utils.retry because unit test will fail"},{"line_number":329,"context_line":"        # if python-rados is not installed."},{"line_number":330,"context_line":"        retries \u003d 3"},{"line_number":331,"context_line":"        delay \u003d 5"},{"line_number":332,"context_line":"        while retries \u003e 0:"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa32b979_c605c0c2","line":329,"in_reply_to":"fa32b979_75db407d","updated":"2015-06-15 14:48:48.000000000","message":"I\u0027m sorry that I missed your comment for patch 2.\nrados and rbd modules provides python-ceph package (DEB, RPM) and it\u0027s not available in PyPI (or I didn\u0027t find it)","commit_id":"1b39e0ae1dde7fd741353f066ca190aa079dc8f6"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"c9dad9556ac4c00c4b053431cf48d25c1d50712a","unresolved":false,"context_lines":[{"line_number":326,"context_line":"            pool \u003d self.configuration.rbd_pool"},{"line_number":327,"context_line":""},{"line_number":328,"context_line":"        # NOTE (e0ne): We can\u0027t use utils.retry because unit test will fail"},{"line_number":329,"context_line":"        # if python-rados is not installed."},{"line_number":330,"context_line":"        retries \u003d 3"},{"line_number":331,"context_line":"        delay \u003d 5"},{"line_number":332,"context_line":"        while retries \u003e 0:"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa32b979_218ed678","line":329,"in_reply_to":"fa32b979_c605c0c2","updated":"2015-06-15 15:00:59.000000000","message":"I believe you are right, you would need a package, but since these are unittests we are talking about, why don\u0027t we just patch the whole class with something like the surrogate micro library I mentioned?","commit_id":"1b39e0ae1dde7fd741353f066ca190aa079dc8f6"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"57c2f2c3275a02b8c491aab1bbf1bc95d216f855","unresolved":false,"context_lines":[{"line_number":328,"context_line":"        # NOTE (e0ne): We can\u0027t use utils.retry because unit test will fail"},{"line_number":329,"context_line":"        # if python-rados is not installed."},{"line_number":330,"context_line":"        retries \u003d 3"},{"line_number":331,"context_line":"        delay \u003d 5"},{"line_number":332,"context_line":"        while retries \u003e 0:"},{"line_number":333,"context_line":"            try:"},{"line_number":334,"context_line":"                if self.configuration.rados_connect_timeout \u003e\u003d 0:"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa32b979_b52b0830","line":331,"updated":"2015-06-15 14:00:50.000000000","message":"Configurable or Class constants, but not like this.","commit_id":"1b39e0ae1dde7fd741353f066ca190aa079dc8f6"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"a8ee9733196d83160822abc0d9d966d47e6bd59f","unresolved":false,"context_lines":[{"line_number":328,"context_line":"        # NOTE (e0ne): We can\u0027t use utils.retry because unit test will fail"},{"line_number":329,"context_line":"        # if python-rados is not installed."},{"line_number":330,"context_line":"        retries \u003d 3"},{"line_number":331,"context_line":"        delay \u003d 5"},{"line_number":332,"context_line":"        while retries \u003e 0:"},{"line_number":333,"context_line":"            try:"},{"line_number":334,"context_line":"                if self.configuration.rados_connect_timeout \u003e\u003d 0:"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa32b979_a088a4e8","line":331,"in_reply_to":"fa32b979_b52b0830","updated":"2015-06-15 14:48:48.000000000","message":"OK, I\u0027ll make it configurable in a next patch","commit_id":"1b39e0ae1dde7fd741353f066ca190aa079dc8f6"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"57c2f2c3275a02b8c491aab1bbf1bc95d216f855","unresolved":false,"context_lines":[{"line_number":333,"context_line":"            try:"},{"line_number":334,"context_line":"                if self.configuration.rados_connect_timeout \u003e\u003d 0:"},{"line_number":335,"context_line":"                    client.connect(timeout\u003d"},{"line_number":336,"context_line":"                                   self.configuration.rados_connect_timeout)"},{"line_number":337,"context_line":"                else:"},{"line_number":338,"context_line":"                    client.connect()"},{"line_number":339,"context_line":"                ioctx \u003d client.open_ioctx(pool)"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa32b979_720a7628","line":336,"updated":"2015-06-15 14:00:50.000000000","message":"It\u0027s more readable as it was in patch 2 (although you\u0027ll have to set the right indentation as it was overindented there).","commit_id":"1b39e0ae1dde7fd741353f066ca190aa079dc8f6"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"a8ee9733196d83160822abc0d9d966d47e6bd59f","unresolved":false,"context_lines":[{"line_number":333,"context_line":"            try:"},{"line_number":334,"context_line":"                if self.configuration.rados_connect_timeout \u003e\u003d 0:"},{"line_number":335,"context_line":"                    client.connect(timeout\u003d"},{"line_number":336,"context_line":"                                   self.configuration.rados_connect_timeout)"},{"line_number":337,"context_line":"                else:"},{"line_number":338,"context_line":"                    client.connect()"},{"line_number":339,"context_line":"                ioctx \u003d client.open_ioctx(pool)"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa32b979_e0654c45","line":336,"in_reply_to":"fa32b979_720a7628","updated":"2015-06-15 14:48:48.000000000","message":"Thanks, I\u0027ll fix it","commit_id":"1b39e0ae1dde7fd741353f066ca190aa079dc8f6"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"57c2f2c3275a02b8c491aab1bbf1bc95d216f855","unresolved":false,"context_lines":[{"line_number":339,"context_line":"                ioctx \u003d client.open_ioctx(pool)"},{"line_number":340,"context_line":"                return client, ioctx"},{"line_number":341,"context_line":"            except self.rados.Error:"},{"line_number":342,"context_line":"                LOG.error(_LI(\"Rados connection max retries reached.\"))"},{"line_number":343,"context_line":"                msg \u003d _(\"Error connecting to ceph cluster.\")"},{"line_number":344,"context_line":"                LOG.exception(msg)"},{"line_number":345,"context_line":"                client.shutdown()"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa32b979_f268c6f7","line":342,"updated":"2015-06-15 14:00:50.000000000","message":"max retries?\n\nShouldn\u0027t it be timeout reached?","commit_id":"1b39e0ae1dde7fd741353f066ca190aa079dc8f6"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"a8ee9733196d83160822abc0d9d966d47e6bd59f","unresolved":false,"context_lines":[{"line_number":339,"context_line":"                ioctx \u003d client.open_ioctx(pool)"},{"line_number":340,"context_line":"                return client, ioctx"},{"line_number":341,"context_line":"            except self.rados.Error:"},{"line_number":342,"context_line":"                LOG.error(_LI(\"Rados connection max retries reached.\"))"},{"line_number":343,"context_line":"                msg \u003d _(\"Error connecting to ceph cluster.\")"},{"line_number":344,"context_line":"                LOG.exception(msg)"},{"line_number":345,"context_line":"                client.shutdown()"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa32b979_805a4082","line":342,"in_reply_to":"fa32b979_f268c6f7","updated":"2015-06-15 14:48:48.000000000","message":"Thanks, I\u0027ll fix it in a next patch","commit_id":"1b39e0ae1dde7fd741353f066ca190aa079dc8f6"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"da70c2bc7c0b724c9f27e1b73f450a7b36ba3c60","unresolved":false,"context_lines":[{"line_number":90,"context_line":"                      \u0027failed.\u0027)),"},{"line_number":91,"context_line":"    cfg.IntOpt(\u0027rados_connection_interval\u0027, default\u003d5,"},{"line_number":92,"context_line":"               help\u003d_(\u0027Interval value (in seconds) between connection \u0027"},{"line_number":93,"context_line":"                      \u0027retries to ceph cluster\u0027))"},{"line_number":94,"context_line":"]"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa32b979_b1540efe","line":93,"updated":"2015-06-17 13:41:12.000000000","message":"Missing . at the end of the sentence.","commit_id":"c3ce7dd451fa6d58d99d8f73d85fafb6e0e78e32"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"abbf684b472da11b79150483dbf0e31177083a2d","unresolved":false,"context_lines":[{"line_number":90,"context_line":"                      \u0027failed.\u0027)),"},{"line_number":91,"context_line":"    cfg.IntOpt(\u0027rados_connection_interval\u0027, default\u003d5,"},{"line_number":92,"context_line":"               help\u003d_(\u0027Interval value (in seconds) between connection \u0027"},{"line_number":93,"context_line":"                      \u0027retries to ceph cluster\u0027))"},{"line_number":94,"context_line":"]"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa32b979_424ccec7","line":93,"in_reply_to":"fa32b979_b1540efe","updated":"2015-06-17 14:24:13.000000000","message":"Done","commit_id":"c3ce7dd451fa6d58d99d8f73d85fafb6e0e78e32"}]}
