Issue #5210 has been updated by Andrew Forgue.
There is no plist when this is run -- it didn't even get copied yet. That error
is the first log message that is displayed.
There's no plist mismatch because the catalog compiles and all the resources
resolve (says cucumber-puppet).
Here's the plist:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>net.sourceforge.ganglia</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/sbin/gmond</string>
<string>-c</string>
<string>/usr/local/etc/gmond.conf</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
Redmine messed up the formatting.
File resource:
file { "/Library/LaunchDaemons/net.sourceforge.ganglia.plist":
mode => 755,
source =>
"puppet:///modules/ganglia/files/Library/LaunchDaemon/net.sourceforge.ganglia.plist";
}
Service resource:
service {
gmond:
enable => true,
ensure => running,
name => "net.sourceforge.ganglia",
provider => "launchd",
require => [
File["/Library/LaunchDaemons/net.sourceforge.ganglia.plist"] ],
subscribe => [
File["/Library/LaunchDaemons/net.sourceforge.ganglia.plist"],
Pkg_deploy["ganglia"] ];
}
----------------------------------------
Bug #5210: launchd provider calls enabled? on missing launchd provider
https://projects.puppetlabs.com/issues/5210
Author: Andrew Forgue
Status: Needs more information
Priority: Normal
Assignee: Nigel Kersten
Category:
Target version:
Affected Puppet version: 2.6.3rc2
Keywords:
Branch:
It seems that the launchd provider calls enabled? on services in the catalog,
even if those services haven't been installed yet.
>From my testing, on a brand new box without puppet we load a new launchd
>service onto the service with a
service { "net.sourceforge.ganglia":
require => File["/Library/LaunchDaemons/net.sourceforge.ganglia"],
...
}
If the file doesn't exist (as it wouldn't on puppet run) the catalog apply
fails with:
err: Could not run Puppet configuration client: Unable to find launchd
plist for job: net.sourceforge.ganglia
I would think this is an acceptable error condition as puppet hasn't put the
plist on the server yet. So maybe the enabled? is being called without
processing the rrequire => directives. We have an in-code workaround of
catching Pupppet::Error from plist_from_label and returning :false in enabled?()
--
You have received this notification because you have either subscribed to it,
or are involved in it.
To change your notification preferences, please click here:
http://projects.puppetlabs.com/my/account
--
You received this message because you are subscribed to the Google Groups
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/puppet-bugs?hl=en.