summaryrefslogtreecommitdiffstats
path: root/nova/api
diff options
context:
space:
mode:
authorSandy Walsh <sandy.walsh@rackspace.com>2011-02-24 01:53:01 -0800
committerSandy Walsh <sandy.walsh@rackspace.com>2011-02-24 01:53:01 -0800
commit65b9dfbea28f1607ef471e78b73ba77183d943f6 (patch)
treebead79457678cae14b62e0e964cd6a6186cc74f0 /nova/api
parent05fc3ea219f36bc1c246179b25b1feb017888b01 (diff)
downloadnova-65b9dfbea28f1607ef471e78b73ba77183d943f6.tar.gz
nova-65b9dfbea28f1607ef471e78b73ba77183d943f6.tar.xz
nova-65b9dfbea28f1607ef471e78b73ba77183d943f6.zip
capability aggregation working
Diffstat (limited to 'nova/api')
-rw-r--r--nova/api/openstack/zones.py15
1 files changed, 12 insertions, 3 deletions
diff --git a/nova/api/openstack/zones.py b/nova/api/openstack/zones.py
index 989b3a235..c6c27dd4b 100644
--- a/nova/api/openstack/zones.py
+++ b/nova/api/openstack/zones.py
@@ -15,9 +15,10 @@
import common
+from nova import db
from nova import flags
+from nova import log as logging
from nova import wsgi
-from nova import db
from nova.scheduler import api
@@ -67,8 +68,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.API().get_zone_capabilities(req.environ['nova.context'])
+
+ zone = dict(name=FLAGS.zone_name)
+ caps = FLAGS.zone_capabilities.split(';')
+ for cap in caps:
+ key_values = cap.split(':')
+ zone[key_values[0]] = key_values[1]
+ 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"""