I'm no ruby expert... rather I'm a complete newbie, but I found that commenting out the places in the launchd provider (in stop and start) where it decides whether to use the -w switch (so it always includes that switch) makes the problem (well, MY problem) go away.
I haven't tested this on Leopard (10.5) so I'm not sure if this is something new to Snow Leopard. I'll try testing this on 10.5 later. I guess I should file a bug report after that. Here's the diff: --- launchd.rb +++ (clipboard) @@ -130,10 +130,10 @@ did_enable_job = false cmds = [] cmds << :launchctl << :load - if self.enabled? == :false # launchctl won't load disabled jobs - cmds << "-w" - did_enable_job = true - end + #if self.enabled? == :false # launchctl won't load disabled jobs + cmds << "-w" + did_enable_job = true + #end cmds << job_path begin execute(cmds) @@ -152,10 +152,10 @@ did_disable_job = false cmds = [] cmds << :launchctl << :unload - if self.enabled? == :true # keepalive jobs can't be stopped without disabling - cmds << "-w" - did_disable_job = true - end + #if self.enabled? == :true # keepalive jobs can't be stopped without disabling + cmds << "-w" + did_disable_job = true + #end cmds << job_path begin execute(cmds) On 30 Aug, 16:39, grandpa <john.axel.eriks...@gmail.com> wrote: > Doing another run reveals a bit more... perhaps I missed pasting that > part previously. > Here we can see what puppet executes. If I do the same from a terminal > I get "nothing found to load". > > launchctl unload -w /System/Library/LaunchDaemons/ssh.plist > then > launchctl load /System/Library/LaunchDaemons/ssh.plist > > to get this to actually load from a terminal the second command needs > to include the -w switch just like unload does, like so: > launchctl load -w /System/Library/LaunchDaemons/ssh.plist > > Dont understand why puppet doesn't... below is the debug/trace/verbose > output showing these commands. > > debug: Puppet::Type::Service::ProviderLaunchd: Executing '/bin/ > launchctl list' > debug: Service[com.openssh.sshd](provider=launchd): Executing > 'launchctl unload -w /System/Library/LaunchDaemons/ssh.plist' > debug: Service[com.openssh.sshd](provider=launchd): Executing > 'launchctl load /System/Library/LaunchDaemons/ssh.plist' > err: //macssh/Service[com.openssh.sshd]: Failed to call refresh on > Service[com.openssh.sshd]: Unable to start service: com.openssh.sshd > at path: /System/Library/LaunchDaemons/ssh.plist > /Library/Ruby/Site/1.8/puppet/provider/service/launchd.rb:141:in > `start' > /Library/Ruby/Site/1.8/puppet/provider/service/base.rb:50:in `restart' > /Library/Ruby/Site/1.8/puppet/type/service.rb:192:in `refresh' > /Library/Ruby/Site/1.8/puppet/transaction.rb:672:in `send' > /Library/Ruby/Site/1.8/puppet/transaction.rb:672:in `trigger' > /Library/Ruby/Site/1.8/puppet/transaction.rb:645:in `each' > /Library/Ruby/Site/1.8/puppet/transaction.rb:645:in `trigger' > /Library/Ruby/Site/1.8/puppet/transaction.rb:209:in `eval_resource' > /Library/Ruby/Site/1.8/puppet/transaction.rb:294:in `evaluate' > /Library/Ruby/Site/1.8/puppet/util.rb:425:in `thinmark' > /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ > gems/1.8/gems/activesupport-2.2.2/lib/active_support/core_ext/ > benchmark.rb:8:in `realtime' > /Library/Ruby/Site/1.8/puppet/util.rb:424:in `thinmark' > /Library/Ruby/Site/1.8/puppet/transaction.rb:293:in `evaluate' > /Library/Ruby/Site/1.8/puppet/transaction.rb:287:in `collect' > /Library/Ruby/Site/1.8/puppet/transaction.rb:287:in `evaluate' > /Library/Ruby/Site/1.8/puppet/resource/catalog.rb:139:in `apply' > /Library/Ruby/Site/1.8/puppet/configurer.rb:142:in `run' > /Library/Ruby/Site/1.8/puppet/util.rb:180:in `benchmark' > /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ > gems/1.8/gems/activesupport-2.2.2/lib/active_support/core_ext/ > benchmark.rb:8:in `realtime' > /Library/Ruby/Site/1.8/puppet/util.rb:179:in `benchmark' > /Library/Ruby/Site/1.8/puppet/configurer.rb:141:in `run' > /Library/Ruby/Site/1.8/puppet/agent.rb:53:in `run' > /Library/Ruby/Site/1.8/puppet/agent/locker.rb:21:in `lock' > /Library/Ruby/Site/1.8/puppet/agent.rb:53:in `run' > /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ > 1.8/sync.rb:229:in `synchronize' > /Library/Ruby/Site/1.8/puppet/agent.rb:53:in `run' > /Library/Ruby/Site/1.8/puppet/agent.rb:130:in `with_client' > /Library/Ruby/Site/1.8/puppet/agent.rb:51:in `run' > /Library/Ruby/Site/1.8/puppet/application/puppetd.rb:103:in `onetime' > /Library/Ruby/Site/1.8/puppet/application.rb:226:in `send' > /Library/Ruby/Site/1.8/puppet/application.rb:226:in `run_command' > /Library/Ruby/Site/1.8/puppet/application.rb:217:in `run' > /Library/Ruby/Site/1.8/puppet/application.rb:306:in `exit_on_fail' > /Library/Ruby/Site/1.8/puppet/application.rb:217:in `run' > /usr/sbin/puppetd:159 > > On 30 Aug, 15:51, grandpa <john.axel.eriks...@gmail.com> wrote: > > > > > The actual problem still seems to be with the provider. Doing a proper > > trace/debug/verbose I get this output: > > > debug: Service[com.openssh.sshd](provider=launchd): Executing > > 'launchctl load /System/Library/LaunchDaemons/ssh.plist' > > /Library/Ruby/Site/1.8/puppet/provider/service/launchd.rb:141:in > > `start' > > /Library/Ruby/Site/1.8/puppet/type/service.rb:61:in `set_running' > > /Library/Ruby/Site/1.8/puppet/property.rb:109:in `send' > > /Library/Ruby/Site/1.8/puppet/property.rb:109:in `call_valuemethod' > > /Library/Ruby/Site/1.8/puppet/property.rb:297:in `set' > > /Library/Ruby/Site/1.8/puppet/property.rb:367:in `sync' > > /Library/Ruby/Site/1.8/puppet/type/service.rb:72:in `sync' > > /Library/Ruby/Site/1.8/puppet/transaction/change.rb:54:in `go' > > /Library/Ruby/Site/1.8/puppet/transaction/change.rb:72:in `forward' > > /Library/Ruby/Site/1.8/puppet/transaction.rb:118:in `apply_changes' > > /Library/Ruby/Site/1.8/puppet/transaction.rb:111:in `collect' > > /Library/Ruby/Site/1.8/puppet/transaction.rb:111:in `apply_changes' > > /Library/Ruby/Site/1.8/puppet/transaction.rb:83:in `apply' > > /Library/Ruby/Site/1.8/puppet/transaction.rb:249:in > > `eval_children_and_apply_resource' > > /Library/Ruby/Site/1.8/puppet/util.rb:425:in `thinmark' > > /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ > > gems/1.8/gems/activesupport-2.2.2/lib/active_support/core_ext/ > > benchmark.rb:8:in `realtime' > > /Library/Ruby/Site/1.8/puppet/util.rb:424:in `thinmark' > > /Library/Ruby/Site/1.8/puppet/transaction.rb:248:in > > `eval_children_and_apply_resource' > > /Library/Ruby/Site/1.8/puppet/transaction.rb:205:in `eval_resource' > > /Library/Ruby/Site/1.8/puppet/transaction.rb:294:in `evaluate' > > /Library/Ruby/Site/1.8/puppet/util.rb:425:in `thinmark' > > /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ > > gems/1.8/gems/activesupport-2.2.2/lib/active_support/core_ext/ > > benchmark.rb:8:in `realtime' > > /Library/Ruby/Site/1.8/puppet/util.rb:424:in `thinmark' > > /Library/Ruby/Site/1.8/puppet/transaction.rb:293:in `evaluate' > > /Library/Ruby/Site/1.8/puppet/transaction.rb:287:in `collect' > > /Library/Ruby/Site/1.8/puppet/transaction.rb:287:in `evaluate' > > /Library/Ruby/Site/1.8/puppet/resource/catalog.rb:139:in `apply' > > /Library/Ruby/Site/1.8/puppet/configurer.rb:142:in `run' > > /Library/Ruby/Site/1.8/puppet/util.rb:180:in `benchmark' > > /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ > > gems/1.8/gems/activesupport-2.2.2/lib/active_support/core_ext/ > > benchmark.rb:8:in `realtime' > > /Library/Ruby/Site/1.8/puppet/util.rb:179:in `benchmark' > > /Library/Ruby/Site/1.8/puppet/configurer.rb:141:in `run' > > /Library/Ruby/Site/1.8/puppet/agent.rb:53:in `run' > > /Library/Ruby/Site/1.8/puppet/agent/locker.rb:21:in `lock' > > /Library/Ruby/Site/1.8/puppet/agent.rb:53:in `run' > > /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ > > 1.8/sync.rb:229:in `synchronize' > > /Library/Ruby/Site/1.8/puppet/agent.rb:53:in `run' > > /Library/Ruby/Site/1.8/puppet/agent.rb:130:in `with_client' > > /Library/Ruby/Site/1.8/puppet/agent.rb:51:in `run' > > /Library/Ruby/Site/1.8/puppet/application/puppetd.rb:103:in `onetime' > > /Library/Ruby/Site/1.8/puppet/application.rb:226:in `send' > > /Library/Ruby/Site/1.8/puppet/application.rb:226:in `run_command' > > /Library/Ruby/Site/1.8/puppet/application.rb:217:in `run' > > /Library/Ruby/Site/1.8/puppet/application.rb:306:in `exit_on_fail' > > /Library/Ruby/Site/1.8/puppet/application.rb:217:in `run' > > /usr/sbin/puppetd:159 > > err: //macssh/Service[com.openssh.sshd]/ensure: change from stopped to > > running failed: Unable to start service: com.openssh.sshd at path: / > > System/Library/LaunchDaemons/ssh.plist > > > On 30 Aug, 15:46, grandpa <john.axel.eriks...@gmail.com> wrote: > > > > And looking through the ruby code for provider launchd I see this: > > > > # start the service. To get to a state of running/enabled, we need to > > > # conditionally enable at load, then disable by modifying the > > > plist file > > > # directly. > > > def start > > > job_path, job_plist = plist_from_label(resource[:name]) > > > did_enable_job = false > > > cmds = [] > > > cmds << :launchctl << :load > > > if self.enabled? == :false # launchctl won't load disabled > > > jobs > > > cmds << "-w" > > > did_enable_job = true > > > end > > > cmds << job_path > > > begin > > > execute(cmds) > > > rescue Puppet::ExecutionFailure > > > raise Puppet::Error.new("Unable to start service: %s at > > > path: %s" % [resource[:name], job_path]) > > > end > > > # As load -w clears the Disabled flag, we need to add it in > > > after > > > if did_enable_job and resource[:enable] == :false > > > self.disable > > > end > > > end > > > > So I guess the -w switch is actually used... not sure where to go from > > > here. > > > > Anyone? > > > > /John > > > > On 30 Aug, 15:33, grandpa <john.axel.eriks...@gmail.com> wrote: > > > > > Talking to myself here ;-)... I've noticed in the man pages for > > > > launchctl in Snow Leopard this: > > > > > -w Overrides the Disabled key and sets it to false. In previous > > > > versions, this option would modify the configuration file. Now the > > > > state of the Disabled key is stored elsewhere on-disk. > > > > > So I guess the behavior DID change... whatever "previous versions" > > > > mean. > > > > > Should I file a bug report? > > > > > /John > > > > > On 30 Aug, 15:30, grandpa <john.axel.eriks...@gmail.com> wrote: > > > > > > Forgot to add that I'm running Snow Leopard... > > > > > > I've noticed that to start the ssh server from terminal I must do: > > > > > launchctl load -w /System/Library/LaunchDaemons/ssh.plist > > > > > > Notice the -w switch. Without it I just get "nothing found to load"... > > > > > > I wonder if this is new to Snow Leopard? > > > > > > /John > > > > > > On 30 Aug, 15:06, grandpa <john.axel.eriks...@gmail.com> wrote: > > > > > > > Anyone out there who've tried updating sshd_config on macs and > > > > > > restarting / ensure running the ssh server? > > > > > > > I've found that this ALMOST works: > > > > > > > service { > > > > > > "com.openssh.sshd": > > ... > > läs mer » --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en -~----------~----~----~----~------~----~------~--~---