Esempio n. 1
0
 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)
Esempio n. 2
0
 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)
Esempio n. 3
0
 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
Esempio n. 4
0
 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