[Nova] How to (live-) migrate instances in a server-group with affinity to another host?
Hello OpenStack-Discuss, I was wondering how I as an admin can (live-)migrate instances for which the user applied a server-group with affinity. Looking at the API ([1]), there is no (obvious) way to migrate multiple instances or a server-group "en bloc". But migrating a single instance out of a group does result in:
[...] 2023-06-01 12:20:00.489 6910 INFO nova.scheduler.host_manager [req-01d9 83eb5 9c8353142098 - default default] Host filter ignoring hosts: 2023-06-01 12:20:00.490 6910 INFO nova.filters [req-01d9 83eb5 9c8353142098 - default default] Filter ServerGroupAffinityFilter returned 0 hosts 2023-06-01 12:20:00.491 6910 INFO nova.filters [req-01d9 83eb5 9c8353142098 - default default] Filtering removed all hosts for the request with instance ID '2476cfdd-9315-4bff-ba3e-d3be5874593f'. Filter results: ['AvailabilityZoneFilter: (start: 10, end: 10)', 'ComputeFilter: (start: 10, end: 10)', 'ComputeCapabilitiesFilter: (start: 10, end: 9)', 'ImagePropertiesFilter: (start: 9, end: 9)', 'ServerGroupAntiAffinityFilter: (start: 9, end: 9)', 'ServerGroupAffinityFilter: (start: 9, end: 0)'] [...]
Am I missing something here? Or am I just holding this wrong? Regards Christian [1] https://docs.openstack.org/api-ref/compute/?expanded=force-migration-complet...
On Thu, 2023-06-01 at 22:03 +0200, Christian Rohmann wrote:
Hello OpenStack-Discuss,
I was wondering how I as an admin can (live-)migrate instances for which the user applied a server-group with affinity. Looking at the API ([1]), there is no (obvious) way to migrate multiple instances or a server-group "en bloc".
correct there is no way to migrate a singel instnace or the block of instance when usign the affintiy policy
But migrating a single instance out of a group does result in:
[...] 2023-06-01 12:20:00.489 6910 INFO nova.scheduler.host_manager [req-01d9 83eb5 9c8353142098 - default default] Host filter ignoring hosts: 2023-06-01 12:20:00.490 6910 INFO nova.filters [req-01d9 83eb5 9c8353142098 - default default] Filter ServerGroupAffinityFilter returned 0 hosts 2023-06-01 12:20:00.491 6910 INFO nova.filters [req-01d9 83eb5 9c8353142098 - default default] Filtering removed all hosts for the request with instance ID '2476cfdd-9315-4bff-ba3e-d3be5874593f'. Filter results: ['AvailabilityZoneFilter: (start: 10, end: 10)', 'ComputeFilter: (start: 10, end: 10)', 'ComputeCapabilitiesFilter: (start: 10, end: 9)', 'ImagePropertiesFilter: (start: 9, end: 9)', 'ServerGroupAntiAffinityFilter: (start: 9, end: 9)', 'ServerGroupAffinityFilter: (start: 9, end: 0)'] [...]
Am I missing something here? Or am I just holding this wrong?
no it not supported. its one of the limiations of using server grousp and allowing the affintiy policy. the only way to migrat ethe instance is to disabel the late affintiy check and then force the migration using an older microversion to bypass the filter.
Regards
Christian
[1] https://docs.openstack.org/api-ref/compute/?expanded=force-migration-complet...
On 01/06/2023 22:26, smooney@redhat.com wrote:
Am I missing something here? Or am I just holding this wrong? no it not supported. its one of the limiations of using server grousp and allowing the affintiy policy. the only way to migrat ethe instance is to disabel the late affintiy check and then force the migration using an older microversion to bypass the filter.
Thanks for your clear and rapid response, even though it's sad. I wonder if people are not using live-migration as much as we do to allow for rolling maintenance (packages, kernel updates, HW replacements, ...) on their compute servers without interrupting user workload (much). Since the functionality to "bypass" the filters is there, even in an old microvesion ... why not (allow to) skip filters when a distinct host is chosen? That's something that can only be used by admins anyways. And it would create a way to migrate those instances away and be able to completely free a host. Regards Christian
We're using live migrations a lot, though what is used less are affinity groups I guess, as more typically is to use anti-affinity (at least with our workloads). The only thing I can suggest is too use soft-affinity. I assume it should allow then to break policy if scheduler is explicitly told to do so. пт, 2 июн. 2023 г., 08:22 Christian Rohmann <christian.rohmann@inovex.de>:
On 01/06/2023 22:26, smooney@redhat.com wrote:
Am I missing something here? Or am I just holding this wrong?
no it not supported. its one of the limiations of using server grousp and allowing the affintiy policy. the only way to migrat ethe instance is to disabel the late affintiy check and then force the migration using an older microversion to bypass the filter.
Thanks for your clear and rapid response, even though it's sad.
I wonder if people are not using live-migration as much as we do to allow for rolling maintenance (packages, kernel updates, HW replacements, ...) on their compute servers without interrupting user workload (much).
Since the functionality to "bypass" the filters is there, even in an old microvesion ... why not (allow to) skip filters when a distinct host is chosen? That's something that can only be used by admins anyways. And it would create a way to migrate those instances away and be able to completely free a host.
Regards
Christian
--force iirc Den 1. juni 2023 22.03.57 CEST, Christian Rohmann <christian.rohmann@inovex.de> skrev:
Hello OpenStack-Discuss,
I was wondering how I as an admin can (live-)migrate instances for which the user applied a server-group with affinity. Looking at the API ([1]), there is no (obvious) way to migrate multiple instances or a server-group "en bloc".
But migrating a single instance out of a group does result in:
[...] 2023-06-01 12:20:00.489 6910 INFO nova.scheduler.host_manager [req-01d9 83eb5 9c8353142098 - default default] Host filter ignoring hosts: 2023-06-01 12:20:00.490 6910 INFO nova.filters [req-01d9 83eb5 9c8353142098 - default default] Filter ServerGroupAffinityFilter returned 0 hosts 2023-06-01 12:20:00.491 6910 INFO nova.filters [req-01d9 83eb5 9c8353142098 - default default] Filtering removed all hosts for the request with instance ID '2476cfdd-9315-4bff-ba3e-d3be5874593f'. Filter results: ['AvailabilityZoneFilter: (start: 10, end: 10)', 'ComputeFilter: (start: 10, end: 10)', 'ComputeCapabilitiesFilter: (start: 10, end: 9)', 'ImagePropertiesFilter: (start: 9, end: 9)', 'ServerGroupAntiAffinityFilter: (start: 9, end: 9)', 'ServerGroupAffinityFilter: (start: 9, end: 0)'] [...]
Am I missing something here? Or am I just holding this wrong?
Regards
Christian
[1] https://docs.openstack.org/api-ref/compute/?expanded=force-migration-complet...
participants (4)
-
Christian Rohmann
-
Dmitriy Rabotyagov
-
Jesper Schmitz Mouridsen
-
smooney@redhat.com