def test_create_port_exc(self): vm_id = fake_vmware_api.Constants.VM_UUID vlan = model.Vlan(vlan_ids=["1001"]) network_config = model.NetworkConfig(vlan) network = model.Network(name="net-1234", network_type=p_const.TYPE_VLAN, config=network_config) net_id = "net" port = model.Port(name=None, mac_address=None, ipaddresses=None, vm_id=vm_id) virtual_nic = model.VirtualNic(mac_address=None, port_uuid=None, vm_id=vm_id, vm_name=None, nic_type=None, pg_id=None) with mock.patch.object(self.vc_driver, "is_valid_switch", return_value=None): exc = self.assertRaises(error.VcenterConfigurationError, self.vc_driver.create_port, network, net_id, port, virtual_nic) self.assertIn("Invalid Switch", str(exc))
def test_create_port_invalid_cluster(self): vm_id = fake_vmware_api.Constants.VM_UUID vlan = model.Vlan(vlan_ids=["1001"]) network_config = model.NetworkConfig(vlan) network = model.Network(name="net-1234", network_type=p_const.TYPE_VLAN, config=network_config) net_id = "net" port = model.Port(name=None, mac_address=None, ipaddresses=None, vm_id=vm_id) virtual_nic = model.VirtualNic(mac_address=None, port_uuid=None, vm_id=vm_id, vm_name=None, nic_type=None, pg_id=None) cluster_mor = fake_vmware_api.DataObject() cluster_mor.value = "invalid_id" cache.VCCache.add_cluster_mor_for_vm(vm_id, cluster_mor) exc = self.assertRaises(error.VcenterConfigurationError, self.vc_driver.create_port, network, net_id, port, virtual_nic) self.assertIn("Cluster for VM %s could not be determined" % vm_id, str(exc))
def test_model_network(self): key = "1-2-3" name = "net1" network_type = constants.NETWORK_VLAN vs_name = "dvs1" port_name = "port1" vlanIds = [1001] operation_mode = "mode1" vlan_type = "Native" vlan = model.Vlan(vlanIds, operation_mode, vlan_type) config = model.NetworkConfig(vlan) vs = model.VirtualSwitch(vs_name) port = model.Port(port_name, None, None, None, None) network = model.Network(name, network_type, config, [vs], [port], key) self.assertFalse(network.uuid is None, "Network uuid is none") self.assertEqual(network.key, key, "Network key does not match") self.assertEqual(network.name, name, "Network name does not match") self.assertEqual(network.network_type, network_type, "Network network_type does not match") self.assertTrue(network.config is not None) self.assertTrue(network.config.vlan is not None) self.assertEqual(network.config.vlan.operation_mode, operation_mode) self.assertEqual(network.config.vlan.vlan_type, vlan_type) self.assertEqual(len(network.config.vlan.vlanIds), 1) self.assertEqual(network.config.vlan.vlanIds[0], vlanIds[0]) self.assertEqual(len(network.vswitches), 1) self.assertEqual(network.vswitches[0].name, vs_name) self.assertEqual(len(network.ports), 1) self.assertEqual(network.ports[0].name, port_name)
def test_create_network(self): vlan = model.Vlan(vlan_ids=["1001"]) network_config = model.NetworkConfig(vlan) network = model.Network( name="net-1234", network_type=p_const.TYPE_VLAN, config=network_config) vswitch = model.VirtualSwitch("test_dvs", hosts=None) with mock.patch.object(network_util, "get_portgroup_mor_by_name", return_value=None): self.vc_driver.create_network(network, vswitch) self.assertTrue(fake_vmware_api.is_task_done( "AddDVPortgroup_Task"))
def test_update_port_up(self): port_id = "PORT-1234-5678" vm_id = fake_vmware_api.Constants.VM_UUID mac_address = fake_vmware_api.Constants.VM_MAC vlan = model.Vlan(vlan_ids=["1001"]) network_config = model.NetworkConfig(vlan) network = model.Network(name="net-1234", network_type=p_const.TYPE_VLAN, config=network_config) port = model.Port(uuid=port_id, name=None, mac_address=mac_address, ipaddresses=None, vm_id=vm_id, port_status=constants.PORT_STATUS_UP) self.vc_driver.update_port(network, port, None) self.assertTrue(fake_vmware_api.is_task_done("ReconfigureDVPort_Task"))
def test_update_port_invalid_status(self): port_id = "PORT-1234-5678" vm_id = fake_vmware_api.Constants.VM_UUID mac_address = fake_vmware_api.Constants.VM_MAC vlan = model.Vlan(vlan_ids=["1001"]) network_config = model.NetworkConfig(vlan) network = model.Network(name="net-1234", network_type=p_const.TYPE_VLAN, config=network_config) port = model.Port(uuid=port_id, name=None, mac_address=mac_address, ipaddresses=None, vm_id=vm_id, port_status="Invalid") self.assertRaises(error.OVSvAppNeutronAgentError, self.vc_driver.update_port, network, port, None)
def test_model_virtualswitch(self): key = "1-2-3" name = "dvs1" pnic_name = "eth0" net_name = "net1" pnic = model.PhysicalNic(name="eth0", mac_address=None, config=None) network = model.Network(name=net_name, network_type=None) dvs = model.VirtualSwitch(name, pnics=[pnic], networks=[network], key=key) self.assertFalse(dvs.uuid is None, "DVS uuid is none") self.assertEqual(dvs.key, key, "DVS key does not match") self.assertEqual(dvs.name, name, "DVS name does not match") self.assertEqual(len(dvs.pnics), 1) self.assertEqual(dvs.pnics[0].name, pnic_name) self.assertEqual(len(dvs.networks), 1) self.assertEqual(dvs.networks[0].name, net_name)
def test_create_port(self): vm_id = fake_vmware_api.Constants.VM_UUID vlan = model.Vlan(vlanIds=["1001"]) network_config = model.NetworkConfig(vlan) network = model.Network(name="net-1234", network_type=constants.NETWORK_VLAN, config=network_config) port = model.Port(name=None, mac_address=None, ipaddresses=None, vm_id=vm_id) virtual_nic = model.VirtualNic(mac_address=None, port_uuid=None, vm_id=vm_id, vm_name=None, nic_type=None) with mock.patch.object(model, "VirtualSwitch") as vswitch: self.vc_driver.create_port(network, port, virtual_nic) self.assertTrue(vswitch.called)
def test_delete_network(self): pg_name = fake_vmware_api.Constants.PORTGROUP_NAME network = model.Network( name=pg_name, network_type=p_const.TYPE_VLAN) vswitch = model.VirtualSwitch("test_dvs", hosts=None) self.assertFalse(self.vc_driver.delete_network(network, vswitch))