def test_delete_port_group(self): self.assertTrue(network_util.get_portgroup_mor_by_name( self.session, "test_dvs", fake_api.Constants.PORTGROUP_NAME)) network_util.delete_port_group(self.session, "test_dvs", fake_api.Constants.PORTGROUP_NAME) self.assertFalse(network_util.get_portgroup_mor_by_name( self.session, "test_dvs", fake_api.Constants.PORTGROUP_NAME))
def test_get_portgroup_mor_by_name(self): dvs_name = "test_dvs" port_group_name = fake_api.Constants.PORTGROUP_NAME dvs = fake_api.DataObject() dvs_config = fake_api.DataObject() port_group_mors = [] pg1 = fake_api.create_network() pg1.set("summary.name", "pg1") port_group_mors.append(pg1) pg2 = fake_api.create_network() pg2.set("summary.name", port_group_name) port_group_mors.append(pg2) dvs_config.ManagedObjectReference = port_group_mors with contextlib.nested( mock.patch.object(vim_util, 'get_properties_for_a_collection_of_objects', return_value=port_group_mors), mock.patch.object(network_util, "get_dvs_mor_by_name", return_value=dvs), mock.patch.object(vim_util, "get_dynamic_property", return_value=dvs_config)): port_group = network_util.get_portgroup_mor_by_name( self.session, dvs_name, port_group_name) self.assertEqual(port_group.value, pg2.value)
def post_create_port(self, port): if port.port_status == constants.PORT_STATUS_UP: device_id = port.vm_id _clu_mor, _clu_path, vds_name = self._find_cluster_switch_for_vm( device_id) pg_mor = network_util.get_portgroup_mor_by_name( self.session, vds_name, port.network_uuid) if pg_mor is None: msg = (_("Port group %(net_id)s not created on " "virtual switch %(vds)s."), { 'net_id': port.network_uuid, 'vds': vds_name }) raise error_util.RunTimeError(msg) vm_mor = resource_util.get_vm_mor_for_uuid(self.session, device_id) if vm_mor is None: msg = (_("Virtual machine %(id)s with " "port %(port)s not created."), { 'id': device_id, 'port': port.uuid }) raise error_util.RunTimeError(msg) (pg_key, port_key, swuuid) = self._wait_for_port_update_on_vm(vm_mor, pg_mor) if pg_key and port_key and swuuid: # enable the port on virtual switch. network_util.enable_disable_port(self.session, swuuid, pg_key, port_key, True)
def post_create_port(self, port): if port.port_status == constants.PORT_STATUS_UP: device_id = port.vm_id _clu_mor, _clu_path, vds_name = self._find_cluster_switch_for_vm( device_id) pg_mor = network_util.get_portgroup_mor_by_name(self.session, vds_name, port.network_uuid) if pg_mor is None: msg = (_("Port group %(net_id)s not created on " "virtual switch %(vds)s."), {'net_id': port.network_uuid, 'vds': vds_name}) raise error_util.RunTimeError(msg) vm_mor = resource_util.get_vm_mor_for_uuid(self.session, device_id) if vm_mor is None: msg = (_("Virtual machine %(id)s with " "port %(port)s not created."), {'id': device_id, 'port': port.uuid}) raise error_util.RunTimeError(msg) (pg_key, port_key, swuuid) = self._wait_for_port_update_on_vm( vm_mor, pg_mor) if pg_key and port_key and swuuid: # enable the port on virtual switch. network_util.enable_disable_port(self.session, swuuid, pg_key, port_key, True)
def test_get_portgroup_mor_by_name_no_dvs(self): dvs_name = "non_existent_dvs" port_group_name = fake_api.Constants.PORTGROUP_NAME with mock.patch.object(network_util, "get_dvs_mor_by_name", return_value=None): port_group = network_util.get_portgroup_mor_by_name( self.session, dvs_name, port_group_name) self.assertIsNone(port_group)
def test_get_portgroup_mor_by_name_not_found( self, mock_get_dy_pro, mock_get_dvs_mor, mock_get_pro): dvs_name = "test_dvs" port_group_name = fake_api.Constants.PORTGROUP_NAME dvs = fake_api.DataObject() dvs_config = fake_api.DataObject() port_group_mors = [] pg1 = fake_api.create_network() pg1.set("summary.name", "pg1") port_group_mors.append(pg1) dvs_config.ManagedObjectReference = port_group_mors mock_get_pro.return_value = port_group_mors mock_get_dvs_mor.return_value = dvs mock_get_dy_pro.return_value = dvs_config port_group = network_util.get_portgroup_mor_by_name( self.session, dvs_name, port_group_name) self.assertIsNone(port_group)
def test_get_portgroup_mor_by_name_not_found(self): dvs_name = "test_dvs" port_group_name = fake_api.Constants.PORTGROUP_NAME dvs = fake_api.DataObject() dvs_config = fake_api.DataObject() port_group_mors = [] pg1 = fake_api.create_network() pg1.set("summary.name", "pg1") port_group_mors.append(pg1) dvs_config.ManagedObjectReference = port_group_mors with contextlib.nested( mock.patch.object(vim_util, 'get_properties_for_a_collection_of_objects', return_value=port_group_mors), mock.patch.object(network_util, "get_dvs_mor_by_name", return_value=dvs), mock.patch.object(vim_util, "get_dynamic_property", return_value=dvs_config)): port_group = network_util.get_portgroup_mor_by_name( self.session, dvs_name, port_group_name) self.assertIsNone(port_group)