From d2ff77aa21ad71c5f161ddcf39980880e67ae0ac Mon Sep 17 00:00:00 2001 From: Brad Hall Date: Wed, 21 Dec 2011 15:25:50 -0800 Subject: Take the availability zone from the instance if available Change-Id: I80041ee384751b5bd4f08fc38192f414a27ec07a --- nova/network/quantum/manager.py | 11 +++++++---- 1 file 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'], -- cgit