OpenStack Compute (Nova)

Multiple Clusters in a Region

Registered by Paul Voccio on 2010-11-01

We need the ability to deploy multiple clusters of servers within a region that can be controlled by a single api endpoint.

A Nova deployment is called a Zone. Multiple Zones may be linked in such a way as to enforce the http://wiki.openstack.org/BasicDesignTenets of Nova.
A zone may be connected to many child zones. Child zones know nothing of their parents. Therefore a child zone may have many parents.

Related to this blueprint is Distributed Scheduler. This will provide load balancing and Server-Best-Match algorithms so that Server Instances may be distributed across many Zones.

This blueprint was broken down into four branches (all merged into Cactus):
Zones1:
Defining parent-child zone data structure and client/cmdline tools (novaclient) for managing zones and their relationships.

Zones2:
Introduces the ZoneManager into the Scheduler Service. This polls child zones for their name and capabilities.

Zones3:
Services within a Zone can now broadcast back to all Scheduler services their current status (dynamic capabilities/load/etc)

Zones4:
Requests of OpenStack API Server are forwarded to child zones if the current zone cannot fulfill the request.

Missing in this release:
- servers.get/pause/unpause/diagnostics/suspend/resume/rescue/unrescue/delete operations supported (OS API only)
- Distributed Scheduler is slated for diablo.
- Servers.get_all() operation is not currently supported. May get added as a bug fix.
- Distributed Image/Flavors/Private_IP, etc operations are not supported ... unclear if they need be.

Blueprint information

Status:
Complete
Approver:
Rick Clark
Priority:
High
Drafter:
Paul Voccio
Direction:
Approved
Assignee:
Sandy Walsh
Definition:
Approved
Series goal:
Accepted for cactus
Implementation:
Implemented
Milestone target:
None
Started by
Sandy Walsh on 2011-02-09
Completed by
Sandy Walsh on 2011-03-25

Whiteboard

Zones1-4 branches merged.
python-novatools updated https://github.com/rackspace/python-novatools

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.