General Host Aggregates

Registered by Vish Ishaya on 2012-05-01

Durring the summit we discussed improving host aggregates in the following ways:

Decouple xen pool additon from host aggreggate
Ensure multi-membership works
Decouple availability zone (either a specific tag or a specific aggregate)
Expose aggregate data to scheduler

Discussion on the etherpad here:
http://etherpad.openstack.org/FolsomNovaHostAggregates-v2

Blueprint information

Status:
Complete
Approver:
Vish Ishaya
Priority:
Essential
Drafter:
None
Direction:
Needs approval
Assignee:
Joe Gordon
Definition:
Approved
Series goal:
Accepted for folsom
Implementation:
Implemented
Milestone target:
milestone icon 2012.2
Started by
Joe Gordon on 2012-06-07
Completed by
Thierry Carrez on 2012-08-14

Related branches

Sprints

Whiteboard

General Host Aggregates will be a group of compute nodes with associated key-value metadata, that can only be managed an admin (with some exceptions). General Host Aggregates provide a mechanism to assign key-value pairs to a group of machines.

* Each Node can have multiple Aggregates
* Each aggregate can have multiple key-value pairs.
* The same key-value pair can be assigned to multiple aggregates

What General Host Aggregates will not cover
* Anything a compute node can automatically report (CPU, hypervisor, etc) will not be covered by General Host Aggregates.

Note: Xen Resource Pools will still work, but the user will be responsible for using them correctly (I.E. Nova will not prevent you from assigning to one node to two Xen Resource Pools) - Approved by Vishy

Gerrit topic: https://review.openstack.org/#q,topic:bp/general-host-aggregates,n,z

Addressed by: https://review.openstack.org/8732
    General-host-aggregates part 1.

Addressed by: https://review.openstack.org/#/c/8784/
    Update for blueprint general-host-aggregates

Addressed by: https://review.openstack.org/10256
    General host aggregates part 2

Addressed by: https://review.openstack.org/10258
    Revert "Add additional capabilities for computes"

Addressed by: https://review.openstack.org/10734
    Update devref for general host aggregates

Addressed by: https://review.openstack.org/#/c/10692/
    Improve exercises/aggregates.sh

Addressed by: https://review.openstack.org/10826
    Enable Aggregate based availability zones

(?)

Work Items

Work items:
1) Decouple from Xen implementation : DONE
* Keep compute-manager rpcapi to compute-controller : DONE
* Remove aggregate states : DONE
* Allow for multiple aggregates per compute node : DONE
* Work with John Garbutt and Armando Migliaccio to sure XenPools work with GeneralHostAggregates : DONE
2) Add HostAggregates scheduler filter : DONE
3) Move existing group paradigms to new Host Aggregates. So far this list includes : DONE
* Availability Zones : POSTPONED
* extra_specs (in instance types) : DONE
* "additional capabilities for computes" - patch by mdragon : DONE
* Isolated hosts : DONE
4) Update the aggregates devref docs : DONE
5) Update devstack's aggregates exercises to cover new functionality : DONE
6) update python-novaclient : DONE

This blueprint contains Public information 
Everyone can see this information.