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.

Reply via email to