Como criar um usuário com o Puppet

1

Estou tentando criar um usuário com o Puppet, mas tudo o que tentei falhou.

Estou tentando criar um usuário chamado "capistrano" que será colocado no grupo "www-data". Eu fiz a seguinte configuração.

class capistranoDeps::user {
    user { "capistrano":
        ensure => present,
        comment => "Capistrano user",
        gid => 33,
        shell => "/bin/bash",
        require => Group["capistrano"],
    }
    group {"capistrano":
        ensure => present,
    }
}


class capistranoDeps::config {
    require capistranoDeps::user
    # Set permissions on webserver directories
    file {"/var/www/":
        ensure => directory,
        owner  => "capistrano",
        group  => "www-data",
        mode   => "775",
    }
...
}
class capistranoDeps {
    require tools
    include capistranoDeps::user,capistranoDeps::config
}

Quando tento executar essa configuração no meu host, recebo o seguinte erro:

root@app1:/etc/openvpn# puppet agent --server=puppet.domain --no-daemonize --verbose
notice: Starting Puppet client version 2.6.2
info: Caching catalog for app1.domain
err: Could not run Puppet configuration client: Could not find user capistrano

O usuário ainda não foi criado no host, pois é tarefa da Puppet fazê-lo. Os exemplos que eu encontrei em todo parecem ser os mesmos, mas como isso não está funcionando, estou definitivamente perdendo alguma coisa.

    
por Antoine Benkemoun 16.08.2011 / 14:23

1 resposta

2

"require" não faz o que você acha que faz - na verdade cria uma dependência.

Você quer usar "include" em vez disso na classe capistranoDeps :: config

include capistranoDeps::user

Para mais informações, veja também esta pergunta:

Qual é a diferença entre incluir e exigir no fantoche

    
por 16.08.2011 / 16:41

Tags