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

Python attributes.is_attr_set函数代码示例

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

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



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

示例1: create_port

    def create_port(self, context, port):
        if attr.is_attr_set(port['port'][psec.PORTSECURITY]):
            self._enforce_set_auth(context, port,
                                   self.port_security_enabled_create)
        p = port['port']
        with context.session.begin(subtransactions=True):
            p[ext_sg.SECURITYGROUPS] = self._get_security_groups_on_port(
                context, port)
            quantum_db = super(PortSecurityTestPlugin, self).create_port(
                context, port)
            p.update(quantum_db)

            (port_security, has_ip) = self._determine_port_security_and_has_ip(
                context, p)
            p[psec.PORTSECURITY] = port_security
            self._process_port_security_create(context, p)

            if (attr.is_attr_set(p.get(ext_sg.SECURITYGROUPS)) and
                not (port_security and has_ip)):
                raise psec.PortSecurityAndIPRequiredForSecurityGroups()

            # Port requires ip and port_security enabled for security group
            if has_ip and port_security:
                self._ensure_default_security_group_on_port(context, port)

            if (p.get(ext_sg.SECURITYGROUPS) and p[psec.PORTSECURITY]):
                self._process_port_create_security_group(
                    context, p['id'], p[ext_sg.SECURITYGROUPS])

            self._extend_port_dict_security_group(context, p)
            self._extend_port_port_security_dict(context, p)

        return port['port']
开发者ID:CiscoAS,项目名称:quantum,代码行数:33,代码来源:test_extension_portsecurity.py


示例2: _process_provider_create

    def _process_provider_create(self, context, attrs):
        network_type = attrs.get(provider.NETWORK_TYPE)
        physical_network = attrs.get(provider.PHYSICAL_NETWORK)
        segmentation_id = attrs.get(provider.SEGMENTATION_ID)

        network_type_set = attributes.is_attr_set(network_type)
        physical_network_set = attributes.is_attr_set(physical_network)
        segmentation_id_set = attributes.is_attr_set(segmentation_id)

        if not (network_type_set or physical_network_set or
                segmentation_id_set):
            return (None, None, None)

        if not network_type_set:
            msg = _("provider:network_type required")
            raise q_exc.InvalidInput(error_message=msg)
        elif network_type == constants.TYPE_FLAT:
            if segmentation_id_set:
                msg = _("provider:segmentation_id specified for flat network")
                raise q_exc.InvalidInput(error_message=msg)
            else:
                segmentation_id = constants.FLAT_VLAN_ID
        elif network_type == constants.TYPE_VLAN:
            if not segmentation_id_set:
                msg = _("provider:segmentation_id required")
                raise q_exc.InvalidInput(error_message=msg)
            if segmentation_id < 1 or segmentation_id > 4094:
                msg = _("provider:segmentation_id out of range "
                        "(1 through 4094)")
                raise q_exc.InvalidInput(error_message=msg)
        elif network_type == constants.TYPE_LOCAL:
            if physical_network_set:
                msg = _("provider:physical_network specified for local "
                        "network")
                raise q_exc.InvalidInput(error_message=msg)
            else:
                physical_network = None
            if segmentation_id_set:
                msg = _("provider:segmentation_id specified for local "
                        "network")
                raise q_exc.InvalidInput(error_message=msg)
            else:
                segmentation_id = constants.LOCAL_VLAN_ID
        else:
            msg = _("provider:network_type %s not supported") % network_type
            raise q_exc.InvalidInput(error_message=msg)

        if network_type in [constants.TYPE_VLAN, constants.TYPE_FLAT]:
            if physical_network_set:
                if physical_network not in self.network_vlan_ranges:
                    msg = (_("Unknown provider:physical_network %s") %
                           physical_network)
                    raise q_exc.InvalidInput(error_message=msg)
            elif 'default' in self.network_vlan_ranges:
                physical_network = 'default'
            else:
                msg = _("provider:physical_network required")
                raise q_exc.InvalidInput(error_message=msg)

        return (network_type, physical_network, segmentation_id)
开发者ID:citrix-openstack,项目名称:neutron,代码行数:60,代码来源:lb_quantum_plugin.py


示例3: test_is_attr_set

    def test_is_attr_set(self):
        data = attributes.ATTR_NOT_SPECIFIED
        self.assertIs(attributes.is_attr_set(data), False)

        data = None
        self.assertIs(attributes.is_attr_set(data), False)

        data = "I'm set"
        self.assertIs(attributes.is_attr_set(data), True)
