Sha256: 75ba8ea4740c7aebd582e2e3fb2cf2f39ad33c2c6cd76dc0d2e7e534181b01e2
Contents?: true
Size: 1.86 KB
Versions: 1
Compression:
Stored size: 1.86 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 @interface = XMLRPC::Service::Interface.new("puppetrunner") { |iface| iface.add_method("string run(string, string)") } # 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 2259 2007-03-06 19:03:05Z luke $
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
puppet-0.22.4 | lib/puppet/network/handler/runner.rb |