1
0
mirror of https://github.com/gryf/openstack.git synced 2025-12-17 11:30:24 +01:00
Files
openstack/specs/affinity-antiaffinity-of-instances-in-a-groups.rst
2017-12-12 12:06:23 -08:00

3.4 KiB

https://blueprints.launchpad.net/nova/+spec/tbd

This BP proposes a way for creating affinity and anti-affinity for ironic nodes.

Problem description

Currently there is no way to create aggregation for Ironic nodes, instead aggregates works only for compute nodes, so it is impossible for creating affinity/anti-affinity rules for such nodes

Use Cases

As a system administrator I want to be able to define aggregation of the Ironic nodes in Nova, so that I can apply affinity or anti-affinity policy to the server group.

As a system administrator I want to be able to define aggregation of the Ironic nodes in Nova, so that I can define logical division of my data center.

Proposed change

This task can be divided into two separate parts. First is a change of behavior of host aggregates, to be able to include ironic nodes.

Second, involves changes to the scheduler to support spreading instances across various groups.

Example session, which present the change, could be as follows:

openstack aggregate create rack1
openstack aggregate create rack2
openstack aggregate set --property rack=1 rack1
openstack aggregate set --property rack=1 rack2
openstack aggregate add host rack1 <UUID of Ironic node A>
openstack aggregate add host rack2 <UUID of Ironic node B>
openstack server group create --policy rack-anti-affinity not-same-rack
openstack server create --image=IMAGE_ID --flavor=1 \
    --hint group=not-same-rack server1

First, we create two aggregates which would represent the rack, next we append a rack metadata set to 1, so it indicate that this aggregate is rack based, next we add ironic nodes by their UUID. Next, we create server group, with desired policy, and finally spin the instance.

Alternatives

None

Data model impact

None

REST API impact

Introduce new microversion for adding new policies for node (soft)(anti)affinity

Security impact

None

Notifications impact

None

Other end user impact

None

Performance Impact

Potentially, there could be performance impact on accessing aggregation information.

Other deployer impact

None

Developer impact

None

Upgrade impact

None

Implementation

Assignee(s)

Primary assignee:

<launchpad-id or None>

Other contributors:

<launchpad-id or None>

Work Items

  • Allow ironic nodes to be associated with host aggregation

  • Add policy for affinity/anti-affinity/soft-affinity/soft-anti-affinity for nodes, instead of hypervisors

  • Implement scheduler filter for be able to use those policies

Dependencies

None

Testing

TBD

Documentation Impact

Documentation of behaviour of creating/removing aggregation should be amended.

References

None

History

Revisions

Release Name

Description

Rocky

Introduced