Skip to content

compute: normalize cross-HV BDM device names - #653

Open
anokfireball wants to merge 1 commit into
stable/2023.2-m3from
feat/kvmotion-custom-device-path-handling
Open

compute: normalize cross-HV BDM device names#653
anokfireball wants to merge 1 commit into
stable/2023.2-m3from
feat/kvmotion-custom-device-path-handling

Conversation

@anokfireball

Copy link
Copy Markdown
Member

Customers can set their own BDM device paths. VMware does not pass these paths to the guest as disk targets. It uses them to keep a stable volume attachment order, while the guest still sees normal SCSI devices and /dev/sdX device names in guest.

This is not compatible with the current libvirt/KVM path. Nova passes the BDM device name to libvirt as the disk target, and libvirt expects a guest disk target name for the selected bus.

During VMware-to-KVM resize, journal the original root and BDM names. Then assign /dev/vdX target device names following the VMware order: root first, then remaining volumes by original device name.

On revert, restore the journaled root name, BDM names, and disk buses exactly.

Change-Id: Id130a3ef18be29bfb8bab3681c75554b23862ba5

Customers can set their own BDM device paths. VMware does not pass these
paths to the guest as disk targets. It uses them to keep a stable volume
attachment order, while the guest still sees normal SCSI devices and
/dev/sdX device names in guest.

This is not compatible with the current libvirt/KVM path. Nova passes
the BDM device name to libvirt as the disk target, and libvirt expects a
guest disk target name for the selected bus.

During VMware-to-KVM resize, journal the original root and BDM names.
Then assign /dev/vdX target device names following the VMware order:
root first, then remaining volumes by original device name.

On revert, restore the journaled root name, BDM names, and disk buses
exactly.

Change-Id: Id130a3ef18be29bfb8bab3681c75554b23862ba5
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant