Class import behaviour not consistent "rake puppet:import:puppet_classes" x "UI"
I was assuming and hoping "rake puppet:import:puppet_classes" and "Import new puppet classes and environments" (button in the UI) would share the same code and behaviour but this doesn's seem to be the case.
When I run the rake task I get:
No changes detected
When I clink on the Import button via the UI I get:
Unable to find directory /etc/puppet/modules in environment production
I've tried to set an empty string in Foreman's "modulepath" setting and then by clicking in the import via UI it wants to delete all classes from all environments (Weird!).
#3 Updated by Olivier Le Cam over 7 years ago
I face the same problem. Here is my puppet.conf:
[main] logdir=/var/log/puppet vardir=/var/lib/puppet ssldir=/var/lib/puppet/ssl rundir=/var/run/puppet factpath=$vardir/lib/facter templatedir=$confdir/templates server=puppet.mydomain.tld external_nodes=/etc/puppet/external_node.rb node_terminus=exec #pluginsync=true reports=log,foreman [master] ssl_client_header = SSL_CLIENT_S_DN ssl_client_verify_header = SSL_CLIENT_VERIFY storeconfigs=true #thin_storeconfigs = true dbadapter=mysql dbuser=puppet dbpassword=secret dbserver=localhost dbsocket=/var/run/mysqld/mysqld.sock [production] modulepath=/etc/puppet/modules [dev] modulepath=/etc/puppet/modules [staging] modulepath=/etc/puppet/modules
#5 Updated by Ashley Penney over 7 years ago
Same for me:
- Where Puppet stores dynamic and growing data.
- The default value is '/var/puppet'.
vardir = /var/lib/puppet
- The Puppet log directory.
- The default value is '$vardir/log'.
logdir = /var/log/puppet
- Where Puppet PID files are kept.
- The default value is '$vardir/run'.
rundir = /var/run/puppet
- Where SSL certificates are kept.
- The default value is '$confdir/ssl'.
ssldir = $vardir/ssl
environment = development
pluginsync = true
factpath = $vardir/lib/facter
report = true
- The file in which puppetd stores a list of the classes
- associated with the retrieved configuratiion. Can be loaded in
- the separate ``puppet`` executable using the ``--loadclasses``
- The default value is '$confdir/classes.txt'.
classfile = $vardir/classes.txt
- Where puppetd caches the local configuration. An
- extension indicating the cache format is added automatically.
- The default value is '$confdir/localconfig'.
localconfig = $vardir/localconfig
- Refine templatedir.
templatedir = /etc/puppet/templates
factpath = /etc/puppet/facts
environment = development
autosign = /etc/puppet/autosign.conf
storeconfigs = true
dbadapter = postgresql
dbuser = puppet
dbpassword = xxx
dbserver = localhost
dbname = puppet
ssl_client_header = SSL_CLIENT_S_DN
ssl_client_verify_header = SSL_CLIENT_VERIFY
modulepath = /etc/puppet/modules/development
#6 Updated by Romain Vrignaud over 7 years ago
In my installation, I think that this bug is due to the usage of Foreman user.
Rake command works fine used by root but act just like the WUI when used by foreman user.
So WUI and rake are consistent.
OS : Debian 6
Installation GIT & deb nightly (same behaviour)
Run with passenger with user foreman.