extra.py 文件源码

python
阅读 25 收藏 0 点赞 0 评论 0

项目:enos 作者: BeyondTheClouds 项目源码 文件源码
def pop_ip(env=None):
    """Picks an ip from env['provider_net'].

    It will first take ips in the extra_ips if possible.
    extra_ips is a list of isolated ips whereas ips described
    by the [provider_net.start, provider.end] range is a continuous
    list of ips.
    """
    # Construct the pool of ips
    extra_ips = env['provider_net'].get('extra_ips', [])
    if len(extra_ips) > 0:
        ip = extra_ips.pop()
        env['provider_net']['extra_ips'] = extra_ips
        return ip

    ips = list(IPRange(env['provider_net']['start'],
                       env['provider_net']['end']))

    # Get the next ip
    ip = str(ips.pop())

    # Remove this ip from the env
    env['provider_net']['end'] = str(ips.pop())

    return ip
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号