• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python ucs_db.update_portbinding函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中quantum.plugins.cisco.db.ucs_db.update_portbinding函数的典型用法代码示例。如果您正苦于以下问题:Python update_portbinding函数的具体用法?Python update_portbinding怎么用?Python update_portbinding使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了update_portbinding函数的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: _get_host_name_for_rsvd_intf

 def _get_host_name_for_rsvd_intf(self, tenant_id, instance_id):
     """
     Return the hostname of the blade with a reserved instance
     for this tenant
     """
     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():
                     tmp = deepcopy(blade_intf_data[blade_intf])
                     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 \
                        intf_data[const.INSTANCE_ID] == None:
                         intf_data[const.INSTANCE_ID] = instance_id
                         host_name = self._get_host_name(ucsm_ip,
                                                         chassis_id,
                                                         blade_id)
                         port_binding = udb.get_portbinding_dn(blade_intf)
                         port_id = port_binding[const.PORTID]
                         udb.update_portbinding(port_id,
                                                instance_id=instance_id)
                         return host_name
     LOG.warn("Could not find a reserved dynamic nic for tenant: %s" %
              tenant_id)
     return None
开发者ID:Cerberus98,项目名称:quantum,代码行数:30,代码来源:cisco_ucs_inventory.py


示例2: _disassociate_vifid_from_port

 def _disassociate_vifid_from_port(self, tenant_id, port_id):
     """
     Return the device name for a reserved interface
     """
     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():
                     if blade_intf_data[blade_intf]\
                        [const.BLADE_INTF_RESERVATION] == \
                        const.BLADE_INTF_RESERVED and \
                        blade_intf_data[blade_intf]\
                        [const.TENANTID] == tenant_id and \
                        blade_intf_data[blade_intf][const.PORTID] == \
                        port_id:
                         vif_id = blade_intf_data[blade_intf][const.VIF_ID]
                         blade_intf_data[blade_intf][const.VIF_ID] = \
                                 None
                         blade_intf_data[blade_intf][const.INSTANCE_ID] = \
                                 None
                         udb.update_portbinding(port_id, instance_id=None,
                                                vif_id=None)
                         LOG.debug("Disassociated VIF-ID: %s " \
                                   "from port: %s" \
                                   "in UCS inventory state for blade: %s" %
                                   (vif_id, port_id,
                                    blade_intf_data[blade_intf]))
                         return
     LOG.warn("Disassociating VIF-ID in UCS inventory failed. " \
              "Could not find a reserved dynamic nic for tenant: %s" %
              tenant_id)
     return None
开发者ID:rnirmal,项目名称:quantum,代码行数:35,代码来源:cisco_ucs_inventory.py


示例3: _get_instance_port

    def _get_instance_port(self, tenant_id, instance_id, vif_id):
        """
        Return the device name for a reserved interface
        """
        found_blade_intf_data = None
        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():
                        if blade_intf_data[blade_intf]\
                           [const.BLADE_INTF_RESERVATION] == \
                           const.BLADE_INTF_RESERVED and \
                           blade_intf_data[blade_intf]\
                           [const.TENANTID] == tenant_id and \
                           blade_intf_data[blade_intf]\
                           [const.INSTANCE_ID] == instance_id:
                            found_blade_intf_data = blade_intf_data
                            LOG.debug("Found blade %s associated with this" \
                                      " instance: %s" % \
                                      (blade_id,
                                       instance_id))
                            break

        if found_blade_intf_data:
            blade_intf_data = found_blade_intf_data
            for blade_intf in blade_intf_data.keys():
                if blade_intf_data[blade_intf]\
                   [const.BLADE_INTF_RESERVATION] == \
                   const.BLADE_INTF_RESERVED and \
                   blade_intf_data[blade_intf]\
                   [const.TENANTID] == tenant_id and \
                   (not blade_intf_data[blade_intf][const.VIF_ID]):
                    blade_intf_data[blade_intf][const.VIF_ID] = \
                            vif_id
                    blade_intf_data[blade_intf]\
                            [const.INSTANCE_ID] = instance_id
                    port_binding = udb.get_portbinding_dn(blade_intf)
                    port_id = port_binding[const.PORTID]
                    udb.update_portbinding(port_id, instance_id=instance_id,
                                           vif_id=vif_id)
                    db.port_set_attachment_by_id(port_id, vif_id)
                    device_name = blade_intf_data[blade_intf]\
                            [const.BLADE_INTF_RHEL_DEVICE_NAME]
                    profile_name = port_binding[const.PORTPROFILENAME]
                    dynamicnic_details = \
                            {const.DEVICENAME: device_name,
                             const.UCSPROFILE: profile_name}
                    LOG.debug("Found reserved dynamic nic: %s" \
                              "associated with port %s" %
                              (blade_intf_data[blade_intf], port_id))
                    LOG.debug("Returning dynamic nic details: %s" %
                              dynamicnic_details)
                    return dynamicnic_details

        LOG.warn("Could not find a reserved dynamic nic for tenant: %s" %
                 tenant_id)
        return None
开发者ID:rnirmal,项目名称:quantum,代码行数:60,代码来源:cisco_ucs_inventory.py


示例4: _disassociate_vifid_from_port

 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
开发者ID:jkoelker,项目名称:quantum,代码行数:39,代码来源:cisco_ucs_inventory.py


