)]}'
{"nova/tests/unit/virt/libvirt/test_driver.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"7b230cc11e360a261a7b5c2a86416d0eb2f2f37b","unresolved":false,"context_lines":[{"line_number":11466,"context_line":"                          network_info\u003d[], disk_info\u003ddisk_info_json,"},{"line_number":11467,"context_line":"                          migrate_data\u003dmigrate_data)"},{"line_number":11468,"context_line":"        # Called 3 times because of live_migration_retry_count is 3"},{"line_number":11469,"context_line":"        mock_plug.assert_has_calls(["},{"line_number":11470,"context_line":"            mock.call(instance, []), mock.call(instance, []),"},{"line_number":11471,"context_line":"            mock.call(instance, [])])"},{"line_number":11472,"context_line":"        # Called \u0027live_migration_retry_count - 1\u0027 times"},{"line_number":11473,"context_line":"        mock_sleep.assert_has_calls([mock.call(1), mock.call(1)])"},{"line_number":11474,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_b5226e00","line":11471,"range":{"start_line":11469,"start_character":35,"end_line":11471,"end_character":36},"updated":"2018-05-23 23:09:03.000000000","message":"or\n\n [mock.call(instance, [])] * 3","commit_id":"63fed96376a8e6e19d18abdf3ba6992e41d62c88"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"493be33ce8ccf372154c32f1ad46e90a74dd55fb","unresolved":false,"context_lines":[{"line_number":11466,"context_line":"                          network_info\u003d[], disk_info\u003ddisk_info_json,"},{"line_number":11467,"context_line":"                          migrate_data\u003dmigrate_data)"},{"line_number":11468,"context_line":"        # Called 3 times because of live_migration_retry_count is 3"},{"line_number":11469,"context_line":"        mock_plug.assert_has_calls(["},{"line_number":11470,"context_line":"            mock.call(instance, []), mock.call(instance, []),"},{"line_number":11471,"context_line":"            mock.call(instance, [])])"},{"line_number":11472,"context_line":"        # Called \u0027live_migration_retry_count - 1\u0027 times"},{"line_number":11473,"context_line":"        mock_sleep.assert_has_calls([mock.call(1), mock.call(1)])"},{"line_number":11474,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_0c3e8bb7","line":11471,"range":{"start_line":11469,"start_character":35,"end_line":11471,"end_character":36},"in_reply_to":"5f7c97a3_b5226e00","updated":"2018-05-29 01:06:02.000000000","message":"Done","commit_id":"63fed96376a8e6e19d18abdf3ba6992e41d62c88"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"7b230cc11e360a261a7b5c2a86416d0eb2f2f37b","unresolved":false,"context_lines":[{"line_number":11495,"context_line":"                                migrate_data\u003dmigrate_data)"},{"line_number":11496,"context_line":"        # Called 3 times"},{"line_number":11497,"context_line":"        mock_plug.assert_has_calls(["},{"line_number":11498,"context_line":"            mock.call(instance, []), mock.call(instance, []),"},{"line_number":11499,"context_line":"            mock.call(instance, [])])"},{"line_number":11500,"context_line":"        # Called 2 times because the third \u0027plug_vifs\u0027 call is successful."},{"line_number":11501,"context_line":"        mock_sleep.assert_has_calls([mock.call(1), mock.call(1)])"},{"line_number":11502,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_f58546d0","line":11499,"range":{"start_line":11498,"start_character":12,"end_line":11499,"end_character":37},"updated":"2018-05-23 23:09:03.000000000","message":"ditto","commit_id":"63fed96376a8e6e19d18abdf3ba6992e41d62c88"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"493be33ce8ccf372154c32f1ad46e90a74dd55fb","unresolved":false,"context_lines":[{"line_number":11495,"context_line":"                                migrate_data\u003dmigrate_data)"},{"line_number":11496,"context_line":"        # Called 3 times"},{"line_number":11497,"context_line":"        mock_plug.assert_has_calls(["},{"line_number":11498,"context_line":"            mock.call(instance, []), mock.call(instance, []),"},{"line_number":11499,"context_line":"            mock.call(instance, [])])"},{"line_number":11500,"context_line":"        # Called 2 times because the third \u0027plug_vifs\u0027 call is successful."},{"line_number":11501,"context_line":"        mock_sleep.assert_has_calls([mock.call(1), mock.call(1)])"},{"line_number":11502,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_cc43b33e","line":11499,"range":{"start_line":11498,"start_character":12,"end_line":11499,"end_character":37},"in_reply_to":"5f7c97a3_f58546d0","updated":"2018-05-29 01:06:02.000000000","message":"Done","commit_id":"63fed96376a8e6e19d18abdf3ba6992e41d62c88"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"7b230cc11e360a261a7b5c2a86416d0eb2f2f37b","unresolved":false,"context_lines":[{"line_number":11498,"context_line":"            mock.call(instance, []), mock.call(instance, []),"},{"line_number":11499,"context_line":"            mock.call(instance, [])])"},{"line_number":11500,"context_line":"        # Called 2 times because the third \u0027plug_vifs\u0027 call is successful."},{"line_number":11501,"context_line":"        mock_sleep.assert_has_calls([mock.call(1), mock.call(1)])"},{"line_number":11502,"context_line":""},{"line_number":11503,"context_line":"    def test_pre_live_migration_image_not_created_with_shared_storage(self):"},{"line_number":11504,"context_line":"        migrate_data_set \u003d [{\u0027is_shared_block_storage\u0027: False,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_956c1237","line":11501,"range":{"start_line":11501,"start_character":36,"end_line":11501,"end_character":64},"updated":"2018-05-23 23:09:03.000000000","message":"likewise","commit_id":"63fed96376a8e6e19d18abdf3ba6992e41d62c88"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"493be33ce8ccf372154c32f1ad46e90a74dd55fb","unresolved":false,"context_lines":[{"line_number":11498,"context_line":"            mock.call(instance, []), mock.call(instance, []),"},{"line_number":11499,"context_line":"            mock.call(instance, [])])"},{"line_number":11500,"context_line":"        # Called 2 times because the third \u0027plug_vifs\u0027 call is successful."},{"line_number":11501,"context_line":"        mock_sleep.assert_has_calls([mock.call(1), mock.call(1)])"},{"line_number":11502,"context_line":""},{"line_number":11503,"context_line":"    def test_pre_live_migration_image_not_created_with_shared_storage(self):"},{"line_number":11504,"context_line":"        migrate_data_set \u003d [{\u0027is_shared_block_storage\u0027: False,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_8c7b7b8a","line":11501,"range":{"start_line":11501,"start_character":36,"end_line":11501,"end_character":64},"in_reply_to":"5f7c97a3_956c1237","updated":"2018-05-29 01:06:02.000000000","message":"Done","commit_id":"63fed96376a8e6e19d18abdf3ba6992e41d62c88"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"e8494ca6f3d4e8e29a0f3cc0156ad6a1f1a38733","unresolved":false,"context_lines":[{"line_number":11883,"context_line":"        self.mox.StubOutWithMock(libvirt_driver.disk_api,"},{"line_number":11884,"context_line":"                                 \"get_disk_size\")"},{"line_number":11885,"context_line":""},{"line_number":11886,"context_line":"        path \u003d \u0027/test/disk\u0027"},{"line_number":11887,"context_line":"        size \u003d 10737418240"},{"line_number":11888,"context_line":"        libvirt_driver.disk_api.get_allocated_disk_size(path).AndReturn((size))"},{"line_number":11889,"context_line":"        libvirt_driver.disk_api.get_disk_size(path).AndReturn((size))"},{"line_number":11890,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_509bbf16","side":"PARENT","line":11887,"range":{"start_line":11886,"start_character":8,"end_line":11887,"end_character":26},"updated":"2018-05-28 13:04:32.000000000","message":"You could have kept the variables","commit_id":"e2b0b469bec2f17e7737a3fe2acda7a6c7e90e27"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"493be33ce8ccf372154c32f1ad46e90a74dd55fb","unresolved":false,"context_lines":[{"line_number":11883,"context_line":"        self.mox.StubOutWithMock(libvirt_driver.disk_api,"},{"line_number":11884,"context_line":"                                 \"get_disk_size\")"},{"line_number":11885,"context_line":""},{"line_number":11886,"context_line":"        path \u003d \u0027/test/disk\u0027"},{"line_number":11887,"context_line":"        size \u003d 10737418240"},{"line_number":11888,"context_line":"        libvirt_driver.disk_api.get_allocated_disk_size(path).AndReturn((size))"},{"line_number":11889,"context_line":"        libvirt_driver.disk_api.get_disk_size(path).AndReturn((size))"},{"line_number":11890,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_4c71e3a7","side":"PARENT","line":11887,"range":{"start_line":11886,"start_character":8,"end_line":11887,"end_character":26},"in_reply_to":"5f7c97a3_509bbf16","updated":"2018-05-29 01:06:02.000000000","message":"Done","commit_id":"e2b0b469bec2f17e7737a3fe2acda7a6c7e90e27"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"e8494ca6f3d4e8e29a0f3cc0156ad6a1f1a38733","unresolved":false,"context_lines":[{"line_number":11345,"context_line":"    @mock.patch.object(libvirt_driver.LibvirtDriver, \u0027plug_vifs\u0027)"},{"line_number":11346,"context_line":"    @mock.patch.object(libvirt_driver.LibvirtDriver, \u0027_connect_volume\u0027)"},{"line_number":11347,"context_line":"    def test_pre_live_migration_vol_backed_works_correctly_mocked("},{"line_number":11348,"context_line":"            self, mock_connect, mock_plug):"},{"line_number":11349,"context_line":"        # Creating testdata, using temp dir."},{"line_number":11350,"context_line":"        with utils.tempdir() as tmpdir:"},{"line_number":11351,"context_line":"            self.flags(instances_path\u003dtmpdir)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_b0601303","line":11348,"range":{"start_line":11348,"start_character":18,"end_line":11348,"end_character":42},"updated":"2018-05-28 13:04:32.000000000","message":"You probably have to assert their calls","commit_id":"594a5703696e52f43097506e865f595e4504d528"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"493be33ce8ccf372154c32f1ad46e90a74dd55fb","unresolved":false,"context_lines":[{"line_number":11345,"context_line":"    @mock.patch.object(libvirt_driver.LibvirtDriver, \u0027plug_vifs\u0027)"},{"line_number":11346,"context_line":"    @mock.patch.object(libvirt_driver.LibvirtDriver, \u0027_connect_volume\u0027)"},{"line_number":11347,"context_line":"    def test_pre_live_migration_vol_backed_works_correctly_mocked("},{"line_number":11348,"context_line":"            self, mock_connect, mock_plug):"},{"line_number":11349,"context_line":"        # Creating testdata, using temp dir."},{"line_number":11350,"context_line":"        with utils.tempdir() as tmpdir:"},{"line_number":11351,"context_line":"            self.flags(instances_path\u003dtmpdir)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_ecaeafe5","line":11348,"range":{"start_line":11348,"start_character":18,"end_line":11348,"end_character":42},"in_reply_to":"5f7c97a3_b0601303","updated":"2018-05-29 01:06:02.000000000","message":"They are asserted in line 11443 and 11444.","commit_id":"594a5703696e52f43097506e865f595e4504d528"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"e8494ca6f3d4e8e29a0f3cc0156ad6a1f1a38733","unresolved":false,"context_lines":[{"line_number":11448,"context_line":"                       side_effect\u003deventlet.sleep(0))"},{"line_number":11449,"context_line":"    @mock.patch.object(libvirt_driver.LibvirtDriver, \u0027plug_vifs\u0027,"},{"line_number":11450,"context_line":"                       side_effect\u003dprocessutils.ProcessExecutionError)"},{"line_number":11451,"context_line":"    def test_pre_live_migration_plug_vifs_retry_fails(self, mock_plug,"},{"line_number":11452,"context_line":"                                                      mock_sleep):"},{"line_number":11453,"context_line":"        self.flags(live_migration_retry_count\u003d3)"},{"line_number":11454,"context_line":"        instance \u003d objects.Instance(**self.test_instance)"},{"line_number":11455,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_50373f00","line":11452,"range":{"start_line":11451,"start_character":60,"end_line":11452,"end_character":64},"updated":"2018-05-28 13:04:32.000000000","message":"I can\u0027t see call assertions related to them.","commit_id":"594a5703696e52f43097506e865f595e4504d528"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"493be33ce8ccf372154c32f1ad46e90a74dd55fb","unresolved":false,"context_lines":[{"line_number":11448,"context_line":"                       side_effect\u003deventlet.sleep(0))"},{"line_number":11449,"context_line":"    @mock.patch.object(libvirt_driver.LibvirtDriver, \u0027plug_vifs\u0027,"},{"line_number":11450,"context_line":"                       side_effect\u003dprocessutils.ProcessExecutionError)"},{"line_number":11451,"context_line":"    def test_pre_live_migration_plug_vifs_retry_fails(self, mock_plug,"},{"line_number":11452,"context_line":"                                                      mock_sleep):"},{"line_number":11453,"context_line":"        self.flags(live_migration_retry_count\u003d3)"},{"line_number":11454,"context_line":"        instance \u003d objects.Instance(**self.test_instance)"},{"line_number":11455,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_0cac4beb","line":11452,"range":{"start_line":11451,"start_character":60,"end_line":11452,"end_character":64},"in_reply_to":"5f7c97a3_50373f00","updated":"2018-05-29 01:06:02.000000000","message":"Please see line 11469 and 11473.","commit_id":"594a5703696e52f43097506e865f595e4504d528"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"e8494ca6f3d4e8e29a0f3cc0156ad6a1f1a38733","unresolved":false,"context_lines":[{"line_number":11476,"context_line":"                       side_effect\u003deventlet.sleep(0))"},{"line_number":11477,"context_line":"    @mock.patch.object(libvirt_driver.LibvirtDriver, \u0027plug_vifs\u0027)"},{"line_number":11478,"context_line":"    def test_pre_live_migration_plug_vifs_retry_works(self, mock_plug,"},{"line_number":11479,"context_line":"                                                      mock_sleep):"},{"line_number":11480,"context_line":"        self.flags(live_migration_retry_count\u003d3)"},{"line_number":11481,"context_line":"        instance \u003d objects.Instance(**self.test_instance)"},{"line_number":11482,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_103d47dc","line":11479,"range":{"start_line":11479,"start_character":54,"end_line":11479,"end_character":64},"updated":"2018-05-28 13:04:32.000000000","message":"You need to assert that we well call sleep()","commit_id":"594a5703696e52f43097506e865f595e4504d528"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"493be33ce8ccf372154c32f1ad46e90a74dd55fb","unresolved":false,"context_lines":[{"line_number":11476,"context_line":"                       side_effect\u003deventlet.sleep(0))"},{"line_number":11477,"context_line":"    @mock.patch.object(libvirt_driver.LibvirtDriver, \u0027plug_vifs\u0027)"},{"line_number":11478,"context_line":"    def test_pre_live_migration_plug_vifs_retry_works(self, mock_plug,"},{"line_number":11479,"context_line":"                                                      mock_sleep):"},{"line_number":11480,"context_line":"        self.flags(live_migration_retry_count\u003d3)"},{"line_number":11481,"context_line":"        instance \u003d objects.Instance(**self.test_instance)"},{"line_number":11482,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_acb43737","line":11479,"range":{"start_line":11479,"start_character":54,"end_line":11479,"end_character":64},"in_reply_to":"5f7c97a3_103d47dc","updated":"2018-05-29 01:06:02.000000000","message":"Please see line 11501.","commit_id":"594a5703696e52f43097506e865f595e4504d528"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"e8494ca6f3d4e8e29a0f3cc0156ad6a1f1a38733","unresolved":false,"context_lines":[{"line_number":11891,"context_line":"        info \u003d jsonutils.loads(info)"},{"line_number":11892,"context_line":"        self.assertEqual(1, len(info))"},{"line_number":11893,"context_line":"        self.assertEqual(info[0][\u0027type\u0027], \u0027raw\u0027)"},{"line_number":11894,"context_line":"        self.assertEqual(info[0][\u0027path\u0027], \u0027/test/disk\u0027)"},{"line_number":11895,"context_line":"        self.assertEqual(info[0][\u0027disk_size\u0027], 10737418240)"},{"line_number":11896,"context_line":"        self.assertEqual(info[0][\u0027backing_file\u0027], \"\")"},{"line_number":11897,"context_line":"        self.assertEqual(info[0][\u0027over_committed_disk_size\u0027], 0)"},{"line_number":11898,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_f09beb13","line":11895,"range":{"start_line":11894,"start_character":1,"end_line":11895,"end_character":59},"updated":"2018-05-28 13:04:32.000000000","message":"Why did you changed that?","commit_id":"594a5703696e52f43097506e865f595e4504d528"}]}
