)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"191916bd09c4f6dc60583b8063ae7de638083ecf","unresolved":false,"context_lines":[{"line_number":14,"context_line":"* test_swap_volume_with_compute_driver_exception"},{"line_number":15,"context_line":"* test_swap_volume_with_initialize_connection_exception"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"And replace mox with mock."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: I08278c10104786a12835ab64a3602503901285bc"},{"line_number":20,"context_line":"Implements: blueprint remove-mox-pike"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":24,"id":"fa31d9ce_436458e3","line":17,"range":{"start_line":17,"start_character":0,"end_line":17,"end_character":26},"updated":"2017-02-13 12:01:01.000000000","message":"Not quite. See next page","commit_id":"6fcebef698c5f808f5eee556cc4e7cf23f455e80"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"2a121f2ad8cfb752c8c45bb71b016a0ce3e5a1a7","unresolved":false,"context_lines":[{"line_number":14,"context_line":"* test_swap_volume_with_compute_driver_exception"},{"line_number":15,"context_line":"* test_swap_volume_with_initialize_connection_exception"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"And replace mox with mock."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: I08278c10104786a12835ab64a3602503901285bc"},{"line_number":20,"context_line":"Implements: blueprint remove-mox-pike"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":24,"id":"da36d5c6_80dbf5ec","line":17,"range":{"start_line":17,"start_character":0,"end_line":17,"end_character":26},"in_reply_to":"fa31d9ce_436458e3","updated":"2017-02-20 04:48:47.000000000","message":"Done","commit_id":"6fcebef698c5f808f5eee556cc4e7cf23f455e80"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"191916bd09c4f6dc60583b8063ae7de638083ecf","unresolved":false,"context_lines":[{"line_number":17,"context_line":"And replace mox with mock."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: I08278c10104786a12835ab64a3602503901285bc"},{"line_number":20,"context_line":"Implements: blueprint remove-mox-pike"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":24,"id":"fa31d9ce_c3584835","line":20,"range":{"start_line":20,"start_character":0,"end_line":20,"end_character":37},"updated":"2017-02-13 12:01:01.000000000","message":"this isn\u0027t related to this blueprint - \u0027stub_out\u0027 is already mock","commit_id":"6fcebef698c5f808f5eee556cc4e7cf23f455e80"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"2a121f2ad8cfb752c8c45bb71b016a0ce3e5a1a7","unresolved":false,"context_lines":[{"line_number":17,"context_line":"And replace mox with mock."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: I08278c10104786a12835ab64a3602503901285bc"},{"line_number":20,"context_line":"Implements: blueprint remove-mox-pike"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":24,"id":"da36d5c6_a0d8f9f0","line":20,"range":{"start_line":20,"start_character":0,"end_line":20,"end_character":37},"in_reply_to":"fa31d9ce_c3584835","updated":"2017-02-20 04:48:47.000000000","message":"Done","commit_id":"6fcebef698c5f808f5eee556cc4e7cf23f455e80"}],"nova/tests/unit/compute/test_compute_mgr.py":[{"author":{"_account_id":18602,"name":"Gábor Antal","email":"antal@inf.u-szeged.hu","username":"antal"},"change_message_id":"2f0fdd1fd6e7e4bc10367a8c9ecce9d3e23e30d3","unresolved":false,"context_lines":[{"line_number":1840,"context_line":"            self.assertRaises(expected_exception, self.compute.swap_volume,"},{"line_number":1841,"context_line":"                              self.context, uuids.old_volume, uuids.new_volume,"},{"line_number":1842,"context_line":"                              instance1)"},{"line_number":1843,"context_line":"            self.assertEqual(volumes[uuids.old_volume][\u0027status\u0027], \u0027in-use\u0027)"},{"line_number":1844,"context_line":"            self.assertEqual(volumes[uuids.new_volume][\u0027status\u0027], \u0027available\u0027)"},{"line_number":1845,"context_line":"            self.assertEqual(2, mock_notify.call_count)"},{"line_number":1846,"context_line":"            mock_notify.assert_any_call("},{"line_number":1847,"context_line":"                test.MatchType(context.RequestContext), instance1,"}],"source_content_type":"text/x-python","patch_set":19,"id":"3a461143_067b00f6","line":1844,"range":{"start_line":1843,"start_character":12,"end_line":1844,"end_character":78},"updated":"2017-01-30 18:28:10.000000000","message":"The correct form of assertEqual is: expected, observed, see at [1]. I think if you touch the code, you should also refactor the calls to use the correct order. This is really useful, when the test fails, so the error message will be accurate.\n\n[1]: http://testtools.readthedocs.io/en/latest/api.html#testtools.TestCase.assertEqual","commit_id":"3a867379c66c38419a89efa403d9a3ba5351076d"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"0dee9675fa36ce6c0ad13598cc7be90ab7220046","unresolved":false,"context_lines":[{"line_number":1840,"context_line":"            self.assertRaises(expected_exception, self.compute.swap_volume,"},{"line_number":1841,"context_line":"                              self.context, uuids.old_volume, uuids.new_volume,"},{"line_number":1842,"context_line":"                              instance1)"},{"line_number":1843,"context_line":"            self.assertEqual(volumes[uuids.old_volume][\u0027status\u0027], \u0027in-use\u0027)"},{"line_number":1844,"context_line":"            self.assertEqual(volumes[uuids.new_volume][\u0027status\u0027], \u0027available\u0027)"},{"line_number":1845,"context_line":"            self.assertEqual(2, mock_notify.call_count)"},{"line_number":1846,"context_line":"            mock_notify.assert_any_call("},{"line_number":1847,"context_line":"                test.MatchType(context.RequestContext), instance1,"}],"source_content_type":"text/x-python","patch_set":19,"id":"3a461143_713aa79a","line":1844,"range":{"start_line":1843,"start_character":12,"end_line":1844,"end_character":78},"in_reply_to":"3a461143_067b00f6","updated":"2017-01-31 10:20:15.000000000","message":"Done","commit_id":"3a867379c66c38419a89efa403d9a3ba5351076d"},{"author":{"_account_id":18602,"name":"Gábor Antal","email":"antal@inf.u-szeged.hu","username":"antal"},"change_message_id":"2f0fdd1fd6e7e4bc10367a8c9ecce9d3e23e30d3","unresolved":false,"context_lines":[{"line_number":1878,"context_line":""},{"line_number":1879,"context_line":"    def _assert_swap_volume(self, old_connection_info, new_connection_info,"},{"line_number":1880,"context_line":"                            instance, mountpoint, resize_to):"},{"line_number":1881,"context_line":"        self.assertEqual(resize_to, 2)"},{"line_number":1882,"context_line":""},{"line_number":1883,"context_line":"    @mock.patch.object(cinder.API, \u0027initialize_connection\u0027)"},{"line_number":1884,"context_line":"    @mock.patch.object(fake_driver.FakeDriver, \u0027swap_volume\u0027)"}],"source_content_type":"text/x-python","patch_set":19,"id":"3a461143_26671c4e","line":1881,"range":{"start_line":1881,"start_character":8,"end_line":1881,"end_character":38},"updated":"2017-01-30 18:28:10.000000000","message":"Ditto","commit_id":"3a867379c66c38419a89efa403d9a3ba5351076d"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"0dee9675fa36ce6c0ad13598cc7be90ab7220046","unresolved":false,"context_lines":[{"line_number":1878,"context_line":""},{"line_number":1879,"context_line":"    def _assert_swap_volume(self, old_connection_info, new_connection_info,"},{"line_number":1880,"context_line":"                            instance, mountpoint, resize_to):"},{"line_number":1881,"context_line":"        self.assertEqual(resize_to, 2)"},{"line_number":1882,"context_line":""},{"line_number":1883,"context_line":"    @mock.patch.object(cinder.API, \u0027initialize_connection\u0027)"},{"line_number":1884,"context_line":"    @mock.patch.object(fake_driver.FakeDriver, \u0027swap_volume\u0027)"}],"source_content_type":"text/x-python","patch_set":19,"id":"3a461143_d1d35bd3","line":1881,"range":{"start_line":1881,"start_character":8,"end_line":1881,"end_character":38},"in_reply_to":"3a461143_26671c4e","updated":"2017-01-31 10:20:15.000000000","message":"Done","commit_id":"3a867379c66c38419a89efa403d9a3ba5351076d"},{"author":{"_account_id":18602,"name":"Gábor Antal","email":"antal@inf.u-szeged.hu","username":"antal"},"change_message_id":"2f0fdd1fd6e7e4bc10367a8c9ecce9d3e23e30d3","unresolved":false,"context_lines":[{"line_number":1899,"context_line":"    @mock.patch.object(cinder.API, \u0027initialize_connection\u0027,"},{"line_number":1900,"context_line":"                       side_effect\u003dtest.TestingException())"},{"line_number":1901,"context_line":"    @mock.patch.object(fake_driver.FakeDriver, \u0027swap_volume\u0027)"},{"line_number":1902,"context_line":"    def test_swap_volume_with_initialize_connection_exception("},{"line_number":1903,"context_line":"        self, mock_swap_volume, mock_initialize_connection):"},{"line_number":1904,"context_line":"        self._test_swap_volume(expected_exception\u003dtest.TestingException)"},{"line_number":1905,"context_line":""},{"line_number":1906,"context_line":"    @mock.patch(\u0027nova.compute.utils.notify_about_volume_swap\u0027)"}],"source_content_type":"text/x-python","patch_set":19,"id":"3a461143_5b6b21f1","line":1903,"range":{"start_line":1902,"start_character":62,"end_line":1903,"end_character":13},"updated":"2017-01-30 18:28:10.000000000","message":"I think it looks weird at all occurrences.","commit_id":"3a867379c66c38419a89efa403d9a3ba5351076d"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"191916bd09c4f6dc60583b8063ae7de638083ecf","unresolved":false,"context_lines":[{"line_number":1838,"context_line":"            self.assertEqual(2, updates[\u0027volume_size\u0027])"},{"line_number":1839,"context_line":"            return fake_bdm"},{"line_number":1840,"context_line":""},{"line_number":1841,"context_line":"        self.stub_out(\u0027nova.volume.cinder.API.roll_detaching\u0027,"},{"line_number":1842,"context_line":"                       fake_vol_api_roll_detaching)"},{"line_number":1843,"context_line":"        self.stub_out(\u0027nova.volume.cinder.API.get\u0027, fake_vol_get)"},{"line_number":1844,"context_line":"        self.stub_out(\u0027nova.volume.cinder.API.initialize_connection\u0027,"},{"line_number":1845,"context_line":"                       fake_vol_api_func)"},{"line_number":1846,"context_line":"        self.stub_out(\u0027nova.volume.cinder.API.unreserve_volume\u0027,"},{"line_number":1847,"context_line":"                       fake_vol_unreserve)"},{"line_number":1848,"context_line":"        self.stub_out(\u0027nova.volume.cinder.API.terminate_connection\u0027,"},{"line_number":1849,"context_line":"                       fake_vol_api_func)"},{"line_number":1850,"context_line":"        self.stub_out(\u0027nova.db.\u0027"},{"line_number":1851,"context_line":"                      \u0027block_device_mapping_get_by_instance_and_volume_id\u0027,"},{"line_number":1852,"context_line":"                      lambda x, y, z, v: fake_bdm)"},{"line_number":1853,"context_line":"        self.stub_out(\u0027nova.virt.driver.ComputeDriver.get_volume_connector\u0027,"},{"line_number":1854,"context_line":"                       lambda x: {})"},{"line_number":1855,"context_line":"        self.stub_out(\u0027nova.virt.driver.ComputeDriver.swap_volume\u0027,"},{"line_number":1856,"context_line":"                       fake_swap_volume)"},{"line_number":1857,"context_line":"        self.stub_out(\u0027nova.volume.cinder.API.migrate_volume_completion\u0027,"},{"line_number":1858,"context_line":"                      fake_vol_migrate_volume_completion)"},{"line_number":1859,"context_line":"        self.stub_out(\u0027nova.db.block_device_mapping_update\u0027,"},{"line_number":1860,"context_line":"                      fake_block_device_mapping_update)"},{"line_number":1861,"context_line":"        self.stub_out(\u0027nova.db.instance_fault_create\u0027,"},{"line_number":1862,"context_line":"                      lambda x, y:"},{"line_number":1863,"context_line":"                           test_instance_fault.fake_faults[\u0027fake-uuid\u0027][0])"},{"line_number":1864,"context_line":"        self.stub_out(\u0027nova.compute.manager.ComputeManager.\u0027"},{"line_number":1865,"context_line":"                      \u0027_instance_update\u0027, lambda c, u, **k: {})"},{"line_number":1866,"context_line":""},{"line_number":1867,"context_line":"        # Good path"},{"line_number":1868,"context_line":"        instance1 \u003d fake_instance.fake_instance_obj("}],"source_content_type":"text/x-python","patch_set":24,"id":"fa31d9ce_c845c770","side":"PARENT","line":1865,"range":{"start_line":1841,"start_character":0,"end_line":1865,"end_character":63},"updated":"2017-02-13 12:01:01.000000000","message":"wait - these are mock, not Mox?","commit_id":"8de0c648c218dd748c2076551d1d9819dbeb3bd6"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"2a121f2ad8cfb752c8c45bb71b016a0ce3e5a1a7","unresolved":false,"context_lines":[{"line_number":1838,"context_line":"            self.assertEqual(2, updates[\u0027volume_size\u0027])"},{"line_number":1839,"context_line":"            return fake_bdm"},{"line_number":1840,"context_line":""},{"line_number":1841,"context_line":"        self.stub_out(\u0027nova.volume.cinder.API.roll_detaching\u0027,"},{"line_number":1842,"context_line":"                       fake_vol_api_roll_detaching)"},{"line_number":1843,"context_line":"        self.stub_out(\u0027nova.volume.cinder.API.get\u0027, fake_vol_get)"},{"line_number":1844,"context_line":"        self.stub_out(\u0027nova.volume.cinder.API.initialize_connection\u0027,"},{"line_number":1845,"context_line":"                       fake_vol_api_func)"},{"line_number":1846,"context_line":"        self.stub_out(\u0027nova.volume.cinder.API.unreserve_volume\u0027,"},{"line_number":1847,"context_line":"                       fake_vol_unreserve)"},{"line_number":1848,"context_line":"        self.stub_out(\u0027nova.volume.cinder.API.terminate_connection\u0027,"},{"line_number":1849,"context_line":"                       fake_vol_api_func)"},{"line_number":1850,"context_line":"        self.stub_out(\u0027nova.db.\u0027"},{"line_number":1851,"context_line":"                      \u0027block_device_mapping_get_by_instance_and_volume_id\u0027,"},{"line_number":1852,"context_line":"                      lambda x, y, z, v: fake_bdm)"},{"line_number":1853,"context_line":"        self.stub_out(\u0027nova.virt.driver.ComputeDriver.get_volume_connector\u0027,"},{"line_number":1854,"context_line":"                       lambda x: {})"},{"line_number":1855,"context_line":"        self.stub_out(\u0027nova.virt.driver.ComputeDriver.swap_volume\u0027,"},{"line_number":1856,"context_line":"                       fake_swap_volume)"},{"line_number":1857,"context_line":"        self.stub_out(\u0027nova.volume.cinder.API.migrate_volume_completion\u0027,"},{"line_number":1858,"context_line":"                      fake_vol_migrate_volume_completion)"},{"line_number":1859,"context_line":"        self.stub_out(\u0027nova.db.block_device_mapping_update\u0027,"},{"line_number":1860,"context_line":"                      fake_block_device_mapping_update)"},{"line_number":1861,"context_line":"        self.stub_out(\u0027nova.db.instance_fault_create\u0027,"},{"line_number":1862,"context_line":"                      lambda x, y:"},{"line_number":1863,"context_line":"                           test_instance_fault.fake_faults[\u0027fake-uuid\u0027][0])"},{"line_number":1864,"context_line":"        self.stub_out(\u0027nova.compute.manager.ComputeManager.\u0027"},{"line_number":1865,"context_line":"                      \u0027_instance_update\u0027, lambda c, u, **k: {})"},{"line_number":1866,"context_line":""},{"line_number":1867,"context_line":"        # Good path"},{"line_number":1868,"context_line":"        instance1 \u003d fake_instance.fake_instance_obj("}],"source_content_type":"text/x-python","patch_set":24,"id":"da36d5c6_00ee258b","side":"PARENT","line":1865,"range":{"start_line":1841,"start_character":0,"end_line":1865,"end_character":63},"in_reply_to":"fa31d9ce_c845c770","updated":"2017-02-20 04:48:47.000000000","message":"It is not mox.\nYou are correct.","commit_id":"8de0c648c218dd748c2076551d1d9819dbeb3bd6"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"08c24be0b5d0d3a4879137b49282ca4df8aaa61d","unresolved":false,"context_lines":[{"line_number":1838,"context_line":"            self.assertEqual(2, updates[\u0027volume_size\u0027])"},{"line_number":1839,"context_line":"            return fake_bdm"},{"line_number":1840,"context_line":""},{"line_number":1841,"context_line":"        self.stub_out(\u0027nova.volume.cinder.API.roll_detaching\u0027,"},{"line_number":1842,"context_line":"                       fake_vol_api_roll_detaching)"},{"line_number":1843,"context_line":"        self.stub_out(\u0027nova.volume.cinder.API.get\u0027, fake_vol_get)"},{"line_number":1844,"context_line":"        self.stub_out(\u0027nova.volume.cinder.API.initialize_connection\u0027,"},{"line_number":1845,"context_line":"                       fake_vol_api_func)"},{"line_number":1846,"context_line":"        self.stub_out(\u0027nova.volume.cinder.API.unreserve_volume\u0027,"},{"line_number":1847,"context_line":"                       fake_vol_unreserve)"},{"line_number":1848,"context_line":"        self.stub_out(\u0027nova.volume.cinder.API.terminate_connection\u0027,"},{"line_number":1849,"context_line":"                       fake_vol_api_func)"},{"line_number":1850,"context_line":"        self.stub_out(\u0027nova.db.\u0027"},{"line_number":1851,"context_line":"                      \u0027block_device_mapping_get_by_instance_and_volume_id\u0027,"},{"line_number":1852,"context_line":"                      lambda x, y, z, v: fake_bdm)"},{"line_number":1853,"context_line":"        self.stub_out(\u0027nova.virt.driver.ComputeDriver.get_volume_connector\u0027,"},{"line_number":1854,"context_line":"                       lambda x: {})"},{"line_number":1855,"context_line":"        self.stub_out(\u0027nova.virt.driver.ComputeDriver.swap_volume\u0027,"},{"line_number":1856,"context_line":"                       fake_swap_volume)"},{"line_number":1857,"context_line":"        self.stub_out(\u0027nova.volume.cinder.API.migrate_volume_completion\u0027,"},{"line_number":1858,"context_line":"                      fake_vol_migrate_volume_completion)"},{"line_number":1859,"context_line":"        self.stub_out(\u0027nova.db.block_device_mapping_update\u0027,"},{"line_number":1860,"context_line":"                      fake_block_device_mapping_update)"},{"line_number":1861,"context_line":"        self.stub_out(\u0027nova.db.instance_fault_create\u0027,"},{"line_number":1862,"context_line":"                      lambda x, y:"},{"line_number":1863,"context_line":"                           test_instance_fault.fake_faults[\u0027fake-uuid\u0027][0])"},{"line_number":1864,"context_line":"        self.stub_out(\u0027nova.compute.manager.ComputeManager.\u0027"},{"line_number":1865,"context_line":"                      \u0027_instance_update\u0027, lambda c, u, **k: {})"},{"line_number":1866,"context_line":""},{"line_number":1867,"context_line":"        # Good path"},{"line_number":1868,"context_line":"        instance1 \u003d fake_instance.fake_instance_obj("}],"source_content_type":"text/x-python","patch_set":28,"id":"9a30ddce_5be8fa7c","side":"PARENT","line":1865,"range":{"start_line":1841,"start_character":0,"end_line":1865,"end_character":63},"updated":"2017-03-07 17:14:07.000000000","message":"You could leave these, they don\u0027t use mox.","commit_id":"5cf6bbf374a8b877d2e158aa8802b31d14ceb121"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"efad3ad6fb30e74a848166302979a991fa3e80d5","unresolved":false,"context_lines":[{"line_number":1838,"context_line":"            self.assertEqual(2, updates[\u0027volume_size\u0027])"},{"line_number":1839,"context_line":"            return fake_bdm"},{"line_number":1840,"context_line":""},{"line_number":1841,"context_line":"        self.stub_out(\u0027nova.volume.cinder.API.roll_detaching\u0027,"},{"line_number":1842,"context_line":"                       fake_vol_api_roll_detaching)"},{"line_number":1843,"context_line":"        self.stub_out(\u0027nova.volume.cinder.API.get\u0027, fake_vol_get)"},{"line_number":1844,"context_line":"        self.stub_out(\u0027nova.volume.cinder.API.initialize_connection\u0027,"},{"line_number":1845,"context_line":"                       fake_vol_api_func)"},{"line_number":1846,"context_line":"        self.stub_out(\u0027nova.volume.cinder.API.unreserve_volume\u0027,"},{"line_number":1847,"context_line":"                       fake_vol_unreserve)"},{"line_number":1848,"context_line":"        self.stub_out(\u0027nova.volume.cinder.API.terminate_connection\u0027,"},{"line_number":1849,"context_line":"                       fake_vol_api_func)"},{"line_number":1850,"context_line":"        self.stub_out(\u0027nova.db.\u0027"},{"line_number":1851,"context_line":"                      \u0027block_device_mapping_get_by_instance_and_volume_id\u0027,"},{"line_number":1852,"context_line":"                      lambda x, y, z, v: fake_bdm)"},{"line_number":1853,"context_line":"        self.stub_out(\u0027nova.virt.driver.ComputeDriver.get_volume_connector\u0027,"},{"line_number":1854,"context_line":"                       lambda x: {})"},{"line_number":1855,"context_line":"        self.stub_out(\u0027nova.virt.driver.ComputeDriver.swap_volume\u0027,"},{"line_number":1856,"context_line":"                       fake_swap_volume)"},{"line_number":1857,"context_line":"        self.stub_out(\u0027nova.volume.cinder.API.migrate_volume_completion\u0027,"},{"line_number":1858,"context_line":"                      fake_vol_migrate_volume_completion)"},{"line_number":1859,"context_line":"        self.stub_out(\u0027nova.db.block_device_mapping_update\u0027,"},{"line_number":1860,"context_line":"                      fake_block_device_mapping_update)"},{"line_number":1861,"context_line":"        self.stub_out(\u0027nova.db.instance_fault_create\u0027,"},{"line_number":1862,"context_line":"                      lambda x, y:"},{"line_number":1863,"context_line":"                           test_instance_fault.fake_faults[\u0027fake-uuid\u0027][0])"},{"line_number":1864,"context_line":"        self.stub_out(\u0027nova.compute.manager.ComputeManager.\u0027"},{"line_number":1865,"context_line":"                      \u0027_instance_update\u0027, lambda c, u, **k: {})"},{"line_number":1866,"context_line":""},{"line_number":1867,"context_line":"        # Good path"},{"line_number":1868,"context_line":"        instance1 \u003d fake_instance.fake_instance_obj("}],"source_content_type":"text/x-python","patch_set":28,"id":"5a22e58a_a5781e91","side":"PARENT","line":1865,"range":{"start_line":1841,"start_character":0,"end_line":1865,"end_character":63},"in_reply_to":"9a30ddce_5be8fa7c","updated":"2017-03-14 04:29:49.000000000","message":"But it is refactoring.","commit_id":"5cf6bbf374a8b877d2e158aa8802b31d14ceb121"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"7714350305fdb11af16bc9814e0de8b62c2360fb","unresolved":false,"context_lines":[{"line_number":1847,"context_line":"                       fake_vol_unreserve)"},{"line_number":1848,"context_line":"        self.stub_out(\u0027nova.volume.cinder.API.terminate_connection\u0027,"},{"line_number":1849,"context_line":"                       fake_vol_api_func)"},{"line_number":1850,"context_line":"        self.stub_out(\u0027nova.db.\u0027"},{"line_number":1851,"context_line":"                      \u0027block_device_mapping_get_by_instance_and_volume_id\u0027,"},{"line_number":1852,"context_line":"                      lambda x, y, z, v: fake_bdm)"},{"line_number":1853,"context_line":"        self.stub_out(\u0027nova.virt.driver.ComputeDriver.get_volume_connector\u0027,"}],"source_content_type":"text/x-python","patch_set":32,"id":"ffe62b97_f0fa2c73","side":"PARENT","line":1850,"range":{"start_line":1850,"start_character":13,"end_line":1850,"end_character":21},"updated":"2017-03-27 11:37:46.000000000","message":"This doesn\u0027t use mox.","commit_id":"a3df985a6e966069b366c7fd170832422ccda33e"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"dc2064132d44639c549927b5dbdd5dd056042af4","unresolved":false,"context_lines":[{"line_number":1847,"context_line":"                       fake_vol_unreserve)"},{"line_number":1848,"context_line":"        self.stub_out(\u0027nova.volume.cinder.API.terminate_connection\u0027,"},{"line_number":1849,"context_line":"                       fake_vol_api_func)"},{"line_number":1850,"context_line":"        self.stub_out(\u0027nova.db.\u0027"},{"line_number":1851,"context_line":"                      \u0027block_device_mapping_get_by_instance_and_volume_id\u0027,"},{"line_number":1852,"context_line":"                      lambda x, y, z, v: fake_bdm)"},{"line_number":1853,"context_line":"        self.stub_out(\u0027nova.virt.driver.ComputeDriver.get_volume_connector\u0027,"}],"source_content_type":"text/x-python","patch_set":32,"id":"ffe62b97_8110c658","side":"PARENT","line":1850,"range":{"start_line":1850,"start_character":13,"end_line":1850,"end_character":21},"in_reply_to":"ffe62b97_07b78df8","updated":"2017-03-29 11:16:03.000000000","message":"So it is a refactoring. It is not replacing mox with mock.","commit_id":"a3df985a6e966069b366c7fd170832422ccda33e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"010ce9c1dd0e3251da4fcfb7cce350007543cbf6","unresolved":false,"context_lines":[{"line_number":1847,"context_line":"                       fake_vol_unreserve)"},{"line_number":1848,"context_line":"        self.stub_out(\u0027nova.volume.cinder.API.terminate_connection\u0027,"},{"line_number":1849,"context_line":"                       fake_vol_api_func)"},{"line_number":1850,"context_line":"        self.stub_out(\u0027nova.db.\u0027"},{"line_number":1851,"context_line":"                      \u0027block_device_mapping_get_by_instance_and_volume_id\u0027,"},{"line_number":1852,"context_line":"                      lambda x, y, z, v: fake_bdm)"},{"line_number":1853,"context_line":"        self.stub_out(\u0027nova.virt.driver.ComputeDriver.get_volume_connector\u0027,"}],"source_content_type":"text/x-python","patch_set":32,"id":"ffe62b97_07b78df8","side":"PARENT","line":1850,"range":{"start_line":1850,"start_character":13,"end_line":1850,"end_character":21},"in_reply_to":"ffe62b97_f0fa2c73","updated":"2017-03-27 14:10:42.000000000","message":"Yup, see my comments on PS24","commit_id":"a3df985a6e966069b366c7fd170832422ccda33e"}]}
