Exemple #1
0
 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
Exemple #3
0
 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))