1 votes

En essayant de lancer Puppet, on obtient "Error : Impossible de trouver la classe"

Tout d'abord, pour être honnête, je suis assez nouveau dans le monde de Puppet. J'essaie de construire un script de Puppet pour mon serveur.

voici comment ma structure Puppet ressemble à ceci

.
|-- 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

voici comment mon node.pp y site.pp ressemble à ça.

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

y

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

et enfin mon sudoers.pp ressemble à ceci.

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

Une idée de ce que je fais mal.

J'utilise le puppet comme ceci.

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

mon puppet version est 3.8.4

2voto

veggerby Points 5824

Lorsque vous construisez un module, vous devez avoir une init.pp dans le répertoire manifests.

Renommez-la pour qu'elle ressemble à ceci :

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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X