예제 #1
0
def update_configs():
    """
    Upload puppet configs and manifests
    """
    sudo('mkdir -p /etc/puppet')
    # Allow the puppet master to automatically sign certificates
    if env.get('loom_puppet_autosign'):
        put(StringIO('*'), '/etc/puppet/autosign.conf', use_sudo=True)
    else:
        put(StringIO(''), '/etc/puppet/autosign.conf', use_sudo=True)

    # Upload Puppet configs
    upload_template(os.path.join(files_path, 'puppet/puppet.conf'),
                    '/etc/puppet/puppet.conf', {
                        'server': get_puppetmaster_host() or '',
                        'certname': get_puppetmaster_host() or '',
                        'dns_alt_names': get_puppetmaster_host() or '',
                        'environment': env.environment,
                    },
                    use_sudo=True)
    put(os.path.join(files_path, 'puppet/auth.conf'),
        '/etc/puppet/auth.conf',
        use_sudo=True)
    put(os.path.join(files_path, 'puppet/hiera.yaml'),
        '/etc/puppet/hiera.yaml',
        use_sudo=True)
예제 #2
0
 def it_returns_the_first_puppetmaster_host_when_multiple_are_defined():
     newenv = {
         'roledefs': {
             'puppetmaster': ['master.example.com', 'master2.example.com']
         }
     }
     with patch.dict('fabric.api.env', newenv):
         assert 'master.example.com' == get_puppetmaster_host()
예제 #3
0
def update_configs():
    """
    Upload puppet configs and manifests
    """
    sudo('mkdir -p /etc/puppet')
    # Allow the puppet master to automatically sign certificates
    if env.get('loom_puppet_autosign'):
        put(StringIO('*'), '/etc/puppet/autosign.conf', use_sudo=True)
    else:
        put(StringIO(''), '/etc/puppet/autosign.conf', use_sudo=True)

    # Upload Puppet configs
    upload_template(os.path.join(files_path, 'puppet/puppet.conf'), '/etc/puppet/puppet.conf', {
        'server': get_puppetmaster_host() or '',
        'certname': get_puppetmaster_host() or '',
        'dns_alt_names': get_puppetmaster_host() or '',
        'environment': env.environment,
    }, use_sudo=True)
    put(os.path.join(files_path, 'puppet/auth.conf'), '/etc/puppet/auth.conf', use_sudo=True)
    put(os.path.join(files_path, 'puppet/hiera.yaml'), '/etc/puppet/hiera.yaml', use_sudo=True)
예제 #4
0
 def it_returns_none_when_no_roles_are_defined():
     newenv = {'roledefs': {}}
     with patch.dict('fabric.api.env', newenv):
         assert None == get_puppetmaster_host()
예제 #5
0
 def it_returns_the_host_in_the_puppetmaster_role():
     newenv = {'roledefs': {'puppetmaster': ['master.example.com']}}
     with patch.dict('fabric.api.env', newenv):
         assert 'master.example.com' == get_puppetmaster_host()
예제 #6
0
 def it_returns_env_puppetmaster_host_when_it_is_defined():
     newenv = {'puppetmaster_host': 'master.example.com'}
     with patch.dict('fabric.api.env', newenv):
         assert 'master.example.com' == get_puppetmaster_host()
예제 #7
0
 def it_returns_env_puppetmaster_host_when_it_is_defined():
     newenv = {'puppetmaster_host': 'master.example.com'}
     with patch.dict('fabric.api.env', newenv):
         assert 'master.example.com' == get_puppetmaster_host()
예제 #8
0
 def it_returns_none_when_no_roles_are_defined():
     newenv = {'roledefs':{}}
     with patch.dict('fabric.api.env', newenv):
         assert None == get_puppetmaster_host()
예제 #9
0
 def it_returns_the_first_puppetmaster_host_when_multiple_are_defined():
     newenv = {'roledefs':
         {'puppetmaster': ['master.example.com', 'master2.example.com']}
     }
     with patch.dict('fabric.api.env', newenv):
         assert 'master.example.com' == get_puppetmaster_host()
예제 #10
0
 def it_returns_the_host_in_the_puppetmaster_role():
     newenv = {'roledefs':
         {'puppetmaster': ['master.example.com']}
     }
     with patch.dict('fabric.api.env', newenv):
         assert 'master.example.com' == get_puppetmaster_host()