stephenrjohnson / puppetmodule

A Puppet configuration manager for puppet agent, master, and puppetdb
http://forge.puppetlabs.com/stephenrjohnson/puppet
30 stars 62 forks source link

agent error on version 3.3.1 #32

Closed schoekek closed 10 years ago

schoekek commented 10 years ago

Hi,

i use your Module to configure all my puppet agents.... On all OS is this ok, but on SLES i became on error.... Here ist the config:

class { 'puppet::agent':
               puppet_server => "puppet.org.local",
               environment => "test",
          }

i have this issue on puppet agent version 3.3.1, facter version is 1.7.3 on SLES.

Failed to apply catalog: Parameter path failed on File[undef]: File paths must be fully qualified, not 'undef' at /etc/puppet/test/modules/puppet/manifests/agent.pp:150 Wrapped exception: File paths must be fully qualified, not 'undef' 

regards Karsten

stephenrjohnson commented 10 years ago

Ok I know what the problem is can you confirm the following variables are correct and I'll push a new release

  $puppet_master_package        = 'puppet-server'
  $puppet_master_service        = 'puppetmaster'
  $puppet_agent_service         = 'puppet'
  $puppet_agent_package         = 'puppet'
  $puppet_defaults              = '/etc/sysconfig/puppet'
  $puppet_conf                  = '/etc/puppet/puppet.conf'
  $puppet_vardir                = '/var/lib/puppet'
  $puppet_ssldir                = '/var/lib/puppet/ssl'
  $passenger_package            = 'mod_passenger'
  $rack_package                 = 'rubygem-rack'
schoekek commented 10 years ago

oh, thx for the verry fast feedback!

From where are this variables?

Here are the config, On Master:

[main]
logdir=/var/log/puppet
vardir=/var/lib/puppet
ssldir=/var/lib/puppet/ssl
rundir=/var/run/puppet
factpath=$vardir/lib/facter
pluginsync = true

[master]
# These are needed when the puppetmaster is run by passenger
# and can safely be removed if webrick is used.
ssl_client_header = SSL_CLIENT_S_DN
ssl_client_verify_header = SSL_CLIENT_VERIFY
reports = store, http
reporturl = http://puppet.org.local/reports/upload
modulepath = $confdir/$environment/modules:$confdir/modules

[production]
manifest = $confdir/production/manifests/site.pp
templatedir=$confdir/production/templates
modulepath = $confdir/production/modules
fileserverconfig = /etc/puppet/fileserver_prod.conf

[test]
manifest = $confdir/test/manifests/site.pp
templatedir=$confdir/test/templates
modulepath = $confdir/test/modules
fileserverconfig = /etc/puppet/fileserver_test.conf

[agent]
report = true

On Client (SLES)

[main]
    # 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
    pluginsync = true

[agent]
    # 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``
    # option.
    # 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

environment = test
stephenrjohnson commented 10 years ago

My last commit on master adds beta suse support

schoekek commented 10 years ago

Hi Steven,

it works for me on my SLES server. Thx for the quick patch,

happy Eastern!

Regard Karsten

stephenrjohnson commented 10 years ago

No problem, if / when you have time can you test the puppet master install as well. Hopefully I'll get some time over the weekend to move from rspec-system to beaker and get some time to write some Suse tests.

Bellow are the follow tests,

puppet apply -e "class { 'puppet::master': storeconfigs => true }"

and

puppet apply -e "class { 'puppet::master': storeconfigs => false }"