summaryrefslogtreecommitdiffstats
path: root/nova/compute
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2013-03-02 04:36:24 +0000
committerGerrit Code Review <review@openstack.org>2013-03-02 04:36:24 +0000
commitf55182e21496dfcfc599d8075cedc428eecd33d1 (patch)
treef9083bd93f86a0dce34b351549194b77dd8422c3 /nova/compute
parent8296533147b3a974a94c443a4164a97d9434fd8b (diff)
parent394c693e359ed4f19cc2f7d975b1f9ee5500b7f6 (diff)
Merge "Make allocate_for_instance() return only info about ports allocated"
Diffstat (limited to 'nova/compute')
-rwxr-xr-xnova/compute/manager.py12
1 files changed, 7 insertions, 5 deletions
diff --git a/nova/compute/manager.py b/nova/compute/manager.py
index ef93e9e83..02f103dbc 100755
--- a/nova/compute/manager.py
+++ b/nova/compute/manager.py
@@ -2791,13 +2791,15 @@ class ComputeManager(manager.SchedulerDependentManager):
network_info = self.network_api.allocate_port_for_instance(
context, instance, port_id, network_id, requested_ip,
self.conductor_api)
+ if len(network_info) != 1:
+ LOG.error(_('allocate_port_for_instance returned %(port)s ports') %
+ dict(ports=len(network_info)))
+ raise exception.InterfaceAttachFailed(instance=instance)
image_meta = _get_image_meta(context, instance['image_ref'])
legacy_net_info = self._legacy_nw_info(network_info)
- for (network, mapping) in legacy_net_info:
- if mapping['vif_uuid'] == port_id:
- self.driver.attach_interface(instance, image_meta,
- [(network, mapping)])
- return (network, mapping)
+ (network, mapping) = legacy_net_info[0]
+ self.driver.attach_interface(instance, image_meta, legacy_net_info)
+ return legacy_net_info[0]
def detach_interface(self, context, instance, port_id):
"""Detach an network adapter from an instance."""