)]}'
{"nova/compute/manager.py":[{"author":{"_account_id":4120,"name":"Rohit Karajgi","email":"rohit.karajgi@ril.com","username":"rohitkarajgi"},"change_message_id":"b7ca80208bd2e854358ef1ef2f3423d3474420cc","unresolved":false,"context_lines":[{"line_number":3388,"context_line":"            raise exception.FixedIpNotFoundForInstance("},{"line_number":3389,"context_line":"                                       instance_uuid\u003dinstance[\u0027uuid\u0027])"},{"line_number":3390,"context_line":""},{"line_number":3391,"context_line":"        pre_live_migration_data \u003d self.driver.pre_live_migration(context,"},{"line_number":3392,"context_line":"                                       instance,"},{"line_number":3393,"context_line":"                                       block_device_info,"},{"line_number":3394,"context_line":"                                       self._legacy_nw_info(network_info),"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAP3%2F%2FvCo%3D","line":3391,"updated":"2013-07-12 07:24:58.000000000","message":"Since _create_images_and_backing() is now moved to pre_live_migration, is there any reason why this needs to occur before setting up networks and firewall filters? If the image size is very large, there is a wait period for it and the backing file to be created, and if any of the subsequent operations fail (setup n/w, firewall filters etc), then the live migration would fail. \nIMO, the image and backing file creation should be done at the end of pre_live_migration. Thoughts?","commit_id":"c8456474f4c95466aa8875932d6271a5d37384e9"}],"nova/tests/virt/libvirt/test_libvirt.py":[{"author":{"_account_id":7138,"name":"David Jia","email":"jiataotj@cn.ibm.com","username":"jiataotj"},"change_message_id":"5026028e9cd58b56302092bbadb2f40bcf6c0c49","unresolved":false,"context_lines":[{"line_number":2615,"context_line":"            conn.pre_block_migration(self.context, instance_ref,"},{"line_number":2616,"context_line":"                                     dummyjson)"},{"line_number":2617,"context_line":""},{"line_number":2618,"context_line":"            self.assertFalse(os.path.exists(\u0027%s/%s/\u0027 %"},{"line_number":2619,"context_line":"                                            (tmpdir, instance_ref[\u0027uuid\u0027])))"},{"line_number":2620,"context_line":""},{"line_number":2621,"context_line":"        db.instance_destroy(self.context, instance_ref[\u0027uuid\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPn%2F%2FlyA%3D","line":2618,"updated":"2013-06-27 07:29:39.000000000","message":"Why change this from assertTrue to assertFalse? If checking path existing is valueless,we may should remove this test case ,or add whether image is successfully cached ?","commit_id":"73ca15947b74a7b6be3b5ca124b24bdad217daec"},{"author":{"_account_id":3189,"name":"Chet Burgess","email":"cfb@metacloud.com","username":"cfb-n"},"change_message_id":"61f876f1448fa59d78f1ec76fb9987be848c5400","unresolved":false,"context_lines":[{"line_number":2615,"context_line":"            conn.pre_block_migration(self.context, instance_ref,"},{"line_number":2616,"context_line":"                                     dummyjson)"},{"line_number":2617,"context_line":""},{"line_number":2618,"context_line":"            self.assertFalse(os.path.exists(\u0027%s/%s/\u0027 %"},{"line_number":2619,"context_line":"                                            (tmpdir, instance_ref[\u0027uuid\u0027])))"},{"line_number":2620,"context_line":""},{"line_number":2621,"context_line":"        db.instance_destroy(self.context, instance_ref[\u0027uuid\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPn%2F%2FlxQ%3D","line":2618,"in_reply_to":"AAAAPn%2F%2FlyA%3D","updated":"2013-06-27 07:38:24.000000000","message":"I could remove this. We have other tests that validate that the instance dir gets created in pre_live_migrate.\n\nI suppose I was trying to validate that we don\u0027t some how create the path during pre_block_migrate","commit_id":"73ca15947b74a7b6be3b5ca124b24bdad217daec"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"3d3b6d49e776c1560bfe557159061048bcedd3a9","unresolved":false,"context_lines":[{"line_number":3466,"context_line":"        instance_dir \u003d libvirt_utils.get_instance_path(instance)"},{"line_number":3467,"context_line":"        if os.path.exists(instance_dir):"},{"line_number":3468,"context_line":"            raise exception.DestinationDiskExists(path\u003dinstance_dir)"},{"line_number":3469,"context_line":"        os.mkdir(instance_dir)"},{"line_number":3470,"context_line":"        self._create_images_and_backing(context, instance, disk_info_json)"},{"line_number":3471,"context_line":""},{"line_number":3472,"context_line":"    def _create_images_and_backing(self, context, instance, disk_info_json):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPn%2F%2FVq4%3D","side":"PARENT","line":3469,"updated":"2013-07-03 18:30:34.000000000","message":"Sounds like we should check that it actually does exist here, so that the next line doesn\u0027t fail weirdly. Or, maybe even ensure that it\u0027s there if needed for idempotency.","commit_id":"1515fa7bc3f5244f7564ce41f8a7a9ed9dacd5ee"},{"author":{"_account_id":1011,"name":"Tushar Patil","email":"tushar.vitthal.patil@gmail.com","username":"tpatil"},"change_message_id":"80154e9886681b6429a10e3e5d8a8705243305c6","unresolved":false,"context_lines":[{"line_number":3417,"context_line":"            os.mkdir(instance_dir)"},{"line_number":3418,"context_line":""},{"line_number":3419,"context_line":"            # Ensure images and backing files are present."},{"line_number":3420,"context_line":"            self._create_images_and_backing(context, instance, instance_dir,"},{"line_number":3421,"context_line":"                                            disk_info)"},{"line_number":3422,"context_line":""},{"line_number":3423,"context_line":"        if is_volume_backed and not (is_block_migration or is_shared_storage):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAP3%2F%2F0rs%3D","line":3420,"updated":"2013-07-10 21:31:56.000000000","message":"I don\u0027t think we need to create image and backing file in case of Shared storage based live migration.\n\nYou will need to pass block_migration flag to pre_live_migration method if you want to get rid of pre_block_migration method. If block_migration flag is True then only call _create_images_and_backing method.","commit_id":"c8456474f4c95466aa8875932d6271a5d37384e9"},{"author":{"_account_id":3189,"name":"Chet Burgess","email":"cfb@metacloud.com","username":"cfb-n"},"change_message_id":"b20217f6c9f7ec32ee3b0e31765d51fdb59416be","unresolved":false,"context_lines":[{"line_number":3417,"context_line":"            os.mkdir(instance_dir)"},{"line_number":3418,"context_line":""},{"line_number":3419,"context_line":"            # Ensure images and backing files are present."},{"line_number":3420,"context_line":"            self._create_images_and_backing(context, instance, instance_dir,"},{"line_number":3421,"context_line":"                                            disk_info)"},{"line_number":3422,"context_line":""},{"line_number":3423,"context_line":"        if is_volume_backed and not (is_block_migration or is_shared_storage):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAP3%2F%2Fx%2Bw%3D","line":3420,"in_reply_to":"AAAAP3%2F%2F0rs%3D","updated":"2013-07-11 15:27:57.000000000","message":"Actually we already guard against doing this in the case of a shared storage based live migration. On line 3405 we check that the is_shared_storage flag is not set. The check_can_live_migrate_destination and check_can_live_migrate_source functions called earlier during a live migration creates the migrate_data object and guards against trying to do a block migration with shared storage. So by the time we get to this code looking at the is_shared_storage flag is sufficient to cover the case of block migrations and shared storage migrations.","commit_id":"c8456474f4c95466aa8875932d6271a5d37384e9"},{"author":{"_account_id":1011,"name":"Tushar Patil","email":"tushar.vitthal.patil@gmail.com","username":"tpatil"},"change_message_id":"d2cdeaffdf52250a58d83497ffa85ffa515bbb04","unresolved":false,"context_lines":[{"line_number":3417,"context_line":"            os.mkdir(instance_dir)"},{"line_number":3418,"context_line":""},{"line_number":3419,"context_line":"            # Ensure images and backing files are present."},{"line_number":3420,"context_line":"            self._create_images_and_backing(context, instance, instance_dir,"},{"line_number":3421,"context_line":"                                            disk_info)"},{"line_number":3422,"context_line":""},{"line_number":3423,"context_line":"        if is_volume_backed and not (is_block_migration or is_shared_storage):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAP3%2F%2FwoM%3D","line":3420,"in_reply_to":"AAAAP3%2F%2Fx%2Bw%3D","updated":"2013-07-11 20:49:48.000000000","message":"oops!! My mistake.","commit_id":"c8456474f4c95466aa8875932d6271a5d37384e9"}]}
