コード例 #1
0
ファイル: install.py プロジェクト: chuckbutler/DNS-Charm
def install():
    if config()['offline'] is False:
        apt_update(fatal=True)
        apt_install(packages=[
            'bind9',
            'dnsutils',
            ], fatal=True)
    else:
        log("Installing offline debian packages")
        install_packages('files/bind')
        # rerun cuz its buggy
        install_packages('files/bind')
        log("Installing Python packages")
        pip_install('files/bind/pip')
    ## use the nameserver in /etc/resolv.conf as a forwarder ...
    import DNS
    DNS.ParseResolvConf("/etc/resolv.conf")
    nameserver = DNS.defaults['server'][0]
    log('Setting dns to be forwarder to :'+nameserver)
    import jinja2
    templateLoader = jinja2.FileSystemLoader( searchpath= os.environ['CHARM_DIR'] )
    #use Jinja2 template to enable bind forwarding
    templateEnv=jinja2.Environment( loader=templateLoader );
    template=templateEnv.get_template('contrib/bind/templates/named.conf.options.jinja2')
    output_from_parsed_template = template.render(forwarder=nameserver)
    # to save the results
    with open("/etc/bind/named.conf.options", "wb") as fh:
        fh.write(output_from_parsed_template)
        ## use jinja2 templates..


    if not os.path.exists('/etc/bind/zone-backup'):
        os.makedirs('/etc/bind/zone-backup')
    open_port(53, "TCP")
    open_port(53, "UDP")
コード例 #2
0
ファイル: install.py プロジェクト: dataart-telco/juju-deploy
    def install(self):
        if config()["offline"] is False:
            apt_update(fatal=True)
            apt_install(packages=["bind9", "dnsutils"], fatal=True)
        else:
            log("Installing offline debian packages")
            install_packages("files/bind")
            # rerun cuz its buggy
            install_packages("files/bind")
            log("Installing Python packages")
            pip_install("files/bind/pip")

        os.makedirs("/etc/bind/zone-backup")
        open_port(53, "TCP")
        open_port(53, "UDP")
コード例 #3
0
    def install(self):
        if config()['offline'] is False:
            apt_update(fatal=True)
            apt_install(packages=[
                'bind9',
                'dnsutils',
            ], fatal=True)
        else:
            log("Installing offline debian packages")
            install_packages('files/bind')
            # rerun cuz its buggy
            install_packages('files/bind')
            log("Installing Python packages")
            pip_install('files/bind/pip')

        open_port(53)
コード例 #4
0
ファイル: install.py プロジェクト: mirw/DNS-Charm
    def install(self):
        if config()['offline'] is False:
            apt_update(fatal=True)
            apt_install(packages=[
                'bind9',
                'dnsutils',
                ], fatal=True)
        else:
            log("Installing offline debian packages")
            install_packages('files/bind')
            # rerun cuz its buggy
            install_packages('files/bind')
            log("Installing Python packages")
            pip_install('files/bind/pip')

        open_port(53)
コード例 #5
0
ファイル: install.py プロジェクト: collivier/abot_charm
def install():
    if config()['offline'] is False:
        apt_update(fatal=True)
        apt_install(packages=[
            'bind9',
            'dnsutils',
        ], fatal=True)
    else:
        log("Installing offline debian packages")
        install_packages('files/bind')
        # rerun cuz its buggy
        install_packages('files/bind')
        log("Installing Python packages")
        pip_install('files/bind/pip')
    ## use the nameserver in /etc/resolv.conf as a forwarder ...
    import DNS
    DNS.ParseResolvConf("/etc/resolv.conf")
    nameserver = DNS.defaults['server'][0]
    log('Setting dns to be forwarder to :' + nameserver)
    import jinja2
    templateLoader = jinja2.FileSystemLoader(
        searchpath=os.environ['CHARM_DIR'])
    #use Jinja2 template to enable bind forwarding
    templateEnv = jinja2.Environment(loader=templateLoader)
    template = templateEnv.get_template(
        'contrib/bind/templates/named.conf.options.jinja2')
    output_from_parsed_template = template.render(forwarder=nameserver)
    # to save the results
    with open("/etc/bind/named.conf.options", "wb") as fh:
        fh.write(output_from_parsed_template)
        ## use jinja2 templates..

    if not os.path.exists('/etc/bind/zone-backup'):
        os.makedirs('/etc/bind/zone-backup')
    open_port(53, "TCP")
    open_port(53, "UDP")
コード例 #6
0
ファイル: test_common.py プロジェクト: collivier/abot_charm
 def test_pip_install(self, spcm, osldm):
     osldm.return_value = ['foo.tar.gz']
     common.pip_install('/tmp/nope')
     spcm.assert_called_with(['pip', 'install', '/tmp/nope/foo.tar.gz'])
コード例 #7
0
ファイル: test_common.py プロジェクト: chuckbutler/DNS-Charm
 def test_pip_install(self, spcm, osldm):
     osldm.return_value = ['foo.tar.gz']
     common.pip_install('/tmp/nope')
     spcm.assert_called_with(['pip', 'install', '/tmp/nope/foo.tar.gz'])