Merge lp:~sandy-walsh/nova/zones3 into lp:~hudson-openstack/nova/trunk
Status: | Merged |
---|---|
Merge reported by: | Sandy Walsh |
Merged at revision: | not available |
Proposed branch: | lp:~sandy-walsh/nova/zones3 |
Merge into: | lp:~hudson-openstack/nova/trunk |
Prerequisite: | lp:~sandy-walsh/nova/zones2 |
Diff against target: | 0 lines |
To merge this branch: | bzr merge lp:~sandy-walsh/nova/zones3 |
Related bugs: | |
Related blueprints: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Rick Harris (community) | Approve | ||
Matt Dietz (community) | Approve | ||
Joshua McKenty | Pending | ||
Todd Willey | Pending | ||
Review via email:
|
This proposal supersedes a proposal from 2011-03-08.
Description of the change
This branch adds a Fanout (broadcast) Queue to all services. This lets anyone talk to all services of a particular type without having to iterate through each.
Compute, Volume and Network now derive from nova.SchedulerD
These capabilities are stored in each Scheduler Zone Manager and available via the Scheduler.API
The OS API '/zones/info' call now returns the aggregated (min, max) values of each of the service capabilities: http://
To integration test this, simply fire up another scheduler (or more), add some capabilities to Compute, Network or Volume via the services update_
I think this looks pretty good.
Is there any information (RST docs) regarding what meaningful values for capabilities are?
Also, in some flags we are using x=y,a=b syntax for multi-valued flags (defualt_ log_levels, etc). Perhaps we can keep the same format? Long term perhaps we could make a new DEFINE_dict or some-such that would parse those into a dict.
It looks like the only information that is being fanned out is the service capabilities, but would it make sense to keep abilities in the database pointing to the services themselves? In other words, why are service capabilities ephemeral with the services starting and stopping? If we keep them in the db we can modify them while running and modify the capabilities with nova-manage. This of course doesn't make sense for things like changing the hypervisor for compute since that would always require a restart, but would it be practical for other capabilities?