Comment 8 for bug 1691195

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (stable/newton)

Reviewed: https://review.openstack.org/471356
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=8b9aa3e00101b1258f9b3dedca66aac81f655778
Submitter: Zuul
Branch: stable/newton

commit 8b9aa3e00101b1258f9b3dedca66aac81f655778
Author: Artom Lifshitz <email address hidden>
Date: Wed May 17 00:22:34 2017 +0000

    Use VIR_DOMAIN_BLOCK_REBASE_COPY_DEV when rebasing

    Previously, in swap_volume, the VIR_DOMAIN_BLOCK_REBASE_COPY_DEV flag
    was not passed to virDomainBlockRebase. In the case of iSCSI-backed
    disks, this caused the XML to change from <source dev=/dev/iscsi/lun>
    to <source file=/dev/iscsi/lun>. This was a problem because
    /dev/iscsi/lun is not a regular file. This patch passes the
    VIR_DOMAIN_BLOCK_REBASE_COPY_DEV flag to virDomainBlockRebase, causing
    the correct <source dev=/dev/iscsi/lun> to be generated upon
    volume-update.

    Conflicts:
          nova/tests/unit/virt/libvirt/test_driver.py
          nova/virt/libvirt/driver.py
          nova/virt/libvirt/guest.py

    NOTE(mriedem): The conflicts are due to
    fbcf8d673342570a1518dbf8d88f289c2c39cd30 needing to translate
    the exception message in driver.py and for passing instance
    to disconnect_volume in test_driver, which was added in Pike with
    b66b7d4f9d63e7f45ebfc033696d06c632a33ff1.

    NOTE(artom): In stable/newton, the conflict in guest.py is due to a
    different docstring for the rebase() method.

    NOTE(artom): This backport squashes
    5d5c5a5d92458d530115b3d3b8b381524b1a3a90 to guard againt older libvirt
    versions that don't have the VIR_DOMAIN_BLOCK_REBASE_COPY_DEV flag.

    Change-Id: I868a0dae0baf8cded9c7c5807ea63ffc5eec0c5e
    Closes-bug: 1691195
    (cherry picked from commit a8a4a8ea7b8e6c85273ddb02d34d6af1740b183f)
    (cherry picked from commit ef853e038d9a3e9bfe02287c7c01c80b7a022ed6)