Tentando executar o rendimento dos fantoches “Error: Could not find class”

1
Em primeiro lugar, para ser honesto, sou muito novo no mundo dos fantoches. Estou tentando construir um script de marionetes para o meu servidor.

aqui como minha estrutura de fantoches se parece com isso

.
|-- environments
|   '-- example_env
|       |-- manifests
|       |-- modules
|       '-- README.environment
|-- manifests
|   |-- node.pp
|   '-- site.pp
|-- modules
|   |-- nginx
|   |   '-- manifests
|   |       '-- nginx.pp
|   |-- sudoers
|   |   |-- files
|   |   |   '-- sudoers
|   |   '-- manifests
|   |       '-- sudoers.pp
|   '-- users
|       '-- manifests
|           '-- users.pp
|-- puppet.conf
'-- templates

aqui como meus node.pp e site.pp se parecem com isso.

# /etc/puppet/manifests/node.pp
node werain {
  include sudoers
} 

e

 # etc/puppet/manifests/site.pp
 import 'node.pp'

e, finalmente, meu arquivo sudoers.pp é assim.

# /etc/puppet/modules/sudoers/manifests/sudoers.pp
class sudoers {
  file { '/etc/sudoers':
    mode: '0400',
    source: 'puppet:///modules/sudoers/sudoers',
    owner: 'root',
    group: 'root'
  }
}

Qualquer pista do que estou fazendo de errado.

Estou executando o comando puppet dessa forma.

puppet apply /etc/puppet/manifests/site.pp --modulepath=/etc/puppet/modules/

minha versão puppet é 3.8.4

    
por Viren 20.12.2015 / 09:44

1 resposta

2

quando você cria um módulo, você precisa ter um arquivo init.pp no diretório manifests.

Renomeie para ficar assim:

# /etc/puppet/modules/sudoers/manifests/init.pp
class sudoers {
  file { '/etc/sudoers':
    mode: '0400',
    source: 'puppet:///modules/sudoers/sudoers',
    owner: 'root',
    group: 'root'
  }
}
    
por 22.12.2015 / 15:10