Sha256: 2cb4b2daed5728f821c02602db37a4ec9efea17f4dfa27aa19a5e000f491b538
Contents?: true
Size: 1.95 KB
Versions: 3
Compression:
Stored size: 1.95 KB
Contents
class Puppet::Network::Handler class MissingMasterError < RuntimeError; end # Cannot find the master client # A simple server for triggering a new run on a Puppet client. class Runner < Handler desc "An interface for triggering client configuration runs." @interface = XMLRPC::Service::Interface.new("puppetrunner") { |iface| iface.add_method("string run(string, string)") } side :client # Run the client configuration right now, optionally specifying # tags and whether to ignore schedules def run(tags = nil, ignoreschedules = false, fg = true, client = nil, clientip = nil) # We need to retrieve the client master = Puppet::Network::Client.client(:Master).instance unless master raise MissingMasterError, "Could not find the master client" end if Puppet::Util::Pidlock.new(Puppet[:puppetdlockfile]).locked? Puppet.notice "Could not trigger run; already running" return "running" end if tags == "" tags = nil end if ignoreschedules == "" ignoreschedules == nil end msg = "" if client msg = "%s(%s) " % [client, clientip] end msg += "triggered run" % if tags msg += " with tags %s" % tags end if ignoreschedules msg += " without schedules" end Puppet.notice msg # And then we need to tell it to run, with this extra info. if fg master.run(tags, ignoreschedules) else Puppet.newthread do master.run(tags, ignoreschedules) end end return "success" end end end # $Id: runner.rb 2479 2007-05-07 22:29:44Z luke $
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
puppet-0.23.0 | lib/puppet/network/handler/runner.rb |
puppet-0.23.1 | lib/puppet/network/handler/runner.rb |
puppet-0.23.2 | lib/puppet/network/handler/runner.rb |