def update_port(self, network=None, port=None, virtual_nic=None): device_id = port.vm_id mac_address = port.mac_address vm_mor = resource_util.get_vm_mor_for_uuid(self.session, device_id) if not vm_mor: LOG.warning( _LW("VM %(vm)s with mac address %(mac)s for " "port %(uuid)s not found on this node."), { 'vm': device_id, 'mac': mac_address, 'uuid': port.uuid }) return False if port.port_status == constants.PORT_STATUS_UP: enabled = True elif port.port_status == constants.PORT_STATUS_DOWN: enabled = False else: msg = (_("Invalid port status %(port)s in update for port %(id)s"), { 'port': port.port_status, 'id': port.uuid }) raise error.OVSvAppNeutronAgentError(msg) action = "Enabling" if enabled else "Disabling" LOG.debug( "%(action)s port used by VM %(id)s for VNIC with " "mac address %(mac)s.", { 'action': action, 'id': device_id, 'mac': mac_address }) status = network_util.enable_disable_port_of_vm( self.session, vm_mor, mac_address, enabled) return status
def update_port(self, network=None, port=None, virtual_nic=None): device_id = port.vm_id mac_address = port.mac_address vm_mor = resource_util.get_vm_mor_for_uuid(self.session, device_id) if not vm_mor: LOG.warn(_("VM %(vm)s with mac address %(mac)s for port %(uuid)s " "not found on this node."), {'vm': device_id, 'mac': mac_address, 'uuid': port.uuid}) return False if port.port_status == constants.PORT_STATUS_UP: enabled = True elif port.port_status == constants.PORT_STATUS_DOWN: enabled = False else: msg = (_("Invalid port status %(port)s in update for port %(id)s"), {'port': port.port_status, 'id': port.uuid}) raise error.OVSvAppNeutronAgentError(msg) action = "Enabling" if enabled else "Disabling" LOG.debug("%(action)s port used by VM %(id)s for VNIC with " "mac address %(mac)s.", {'action': action, 'id': device_id, 'mac': mac_address}) status = network_util.enable_disable_port_of_vm(self.session, vm_mor, mac_address, enabled) return status
def test_enable_disable_port_of_vm_non_existing(self): pg = fake_api._db_content["DistributedVirtualPortgroup"].values()[0] backing = fake_api.DataObject() backing.port = fake_api.DataObject() backing.port.portgroupKey = pg.value backing.port.portKey = pg.portKeys[0] backing.port.switchUuid = fake_api._db_content[ "DistributedVirtualPortgroup"].keys()[0] vm_key = fake_api._db_content["VirtualMachine"].keys()[0] fake_api._db_content["VirtualMachine"][vm_key].propSet[ 6].val.VirtualDevice[0].backing = backing self.assertFalse( network_util.enable_disable_port_of_vm( self.session, fake_api._db_content["VirtualMachine"].values()[0], "11:99:88:77:66:ab", True))
def test_enable_disable_port_of_vm_non_existing(self): pg = fake_api._db_content[ "DistributedVirtualPortgroup"].values()[0] backing = fake_api.DataObject() backing.port = fake_api.DataObject() backing.port.portgroupKey = pg.value backing.port.portKey = pg.portKeys[0] backing.port.switchUuid = fake_api._db_content[ "DistributedVirtualPortgroup"].keys()[0] vm_key = fake_api._db_content["VirtualMachine"].keys()[0] fake_api._db_content["VirtualMachine"][vm_key].propSet[ 6].val.VirtualDevice[0].backing = backing self.assertFalse(network_util.enable_disable_port_of_vm( self.session, fake_api._db_content["VirtualMachine"].values()[0], "11:99:88:77:66:ab", True))