From b7f9940769618616d37267a50afe495bb8608d27 Mon Sep 17 00:00:00 2001 From: Yaguang Tang Date: Mon, 6 May 2013 15:54:54 +0800 Subject: Add unitests for VMware vif, and fix code logical error. Fix code logical error that cause variable referenced before assignment. Add unittests for vmwareapi vif. Fix bug #1177635 Change-Id: I6656e8b77417061eca2a56d50820f5385c0ae987 --- nova/virt/vmwareapi/fake.py | 6 ++++++ nova/virt/vmwareapi/vif.py | 34 ++++++++++++++++------------------ 2 files changed, 22 insertions(+), 18 deletions(-) (limited to 'nova/virt') diff --git a/nova/virt/vmwareapi/fake.py b/nova/virt/vmwareapi/fake.py index ab4bf10e0..86b6e5fc2 100644 --- a/nova/virt/vmwareapi/fake.py +++ b/nova/virt/vmwareapi/fake.py @@ -308,7 +308,13 @@ class HostSystem(ManagedObject): config.product = product summary.config = config + pnic_do = DataObject() + pnic_do.device = "vmnic0" + net_info_pnic = DataObject() + net_info_pnic.PhysicalNic = [pnic_do] + self.set("summary", summary) + self.set("config.network.pnic", net_info_pnic) if _db_content.get("Network", None) is None: create_network() diff --git a/nova/virt/vmwareapi/vif.py b/nova/virt/vmwareapi/vif.py index cb8ce52c0..c98f619e1 100644 --- a/nova/virt/vmwareapi/vif.py +++ b/nova/virt/vmwareapi/vif.py @@ -45,17 +45,15 @@ def ensure_vlan_bridge(session, vif, cluster=None, create_vlan=True): # Get the vSwitch associated with the Physical Adapter vswitch_associated = network_util.get_vswitch_for_vlan_interface( session, vlan_interface, cluster) + if vswitch_associated is None: + raise exception.SwitchNotFoundForNetworkAdapter( + adapter=vlan_interface) + # Check if the vlan_interface physical network adapter exists on the + # host. + if not network_util.check_if_vlan_interface_exists(session, + vlan_interface, cluster): + raise exception.NetworkAdapterNotFound(adapter=vlan_interface) if create_vlan: - # Check if the vlan_interface physical network adapter exists on the - # host. - if not network_util.check_if_vlan_interface_exists(session, - vlan_interface, - cluster): - raise exception.NetworkAdapterNotFound(adapter=vlan_interface) - - if vswitch_associated is None: - raise exception.SwitchNotFoundForNetworkAdapter( - adapter=vlan_interface) if network_ref is None: # Create a port group on the vSwitch associated with the @@ -69,15 +67,15 @@ def ensure_vlan_bridge(session, vif, cluster=None, create_vlan=True): _get_pg_info = network_util.get_vlanid_and_vswitch_for_portgroup pg_vlanid, pg_vswitch = _get_pg_info(session, bridge, cluster) - # Check if the vswitch associated is proper - if pg_vswitch != vswitch_associated: - raise exception.InvalidVLANPortGroup( - bridge=bridge, expected=vswitch_associated, - actual=pg_vswitch) + # Check if the vswitch associated is proper + if pg_vswitch != vswitch_associated: + raise exception.InvalidVLANPortGroup( + bridge=bridge, expected=vswitch_associated, + actual=pg_vswitch) - # Check if the vlan id is proper for the port group - if pg_vlanid != vlan_num: - raise exception.InvalidVLANTag(bridge=bridge, tag=vlan_num, + # Check if the vlan id is proper for the port group + if pg_vlanid != vlan_num: + raise exception.InvalidVLANTag(bridge=bridge, tag=vlan_num, pgroup=pg_vlanid) else: if network_ref is None: -- cgit