开发者ID:Frostman,项目名称:quantum,代码行数:9,代码来源:test_attributes.py


示例4: create_network

 def create_network(self, session, attrs):
     segmentation_id = attrs.get(provider.SEGMENTATION_ID)
     if attributes.is_attr_set(segmentation_id):
         physical_network = attrs.get(provider.PHYSICAL_NETWORK)
         if not attributes.is_attr_set(physical_network):
             msg = _("physical_network not provided")
             raise q_exc.InvalidInput(error_message=msg)
         self._db.reserve_specific_vlan(session, physical_network, segmentation_id)
     else:
         (physical_network, segmentation_id) = self._db.reserve_vlan(session)
         attrs[provider.SEGMENTATION_ID] = segmentation_id
         attrs[provider.PHYSICAL_NETWORK] = physical_network
开发者ID:NCU-PDCLAB,项目名称:quantum,代码行数:12,代码来源:hyperv_quantum_plugin.py


示例5: _check_provider_update

    def _check_provider_update(self, context, attrs):
        network_type = attrs.get(provider.NETWORK_TYPE)
        physical_network = attrs.get(provider.PHYSICAL_NETWORK)
        segmentation_id = attrs.get(provider.SEGMENTATION_ID)

        network_type_set = attributes.is_attr_set(network_type)
        physical_network_set = attributes.is_attr_set(physical_network)
        segmentation_id_set = attributes.is_attr_set(segmentation_id)

        if not (network_type_set or physical_network_set or segmentation_id_set):
            return

        msg = _("Plugin does not support updating provider attributes")
        raise q_exc.InvalidInput(error_message=msg)
开发者ID:emagana,项目名称:quantum,代码行数:14,代码来源:lb_quantum_plugin.py


示例6: _process_provider_create

    def _process_provider_create(self, context, attrs):
        network_type = attrs.get('provider:network_type')
        physical_network = attrs.get('provider:physical_network')
        vlan_id = attrs.get('provider:vlan_id')

        network_type_set = attributes.is_attr_set(network_type)
        physical_network_set = attributes.is_attr_set(physical_network)
        vlan_id_set = attributes.is_attr_set(vlan_id)

        if not (network_type_set or physical_network_set or vlan_id_set):
            return (None, None, None)

        # Authorize before exposing plugin details to client
        self._enforce_provider_set_auth(context, attrs)

        if not network_type_set:
            msg = _("provider:network_type required")
            raise q_exc.InvalidInput(error_message=msg)
        elif network_type == 'flat':
            msg = _("plugin does not support flat networks")
            raise q_exc.InvalidInput(error_message=msg)
        # REVISIT(rkukura) to be enabled in phase 3
        #    if vlan_id_set:
        #        msg = _("provider:vlan_id specified for flat network")
        #        raise q_exc.InvalidInput(error_message=msg)
        #    else:
        #        vlan_id = db.FLAT_VLAN_ID
        elif network_type == 'vlan':
            if not vlan_id_set:
                msg = _("provider:vlan_id required")
                raise q_exc.InvalidInput(error_message=msg)
        else:
            msg = _("invalid provider:network_type %s" % network_type)
            raise q_exc.InvalidInput(error_message=msg)

        if physical_network_set:
            msg = _("plugin does not support specifying physical_network")
            raise q_exc.InvalidInput(error_message=msg)
        # REVISIT(rkukura) to be enabled in phase 3
        #    if physical_network not in self.physical_networks:
        #        msg = _("unknown provider:physical_network %s" %
        #                physical_network)
        #        raise q_exc.InvalidInput(error_message=msg)
        #elif 'default' in self.physical_networks:
        #    physical_network = 'default'
        #else:
        #    msg = _("provider:physical_network required")
        #    raise q_exc.InvalidInput(error_message=msg)

        return (network_type, physical_network, vlan_id)
开发者ID:missall,项目名称:quantum,代码行数:50,代码来源:ovs_quantum_plugin.py


