Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Distinguish resize from offline migrate in scheduler #454

Open
wants to merge 1 commit into
base: stable/xena-m3
Choose a base branch
from

Conversation

joker-at-work
Copy link

The scheduler reacts to the scheduler-hint _nova_check_type. To be able to have specific filters/weighers for resize, we set this scheduler-hint to "resize" already.

Since resizes and offline migrations take the same code path and only differ in having a flavor change or not, we used to set "resize" also for offline migrations.

In the future, we want to be able to distinguish between offline migrations and resizes, because one is triggered by customers and the other can only be triggered by admins. Therefore, we introduce another _nova_check_type "migrate". There's also already another _nova_check_type "live_migrate", so "migrate" does not clash there.

To help in finding an offline migration scheduling request in the scheduler, we add the helper function request_is_migrate() in the same spirit as the already existing functions for "resize" and "live_migrate".

Change-Id: Id8915a2eb52025e31604af8dde53343ab980ca3e

The scheduler reacts to the scheduler-hint `_nova_check_type`. To be
able to have specific filters/weighers for resize, we set this
scheduler-hint to "resize" already.

Since resizes and offline migrations take the same code path and only
differ in having a flavor change or not, we used to set "resize" also
for offline migrations.

In the future, we want to be able to distinguish between offline
migrations and resizes, because one is triggered by customers and the
other can only be triggered by admins. Therefore, we introduce another
`_nova_check_type` "migrate". There's also already another
`_nova_check_type` "live_migrate", so "migrate" does not clash there.

To help in finding an offline migration scheduling request in the
scheduler, we add the helper function `request_is_migrate()` in the same
spirit as the already existing functions for "resize" and
"live_migrate".

Change-Id: Id8915a2eb52025e31604af8dde53343ab980ca3e
@joker-at-work joker-at-work force-pushed the offline-migrate-gets-own-nova-check-type branch from b719292 to b00d74f Compare October 27, 2023 12:52
@joker-at-work joker-at-work marked this pull request as ready for review October 30, 2023 10:20
@fwiesel
Copy link
Member

fwiesel commented Oct 30, 2023

That means that the filters which now check for resize are not going to apply anymore. I am unsure if that should be the way. At leastresize_same_shard I would suspect we want to still apply, possibly volume_size_same_shard_resize_filter as well, no?

@joker-at-work
Copy link
Author

joker-at-work commented Oct 30, 2023

resize_same_shard will get an equivalent filter for migrate_same_shard as we also implement live_migrate_same_shard.

volume_size_same_shard_resize_filter explicitly shouldn't continue to work that way, because resizes are triggered by customers and thus need that filter - offline migrations are triggered by admins, which should not be hindered to move a VM around imho.

@joker-at-work
Copy link
Author

FYI: #455 Is depending on this PR to implement the other same_shard weighers.

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.

2 participants