示例5: unplug_interface

 def unplug_interface(self, tenant_id, net_id, port_id, **kwargs):
     """
     Detaches a remote interface from the specified port on the
     specified Virtual Network.
     """
     LOG.debug("UCSVICPlugin:unplug_interface() called\n")
     self._set_ucsm(kwargs[const.DEVICE_IP])
     port_binding = udb.get_portbinding(port_id)
     profile_name = port_binding[const.PORTPROFILENAME]
     old_vlan_name = port_binding[const.VLANNAME]
     new_vlan_name = conf.DEFAULT_VLAN_NAME
     self._driver.change_vlan_in_profile(
         profile_name, old_vlan_name, new_vlan_name, self._ucsm_ip, self._ucsm_username, self._ucsm_password
     )
     return udb.update_portbinding(port_id, vlan_name=new_vlan_name, vlan_id=conf.DEFAULT_VLAN_ID)
开发者ID:nitishb,项目名称:quantum,代码行数:15,代码来源:cisco_ucs_plugin.py


示例6: update_port_binding

 def update_port_binding(self, port_id, blade_intf_dn, \
                      portprofile_name, vlan_name, vlan_id, qos):
     """update port binding"""
     try:
         res = ucs_db.update_portbinding(port_id, blade_intf_dn, \
                            portprofile_name, vlan_name, vlan_id, qos)
         LOG.debug("Updating port binding: %s" % res.port_id)
         port_bind_dict = {}
         port_bind_dict["port-id"] = res.port_id
         port_bind_dict["dynamic-vnic-id"] = str(res.blade_intf_dn)
         port_bind_dict["portprofile-name"] = res.portprofile_name
         port_bind_dict["vlan-name"] = res.vlan_name
         port_bind_dict["vlan-id"] = str(res.vlan_id)
         port_bind_dict["qos"] = res.qos
         return port_bind_dict
     except Exception, exc:
         raise Exception("Failed to update portprofile binding:%s"
                         % str(exc))
开发者ID:BillTheBest,项目名称:quantum,代码行数:18,代码来源:test_database.py


示例7: reserve_blade_interface

    def reserve_blade_interface(self, ucsm_ip, chassis_id, blade_id,
                                blade_data_dict, tenant_id, port_id,
                                portprofile_name):
        """Reserve an interface on a blade"""
        ucsm_username = cred.Store.getUsername(ucsm_ip)
        ucsm_password = cred.Store.getPassword(ucsm_ip)
        """
        We are first getting the updated UCSM-specific blade
        interface state
        """
        blade_data = self._get_blade_state(chassis_id, blade_id, ucsm_ip,
                                           ucsm_username, ucsm_password)
        blade_intf_data = blade_data[const.BLADE_INTF_DATA]
        #import sys
        #sys.exit(ucsm_ip)
        chassis_data = self._inventory_state[ucsm_ip][chassis_id]
        old_blade_intf_data = chassis_data[blade_id][const.BLADE_INTF_DATA]

        """
        We will now copy the older non-UCSM-specific blade
        interface state
        """
        for blade_intf in blade_intf_data.keys():
            old_intf_data = old_blade_intf_data[blade_intf]
            blade_intf_data[blade_intf][const.BLADE_INTF_RESERVATION] = \
                    old_intf_data[const.BLADE_INTF_RESERVATION]
            blade_intf_data[blade_intf][const.TENANTID] = \
                    old_intf_data[const.TENANTID]
            blade_intf_data[blade_intf][const.PORTID] = \
                    old_intf_data[const.PORTID]
            blade_intf_data[blade_intf][const.PROFILE_ID] = \
                    old_intf_data[const.PROFILE_ID]
            blade_intf_data[blade_intf][const.INSTANCE_ID] = \
                    old_intf_data[const.INSTANCE_ID]
            blade_intf_data[blade_intf][const.VIF_ID] = \
                    old_intf_data[const.VIF_ID]

        blade_data[const.BLADE_UNRESERVED_INTF_COUNT] = \
                chassis_data[blade_id][const.BLADE_UNRESERVED_INTF_COUNT]
        """
        Now we will reserve an interface if its available
        """
        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_UNRESERVED:
                intf_data[const.BLADE_INTF_RESERVATION] = \
                        const.BLADE_INTF_RESERVED
                intf_data[const.TENANTID] = tenant_id
                intf_data[const.PORTID] = port_id
                #intf_data[const.PROFILE_ID] = \
                #        portprofile_name
                intf_data[const.INSTANCE_ID] = None
                dev_eth_name = intf_data[const.BLADE_INTF_RHEL_DEVICE_NAME]
                """
                We are replacing the older blade interface state with new
                """
                chassis_data[blade_id][const.BLADE_INTF_DATA] = blade_intf_data
                chassis_data[blade_id][const.BLADE_UNRESERVED_INTF_COUNT] -= 1
                host_name = self._get_host_name(ucsm_ip, chassis_id,
                                                       blade_id)
                reserved_nic_dict = {const.RESERVED_NIC_HOSTNAME: host_name,
                                   const.RESERVED_NIC_NAME: dev_eth_name,
                                   const.BLADE_INTF_DN: blade_intf}
                port_binding = udb.add_portbinding(port_id, blade_intf, None,
                                                   None, None, None)
                udb.update_portbinding(port_id,
                                       tenant_id=intf_data[const.TENANTID])
                LOG.debug("Reserved blade interface: %s\n" % reserved_nic_dict)
                return reserved_nic_dict

        LOG.warn("Dynamic nic %s could not be reserved for port-id: %s" %
                 (blade_data, port_id))
        return False
开发者ID:Cerberus98,项目名称:quantum,代码行数:74,代码来源:cisco_ucs_inventory.py



注:本文中的quantum.plugins.cisco.db.ucs_db.update_portbinding函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python l2network_db.get_vlan_binding函数代码示例发布时间:2022-05-26
下一篇:
Python l2network_db.initialize函数代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap