Group baremetal nodes for scheduling

Registered by Martyn Taylor

Right now in Nova we have a way to determine which machines or groups of machines to send instance boot requests using host aggregates. This works by creating a host aggregate in nova and registering nova service hosts with this host aggregate. matching data in key:value form can be added to things like flavors and host aggregates. The scheduler can then pick this up and determine where to send instance boot requests.

This method of grouping nodes breaks down a little when we start thinking about nova baremetal nodes. Many nova baremetal nodes can be registered with a single host and there is no way to group different types of hardware (unless a new service host is created, which is less than ideal and also limits the number of host aggs a host can be associated with).

It would be nice to have a similar way of grouping and matching nodes for nova baremetal, but rather than being associated with service hosts the grouping is based on actually baremetal nodes.

One example use case for this is in TripleO Tuskar where we would like to group nodes based on hardware type and deploy specific services onto different types of hardware.

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
Drafting
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

Simply put - you want "node aggregates" as well as "host aggregates". Seems totally reasonable. Could be done by allowing you to add a specific node to a host aggregate rather than its host. -- @markmcSimply put - you want "node aggregates" as well as "host aggregates". Seems totally reasonable. Could be done by allowing you to add a specific node to a host aggregate rather than its host. -- @markmc

If you are still working on this, please re-submit via nova-specs. If not, please mark as obsolete, and add a quick comment to describe why. --johnthetubaguy (20th April 2014)

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.