)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"854abbdcfe4cd018d56d4e5fdf6d6c4edb62f9f5","unresolved":false,"context_lines":[{"line_number":10,"context_line":"according nova.conf setting CONF.libvirt.images_type"},{"line_number":11,"context_line":"and not from image type disk of source instance."},{"line_number":12,"context_line":"This change propose to keep original disk type of instance."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Closes-Bug: #1773318"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: Ie99d9197331fadfe2dbc6e7700014bb14d01ed88"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"5f7c97a3_90691cf9","line":13,"updated":"2018-06-13 07:16:20.000000000","message":"Can you also add a note about hard reboot change.","commit_id":"d013c7c6de455468ff2f8f13db2cc1fe5be5cb93"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0d2d1b4cafe7e2f31bec9029c53c3f09b88e4154","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Preserve images_type of instance during live migration"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When a target host is prepraring live-migration, it creates disk"},{"line_number":10,"context_line":"according nova.conf setting CONF.libvirt.images_type"},{"line_number":11,"context_line":"and not from image type disk of source instance."},{"line_number":12,"context_line":"This change propose to keep original disk type of instance,"},{"line_number":13,"context_line":"in order to use corresponding imagebackend driver during live-migraton"},{"line_number":14,"context_line":"and hard reboot(when re-fetch image cache) even on host with"},{"line_number":15,"context_line":"a different images_type."},{"line_number":16,"context_line":"This make works live migration of qcow2 instances to host with"},{"line_number":17,"context_line":"CONF.libvirt.images_type\u003d \u0027raw\u0027"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Closes-Bug: #1773318"},{"line_number":20,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"5f7c97a3_92033b10","line":17,"range":{"start_line":9,"start_character":0,"end_line":17,"end_character":31},"updated":"2018-06-14 15:02:14.000000000","message":"This seems like a bad idea that will result in weird side effect failures later once the instance is on the dest host and the user does some operation to it, like a snapshot. The dest host is going to assume the instances running on it are using the configured imagebackend, so if the dest host is configured for rbd, it\u0027s going to do rbd snapshots but the instance might not actually be running with disks in rbd.","commit_id":"c2767b9f1bf5623c9102cad20cd26c06762dcf0d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9930b3269e751933a5b6d0e9a35c9fb063dffb1d","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Preserve images_type of instance during live migration"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When a target host is prepraring live-migration, it creates disk"},{"line_number":10,"context_line":"according nova.conf setting CONF.libvirt.images_type"},{"line_number":11,"context_line":"and not from image type disk of source instance."},{"line_number":12,"context_line":"This change propose to keep original disk type of instance,"},{"line_number":13,"context_line":"in order to use corresponding imagebackend driver during live-migraton"},{"line_number":14,"context_line":"and hard reboot(when re-fetch image cache) even on host with"},{"line_number":15,"context_line":"a different images_type."},{"line_number":16,"context_line":"This make works live migration of qcow2 instances to host with"},{"line_number":17,"context_line":"CONF.libvirt.images_type\u003d \u0027raw\u0027"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Closes-Bug: #1773318"},{"line_number":20,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"5f7c97a3_8dbb1a0d","line":17,"range":{"start_line":9,"start_character":0,"end_line":17,"end_character":31},"in_reply_to":"5f7c97a3_92033b10","updated":"2018-06-14 15:10:54.000000000","message":"The one thing about my suggested approach is I\u0027m not sure we actually know the source instance image backend type in check_can_live_migrate_destination, however, check_can_live_migrate_destination can populate the image backend type in LibvirtLiveMigrateData which can then be checked in check_can_live_migrate_source and then we can fail the pre-live migration check to get another host.","commit_id":"c2767b9f1bf5623c9102cad20cd26c06762dcf0d"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"1fa5668f91cbd8db4e90ca4abef04284b579cd5c","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Preserve images_type of instance during live migration"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When a target host is prepraring live-migration, it creates disk"},{"line_number":10,"context_line":"according nova.conf setting CONF.libvirt.images_type"},{"line_number":11,"context_line":"and not from image type disk of source instance."},{"line_number":12,"context_line":"This change propose to keep original disk type of instance,"},{"line_number":13,"context_line":"in order to use corresponding imagebackend driver during live-migraton"},{"line_number":14,"context_line":"and hard reboot(when re-fetch image cache) even on host with"},{"line_number":15,"context_line":"a different images_type."},{"line_number":16,"context_line":"This make works live migration of qcow2 instances to host with"},{"line_number":17,"context_line":"CONF.libvirt.images_type\u003d \u0027raw\u0027"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Closes-Bug: #1773318"},{"line_number":20,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"5f7c97a3_8d9a3a6c","line":17,"range":{"start_line":9,"start_character":0,"end_line":17,"end_character":31},"in_reply_to":"5f7c97a3_92033b10","updated":"2018-06-14 15:21:46.000000000","message":"Yes, FWIW, I too agree with Matt here—just disregarding the \u0027image_type\u0027 on the destination configuration can result in unwanted side effects.  Going the route of doing the pre-migration check is much more robust.","commit_id":"c2767b9f1bf5623c9102cad20cd26c06762dcf0d"}],"nova/tests/unit/virt/libvirt/test_driver.py":[{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"4d8d847d9492e125df9c189ec89ca58bacc2a12c","unresolved":false,"context_lines":[{"line_number":11083,"context_line":"        self._do_test_create_images_and_backing(\u0027raw\u0027)"},{"line_number":11084,"context_line":""},{"line_number":11085,"context_line":"    def test_create_images_and_backing_qcow2_with_raw_images_type(self):"},{"line_number":11086,"context_line":"        self.flags(images_type\u003d\u0027raw\u0027, group\u003d\u0027libvirt\u0027)"},{"line_number":11087,"context_line":"        self._do_test_create_images_and_backing(\u0027qcow2\u0027)"},{"line_number":11088,"context_line":""},{"line_number":11089,"context_line":"    def test_create_images_and_backing_images_not_exist_no_fallback(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_839a66c2","line":11086,"updated":"2018-06-11 13:59:36.000000000","message":"Can you add comment saying that you are reflecting the fact of a live-migration where that method is called on a host configured with a different value for images_type than the source?","commit_id":"908d4d9ccbf0822c5f519c564f38ba49bdfb8ffe"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"50c7307460d970e49116de9524d808b51d08ed35","unresolved":false,"context_lines":[{"line_number":11083,"context_line":"        self._do_test_create_images_and_backing(\u0027raw\u0027)"},{"line_number":11084,"context_line":""},{"line_number":11085,"context_line":"    def test_create_images_and_backing_qcow2_with_raw_images_type(self):"},{"line_number":11086,"context_line":"        self.flags(images_type\u003d\u0027raw\u0027, group\u003d\u0027libvirt\u0027)"},{"line_number":11087,"context_line":"        self._do_test_create_images_and_backing(\u0027qcow2\u0027)"},{"line_number":11088,"context_line":""},{"line_number":11089,"context_line":"    def test_create_images_and_backing_images_not_exist_no_fallback(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_0373b681","line":11086,"in_reply_to":"5f7c97a3_839a66c2","updated":"2018-06-11 14:02:13.000000000","message":"Actually that could also be the case for hard_reboot, if operator change that value, restart the service.","commit_id":"908d4d9ccbf0822c5f519c564f38ba49bdfb8ffe"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"854abbdcfe4cd018d56d4e5fdf6d6c4edb62f9f5","unresolved":false,"context_lines":[{"line_number":13498,"context_line":""},{"line_number":13499,"context_line":"        self._do_test_hard_reboot(self.test_instance, dummyxml)"},{"line_number":13500,"context_line":""},{"line_number":13501,"context_line":"    def test_hard_reboot_qcow2_with_raw_images_type(self):"},{"line_number":13502,"context_line":"        # hard reboot qcow2 instance on compute host with images_type\u003d\u0027raw\u0027"},{"line_number":13503,"context_line":"        self.flags(images_type\u003d\u0027raw\u0027, group\u003d\u0027libvirt\u0027)"},{"line_number":13504,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_90cd9c31","line":13501,"updated":"2018-06-13 07:16:20.000000000","message":"Thanks for the updated test. I might have missed that but can you assert that we call at some point \u0027_create_image_and_backing\u0027.","commit_id":"d013c7c6de455468ff2f8f13db2cc1fe5be5cb93"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":25562,"name":"Chen","email":"dstbtgagt@foxmail.com","username":"chenn2"},"change_message_id":"6af78f98c0353453d6446c81e427678461b871c6","unresolved":false,"context_lines":[{"line_number":7665,"context_line":"                cache_name \u003d os.path.basename(info[\u0027backing_file\u0027])"},{"line_number":7666,"context_line":""},{"line_number":7667,"context_line":"                disk \u003d self.image_backend.by_name(instance, instance_disk,"},{"line_number":7668,"context_line":"                                                  info[\u0027type\u0027])"},{"line_number":7669,"context_line":"                if cache_name.startswith(\u0027ephemeral\u0027):"},{"line_number":7670,"context_line":"                    # The argument \u0027size\u0027 is used by image.cache to"},{"line_number":7671,"context_line":"                    # validate disk size retrieved from cache against"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_6b891c73","line":7668,"range":{"start_line":7668,"start_character":50,"end_line":7668,"end_character":62},"updated":"2018-05-29 14:18:53.000000000","message":"I don\u0027t think here is the reason your migration failed. As far as I am aware of, libvirt xml does not include backing_image info. So the inconsistency of image/disk type is perhaps from the main disk info for which xml shows qcow2 whereas disk_info shows raw.","commit_id":"367d0808156780acca2437568974f888124e66dc"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"e1f3c737a015b22942a4c84873782e8a7cda94b7","unresolved":false,"context_lines":[{"line_number":7665,"context_line":"                cache_name \u003d os.path.basename(info[\u0027backing_file\u0027])"},{"line_number":7666,"context_line":""},{"line_number":7667,"context_line":"                disk \u003d self.image_backend.by_name(instance, instance_disk,"},{"line_number":7668,"context_line":"                                                  info[\u0027type\u0027])"},{"line_number":7669,"context_line":"                if cache_name.startswith(\u0027ephemeral\u0027):"},{"line_number":7670,"context_line":"                    # The argument \u0027size\u0027 is used by image.cache to"},{"line_number":7671,"context_line":"                    # validate disk size retrieved from cache against"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_6e286ee1","line":7668,"range":{"start_line":7668,"start_character":50,"end_line":7668,"end_character":62},"updated":"2018-05-25 10:15:54.000000000","message":"Some concern about this, seems there could be other options related to this, for example, if the info[\u0027type\u0027] is \u0027lvm\u0027 but the ``image_volume_group`` option is not correctly configured on this host(CONF.libvirt.images_type may equal to raw so don\u0027t need to config this one). Error could occour? as when type \u003d\u003d lvm, the latter configuration is required:\nhttps://github.com/openstack/nova/blob/master/nova/conf/libvirt.py#L760","commit_id":"367d0808156780acca2437568974f888124e66dc"},{"author":{"_account_id":25562,"name":"Chen","email":"dstbtgagt@foxmail.com","username":"chenn2"},"change_message_id":"2729ef5fff294aaf69f22599a4abe81ec65a9322","unresolved":false,"context_lines":[{"line_number":7695,"context_line":"            instance_disk \u003d os.path.join(instance_dir, base)"},{"line_number":7696,"context_line":"            if not info[\u0027backing_file\u0027] and not os.path.exists(instance_disk):"},{"line_number":7697,"context_line":"                libvirt_utils.create_image(info[\u0027type\u0027], instance_disk,"},{"line_number":7698,"context_line":"                                           info[\u0027virt_disk_size\u0027])"},{"line_number":7699,"context_line":"            elif info[\u0027backing_file\u0027]:"},{"line_number":7700,"context_line":"                # Creating backing file follows same way as spawning instances."},{"line_number":7701,"context_line":"                cache_name \u003d os.path.basename(info[\u0027backing_file\u0027])"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_577290e4","line":7698,"range":{"start_line":7698,"start_character":43,"end_line":7698,"end_character":65},"updated":"2018-06-13 14:30:24.000000000","message":"When trying to migrate raw disk instance to a host with qcow2 images_type, migration just keeps failing. Further investigation indicates that info[\u0027virt_disk_size\u0027] passed here is not the same as size of the raw disk file on the source host, resulting in the migration failure. So I am afraid we have to fix how this size should be obtained here if we really want support migration across hosts with different images_type.","commit_id":"d013c7c6de455468ff2f8f13db2cc1fe5be5cb93"}],"releasenotes/notes/keep-imagestype-livemigration-173d02664c0a79e6.yaml":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0d2d1b4cafe7e2f31bec9029c53c3f09b88e4154","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    * `Bug 1773318 \u003chttps://bugs.launchpad.net/nova/+bug/1773318\u003e`"},{"line_number":8,"context_line":"issues:"},{"line_number":9,"context_line":"  - |"},{"line_number":10,"context_line":"    This fix does not attend to make work all kinds of migration format,"},{"line_number":11,"context_line":"    live migration of raw based instance to a qcow2 images_type host is still"},{"line_number":12,"context_line":"    reported to fail."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":5,"id":"5f7c97a3_524cc39c","line":10,"range":{"start_line":10,"start_character":4,"end_line":10,"end_character":12},"updated":"2018-06-14 15:02:14.000000000","message":"There is no context for this - people reading release notes won\u0027t know what you\u0027re referring to since release notes are all put together.","commit_id":"c2767b9f1bf5623c9102cad20cd26c06762dcf0d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0d2d1b4cafe7e2f31bec9029c53c3f09b88e4154","unresolved":false,"context_lines":[{"line_number":8,"context_line":"issues:"},{"line_number":9,"context_line":"  - |"},{"line_number":10,"context_line":"    This fix does not attend to make work all kinds of migration format,"},{"line_number":11,"context_line":"    live migration of raw based instance to a qcow2 images_type host is still"},{"line_number":12,"context_line":"    reported to fail."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"    Note that we are preserving instance disk format on destination host,"},{"line_number":15,"context_line":"    but we should be able alternatively to reflect images_type of target host"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"5f7c97a3_3245876f","line":12,"range":{"start_line":11,"start_character":4,"end_line":12,"end_character":21},"updated":"2018-06-14 15:02:14.000000000","message":"Why don\u0027t we just compare the instances image type during our pre-live migration checks for the dest host and fail the dest host if it\u0027s not a match for the image backend so that another host can be selected?","commit_id":"c2767b9f1bf5623c9102cad20cd26c06762dcf0d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0d2d1b4cafe7e2f31bec9029c53c3f09b88e4154","unresolved":false,"context_lines":[{"line_number":11,"context_line":"    live migration of raw based instance to a qcow2 images_type host is still"},{"line_number":12,"context_line":"    reported to fail."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"    Note that we are preserving instance disk format on destination host,"},{"line_number":15,"context_line":"    but we should be able alternatively to reflect images_type of target host"},{"line_number":16,"context_line":"    by updating domain xml at guest migration."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"5f7c97a3_5231230a","line":16,"range":{"start_line":14,"start_character":4,"end_line":16,"end_character":46},"updated":"2018-06-14 15:02:14.000000000","message":"Why wouldn\u0027t we just do that via the MigrateData object? Granted, that would be an rpc version change on the object which we can\u0027t backport to stable branches. But the thing I suggested above could be.","commit_id":"c2767b9f1bf5623c9102cad20cd26c06762dcf0d"}]}