示例7: _process_provider_create

    def _process_provider_create(self, context, attrs):
        network_type = attrs.get(provider.NETWORK_TYPE)
        physical_network = attrs.get(provider.PHYSICAL_NETWORK)
        segmentation_id = attrs.get(provider.SEGMENTATION_ID)

        network_type_set = attributes.is_attr_set(network_type)
        physical_network_set = attributes.is_attr_set(physical_network)
        segmentation_id_set = attributes.is_attr_set(segmentation_id)

        if not (network_type_set or physical_network_set or
                segmentation_id_set):
            return (None, None, None)

        # Authorize before exposing plugin details to client
        self._enforce_provider_set_auth(context, attrs)

        if not network_type_set:
            msg = _("provider:network_type required")
            raise q_exc.InvalidInput(error_message=msg)
        elif network_type == constants.TYPE_FLAT:
            if segmentation_id_set:
                msg = _("provider:segmentation_id specified for flat network")
                raise q_exc.InvalidInput(error_message=msg)
            else:
                segmentation_id = constants.FLAT_VLAN_ID
        elif network_type == constants.TYPE_VLAN:
            if not segmentation_id_set:
                msg = _("provider:segmentation_id required")
                raise q_exc.InvalidInput(error_message=msg)
            if segmentation_id < 1 or segmentation_id > 4094:
                msg = _("provider:segmentation_id out of range "
                        "(1 through 4094)")
                raise q_exc.InvalidInput(error_message=msg)
        else:
            msg = _("invalid provider:network_type %s" % network_type)
            raise q_exc.InvalidInput(error_message=msg)

        if physical_network_set:
            if physical_network not in self.network_vlan_ranges:
                msg = _("unknown provider:physical_network %s" %
                        physical_network)
                raise q_exc.InvalidInput(error_message=msg)
        elif 'default' in self.network_vlan_ranges:
            physical_network = 'default'
        else:
            msg = _("provider:physical_network required")
            raise q_exc.InvalidInput(error_message=msg)

        return (network_type, physical_network, segmentation_id)
开发者ID:riverbedstingray,项目名称:quantum,代码行数:49,代码来源:ovs_quantum_plugin.py


示例8: _process_port_create_security_group

 def _process_port_create_security_group(self, context, port_id,
                                         security_group_id):
     if not attr.is_attr_set(security_group_id):
         return
     for security_group_id in security_group_id:
         self._create_port_security_group_binding(context, port_id,
                                                  security_group_id)
开发者ID:Frostman,项目名称:quantum,代码行数:7,代码来源:securitygroups_db.py


示例9: _process_l3_update

    def _process_l3_update(self, context, net_data, net_id):

        new_value = net_data.get(l3.EXTERNAL)
        if not attributes.is_attr_set(new_value):
            return

        self._enforce_l3_set_auth(context, net_data)
        existing_value = self._network_is_external(context, net_id)

        if existing_value == new_value:
            return

        if new_value:
            context.session.add(ExternalNetwork(network_id=net_id))
        else:
            # must make sure we do not have any external gateway ports
            # (and thus, possible floating IPs) on this network before
            # allow it to be update to external=False
            port = context.session.query(models_v2.Port).filter_by(
                device_owner=DEVICE_OWNER_ROUTER_GW,
                network_id=net_id).first()
            if port:
                raise l3.ExternalNetworkInUse(net_id=net_id)

            context.session.query(ExternalNetwork).filter_by(
                network_id=net_id).delete()
开发者ID:CiscoAS,项目名称:quantum,代码行数:26,代码来源:l3_db.py


示例10: _check_update_deletes_security_groups

 def _check_update_deletes_security_groups(self, port):
     """Return True if port has as a security group and it's value
     is either [] or not is_attr_set, otherwise return False"""
     if (ext_sg.SECURITYGROUPS in port['port'] and
         not (attr.is_attr_set(port['port'][ext_sg.SECURITYGROUPS])
              and port['port'][ext_sg.SECURITYGROUPS] != [])):
         return True
     return False
开发者ID:Frostman,项目名称:quantum,代码行数:8,代码来源:securitygroups_db.py


示例11: _process_provider_create

    def _process_provider_create(self, context, attrs):
        network_type = self._get_attribute(attrs, provider.NETWORK_TYPE)
        physical_network = self._get_attribute(attrs,
                                               provider.PHYSICAL_NETWORK)
        segmentation_id = self._get_attribute(attrs, provider.SEGMENTATION_ID)

        if attributes.is_attr_set(network_type):
            segment = {api.NETWORK_TYPE: network_type,
                       api.PHYSICAL_NETWORK: physical_network,
                       api.SEGMENTATION_ID: segmentation_id}
            return self.type_manager.validate_provider_segment(segment)

        if (attributes.is_attr_set(attrs.get(provider.PHYSICAL_NETWORK)) or
            attributes.is_attr_set(attrs.get(provider.SEGMENTATION_ID))):
            msg = _("network_type required if other provider attributes "
                    "specified")
            raise exc.InvalidInput(error_message=msg)
