Puppet: System Administration Automated

Support

Ticket #554 (closed defect: worksforme)

Opened 2 years ago

Last modified 2 years ago

reportdir and rrddir must be defined in puppetmasterd.conf

Reported by: mccune Assigned to: luke
Priority: normal Milestone:
Component: library Version: 0.22.2
Severity: normal Keywords: puppetmasterd, reportdir, rrddir
Cc: Triage Stage: Unreviewed
Attached Patches: None Complexity: Unknown

Description

Impact Data

Low: This problem has a clear work-around. Simply set:

reportdir = $vardir/reports
rrddir = $vardir/rrd

in puppetmasterd.conf

Summary

When moving from 0.22.1 to 0.22.2, I ran into the following issue starting up puppet:

err: /puppetconfig/reporting/File[/Library/Puppet/Generated/Server/var/reports]/ensure: change from absent to directory failed: Cannot create /Library/Puppet/Generated/Server/var/reports; parent directory /Library/Puppet/Generated/Server/var does not exist
err: /puppetconfig/metrics/File[/Library/Puppet/Generated/Server/var/rrd]/ensure: change from absent to directory failed: Cannot create /Library/Puppet/Generated/Server/var/rrd; parent directory /Library/Puppet/Generated/Server/var does not exist 

However, the parent directory does exist.

Expected Behavior

puppetmasterd should create the directory.

Actual Behavior

puppetmasterd doesn't seem to be setting the default value of these configuration options correctly when they are not explicitly set in the configuration file.

Regression

Problem exists in 0.22.2 with ruby 1.8.4, 1.8.5p35, 1.8.6 on CentOS 4.4.

Problem does not exist in 0.22.1.

Other Information

Failing puppetmasterd.conf:

[puppet]
    confdir           = /Library/Puppet/Versioned/Server/complete/puppet
    vardir            = /Library/Puppet/Generated/Server/var
    ssldir            = /Library/Puppet/Generated/Server/SSL
    logdir            = $vardir/logs
    rundir            = $vardir/run
    templatedir       = $vardir/templates
    plugindest        = $vardir/plugins
    setpidfile        = true
    statedir          = $vardir/state
    statefile         = $statedir/state.yaml
    graphdir          = $statedir/graphs
    graph             = true
    syslogfacility    = daemon

[puppetd]
    server = puppet
    # config = $confdir/puppetd.conf
    # runinterval = 1800
    # noop = false
    localconfig = $statedir/localconfig
    classfile = $statedir/classes.txt
    # puppetport = 8139
    # puppetdlog = $logdir/puppetd.log
    listen = true
    puppetdlockfile = $statedir/puppetdlock
    usecacheonfailure = true
    # reportserver = $server
    # report = false
    configtimeout = 120

[puppetmasterd]
    user = 0
    group = 0
    masterport = 8171
    manifest = $manifestdir/site.pp
    node_name = facter
    manifestdir = /Library/Puppet/Versioned/Server/complete/manifests
    # masterlog = $logdir/puppetmaster.log
    # masterhttplog = $logdir/masterhttp.log
    bucketdir = $vardir/bucket

[ast]
    paramcheck = true
    typecheck = true

[certificates]
    privatekeydir = $ssldir
    hostprivkey = $ssldir/host_key.pem
    publickeydir = $ssldir
    hostpubkey = $ssldir/host_pub.pem
    certdir = $ssldir
    localcacert = $ssldir/ca-trusted.pem
    hostcert = $ssldir/host_cert.pem
    privatedir = $ssldir/private

[ca]
    cadir = $ssldir/ca
    capub = $cadir/ca_pub.pem
    ca_ttl = 5y
    caprivatedir = $cadir/private
    cacert = $cadir/ca_crt.pem
    ca_md = md5
    signeddir = $cadir/signed
    csrdir = $cadir/requests
    req_bits = 2048
    capass = $caprivatedir/ca.pass
    autosign = $confdir/autosign.conf
    cakey = $cadir/ca_key.pem
    ca = true

[fileserver]
    fileserverconfig = $confdir/fileserver.conf

[filebucket]
    clientbucketdir = $vardir/clientbucket

[reporting]
    # reports = store
    # reportdir = $vardir/reports

[metrics]
    # rrdinterval = $runinterval
    # rrddir = $vardir/rrd
    # rrdgraph = false

[transaction]
    # evaltrace = false
    # tags = 

Change History

04/05/07 22:57:50 changed by luke

  • specification set to Unnecessary.
  • patch set to None.
  • complexity set to Unknown.
  • approval set to Unnecessary.
  • compatibility set to Unknown.
  • stage set to Unreviewed.

Can you confirm this on any other platforms? I've not experienced it anywhere, and the unit tests should fail if this is the case.

04/19/07 22:40:31 changed by mccune

  • status changed from new to closed.
  • resolution set to worksforme.

Resolved

Neither Luke, nor I (the reporter) can reproduce this anymore.

This is not a problem in 0.22.3.