def tearDownNetworkPortInterface(self, tenant_id, instance_tenant_id, instance_id, instance_desc, network_dict_id, port_id): """ Tear down Network Port Interface """ if not conf.PLUGINS[const.PLUGINS].keys(): db.port_unset_attachment_by_id(port_id) else: self._l2network_plugin.detach_port(instance_tenant_id, instance_id, instance_desc) self.tearDownNetworkPort(tenant_id, network_dict_id, port_id)
def tearDownNetworkPortInterface(self, tenant_id, instance_tenant_id, instance_id, instance_desc, network_dict_id, port_id): """ Tear down Network Port Interface """ if not conf.PLUGINS[const.PLUGINS].keys(): db.port_unset_attachment_by_id(port_id) else: self._l2network_plugin.detach_port(instance_tenant_id, instance_id, instance_desc) self.tearDownNetworkPort(tenant_id, network_dict_id, port_id)
def _disassociate_vifid_from_port(self, tenant_id, instance_id, vif_id): """ Disassociate a VIF-ID from a port, this happens when a VM is destroyed """ for ucsm_ip in self._inventory_state.keys(): ucsm = self._inventory_state[ucsm_ip] for chassis_id in ucsm.keys(): for blade_id in ucsm[chassis_id]: blade_data = ucsm[chassis_id][blade_id] blade_intf_data = blade_data[const.BLADE_INTF_DATA] for blade_intf in blade_intf_data.keys(): intf_data = blade_intf_data[blade_intf] if (intf_data[const.BLADE_INTF_RESERVATION] == const.BLADE_INTF_RESERVED and intf_data[const.TENANTID] == tenant_id and blade_intf_data[blade_intf][const.INSTANCE_ID] == instance_id and intf_data[const.VIF_ID][:const.UUID_LENGTH] == vif_id): intf_data[const.VIF_ID] = None intf_data[const.INSTANCE_ID] = None port_binding = udb.get_portbinding_dn(blade_intf) port_id = port_binding[const.PORTID] udb.update_portbinding(port_id, instance_id=None, vif_id=None) db.port_unset_attachment_by_id(port_id) LOG.debug( ("Disassociated VIF-ID: %s " "from port: %s" "in UCS inventory state for blade: %s") % (vif_id, port_id, intf_data)) device_params = { const.DEVICE_IP: [ucsm_ip], const.PORTID: port_id } return device_params LOG.warn(("Disassociating VIF-ID in UCS inventory failed. " "Could not find a reserved dynamic nic for tenant: %s") % tenant_id) return None
def _disassociate_vifid_from_port(self, tenant_id, instance_id, vif_id): """ Disassociate a VIF-ID from a port, this happens when a VM is destroyed """ for ucsm_ip in self._inventory_state.keys(): ucsm = self._inventory_state[ucsm_ip] for chassis_id in ucsm.keys(): for blade_id in ucsm[chassis_id]: blade_data = ucsm[chassis_id][blade_id] blade_intf_data = blade_data[const.BLADE_INTF_DATA] for blade_intf in blade_intf_data.keys(): intf_data = blade_intf_data[blade_intf] if (intf_data[const.BLADE_INTF_RESERVATION] == const.BLADE_INTF_RESERVED and intf_data[const.TENANTID] == tenant_id and blade_intf_data[blade_intf][const.INSTANCE_ID] == instance_id and intf_data[const.VIF_ID][:const.UUID_LENGTH] == vif_id): intf_data[const.VIF_ID] = None intf_data[const.INSTANCE_ID] = None port_binding = udb.get_portbinding_dn(blade_intf) port_id = port_binding[const.PORTID] udb.update_portbinding(port_id, instance_id=None, vif_id=None) db.port_unset_attachment_by_id(port_id) LOG.debug( ("Disassociated VIF-ID: %s " "from port: %s" "in UCS inventory state for blade: %s") % (vif_id, port_id, intf_data)) device_params = {const.DEVICE_IP: [ucsm_ip], const.PORTID: port_id} return device_params LOG.warn(("Disassociating VIF-ID in UCS inventory failed. " "Could not find a reserved dynamic nic for tenant: %s") % tenant_id) return None