Honor anti-affinity policy on migration and evacuation

Registered by Russell Bryant

If you create a server group with an anti-affinity policy, it is only honored during the initial boot. If you do a cold migrate, live migrate, or evacuate where the scheduler is picking the destination, it seems reasonable to expect that the scheduler will continue to honor that policy. However, it does not.

The reason for this has to do with an implementation optimization in the scheduler. It skips all of the group checking if the 'group' hint is not present. Since scheduler hints are only kept around for the initial boot, this doesn't work. One solution would be to persist scheduler hints. However, a shorter term fix specifically for server groups is to always check the database for group membership when the server group filters are enabled.

Blueprint information

Status:
Complete
Approver:
John Garbutt
Priority:
Low
Drafter:
Russell Bryant
Direction:
Approved
Assignee:
Russell Bryant
Definition:
Approved
Series goal:
Accepted for kilo
Implementation:
Implemented
Milestone target:
milestone icon 2015.1.0
Started by
Russell Bryant
Completed by
John Garbutt

Related branches

Sprints

Whiteboard

https://review.openstack.org/#/q/project:openstack/nova+branch:master+topic:bug/1379451,n,z

Gerrit topic: https://review.openstack.org/#q,topic:bug/1379451,n,z

Addressed by: https://review.openstack.org/128058
    Check server group policy on migrate/evactuate

Nice fix, doesn't need a spec, approved. --johnthatubaguy 17th October 2014

Addressed by: https://review.openstack.org/135351
    Check server group policy on migrate/evactuate

Looks to be complete now. --johnthetubaguy 17th December 2014

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.