)]}'
{"nova/tests/unit/virt/hyperv/test_migrationops.py":[{"author":{"_account_id":9550,"name":"Eugeniya Kudryashova","email":"ekudryashova@mirantis.com","username":"ekudryashova"},"change_message_id":"966fb193190a5ee707a9d2e08d79faa087c40d56","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        instance_path \u003d os.path.join(os.path.join(\u0027fake\u0027, \u0027instance\u0027), \u0027path\u0027)"},{"line_number":48,"context_line":"        get_revert_dir \u003d ("},{"line_number":49,"context_line":"            self._migrationops._pathutils.get_instance_migr_revert_dir)"},{"line_number":50,"context_line":"        fake_revert_path \u003d get_revert_dir.return_value"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"        self._migrationops._hostutils.get_local_ips.return_value \u003d [host]"},{"line_number":53,"context_line":"        self._migrationops._pathutils.get_instance_dir.return_value \u003d ("}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_0936fae6","line":50,"updated":"2015-01-09 12:48:21.000000000","message":"Looks like it is simple mock object","commit_id":"a8bc54a1996f28a290c197cc39e1360c5c8afa17"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"252d5501ea13696920182b8859dc851f8a278ffc","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        instance_path \u003d os.path.join(os.path.join(\u0027fake\u0027, \u0027instance\u0027), \u0027path\u0027)"},{"line_number":48,"context_line":"        get_revert_dir \u003d ("},{"line_number":49,"context_line":"            self._migrationops._pathutils.get_instance_migr_revert_dir)"},{"line_number":50,"context_line":"        fake_revert_path \u003d get_revert_dir.return_value"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"        self._migrationops._hostutils.get_local_ips.return_value \u003d [host]"},{"line_number":53,"context_line":"        self._migrationops._pathutils.get_instance_dir.return_value \u003d ("}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_37f1c196","line":50,"in_reply_to":"3a961159_0936fae6","updated":"2015-01-14 11:57:14.000000000","message":"Done","commit_id":"a8bc54a1996f28a290c197cc39e1360c5c8afa17"},{"author":{"_account_id":9550,"name":"Eugeniya Kudryashova","email":"ekudryashova@mirantis.com","username":"ekudryashova"},"change_message_id":"966fb193190a5ee707a9d2e08d79faa087c40d56","unresolved":false,"context_lines":[{"line_number":128,"context_line":"            self.context, expected_attrs\u003d[\u0027system_metadata\u0027])"},{"line_number":129,"context_line":"        mock_instance.config_drive \u003d \u0027True\u0027"},{"line_number":130,"context_line":"        config_drive_path \u003d ("},{"line_number":131,"context_line":"            self._migrationops._pathutils.lookup_configdrive_path.return_value)"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"        self._migrationops._check_and_attach_config_drive(mock_instance)"},{"line_number":134,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_bbcc3a62","line":131,"updated":"2015-01-09 12:48:21.000000000","message":"The same question: without direct assigning self._migrationops._pathutils.lookup_configdrive_path.return_value will be just mock object if I not mistaken","commit_id":"a8bc54a1996f28a290c197cc39e1360c5c8afa17"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"252d5501ea13696920182b8859dc851f8a278ffc","unresolved":false,"context_lines":[{"line_number":128,"context_line":"            self.context, expected_attrs\u003d[\u0027system_metadata\u0027])"},{"line_number":129,"context_line":"        mock_instance.config_drive \u003d \u0027True\u0027"},{"line_number":130,"context_line":"        config_drive_path \u003d ("},{"line_number":131,"context_line":"            self._migrationops._pathutils.lookup_configdrive_path.return_value)"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"        self._migrationops._check_and_attach_config_drive(mock_instance)"},{"line_number":134,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_571e4dbc","line":131,"in_reply_to":"3a961159_bbcc3a62","updated":"2015-01-14 11:57:14.000000000","message":"It was for convenience sake, since it is so looong, but Done.","commit_id":"a8bc54a1996f28a290c197cc39e1360c5c8afa17"},{"author":{"_account_id":9550,"name":"Eugeniya Kudryashova","email":"ekudryashova@mirantis.com","username":"ekudryashova"},"change_message_id":"966fb193190a5ee707a9d2e08d79faa087c40d56","unresolved":false,"context_lines":[{"line_number":187,"context_line":"            self._migrationops._pathutils.get_instance_dir.return_value)"},{"line_number":188,"context_line":"        get_revert_dir \u003d ("},{"line_number":189,"context_line":"            self._migrationops._pathutils.get_instance_migr_revert_dir)"},{"line_number":190,"context_line":"        revert_path \u003d get_revert_dir.return_value"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"        self._migrationops._revert_migration_files("},{"line_number":193,"context_line":"            instance_name\u003dmock.sentinel.FAKE_NAME)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_5b099682","line":190,"updated":"2015-01-09 12:48:21.000000000","message":"The same question","commit_id":"a8bc54a1996f28a290c197cc39e1360c5c8afa17"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"252d5501ea13696920182b8859dc851f8a278ffc","unresolved":false,"context_lines":[{"line_number":187,"context_line":"            self._migrationops._pathutils.get_instance_dir.return_value)"},{"line_number":188,"context_line":"        get_revert_dir \u003d ("},{"line_number":189,"context_line":"            self._migrationops._pathutils.get_instance_migr_revert_dir)"},{"line_number":190,"context_line":"        revert_path \u003d get_revert_dir.return_value"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"        self._migrationops._revert_migration_files("},{"line_number":193,"context_line":"            instance_name\u003dmock.sentinel.FAKE_NAME)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_d7e6bdaf","line":190,"in_reply_to":"3a961159_5b099682","updated":"2015-01-14 11:57:14.000000000","message":"Done","commit_id":"a8bc54a1996f28a290c197cc39e1360c5c8afa17"},{"author":{"_account_id":9550,"name":"Eugeniya Kudryashova","email":"ekudryashova@mirantis.com","username":"ekudryashova"},"change_message_id":"966fb193190a5ee707a9d2e08d79faa087c40d56","unresolved":false,"context_lines":[{"line_number":209,"context_line":"                                       in_block_device):"},{"line_number":210,"context_line":"        mock_instance \u003d fake_instance.fake_instance_obj(self.context)"},{"line_number":211,"context_line":"        lookup_root_vhd \u003d self._migrationops._pathutils.lookup_root_vhd_path"},{"line_number":212,"context_line":"        fake_root \u003d lookup_root_vhd.return_value"},{"line_number":213,"context_line":"        lookup_ephemeral \u003d ("},{"line_number":214,"context_line":"            self._migrationops._pathutils.lookup_ephemeral_vhd_path)"},{"line_number":215,"context_line":"        fake_ephemeral_path \u003d lookup_ephemeral.return_value"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_1b7aaef0","line":212,"updated":"2015-01-09 12:48:21.000000000","message":"The same question","commit_id":"a8bc54a1996f28a290c197cc39e1360c5c8afa17"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"252d5501ea13696920182b8859dc851f8a278ffc","unresolved":false,"context_lines":[{"line_number":209,"context_line":"                                       in_block_device):"},{"line_number":210,"context_line":"        mock_instance \u003d fake_instance.fake_instance_obj(self.context)"},{"line_number":211,"context_line":"        lookup_root_vhd \u003d self._migrationops._pathutils.lookup_root_vhd_path"},{"line_number":212,"context_line":"        fake_root \u003d lookup_root_vhd.return_value"},{"line_number":213,"context_line":"        lookup_ephemeral \u003d ("},{"line_number":214,"context_line":"            self._migrationops._pathutils.lookup_ephemeral_vhd_path)"},{"line_number":215,"context_line":"        fake_ephemeral_path \u003d lookup_ephemeral.return_value"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_97ec3594","line":212,"in_reply_to":"3a961159_1b7aaef0","updated":"2015-01-14 11:57:14.000000000","message":"Done","commit_id":"a8bc54a1996f28a290c197cc39e1360c5c8afa17"},{"author":{"_account_id":9550,"name":"Eugeniya Kudryashova","email":"ekudryashova@mirantis.com","username":"ekudryashova"},"change_message_id":"966fb193190a5ee707a9d2e08d79faa087c40d56","unresolved":false,"context_lines":[{"line_number":212,"context_line":"        fake_root \u003d lookup_root_vhd.return_value"},{"line_number":213,"context_line":"        lookup_ephemeral \u003d ("},{"line_number":214,"context_line":"            self._migrationops._pathutils.lookup_ephemeral_vhd_path)"},{"line_number":215,"context_line":"        fake_ephemeral_path \u003d lookup_ephemeral.return_value"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"        mock_ebs_root_in_block_devices.return_value \u003d in_block_device"},{"line_number":218,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_7b83b2ca","line":215,"updated":"2015-01-09 12:48:21.000000000","message":"The same question","commit_id":"a8bc54a1996f28a290c197cc39e1360c5c8afa17"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"252d5501ea13696920182b8859dc851f8a278ffc","unresolved":false,"context_lines":[{"line_number":212,"context_line":"        fake_root \u003d lookup_root_vhd.return_value"},{"line_number":213,"context_line":"        lookup_ephemeral \u003d ("},{"line_number":214,"context_line":"            self._migrationops._pathutils.lookup_ephemeral_vhd_path)"},{"line_number":215,"context_line":"        fake_ephemeral_path \u003d lookup_ephemeral.return_value"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"        mock_ebs_root_in_block_devices.return_value \u003d in_block_device"},{"line_number":218,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_f7e9f97f","line":215,"in_reply_to":"3a961159_7b83b2ca","updated":"2015-01-14 11:57:14.000000000","message":"Done","commit_id":"a8bc54a1996f28a290c197cc39e1360c5c8afa17"},{"author":{"_account_id":9550,"name":"Eugeniya Kudryashova","email":"ekudryashova@mirantis.com","username":"ekudryashova"},"change_message_id":"966fb193190a5ee707a9d2e08d79faa087c40d56","unresolved":false,"context_lines":[{"line_number":247,"context_line":"        self._check_finish_revert_migration(in_block_device\u003dFalse)"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"    def test_merge_base_vhd(self):"},{"line_number":250,"context_line":"        fake_diff_vhd_path \u003d os.path.join(\u0027fake\u0027, \u0027diff\u0027, \u0027path\u0027)"},{"line_number":251,"context_line":"        fake_base_vhd_path \u003d os.path.join(\u0027fake\u0027, \u0027base\u0027, \u0027path\u0027)"},{"line_number":252,"context_line":"        base_vhd_copy_path \u003d os.path.join("},{"line_number":253,"context_line":"            os.path.dirname(fake_diff_vhd_path),"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_dbe1069c","line":250,"updated":"2015-01-09 12:48:21.000000000","message":"Is it obvious use here os library? Looks like it\u0027s simple actions which in tests possible to do just like \n\nfake_diff_vhd_path \u003d \u0027fake/diff/path\u0027","commit_id":"a8bc54a1996f28a290c197cc39e1360c5c8afa17"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"252d5501ea13696920182b8859dc851f8a278ffc","unresolved":false,"context_lines":[{"line_number":247,"context_line":"        self._check_finish_revert_migration(in_block_device\u003dFalse)"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"    def test_merge_base_vhd(self):"},{"line_number":250,"context_line":"        fake_diff_vhd_path \u003d os.path.join(\u0027fake\u0027, \u0027diff\u0027, \u0027path\u0027)"},{"line_number":251,"context_line":"        fake_base_vhd_path \u003d os.path.join(\u0027fake\u0027, \u0027base\u0027, \u0027path\u0027)"},{"line_number":252,"context_line":"        base_vhd_copy_path \u003d os.path.join("},{"line_number":253,"context_line":"            os.path.dirname(fake_diff_vhd_path),"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_f55bb183","line":250,"in_reply_to":"3a961159_dbe1069c","updated":"2015-01-14 11:57:14.000000000","message":"Done","commit_id":"a8bc54a1996f28a290c197cc39e1360c5c8afa17"},{"author":{"_account_id":9550,"name":"Eugeniya Kudryashova","email":"ekudryashova@mirantis.com","username":"ekudryashova"},"change_message_id":"966fb193190a5ee707a9d2e08d79faa087c40d56","unresolved":false,"context_lines":[{"line_number":268,"context_line":"            base_vhd_copy_path, fake_diff_vhd_path)"},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"    def test_merge_base_vhd_exception(self):"},{"line_number":271,"context_line":"        fake_diff_vhd_path \u003d os.path.join(\u0027fake\u0027, \u0027diff\u0027, \u0027path\u0027)"},{"line_number":272,"context_line":"        fake_base_vhd_path \u003d os.path.join(\u0027fake\u0027, \u0027base\u0027, \u0027path\u0027)"},{"line_number":273,"context_line":"        base_vhd_copy_path \u003d os.path.join("},{"line_number":274,"context_line":"            os.path.dirname(fake_diff_vhd_path),"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_1bef0e88","line":271,"updated":"2015-01-09 12:48:21.000000000","message":"Ditto","commit_id":"a8bc54a1996f28a290c197cc39e1360c5c8afa17"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"252d5501ea13696920182b8859dc851f8a278ffc","unresolved":false,"context_lines":[{"line_number":268,"context_line":"            base_vhd_copy_path, fake_diff_vhd_path)"},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"    def test_merge_base_vhd_exception(self):"},{"line_number":271,"context_line":"        fake_diff_vhd_path \u003d os.path.join(\u0027fake\u0027, \u0027diff\u0027, \u0027path\u0027)"},{"line_number":272,"context_line":"        fake_base_vhd_path \u003d os.path.join(\u0027fake\u0027, \u0027base\u0027, \u0027path\u0027)"},{"line_number":273,"context_line":"        base_vhd_copy_path \u003d os.path.join("},{"line_number":274,"context_line":"            os.path.dirname(fake_diff_vhd_path),"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_37a9c125","line":271,"in_reply_to":"3a961159_1bef0e88","updated":"2015-01-14 11:57:14.000000000","message":"ditto","commit_id":"a8bc54a1996f28a290c197cc39e1360c5c8afa17"},{"author":{"_account_id":9550,"name":"Eugeniya Kudryashova","email":"ekudryashova@mirantis.com","username":"ekudryashova"},"change_message_id":"966fb193190a5ee707a9d2e08d79faa087c40d56","unresolved":false,"context_lines":[{"line_number":303,"context_line":"    def test_resize_vhd(self, mock_merge_base_vhd):"},{"line_number":304,"context_line":"        fake_vhd_path \u003d os.path.join(\u0027fake\u0027, \u0027path.vhd\u0027)"},{"line_number":305,"context_line":"        fake_base \u003d ("},{"line_number":306,"context_line":"            self._migrationops._vhdutils.get_vhd_parent_path.return_value)"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"        self._migrationops._resize_vhd(vhd_path\u003dfake_vhd_path, new_size\u003d2)"},{"line_number":309,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_dbf8264c","line":306,"updated":"2015-01-09 12:48:21.000000000","message":"Again such assigning.","commit_id":"a8bc54a1996f28a290c197cc39e1360c5c8afa17"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"252d5501ea13696920182b8859dc851f8a278ffc","unresolved":false,"context_lines":[{"line_number":303,"context_line":"    def test_resize_vhd(self, mock_merge_base_vhd):"},{"line_number":304,"context_line":"        fake_vhd_path \u003d os.path.join(\u0027fake\u0027, \u0027path.vhd\u0027)"},{"line_number":305,"context_line":"        fake_base \u003d ("},{"line_number":306,"context_line":"            self._migrationops._vhdutils.get_vhd_parent_path.return_value)"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"        self._migrationops._resize_vhd(vhd_path\u003dfake_vhd_path, new_size\u003d2)"},{"line_number":309,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_b74bf184","line":306,"in_reply_to":"3a961159_dbf8264c","updated":"2015-01-14 11:57:14.000000000","message":"convenience and readability, but Done.","commit_id":"a8bc54a1996f28a290c197cc39e1360c5c8afa17"},{"author":{"_account_id":9550,"name":"Eugeniya Kudryashova","email":"ekudryashova@mirantis.com","username":"ekudryashova"},"change_message_id":"966fb193190a5ee707a9d2e08d79faa087c40d56","unresolved":false,"context_lines":[{"line_number":316,"context_line":"    @mock.patch(\u0027nova.virt.hyperv.imagecache.ImageCache.get_cached_image\u0027)"},{"line_number":317,"context_line":"    def test_check_base_disk(self, mock_get_cached_image):"},{"line_number":318,"context_line":"        mock_instance \u003d fake_instance.fake_instance_obj(self.context)"},{"line_number":319,"context_line":"        fake_src_vhd_path \u003d os.path.join(\u0027fake\u0027, \u0027src\u0027, \u0027path\u0027)"},{"line_number":320,"context_line":"        fake_base_vhd \u003d os.path.join(\u0027fake\u0027, \u0027vhd\u0027)"},{"line_number":321,"context_line":"        mock_get_cached_image.return_value \u003d fake_base_vhd"},{"line_number":322,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_3b992a1f","line":319,"updated":"2015-01-09 12:48:21.000000000","message":"Unusual call to os","commit_id":"a8bc54a1996f28a290c197cc39e1360c5c8afa17"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"252d5501ea13696920182b8859dc851f8a278ffc","unresolved":false,"context_lines":[{"line_number":316,"context_line":"    @mock.patch(\u0027nova.virt.hyperv.imagecache.ImageCache.get_cached_image\u0027)"},{"line_number":317,"context_line":"    def test_check_base_disk(self, mock_get_cached_image):"},{"line_number":318,"context_line":"        mock_instance \u003d fake_instance.fake_instance_obj(self.context)"},{"line_number":319,"context_line":"        fake_src_vhd_path \u003d os.path.join(\u0027fake\u0027, \u0027src\u0027, \u0027path\u0027)"},{"line_number":320,"context_line":"        fake_base_vhd \u003d os.path.join(\u0027fake\u0027, \u0027vhd\u0027)"},{"line_number":321,"context_line":"        mock_get_cached_image.return_value \u003d fake_base_vhd"},{"line_number":322,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_5a18341e","line":319,"in_reply_to":"3a961159_3b992a1f","updated":"2015-01-14 11:57:14.000000000","message":"Here it makes sense, it doesn\u0027t matter that much here how the paths are defined (windows or linux style)","commit_id":"a8bc54a1996f28a290c197cc39e1360c5c8afa17"},{"author":{"_account_id":9550,"name":"Eugeniya Kudryashova","email":"ekudryashova@mirantis.com","username":"ekudryashova"},"change_message_id":"008e176b049f1a821fd29f5f6390b414a4c99aec","unresolved":false,"context_lines":[{"line_number":316,"context_line":"    @mock.patch(\u0027nova.virt.hyperv.imagecache.ImageCache.get_cached_image\u0027)"},{"line_number":317,"context_line":"    def test_check_base_disk(self, mock_get_cached_image):"},{"line_number":318,"context_line":"        mock_instance \u003d fake_instance.fake_instance_obj(self.context)"},{"line_number":319,"context_line":"        fake_src_vhd_path \u003d os.path.join(\u0027fake\u0027, \u0027src\u0027, \u0027path\u0027)"},{"line_number":320,"context_line":"        fake_base_vhd \u003d os.path.join(\u0027fake\u0027, \u0027vhd\u0027)"},{"line_number":321,"context_line":"        mock_get_cached_image.return_value \u003d fake_base_vhd"},{"line_number":322,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_eb5bd483","line":319,"in_reply_to":"3a961159_5a18341e","updated":"2015-01-14 13:02:12.000000000","message":"Agreed, thanks for the answer","commit_id":"a8bc54a1996f28a290c197cc39e1360c5c8afa17"},{"author":{"_account_id":9550,"name":"Eugeniya Kudryashova","email":"ekudryashova@mirantis.com","username":"ekudryashova"},"change_message_id":"966fb193190a5ee707a9d2e08d79faa087c40d56","unresolved":false,"context_lines":[{"line_number":346,"context_line":"        mock_instance.ephemeral_gb \u003d 1"},{"line_number":347,"context_line":"        mock_vhd_info \u003d mock.MagicMock()"},{"line_number":348,"context_line":"        mock_eph_info \u003d mock.MagicMock()"},{"line_number":349,"context_line":"        fake_src_base \u003d mock_vhd_info.get.return_value"},{"line_number":350,"context_line":"        lookup_root_vhd \u003d self._migrationops._pathutils.lookup_root_vhd_path"},{"line_number":351,"context_line":"        side_effect \u003d [mock_eph_info] if in_block_device else [mock_vhd_info,"},{"line_number":352,"context_line":"                                                               mock_eph_info]"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_9b893ecc","line":349,"updated":"2015-01-09 12:48:21.000000000","message":"Assigning of default return_value","commit_id":"a8bc54a1996f28a290c197cc39e1360c5c8afa17"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"252d5501ea13696920182b8859dc851f8a278ffc","unresolved":false,"context_lines":[{"line_number":346,"context_line":"        mock_instance.ephemeral_gb \u003d 1"},{"line_number":347,"context_line":"        mock_vhd_info \u003d mock.MagicMock()"},{"line_number":348,"context_line":"        mock_eph_info \u003d mock.MagicMock()"},{"line_number":349,"context_line":"        fake_src_base \u003d mock_vhd_info.get.return_value"},{"line_number":350,"context_line":"        lookup_root_vhd \u003d self._migrationops._pathutils.lookup_root_vhd_path"},{"line_number":351,"context_line":"        side_effect \u003d [mock_eph_info] if in_block_device else [mock_vhd_info,"},{"line_number":352,"context_line":"                                                               mock_eph_info]"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_7a16d04a","line":349,"in_reply_to":"3a961159_9b893ecc","updated":"2015-01-14 11:57:14.000000000","message":"Convenience, but Done.","commit_id":"a8bc54a1996f28a290c197cc39e1360c5c8afa17"},{"author":{"_account_id":9550,"name":"Eugeniya Kudryashova","email":"ekudryashova@mirantis.com","username":"ekudryashova"},"change_message_id":"966fb193190a5ee707a9d2e08d79faa087c40d56","unresolved":false,"context_lines":[{"line_number":366,"context_line":""},{"line_number":367,"context_line":"        mock_ebs_root_in_block_devices.assert_called_once_with(None)"},{"line_number":368,"context_line":"        if not in_block_device:"},{"line_number":369,"context_line":"            root_vhd_path \u003d lookup_root_vhd.return_value"},{"line_number":370,"context_line":"            lookup_root_vhd.assert_called_with(mock_instance.name)"},{"line_number":371,"context_line":"            expected_get_info \u003d [mock.call(root_vhd_path)]"},{"line_number":372,"context_line":"            mock_vhd_info.get.assert_called_once_with(\"ParentPath\")"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_fb8a42ba","line":369,"updated":"2015-01-09 12:48:21.000000000","message":"Again","commit_id":"a8bc54a1996f28a290c197cc39e1360c5c8afa17"},{"author":{"_account_id":9550,"name":"Eugeniya Kudryashova","email":"ekudryashova@mirantis.com","username":"ekudryashova"},"change_message_id":"008e176b049f1a821fd29f5f6390b414a4c99aec","unresolved":false,"context_lines":[{"line_number":366,"context_line":""},{"line_number":367,"context_line":"        mock_ebs_root_in_block_devices.assert_called_once_with(None)"},{"line_number":368,"context_line":"        if not in_block_device:"},{"line_number":369,"context_line":"            root_vhd_path \u003d lookup_root_vhd.return_value"},{"line_number":370,"context_line":"            lookup_root_vhd.assert_called_with(mock_instance.name)"},{"line_number":371,"context_line":"            expected_get_info \u003d [mock.call(root_vhd_path)]"},{"line_number":372,"context_line":"            mock_vhd_info.get.assert_called_once_with(\"ParentPath\")"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_cbcff827","line":369,"in_reply_to":"3a961159_1aadccea","updated":"2015-01-14 13:02:12.000000000","message":"Ok, thanks for clarification","commit_id":"a8bc54a1996f28a290c197cc39e1360c5c8afa17"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"252d5501ea13696920182b8859dc851f8a278ffc","unresolved":false,"context_lines":[{"line_number":366,"context_line":""},{"line_number":367,"context_line":"        mock_ebs_root_in_block_devices.assert_called_once_with(None)"},{"line_number":368,"context_line":"        if not in_block_device:"},{"line_number":369,"context_line":"            root_vhd_path \u003d lookup_root_vhd.return_value"},{"line_number":370,"context_line":"            lookup_root_vhd.assert_called_with(mock_instance.name)"},{"line_number":371,"context_line":"            expected_get_info \u003d [mock.call(root_vhd_path)]"},{"line_number":372,"context_line":"            mock_vhd_info.get.assert_called_once_with(\"ParentPath\")"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_1aadccea","line":369,"in_reply_to":"3a961159_fb8a42ba","updated":"2015-01-14 11:57:14.000000000","message":"This is needed. root_vhd_path can be None if block_device is provided. See L381. Also, it is needed for a check on L398","commit_id":"a8bc54a1996f28a290c197cc39e1360c5c8afa17"},{"author":{"_account_id":9550,"name":"Eugeniya Kudryashova","email":"ekudryashova@mirantis.com","username":"ekudryashova"},"change_message_id":"966fb193190a5ee707a9d2e08d79faa087c40d56","unresolved":false,"context_lines":[{"line_number":384,"context_line":"        if ephemeral_path is None:"},{"line_number":385,"context_line":"            create_eph_vhd \u003d self._migrationops._vmops.create_ephemeral_vhd"},{"line_number":386,"context_line":"            create_eph_vhd.assert_called_once_with(mock_instance)"},{"line_number":387,"context_line":"            ephemeral_path \u003d create_eph_vhd.return_value"},{"line_number":388,"context_line":"        else:"},{"line_number":389,"context_line":"            expected_get_info.append(mock.call(ephemeral_path))"},{"line_number":390,"context_line":"            expected_check_resize.append("}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_5bb35699","line":387,"updated":"2015-01-09 12:48:21.000000000","message":"Again","commit_id":"a8bc54a1996f28a290c197cc39e1360c5c8afa17"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"252d5501ea13696920182b8859dc851f8a278ffc","unresolved":false,"context_lines":[{"line_number":384,"context_line":"        if ephemeral_path is None:"},{"line_number":385,"context_line":"            create_eph_vhd \u003d self._migrationops._vmops.create_ephemeral_vhd"},{"line_number":386,"context_line":"            create_eph_vhd.assert_called_once_with(mock_instance)"},{"line_number":387,"context_line":"            ephemeral_path \u003d create_eph_vhd.return_value"},{"line_number":388,"context_line":"        else:"},{"line_number":389,"context_line":"            expected_get_info.append(mock.call(ephemeral_path))"},{"line_number":390,"context_line":"            expected_check_resize.append("}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_da6c24d3","line":387,"in_reply_to":"3a961159_5bb35699","updated":"2015-01-14 11:57:14.000000000","message":"this is actually needed in the check belew (L399). ephemeral_path is different, since an ephemeral_vhd was created.","commit_id":"a8bc54a1996f28a290c197cc39e1360c5c8afa17"},{"author":{"_account_id":9550,"name":"Eugeniya Kudryashova","email":"ekudryashova@mirantis.com","username":"ekudryashova"},"change_message_id":"008e176b049f1a821fd29f5f6390b414a4c99aec","unresolved":false,"context_lines":[{"line_number":384,"context_line":"        if ephemeral_path is None:"},{"line_number":385,"context_line":"            create_eph_vhd \u003d self._migrationops._vmops.create_ephemeral_vhd"},{"line_number":386,"context_line":"            create_eph_vhd.assert_called_once_with(mock_instance)"},{"line_number":387,"context_line":"            ephemeral_path \u003d create_eph_vhd.return_value"},{"line_number":388,"context_line":"        else:"},{"line_number":389,"context_line":"            expected_get_info.append(mock.call(ephemeral_path))"},{"line_number":390,"context_line":"            expected_check_resize.append("}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_0bd900f4","line":387,"in_reply_to":"3a961159_da6c24d3","updated":"2015-01-14 13:02:12.000000000","message":"Ok, thanks","commit_id":"a8bc54a1996f28a290c197cc39e1360c5c8afa17"},{"author":{"_account_id":8412,"name":"Mike Durnosvistov","email":"glacierr.dev@gmail.com","username":"mdurnosvistov"},"change_message_id":"ae9f861920b134ca13711c064b24f323aabfc295","unresolved":false,"context_lines":[{"line_number":342,"context_line":"        mock_instance.ephemeral_gb \u003d 1"},{"line_number":343,"context_line":"        mock_vhd_info \u003d mock.MagicMock()"},{"line_number":344,"context_line":"        mock_eph_info \u003d mock.MagicMock()"},{"line_number":345,"context_line":"        fake_src_base \u003d mock_vhd_info.get.return_value"},{"line_number":346,"context_line":"        lookup_root_vhd \u003d self._migrationops._pathutils.lookup_root_vhd_path"},{"line_number":347,"context_line":"        side_effect \u003d [mock_eph_info] if in_block_device else [mock_vhd_info,"},{"line_number":348,"context_line":"                                                               mock_eph_info]"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a961159_10d204d1","line":345,"updated":"2015-01-14 15:29:30.000000000","message":"F841 local variable \u0027fake_src_base\u0027 is assigned to but never used","commit_id":"1a797a9ac7131525783dd1f9db1e32258577bddc"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"d8f1bc3565f3bb00500a30755f0d67bcf9528ba9","unresolved":false,"context_lines":[{"line_number":27,"context_line":"class MigrationOpsTestCase(test_base.HyperVBaseTestCase):"},{"line_number":28,"context_line":"    \"\"\"Unit tests for the Hyper-V MigrationOps class.\"\"\""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    _FAKE_DISK \u003d \u0027fake_disk\u0027"},{"line_number":31,"context_line":"    _FAKE_TIMEOUT \u003d 10"},{"line_number":32,"context_line":"    _FAKE_RETRY_INTERVAL \u003d 5"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"da86d52c_186d2833","line":30,"updated":"2015-02-02 13:55:00.000000000","message":"_FAKE_INSTANCE_DISK?","commit_id":"399e5f577db8c371cf511a62e6406b24e52a88da"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"d8f1bc3565f3bb00500a30755f0d67bcf9528ba9","unresolved":false,"context_lines":[{"line_number":54,"context_line":"            instance_path)"},{"line_number":55,"context_line":"        self._migrationops._pathutils.exists.return_value \u003d True"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        expected_get_dir \u003d [mock.call(mock.sentinel.FAKE_NAME)]"},{"line_number":58,"context_line":"        expected_rename \u003d [mock.call(instance_path,"},{"line_number":59,"context_line":"                                     get_revert_dir.return_value)]"},{"line_number":60,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"da86d52c_d80c7097","line":57,"updated":"2015-02-02 13:55:00.000000000","message":"mock.sentinel.instance_name would be a lot more meaningful.","commit_id":"399e5f577db8c371cf511a62e6406b24e52a88da"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"86b25439aec9e129b053dedb272078472cf33289","unresolved":false,"context_lines":[{"line_number":54,"context_line":"            instance_path)"},{"line_number":55,"context_line":"        self._migrationops._pathutils.exists.return_value \u003d True"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        expected_get_dir \u003d [mock.call(mock.sentinel.FAKE_NAME)]"},{"line_number":58,"context_line":"        expected_rename \u003d [mock.call(instance_path,"},{"line_number":59,"context_line":"                                     get_revert_dir.return_value)]"},{"line_number":60,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"da86d52c_f3bbe4e2","line":57,"in_reply_to":"da86d52c_d80c7097","updated":"2015-02-03 11:48:34.000000000","message":"Done","commit_id":"399e5f577db8c371cf511a62e6406b24e52a88da"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"d8f1bc3565f3bb00500a30755f0d67bcf9528ba9","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        self._migrationops._pathutils.exists.return_value \u003d True"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"        self._migrationops._cleanup_failed_disk_migration("},{"line_number":100,"context_line":"            instance_path\u003dmock.sentinel.FAKE_PATH,"},{"line_number":101,"context_line":"            revert_path\u003dmock.sentinel.FAKE_REVERT,"},{"line_number":102,"context_line":"            dest_path\u003dmock.sentinel.FAKE_DEST)"},{"line_number":103,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"da86d52c_782c64ac","line":100,"updated":"2015-02-02 13:55:00.000000000","message":"mock.sentinel.instance_path / mock.sentinel.revert_path?","commit_id":"399e5f577db8c371cf511a62e6406b24e52a88da"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"86b25439aec9e129b053dedb272078472cf33289","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        self._migrationops._pathutils.exists.return_value \u003d True"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"        self._migrationops._cleanup_failed_disk_migration("},{"line_number":100,"context_line":"            instance_path\u003dmock.sentinel.FAKE_PATH,"},{"line_number":101,"context_line":"            revert_path\u003dmock.sentinel.FAKE_REVERT,"},{"line_number":102,"context_line":"            dest_path\u003dmock.sentinel.FAKE_DEST)"},{"line_number":103,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"da86d52c_93c62848","line":100,"in_reply_to":"da86d52c_782c64ac","updated":"2015-02-03 11:48:34.000000000","message":"Done","commit_id":"399e5f577db8c371cf511a62e6406b24e52a88da"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"d8f1bc3565f3bb00500a30755f0d67bcf9528ba9","unresolved":false,"context_lines":[{"line_number":208,"context_line":"    def _check_finish_revert_migration(self, mock_ebs_root_in_block_devices,"},{"line_number":209,"context_line":"                                       mock_revert_migration_files,"},{"line_number":210,"context_line":"                                       mock_check_attach_config_drive,"},{"line_number":211,"context_line":"                                       in_block_device):"},{"line_number":212,"context_line":"        mock_instance \u003d fake_instance.fake_instance_obj(self.context)"},{"line_number":213,"context_line":"        mock_ebs_root_in_block_devices.return_value \u003d in_block_device"},{"line_number":214,"context_line":"        lookup_ephemeral \u003d ("}],"source_content_type":"text/x-python","patch_set":12,"id":"da86d52c_b38d1f34","line":211,"updated":"2015-02-02 13:55:00.000000000","message":"in_block_device might be a little confusing. How about boot_from_volume, defaulting to False so that you don\u0027t have to pass it all the time?","commit_id":"399e5f577db8c371cf511a62e6406b24e52a88da"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"86b25439aec9e129b053dedb272078472cf33289","unresolved":false,"context_lines":[{"line_number":208,"context_line":"    def _check_finish_revert_migration(self, mock_ebs_root_in_block_devices,"},{"line_number":209,"context_line":"                                       mock_revert_migration_files,"},{"line_number":210,"context_line":"                                       mock_check_attach_config_drive,"},{"line_number":211,"context_line":"                                       in_block_device):"},{"line_number":212,"context_line":"        mock_instance \u003d fake_instance.fake_instance_obj(self.context)"},{"line_number":213,"context_line":"        mock_ebs_root_in_block_devices.return_value \u003d in_block_device"},{"line_number":214,"context_line":"        lookup_ephemeral \u003d ("}],"source_content_type":"text/x-python","patch_set":12,"id":"da86d52c_d34a60ab","line":211,"in_reply_to":"da86d52c_b38d1f34","updated":"2015-02-03 11:48:34.000000000","message":"Done","commit_id":"399e5f577db8c371cf511a62e6406b24e52a88da"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"d8f1bc3565f3bb00500a30755f0d67bcf9528ba9","unresolved":false,"context_lines":[{"line_number":246,"context_line":"        self._migrationops._vmops.power_on.assert_called_once_with("},{"line_number":247,"context_line":"            mock_instance)"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"    def test_finish_revert_migration(self):"},{"line_number":250,"context_line":"        self._check_finish_revert_migration(in_block_device\u003dTrue)"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"    def test_finish_revert_migration_not_in_block_device(self):"}],"source_content_type":"text/x-python","patch_set":12,"id":"da86d52c_f3887624","line":249,"updated":"2015-02-02 13:55:00.000000000","message":"How about simply test_finish_revert_migration_boot_from_volume.\n\ntest_finish_revert_migration_not_in_block_device is as well quite misleading.","commit_id":"399e5f577db8c371cf511a62e6406b24e52a88da"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"86b25439aec9e129b053dedb272078472cf33289","unresolved":false,"context_lines":[{"line_number":246,"context_line":"        self._migrationops._vmops.power_on.assert_called_once_with("},{"line_number":247,"context_line":"            mock_instance)"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"    def test_finish_revert_migration(self):"},{"line_number":250,"context_line":"        self._check_finish_revert_migration(in_block_device\u003dTrue)"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"    def test_finish_revert_migration_not_in_block_device(self):"}],"source_content_type":"text/x-python","patch_set":12,"id":"da86d52c_738a94c0","line":249,"in_reply_to":"da86d52c_f3887624","updated":"2015-02-03 11:48:34.000000000","message":"Done","commit_id":"399e5f577db8c371cf511a62e6406b24e52a88da"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"d8f1bc3565f3bb00500a30755f0d67bcf9528ba9","unresolved":false,"context_lines":[{"line_number":309,"context_line":"    def test_resize_vhd(self, mock_merge_base_vhd):"},{"line_number":310,"context_line":"        fake_vhd_path \u003d \u0027fake/path.vhd\u0027"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"        self._migrationops._resize_vhd(vhd_path\u003dfake_vhd_path, new_size\u003d2)"},{"line_number":313,"context_line":""},{"line_number":314,"context_line":"        get_vhd_parent_path \u003d self._migrationops._vhdutils.get_vhd_parent_path"},{"line_number":315,"context_line":"        get_vhd_parent_path.assert_called_once_with(fake_vhd_path)"}],"source_content_type":"text/x-python","patch_set":12,"id":"da86d52c_33d84fef","line":312,"updated":"2015-02-02 13:55:00.000000000","message":"How about defining a variable for the new vhd size?","commit_id":"399e5f577db8c371cf511a62e6406b24e52a88da"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"86b25439aec9e129b053dedb272078472cf33289","unresolved":false,"context_lines":[{"line_number":309,"context_line":"    def test_resize_vhd(self, mock_merge_base_vhd):"},{"line_number":310,"context_line":"        fake_vhd_path \u003d \u0027fake/path.vhd\u0027"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"        self._migrationops._resize_vhd(vhd_path\u003dfake_vhd_path, new_size\u003d2)"},{"line_number":313,"context_line":""},{"line_number":314,"context_line":"        get_vhd_parent_path \u003d self._migrationops._vhdutils.get_vhd_parent_path"},{"line_number":315,"context_line":"        get_vhd_parent_path.assert_called_once_with(fake_vhd_path)"}],"source_content_type":"text/x-python","patch_set":12,"id":"da86d52c_33b81c76","line":312,"in_reply_to":"da86d52c_33d84fef","updated":"2015-02-03 11:48:34.000000000","message":"Done","commit_id":"399e5f577db8c371cf511a62e6406b24e52a88da"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"d8f1bc3565f3bb00500a30755f0d67bcf9528ba9","unresolved":false,"context_lines":[{"line_number":346,"context_line":"                                mock_check_base_disk,"},{"line_number":347,"context_line":"                                mock_ebs_root_in_block_devices,"},{"line_number":348,"context_line":"                                mock_check_attach_config_drive,"},{"line_number":349,"context_line":"                                in_block_device, ephemeral_path):"},{"line_number":350,"context_line":"        mock_instance \u003d fake_instance.fake_instance_obj(self.context)"},{"line_number":351,"context_line":"        mock_instance.ephemeral_gb \u003d 1"},{"line_number":352,"context_line":"        mock_vhd_info \u003d mock.MagicMock()"}],"source_content_type":"text/x-python","patch_set":12,"id":"da86d52c_93bc9b6e","line":349,"updated":"2015-02-02 13:55:00.000000000","message":"ditto","commit_id":"399e5f577db8c371cf511a62e6406b24e52a88da"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"86b25439aec9e129b053dedb272078472cf33289","unresolved":false,"context_lines":[{"line_number":346,"context_line":"                                mock_check_base_disk,"},{"line_number":347,"context_line":"                                mock_ebs_root_in_block_devices,"},{"line_number":348,"context_line":"                                mock_check_attach_config_drive,"},{"line_number":349,"context_line":"                                in_block_device, ephemeral_path):"},{"line_number":350,"context_line":"        mock_instance \u003d fake_instance.fake_instance_obj(self.context)"},{"line_number":351,"context_line":"        mock_instance.ephemeral_gb \u003d 1"},{"line_number":352,"context_line":"        mock_vhd_info \u003d mock.MagicMock()"}],"source_content_type":"text/x-python","patch_set":12,"id":"da86d52c_d32b4092","line":349,"in_reply_to":"da86d52c_93bc9b6e","updated":"2015-02-03 11:48:34.000000000","message":"Done","commit_id":"399e5f577db8c371cf511a62e6406b24e52a88da"},{"author":{"_account_id":12604,"name":"Adelina Tuvenie","email":"atuvenie@cloudbasesolutions.com","username":"atuvenie"},"change_message_id":"e340d588c34b1bd2858cba93ac26677877c4e1b6","unresolved":false,"context_lines":[{"line_number":116,"context_line":"                                             get_revert_dir.return_value,"},{"line_number":117,"context_line":"                                             fake_dest_path)"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    def test_cleanup_failed_disk_migration(self):"},{"line_number":120,"context_line":"        self._migrationops._pathutils.exists.return_value \u003d True"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"        self._migrationops._cleanup_failed_disk_migration("}],"source_content_type":"text/x-python","patch_set":29,"id":"5afe65bd_053017e7","line":119,"updated":"2015-06-04 18:08:10.000000000","message":"Should the exception branch also be tested?","commit_id":"4adce5858bf62470eab971d95f46f2ff1605c412"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"42e128c76c81a72d870bb73c80c6106d9c6dd403","unresolved":false,"context_lines":[{"line_number":116,"context_line":"                                             get_revert_dir.return_value,"},{"line_number":117,"context_line":"                                             fake_dest_path)"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    def test_cleanup_failed_disk_migration(self):"},{"line_number":120,"context_line":"        self._migrationops._pathutils.exists.return_value \u003d True"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"        self._migrationops._cleanup_failed_disk_migration("}],"source_content_type":"text/x-python","patch_set":29,"id":"5afe65bd_2592f3f6","line":119,"in_reply_to":"5afe65bd_053017e7","updated":"2015-06-04 18:17:17.000000000","message":"It can be added, but it brings little value, as it is except Exception and it\u0027s only logging there. Will add if there will be a new patchset.","commit_id":"4adce5858bf62470eab971d95f46f2ff1605c412"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"a301faa11575d39234ad2bde96282946a68af2f6","unresolved":false,"context_lines":[{"line_number":424,"context_line":"    def test_finish_migration(self):"},{"line_number":425,"context_line":"        self._check_finish_migration("},{"line_number":426,"context_line":"            ephemeral_path\u003dmock.sentinel.ephemeral_path,"},{"line_number":427,"context_line":"            boot_from_volume\u003dTrue)"},{"line_number":428,"context_line":""},{"line_number":429,"context_line":"    def test_finish_migration_boot_from_volume(self):"},{"line_number":430,"context_line":"        self._check_finish_migration("}],"source_content_type":"text/x-python","patch_set":31,"id":"ba3cc151_6e005535","line":427,"updated":"2015-06-29 23:46:00.000000000","message":"Shouldn\u0027t this line not be here? (see comment below)","commit_id":"cec8a23e59b3716d7a4126f7e24722ff0f86c850"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"f8a80ff494d3e858d97de450d478fa4fc4aa2812","unresolved":false,"context_lines":[{"line_number":424,"context_line":"    def test_finish_migration(self):"},{"line_number":425,"context_line":"        self._check_finish_migration("},{"line_number":426,"context_line":"            ephemeral_path\u003dmock.sentinel.ephemeral_path,"},{"line_number":427,"context_line":"            boot_from_volume\u003dTrue)"},{"line_number":428,"context_line":""},{"line_number":429,"context_line":"    def test_finish_migration_boot_from_volume(self):"},{"line_number":430,"context_line":"        self._check_finish_migration("}],"source_content_type":"text/x-python","patch_set":31,"id":"3a50d1a3_5cb10e46","line":427,"in_reply_to":"ba3cc151_6e005535","updated":"2015-07-22 15:41:39.000000000","message":"Done","commit_id":"cec8a23e59b3716d7a4126f7e24722ff0f86c850"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"a301faa11575d39234ad2bde96282946a68af2f6","unresolved":false,"context_lines":[{"line_number":428,"context_line":""},{"line_number":429,"context_line":"    def test_finish_migration_boot_from_volume(self):"},{"line_number":430,"context_line":"        self._check_finish_migration("},{"line_number":431,"context_line":"            ephemeral_path\u003dmock.sentinel.ephemeral_path)"},{"line_number":432,"context_line":""},{"line_number":433,"context_line":"    def test_finish_migration_no_ephemeral(self):"},{"line_number":434,"context_line":"        self._check_finish_migration()"}],"source_content_type":"text/x-python","patch_set":31,"id":"ba3cc151_ce95e1e4","line":431,"updated":"2015-06-29 23:46:00.000000000","message":"Isn\u0027t this where boot_from_volume\u003dTrue should be passed?","commit_id":"cec8a23e59b3716d7a4126f7e24722ff0f86c850"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"f8a80ff494d3e858d97de450d478fa4fc4aa2812","unresolved":false,"context_lines":[{"line_number":428,"context_line":""},{"line_number":429,"context_line":"    def test_finish_migration_boot_from_volume(self):"},{"line_number":430,"context_line":"        self._check_finish_migration("},{"line_number":431,"context_line":"            ephemeral_path\u003dmock.sentinel.ephemeral_path)"},{"line_number":432,"context_line":""},{"line_number":433,"context_line":"    def test_finish_migration_no_ephemeral(self):"},{"line_number":434,"context_line":"        self._check_finish_migration()"}],"source_content_type":"text/x-python","patch_set":31,"id":"3a50d1a3_7cae4ae7","line":431,"in_reply_to":"ba3cc151_ce95e1e4","updated":"2015-07-22 15:41:39.000000000","message":"Done","commit_id":"cec8a23e59b3716d7a4126f7e24722ff0f86c850"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"0f92dda5f1a5ee97d2e9c704508386f028e8bc5c","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        self._migrationops._vmops \u003d mock.MagicMock()"},{"line_number":41,"context_line":"        self._migrationops._vmutils \u003d mock.MagicMock()"},{"line_number":42,"context_line":"        self._migrationops._pathutils \u003d mock.Mock()"},{"line_number":43,"context_line":"        self._migrationops._vhdutils \u003d mock.MagicMock()"},{"line_number":44,"context_line":"        self._migrationops._pathutils \u003d mock.MagicMock()"},{"line_number":45,"context_line":"        self._migrationops._volumeops \u003d mock.MagicMock()"},{"line_number":46,"context_line":"        self._migrationops._imagecache \u003d mock.MagicMock()"}],"source_content_type":"text/x-python","patch_set":35,"id":"1a4dcd0f_3537dbb1","line":43,"updated":"2015-08-10 15:59:11.000000000","message":"honestly, doing this in the test rather than here, often makes the test easier to read, but thats just a style thing I guess.","commit_id":"ddd5704aa976e8f8a432078ca7c13ba4e3e85f9a"}]}
