Skip to content

conductor: Cross-HV resize preflight checks#625

Draft
grandchild wants to merge 1 commit into
cross-hv-reqspec-early-commitfrom
crosshv_resize_detection
Draft

conductor: Cross-HV resize preflight checks#625
grandchild wants to merge 1 commit into
cross-hv-reqspec-early-commitfrom
crosshv_resize_detection

Conversation

@grandchild
Copy link
Copy Markdown

We allow it only if it's:

  • a BFV instance, that
  • has no snapshots.

And only from VMware to CH, not backwards.

@grandchild grandchild changed the base branch from stable/2023.2-m3 to cross-hv-reqspec-early-commit June 1, 2026 15:35
@grandchild grandchild marked this pull request as ready for review June 1, 2026 15:35
@grandchild grandchild marked this pull request as draft June 1, 2026 15:36
@grandchild grandchild force-pushed the crosshv_resize_detection branch 2 times, most recently from 91eb9fa to 41d1d06 Compare June 2, 2026 08:44
Comment thread nova/tests/unit/conductor/tasks/test_migrate.py Outdated
Comment thread nova/conductor/tasks/migrate.py Outdated
Comment thread nova/conductor/tasks/migrate.py Outdated
Comment thread nova/conductor/tasks/migrate.py Outdated
self.context, self.instance.uuid)
volume_ids = {bdm.volume_id for bdm in bdms if bdm.volume_id}
if volume_ids:
snapshots = volume_api.get_all_snapshots(self.context)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This iterates through all the snapshots of a project as far as I can tell. Is there maybe a way to filter for the volume id below at the cinder API level already?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment thread nova/conductor/tasks/migrate.py Outdated
self.context, self.instance.uuid)
volume_ids = {bdm.volume_id for bdm in bdms if bdm.volume_id}
if volume_ids:
snapshots = volume_api.get_all_snapshots(self.context)
Copy link
Copy Markdown
Member

@anokfireball anokfireball Jun 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know it is still specified in the ticket to have this snapshot check. But since we are not doing volume retyping for BFV during the resize (anymore), it's probably not required (anymore).

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hm, right... I'll remove it altogether.

@grandchild grandchild force-pushed the crosshv_resize_detection branch 3 times, most recently from 251f927 to 4116348 Compare June 3, 2026 19:46
@grandchild
Copy link
Copy Markdown
Author

Added unit tests.
Removed volume snapshots check, which removed a few hunks altogether, since the volume_api doesn't need to be passed through anymore now.

@grandchild grandchild force-pushed the crosshv_resize_detection branch from 4116348 to 78d8199 Compare June 3, 2026 19:56
We allow it only if it's:
- a BFV instance, that
- is powered on.
And only from VMware to CH, not backwards.

The image properties are now sanitized and saved, only on vmware->ch
hv transition, inside the new _prep_cross_hv_resize() step.

Change-Id: I50dedca220e70f51811c0f9b9327ca3ae7ea9e12
@grandchild grandchild force-pushed the crosshv_resize_detection branch from 78d8199 to 72706db Compare June 4, 2026 12:52
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.

3 participants