summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad Hall <brad@nicira.com>2011-12-21 15:25:50 -0800
committerBrad Hall <brad@nicira.com>2011-12-26 20:10:16 -0800
commitd2ff77aa21ad71c5f161ddcf39980880e67ae0ac (patch)
tree1b1d61ca4725ea87dd795aa73f815fdc51ee7880
parent52a64dfd0b9f9fc169e50c79f557eb2da022d537 (diff)
downloadnova-d2ff77aa21ad71c5f161ddcf39980880e67ae0ac.tar.gz
nova-d2ff77aa21ad71c5f161ddcf39980880e67ae0ac.tar.xz
nova-d2ff77aa21ad71c5f161ddcf39980880e67ae0ac.zip
Take the availability zone from the instance if available
Change-Id: I80041ee384751b5bd4f08fc38192f414a27ec07a
-rw-r--r--nova/network/quantum/manager.py11
1 files changed, 7 insertions, 4 deletions
diff --git a/nova/network/quantum/manager.py b/nova/network/quantum/manager.py
index 36559fa45..91fe49578 100644
--- a/nova/network/quantum/manager.py
+++ b/nova/network/quantum/manager.py
@@ -95,11 +95,14 @@ class QuantumManager(manager.FlatManager):
self.driver.ensure_metadata_ip()
self.driver.metadata_forward()
- def _get_nova_id(self, context):
+ def _get_nova_id(self, instance=None):
# When creating the network we need to pass in an identifier for
# this zone. Some Quantum plugins need this information in order
# to set up appropriate networking.
- return FLAGS.node_availability_zone
+ if instance and instance['availability_zone']:
+ return instance['availability_zone']
+ else:
+ return FLAGS.node_availability_zone
def get_all_networks(self):
networks = []
@@ -136,7 +139,7 @@ class QuantumManager(manager.FlatManager):
" network for tenant '%(q_tenant_id)s' with "
"net-id '%(quantum_net_id)s'" % locals()))
else:
- nova_id = self._get_nova_id(context)
+ nova_id = self._get_nova_id()
quantum_net_id = self.q_conn.create_network(q_tenant_id, label,
nova_id=nova_id)
@@ -280,7 +283,7 @@ class QuantumManager(manager.FlatManager):
instance = db.instance_get(context, instance_id)
instance_type = instance_types.get_instance_type(instance_type_id)
rxtx_factor = instance_type['rxtx_factor']
- nova_id = self._get_nova_id(context)
+ nova_id = self._get_nova_id(instance)
q_tenant_id = project_id or FLAGS.quantum_default_tenant_id
self.q_conn.create_and_attach_port(q_tenant_id, quantum_net_id,
vif_rec['uuid'],