Host aggregates

Registered by Armando Migliaccio

This blueprint will introduce the concept of aggregate into Nova. Host aggregates are different from zones and availability zones: while the former allows the partition of Nova deployments into logical groups for load balancing and instance distribution, the latter are for providing some form of physical isolation and redundancy from other availability zones (e.g. by using separate power supply and network gears). Availability zones do not necessarily mean geographic distribution whereas zones usually do. Host aggregates can be regarded as a mechanism to further partitioning an availability zone, i.e. into multiple groups of hosts that share common resources like storage and network. This enables a finer level of granularity in which to structure an entire OpenStack deployment. Aggregates allows higher availability of a single guest instance within an availability zone, it enables advanced VM placement strategies, and more importantly it enables hosts' zero-downtime upgrades (for example, via VM live migration across members of the aggregate, thus causing no disruption to guest instances).
We propose to expose such a concept to the admin of the cloud, and at the same time to keep this transparent to the end-user. In fact, the OSAPI already provide some capabilities for host management via admin extensions, but this is very crude at the moment. Further extending the concept means that putting a host into 'maintenance mode' implies that all the instances running on it can migrate onto an available host in the aggregate, thus causing no disruptions to guest instances. Bringing such capability in the API (and consequently in the orchestration infrastructure) also means that the admin can intervene on the plaform, and at the same time be agnostic of the kind of hypervisor that the host is running, which is very beneficial.

Blueprint information

Status:
Complete
Approver:
Vish Ishaya
Priority:
High
Drafter:
Nova Scaling Team
Direction:
Approved
Assignee:
Armando Migliaccio
Definition:
Approved
Series goal:
Accepted for essex
Implementation:
Implemented
Milestone target:
milestone icon 2012.1
Started by
Vish Ishaya
Completed by
Thierry Carrez

Related branches

Sprints

Whiteboard

If you are interested in working on this, please contact the "Citrix OpenStack development team" or the "Nova Scaling Team".

Thanks!

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

Addressed by: https://review.openstack.org/3035
    blueprint host-aggregates

Addressed by: https://review.openstack.org/3109
    blueprint host-aggregates

The client bindings are in this change: https://review.openstack.org/#change,3144

Addressed by: https://review.openstack.org/3149
    blueprint host-aggregates: OSAPI/virt integration, via nova.compute.api

Addressed by: https://review.openstack.org/3184
    blueprint host-aggregates

Addressed by: https://review.openstack.org/3761
    blueprint host-aggregates: xenapi implementation

Addressed by: https://review.openstack.org/4023
    blueprint host-aggregates: host maintenance

Addressed by: https://review.openstack.org/4244
    blueprint host-aggregates: improvements and clean-up

Addressed by: https://review.openstack.org/4322
    blueprint host-aggregates: host maintenance - xenapi implementation

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.