summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Wendlandt <dan@nicira.com>2013-05-25 14:22:23 -0700
committerDan Wendlandt <dan@nicira.com>2013-06-04 10:27:44 -0700
commitc028e54f6be75d1cd335550cf5291ddf94f973e3 (patch)
tree7e83893e948fb715d0d9f6c10c40aedd8681db71
parent22604a972fb8369d5e826b9034e72d1478c1e7ae (diff)
downloadnova-c028e54f6be75d1cd335550cf5291ddf94f973e3.tar.gz
nova-c028e54f6be75d1cd335550cf5291ddf94f973e3.tar.xz
nova-c028e54f6be75d1cd335550cf5291ddf94f973e3.zip
correctly set iface-id in vmware driver
bug 1183452 Commit 70c659059b8fbef811ce79700aecb01c60242ebd updated the vmware driver to use the new vif model, but was incorrect in how it tried to grab the iface-id and set it in the vmx file spec. This patch fixes that issue and adds a check for this in the existing unit tests. Change-Id: I756539871d1844a828f9a0a295fc9fa3e59610f7
-rw-r--r--nova/tests/virt/vmwareapi/test_vmwareapi.py11
-rw-r--r--nova/virt/vmwareapi/fake.py3
-rw-r--r--nova/virt/vmwareapi/vmops.py2
3 files changed, 14 insertions, 2 deletions
diff --git a/nova/tests/virt/vmwareapi/test_vmwareapi.py b/nova/tests/virt/vmwareapi/test_vmwareapi.py
index 2691857fe..da9ed1467 100644
--- a/nova/tests/virt/vmwareapi/test_vmwareapi.py
+++ b/nova/tests/virt/vmwareapi/test_vmwareapi.py
@@ -185,6 +185,17 @@ class VMwareAPIVMTestCase(test.TestCase):
# Check that the VM is running according to vSphere API.
self.assertEquals(vm.get("runtime.powerState"), 'poweredOn')
+ found_vm_uuid = False
+ found_iface_id = False
+ for c in vm.get("config.extraConfig"):
+ if (c.key == "nvp.vm-uuid" and c.value == self.instance['uuid']):
+ found_vm_uuid = True
+ if (c.key == "nvp.iface-id.0" and c.value == "vif-xxx-yyy-zzz"):
+ found_iface_id = True
+
+ self.assertTrue(found_vm_uuid)
+ self.assertTrue(found_iface_id)
+
def _check_vm_info(self, info, pwr_state=power_state.RUNNING):
"""
Check if the get_info returned values correspond to the instance
diff --git a/nova/virt/vmwareapi/fake.py b/nova/virt/vmwareapi/fake.py
index 86b6e5fc2..65910f745 100644
--- a/nova/virt/vmwareapi/fake.py
+++ b/nova/virt/vmwareapi/fake.py
@@ -583,7 +583,8 @@ class FakeVim(object):
"powerstate": "poweredOff",
"vmPathName": config_spec.files.vmPathName,
"numCpu": config_spec.numCPUs,
- "mem": config_spec.memoryMB}
+ "mem": config_spec.memoryMB,
+ "extra_config": config_spec.extraConfig}
virtual_machine = VirtualMachine(**vm_dict)
_create_object("VirtualMachine", virtual_machine)
task_mdo = create_task(method, "success")
diff --git a/nova/virt/vmwareapi/vmops.py b/nova/virt/vmwareapi/vmops.py
index 538b498b6..3d6ef86af 100644
--- a/nova/virt/vmwareapi/vmops.py
+++ b/nova/virt/vmwareapi/vmops.py
@@ -182,7 +182,7 @@ class VMwareVMOps(object):
vif_infos.append({'network_name': network_name,
'mac_address': mac_address,
'network_ref': network_ref,
- 'iface_id': vif.get_meta('iface_id'),
+ 'iface_id': vif['id'],
})
return vif_infos