summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorJoe Gordon <jogo@cloudscaling.com>2012-12-20 03:13:01 +0000
committerJoe Gordon <jogo@cloudscaling.com>2013-01-08 14:01:30 -0800
commit1ab2fc6477c402e29a95fbc93fe4a67950c083df (patch)
treeed42c15787905fe9e42ca3058bc8db3737d2fcbb /bin
parent9f4534ab584faeee1e24d4c1bb38a2b194f24626 (diff)
downloadnova-1ab2fc6477c402e29a95fbc93fe4a67950c083df.tar.gz
nova-1ab2fc6477c402e29a95fbc93fe4a67950c083df.tar.xz
nova-1ab2fc6477c402e29a95fbc93fe4a67950c083df.zip
Remove availability_zones from service table
This is the final step in enabling availability_zones using aggregate metadata. Previously all services had an availability_zone, but the availability_zone is only used for nova-compute. Services such as nova-scheduler, nova-network, nova-conductor have always spanned all availability_zones. After this change only compute nodes (nova-compute), will have an availability_zone. In order to preserve current APIs, when running: * nova host-list (os-hosts) * euca-describe-availability-zones verbose * nova-manage service list Internal services will appear in there own internal availability_zone (CONF.internal_service_availability_zone) Internal zone is hidden in euca-describe-availability_zones (non-verbose) CONF.node_availability_zone has been renamed to CONF.default_availability_zone and is only used by the nova-api and nova-scheduler. CONF.node_availability_zone still works but is deprecated DocImpact Completes blueprint aggregate-based-availability-zones Change-Id: Ib772df5f9ac2865f20df479f8ddce575a9ce3aff
Diffstat (limited to 'bin')
-rwxr-xr-xbin/nova-manage3
1 files changed, 3 insertions, 0 deletions
diff --git a/bin/nova-manage b/bin/nova-manage
index 45002cfd8..ba484a04e 100755
--- a/bin/nova-manage
+++ b/bin/nova-manage
@@ -70,6 +70,7 @@ if os.path.exists(os.path.join(POSSIBLE_TOPDIR, 'nova', '__init__.py')):
gettext.install('nova', unicode=1)
from nova.api.ec2 import ec2utils
+from nova import availability_zones
from nova.compute import instance_types
from nova.compute import rpcapi as compute_rpcapi
from nova import config
@@ -626,6 +627,7 @@ class ServiceCommands(object):
ctxt = context.get_admin_context()
now = timeutils.utcnow()
services = db.service_get_all(ctxt)
+ services = availability_zone.set_availability_zones(ctxt, services)
if host:
services = [s for s in services if s['host'] == host]
if service:
@@ -741,6 +743,7 @@ class HostCommands(object):
ctxt = context.get_admin_context()
now = timeutils.utcnow()
services = db.service_get_all(ctxt)
+ services = availability_zones.set_availability_zones(ctxt, services)
if zone:
services = [s for s in services if s['availability_zone'] == zone]
hosts = []