diff options
| author | Sandy Walsh <sandy.walsh@rackspace.com> | 2011-03-24 16:26:44 +0000 |
|---|---|---|
| committer | Tarmac <> | 2011-03-24 16:26:44 +0000 |
| commit | 809cbdb96ff3173a85465ad60770bc7032ac0aae (patch) | |
| tree | cf91a580dc9cf843c3747a4a858f35824ab4bcb1 /nova/api | |
| parent | c53e56576ead57815f3542a7faa797e5d0135e0c (diff) | |
| parent | 964dbe0ee380877e21465647f0e57d28f7897d98 (diff) | |
Aggregates capabilities from Compute, Network, Volume to the ZoneManager in Scheduler.
Diffstat (limited to 'nova/api')
| -rw-r--r-- | nova/api/openstack/zones.py | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/nova/api/openstack/zones.py b/nova/api/openstack/zones.py index 8fe84275a..d4a59993b 100644 --- a/nova/api/openstack/zones.py +++ b/nova/api/openstack/zones.py @@ -15,9 +15,9 @@ import common +from nova import db from nova import flags from nova import wsgi -from nova import db from nova.scheduler import api @@ -52,7 +52,7 @@ class Controller(wsgi.Controller): """Return all zones in brief""" # Ask the ZoneManager in the Scheduler for most recent data, # or fall-back to the database ... - items = api.API().get_zone_list(req.environ['nova.context']) + items = api.get_zone_list(req.environ['nova.context']) if not items: items = db.zone_get_all(req.environ['nova.context']) @@ -67,8 +67,16 @@ class Controller(wsgi.Controller): def info(self, req): """Return name and capabilities for this zone.""" - return dict(zone=dict(name=FLAGS.zone_name, - capabilities=FLAGS.zone_capabilities)) + items = api.get_zone_capabilities(req.environ['nova.context']) + + zone = dict(name=FLAGS.zone_name) + caps = FLAGS.zone_capabilities + for cap in caps: + key, value = cap.split('=') + zone[key] = value + for item, (min_value, max_value) in items.iteritems(): + zone[item] = "%s,%s" % (min_value, max_value) + return dict(zone=zone) def show(self, req, id): """Return data about the given zone id""" |