开发者ID:Apsu,项目名称:quantum,代码行数:17,代码来源:plugin.py


示例12: _check_update_has_security_groups

 def _check_update_has_security_groups(self, port):
     """Return True if port has as a security group and False if the
     security_group field is is_attr_set or []."""
     if (ext_sg.SECURITYGROUPS in port['port'] and
         (attr.is_attr_set(port['port'][ext_sg.SECURITYGROUPS]) and
          port['port'][ext_sg.SECURITYGROUPS] != [])):
         return True
     return False
开发者ID:Frostman,项目名称:quantum,代码行数:8,代码来源:securitygroups_db.py


示例13: _check_provider_update

    def _check_provider_update(self, context, attrs):
        network_type = attrs.get('provider:network_type')
        physical_network = attrs.get('provider:physical_network')
        vlan_id = attrs.get('provider:vlan_id')

        network_type_set = attributes.is_attr_set(network_type)
        physical_network_set = attributes.is_attr_set(physical_network)
        vlan_id_set = attributes.is_attr_set(vlan_id)

        if not (network_type_set or physical_network_set or vlan_id_set):
            return

        # Authorize before exposing plugin details to client
        self._enforce_provider_set_auth(context, attrs)

        msg = _("plugin does not support updating provider attributes")
        raise q_exc.InvalidInput(error_message=msg)
开发者ID:missall,项目名称:quantum,代码行数:17,代码来源:lb_quantum_plugin.py


示例14: _check_provider_update

    def _check_provider_update(self, context, attrs):
        network_type = attrs.get(provider.NETWORK_TYPE)
        physical_network = attrs.get(provider.PHYSICAL_NETWORK)
        segmentation_id = attrs.get(provider.SEGMENTATION_ID)

        network_type_set = attributes.is_attr_set(network_type)
        physical_network_set = attributes.is_attr_set(physical_network)
        segmentation_id_set = attributes.is_attr_set(segmentation_id)

        if not (network_type_set or physical_network_set or
                segmentation_id_set):
            return

        # Authorize before exposing plugin details to client
        self._enforce_set_auth(context, attrs, self.network_set)

        msg = _("plugin does not support updating provider attributes")
        raise q_exc.InvalidInput(error_message=msg)
开发者ID:FreescaleSemiconductor,项目名称:quantum,代码行数:18,代码来源:ovs_quantum_plugin.py


示例15: _process_provider_create

    def _process_provider_create(self, context, attrs):
        network_type = attrs.get('provider:network_type')
        physical_network = attrs.get('provider:physical_network')
        vlan_id = attrs.get('provider:vlan_id')

        network_type_set = attributes.is_attr_set(network_type)
        physical_network_set = attributes.is_attr_set(physical_network)
        vlan_id_set = attributes.is_attr_set(vlan_id)

        if not (network_type_set or physical_network_set or vlan_id_set):
            return (None, None, None)

        # Authorize before exposing plugin details to client
        self._enforce_provider_set_auth(context, attrs)

        if not network_type_set:
            msg = _("provider:network_type required")
            raise q_exc.InvalidInput(error_message=msg)
        elif network_type == 'flat':
            if vlan_id_set:
                msg = _("provider:vlan_id specified for flat network")
                raise q_exc.InvalidInput(error_message=msg)
            else:
                vlan_id = lconst.FLAT_VLAN_ID
        elif network_type == 'vlan':
            if not vlan_id_set:
                msg = _("provider:vlan_id required")
                raise q_exc.InvalidInput(error_message=msg)
        else:
            msg = _("invalid provider:network_type %s" % network_type)
            raise q_exc.InvalidInput(error_message=msg)

        if physical_network_set:
            if physical_network not in self.network_vlan_ranges:
                msg = _("unknown provider:physical_network %s" %
                        physical_network)
                raise q_exc.InvalidInput(error_message=msg)
        elif 'default' in self.network_vlan_ranges:
            physical_network = 'default'
        else:
            msg = _("provider:physical_network required")
            raise q_exc.InvalidInput(error_message=msg)

        return (network_type, physical_network, vlan_id)
开发者ID:missall,项目名称:quantum,代码行数:44,代码来源:lb_quantum_plugin.py


示例16: put_port_hostid

