Add network-group-affinity/anti-affinity server group policies#116
Add network-group-affinity/anti-affinity server group policies#116RSabounds wants to merge 1 commit into
Conversation
Introduces two new server group policies that constrain instance
placement based on the physical network group (VLAN group / cabinet
switch pair) an Ironic node belongs to.
New policies:
- network-group-affinity: schedule only onto nodes in the specified
network group
- network-group-anti-affinity: schedule only onto nodes NOT in the
specified network group
The network group is specified via the server group rules field:
openstack server group create --policy network-group-affinity \
--rule network_group=a1-1-network my-cabinet-group
The filters match CUSTOM_NETGROUP_* traits reported by Ironic nodes
via the Placement service. This eliminates the need for per-network-
group flavor proliferation.
Changes:
- New NetworkGroupAffinityFilter and NetworkGroupAntiAffinityFilter
- Schema updated to accept new policies and network_group rule
- API controller validates rules per policy type
- InstanceGroup.rules property parses network_group
- Scheduler utils recognizes new policies
- New filters added to default enabled_filters
- Unit tests (15 tests, all passing)
- Lint clean (flake8 + hacking)
|
Thank you for your contribution! This GitHub repository is just a mirror of https://opendev.org/openstack/nova, where development really happens. Pull requests proposed on GitHub can not be accepted. If you are interested in pushing this code upstream, please note that OpenStack development uses Gerrit for change proposal and code review. If you have never contributed to OpenStack before, please see: Feel free to reach out to the First Contact SIG by sending an email to the openstack-discuss list with the tag '[First Contact]' in the subject line. To email the mailing list, you must first subscribe which can be done here: |
Introduces two new server group policies that constrain instance placement based on the physical network group (VLAN group / cabinet switch pair) an Ironic node belongs to.
New policies:
The network group is specified via the server group rules field:
openstack server group create --policy network-group-affinity
--rule network_group=a1-1-network my-cabinet-group
The filters match CUSTOM_NETGROUP_* traits reported by Ironic nodes via the Placement service. This eliminates the need for per-network- group flavor proliferation.
Changes: