Skip to content

Project and AZ handling optimizations, Network preparations for OS and CBT error handling via full-copy on cutover - #171

Open
Michael (Jormodn) wants to merge 10 commits into
vexxhost:mainfrom
Jormodn:main
Open

Project and AZ handling optimizations, Network preparations for OS and CBT error handling via full-copy on cutover#171
Michael (Jormodn) wants to merge 10 commits into
vexxhost:mainfrom
Jormodn:main

Conversation

@Jormodn

Copy link
Copy Markdown

This pull request introduces several improvements and new features to the migration tool, focusing on OpenStack project scoping, network interface name preservation, and enhanced error handling for Changed Block Tracking (CBT). The changes add new command-line flags, improve context handling, and ensure more robust and flexible migrations.

OpenStack Project and Availability Zone Handling:

  • Added support for specifying an OpenStack project (--project) to migrate into, with logic to handle both project names and UUIDs and to maintain a separate compute client for volume attachment operations in the source project (ClientSet.LocalCompute). [1] [2] [3] [4]
  • Introduced a --volume-availability-zone flag to allow specifying a different availability zone for volumes, overriding the general server availability zone if set. [1] [2] [3]

Network Interface Name Preservation:

  • Added the --fix-nic-names flag and associated logic to inject udev rules into the guest VM, ensuring VMware interface names (e.g., ens192) are preserved after migration to OpenStack. This includes a new method to generate and inject the appropriate udev rules using virt-customize. [1] [2] [3] [4] [5]

Changed Block Tracking (CBT) Handling:

  • Added the --no-cbt flag to allow migrations to proceed even if CBT is not enabled, with appropriate warnings and fallback to full copy mode. Improved error handling and signaling for CBT-related issues. [1] [2] [3] [4] [5]

Environment and Library Path Handling:

  • Changed the way LD_LIBRARY_PATH is set for nbdkit invocation, ensuring it is passed directly to the command environment rather than set globally. [1] [2]

Internal Refactoring and Utility Additions:

  • Added utility functions such as isUUID for project ID detection and improved TLS configuration handling for OpenStack clients. [1] [2]

These changes collectively improve the tool's flexibility, reliability, and compatibility with a broader range of OpenStack and VMware environments.

These changes and this summary are supported by Claude Code. ;-)

Michael (Jormodn) and others added 10 commits June 18, 2026 09:10
Signed-off-by: Michael Ulrich <michael.ulrich@netcologne-its.de>
…me or uuid

Signed-off-by: Michael Ulrich <michael.ulrich@netcologne-its.de>
… on default project to mount volume correctly

Signed-off-by: Michael Ulrich <michael.ulrich@netcologne-its.de>
Signed-off-by: Michael Ulrich <michael.ulrich@netcologne-its.de>
Signed-off-by: Michael Ulrich <michael.ulrich@netcologne-its.de>
Signed-off-by: Michael Ulrich <michael.ulrich@netcologne-its.de>
Signed-off-by: Michael Ulrich <michael.ulrich@netcologne-its.de>
…c to interface name

Signed-off-by: Michael Ulrich <michael.ulrich@netcologne-its.de>
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