summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Koelker <jason@koelker.net>2011-07-29 17:15:50 -0500
committerJason Koelker <jason@koelker.net>2011-07-29 17:15:50 -0500
commitcbb09485442d472f883829ba96f4c2d8b6d830fd (patch)
tree47a1e92b3518e71615705e4f6de7bfa257003780
parentc1f530c606a84de05becd412fe396acca385e342 (diff)
downloadnova-cbb09485442d472f883829ba96f4c2d8b6d830fd.tar.gz
nova-cbb09485442d472f883829ba96f4c2d8b6d830fd.tar.xz
nova-cbb09485442d472f883829ba96f4c2d8b6d830fd.zip
only attempt to get a fixed_up from a v4 subnet if there is a v4 subnet
-rw-r--r--nova/network/manager.py20
1 files changed, 11 insertions, 9 deletions
diff --git a/nova/network/manager.py b/nova/network/manager.py
index 4db2213b8..0e802f545 100644
--- a/nova/network/manager.py
+++ b/nova/network/manager.py
@@ -551,15 +551,17 @@ class NetworkManager(manager.SchedulerDependentManager):
# with a network, or a cluster of computes with a network
# and use that network here with a method like
# network_get_by_compute_host
- address = self.db.fixed_ip_associate_pool(context.elevated(),
- network['id'],
- instance_id)
- vif = self.db.virtual_interface_get_by_instance_and_network(context,
- instance_id,
- network['id'])
- values = {'allocated': True,
- 'virtual_interface_id': vif['id']}
- self.db.fixed_ip_update(context, address, values)
+ address = None
+ if network['cidr']:
+ address = self.db.fixed_ip_associate_pool(context.elevated(),
+ network['id'],
+ instance_id)
+ get_vif = self.db.virtual_interface_get_by_instance_and_network
+ vif = get_vif(context, instance_id, network['id'])
+ values = {'allocated': True,
+ 'virtual_interface_id': vif['id']}
+ self.db.fixed_ip_update(context, address, values)
+
self._setup_network(context, network)
return address