def put_port_hostid(context, port_id, host_id):
    if not attributes.is_attr_set(host_id):
        LOG.warning(_("No host_id in port request to track port location."))
        return
    if port_id == '':
        LOG.warning(_("Received an empty port ID for host '%s'"), host_id)
        return
    with context.session.begin(subtransactions=True):
        location = PortLocation(port_id=port_id, host_id=host_id)
        context.session.add(location)
开发者ID:DestinyOneSystems,项目名称:quantum,代码行数:10,代码来源:porttracker_db.py


示例17: _raise_if_updates_provider_attributes

def _raise_if_updates_provider_attributes(attrs):
    """Raise exception if provider attributes are present.

    This method is used for plugins that do not support
    updating provider networks.
    """
    immutable = (NETWORK_TYPE, PHYSICAL_NETWORK, SEGMENTATION_ID)
    if any(attributes.is_attr_set(attrs.get(a)) for a in immutable):
        msg = _("plugin does not support updating provider attributes")
        raise q_exc.InvalidInput(error_message=msg)
开发者ID:DestinyOneSystems,项目名称:quantum,代码行数:10,代码来源:providernet.py


示例18: _process_port_create_security_group

 def _process_port_create_security_group(self, context, port,
                                         security_group_ids):
     if attr.is_attr_set(security_group_ids):
         for security_group_id in security_group_ids:
             self._create_port_security_group_binding(context, port['id'],
                                                      security_group_id)
     # Convert to list as a set might be passed here and
     # this has to be serialized
     port[ext_sg.SECURITYGROUPS] = (security_group_ids and
                                    list(security_group_ids) or [])
开发者ID:alanmeadows,项目名称:quantum,代码行数:10,代码来源:securitygroups_db.py


示例19: _process_l3_create

    def _process_l3_create(self, context, net_data, net_id):
        external = net_data.get(l3.EXTERNAL)
        external_set = attributes.is_attr_set(external)

        if not external_set:
            return

        if external:
            # expects to be called within a plugin's session
            context.session.add(ExternalNetwork(network_id=net_id))
开发者ID:DrLeonard,项目名称:quantum,代码行数:10,代码来源:l3_db.py


示例20: _handle_provider_create

    def _handle_provider_create(self, context, attrs):
        # NOTE(salvatore-orlando): This method has been borrowed from
        # the OpenvSwtich plugin, altough changed to match NVP specifics.
        network_type = attrs.get(pnet.NETWORK_TYPE)
        physical_network = attrs.get(pnet.PHYSICAL_NETWORK)
        segmentation_id = attrs.get(pnet.SEGMENTATION_ID)
        network_type_set = attributes.is_attr_set(network_type)
        physical_network_set = attributes.is_attr_set(physical_network)
        segmentation_id_set = attributes.is_attr_set(segmentation_id)
        if not (network_type_set or physical_network_set or
                segmentation_id_set):
            return

        # Authorize before exposing plugin details to client
        self._enforce_provider_set_auth(context, attrs)
        err_msg = None
        if not network_type_set:
            err_msg = _("%s required") % pnet.NETWORK_TYPE
        elif network_type in (NetworkTypes.GRE, NetworkTypes.STT,
                              NetworkTypes.FLAT):
            if segmentation_id_set:
                err_msg = _("Segmentation ID cannot be specified with "
                            "flat network type")
        elif network_type == NetworkTypes.VLAN:
            if not segmentation_id_set:
                err_msg = _("Segmentation ID must be specified with "
                            "vlan network type")
            elif (segmentation_id_set and
                  (segmentation_id < 1 or segmentation_id > 4094)):
                err_msg = _("%s out of range (1 to 4094)") % segmentation_id
            else:
                # Verify segment is not already allocated
                binding = nicira_db.get_network_binding_by_vlanid(
                    context.session, segmentation_id)
                if binding:
                    raise q_exc.VlanIdInUse(vlan_id=segmentation_id,
                                            physical_network=physical_network)
        else:
            err_msg = _("%(net_type_param)s %(net_type_value)s not "
                        "supported") % {'net_type_param': pnet.NETWORK_TYPE,
                                        'net_type_value': network_type}
        if err_msg:
            raise q_exc.InvalidInput(error_message=err_msg)
开发者ID:wph540,项目名称:quantum,代码行数:43,代码来源:QuantumPlugin.py



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
Python base.create_resource函数代码示例发布时间:2022-05-26
下一篇:
Python attributes.convert_kvp_str_to_list函数代码示例发布时间: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