vDHCPConfigUtils.py 文件源码

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

项目:VManagePlatform 作者: welliamcao 项目源码 文件源码
def start(self,netnsName,drive,iprange,port,mode,brName,gateway=None,dns=None): 
        '''
        @param iprange: 172.16.0.100,172.16.0.254
        @param mode: int|ext
        '''
        if drive == 'ovs':           
            if mode == 'int':  
                cmd = '''ip netns exec {netnsName} /usr/sbin/dnsmasq -u root -g root --no-hosts --no-resolv --strict-order --bind-interfaces --except-interface lo --interface {port} --dhcp-range={iprange},infinite --dhcp-leasefile=/var/run/dnsmasq/{port}.lease --pid-file=/var/run/dnsmasq-{mode}.pid --dhcp-lease-max=253 --dhcp-no-override --log-queries  --log-facility=/var/run/dnsmasq/dnsmasq-{mode}.log --dhcp-option-force=3,6  --conf-file='''.format(iprange=iprange,port=port,netnsName=netnsName,mode=mode)
            elif mode == 'ext':
                cmd = '''ip netns exec {netnsName} /usr/sbin/dnsmasq -u root -g root --no-hosts --no-resolv --strict-order --bind-interfaces --except-interface lo --interface {port} --dhcp-range={iprange},infinite --dhcp-leasefile=/var/run/dnsmasq/{port}.lease --pid-file=/var/run/dnsmasq-{mode}.pid --dhcp-lease-max=253 --dhcp-no-override --log-queries  --log-facility=/var/run/dnsmasq/dnsmasq-{mode}.log --dhcp-option=3,{gateway} --dhcp-option=6,{dns} --conf-file= '''.format(iprange=iprange,port=port,netnsName=netnsName,mode=mode,gateway=gateway,dns=dns)
        elif drive == 'brctl':
            if mode == 'int':  
                cmd = '''ip netns exec {netnsName} /usr/sbin/dnsmasq -u root -g root --no-hosts --no-resolv --strict-order --bind-interfaces --except-interface lo --interface {brName}-tap --dhcp-range={iprange},infinite --dhcp-leasefile=/var/run/dnsmasq/{port}.lease --pid-file=/var/run/dnsmasq-{mode}.pid --dhcp-lease-max=253 --dhcp-no-override --log-queries  --log-facility=/var/run/dnsmasq/dnsmasq-{mode}.log --dhcp-option-force=3,6  --conf-file='''.format(iprange=iprange,brName=brName,port=port,netnsName=netnsName,mode=mode)
            elif mode == 'ext':
                cmd = '''ip netns exec {netnsName} /usr/sbin/dnsmasq -u root -g root --no-hosts --no-resolv --strict-order --bind-interfaces --except-interface lo --interface {brName}-tap --dhcp-range={iprange},infinite --dhcp-leasefile=/var/run/dnsmasq/{port}.lease --pid-file=/var/run/dnsmasq-{mode}.pid --dhcp-lease-max=253 --dhcp-no-override --log-queries  --log-facility=/var/run/dnsmasq/dnsmasq-{mode}.log --dhcp-option=3,{gateway} --dhcp-option=6,{dns} --conf-file= '''.format(iprange=iprange,brName=brName,port=port,netnsName=netnsName,mode=mode,gateway=gateway,dns=dns)  
        status,output = commands.getstatusoutput(cmd)            
        return status,output
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号