General Host Aggregates

Registered by Vish Ishaya

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:

Blueprint information

Vish Ishaya
Needs approval
Joe Gordon
Series goal:
Accepted for folsom
Milestone target:
milestone icon 2012.2
Started by
Joe Gordon
Completed by
Thierry Carrez

Related branches



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:,topic:bp/general-host-aggregates,n,z

Addressed by:
    General-host-aggregates part 1.

Addressed by:
    Update for blueprint general-host-aggregates

Addressed by:
    General host aggregates part 2

Addressed by:
    Revert "Add additional capabilities for computes"

Addressed by:
    Update devref for general host aggregates

Addressed by:
    Improve exercises/

Addressed by:
    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.