Security group的流程分析nova篇

作为个人学习笔记分享,有任何问题欢迎交流!

Security group在G版本中可由nova和quantum分别来完成。Nova部分的底层由iptables完成,quantum部分应该也是。本文档主要分析nova部分,quantum部分待续。

1 首先由python-novaclient接收处理请求

/novaclient/v1_1/shell.py

def _get_secgroup(cs, secgroup):
    # Check secgroup is an ID
    if uuidutils.is_uuid_like(strutils.safe_encode(secgroup)):
        try:
            return cs.security_groups.get(secgroup)
        except exceptions.NotFound:
            pass

    # Check secgroup as a name
    match_found = False
    for s in cs.security_groups.list():
        encoding = (locale.getpreferredencoding() or
            sys.stdin.encoding or
            'UTF-8')
        s.name = s.name.encode(encoding)
        if secgroup == s.name:
            if match_found != False:
                msg = ("Multiple security group matches found for name"
                       " '%s', use an ID to be more specific." % secgroup)
                raise exceptions.NoUniqueMatch(msg)
            match_found = s
    if match_found is False:
        raise exceptions.CommandError("Secgroup ID or name '%s' not found."
                                      % secgroup)
return match_found

2./novaclient/v1_1/security_groups.py

def get(self, group_id):
        """
        Get a security group

        :param group_id: The security g
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值