| Server IP : 77.68.64.21 / Your IP : 216.73.217.105 Web Server : Apache System : Linux hp3-wp-1011378.hostingp3.local 3.10.0-1160.144.1.el7.tuxcare.els9.x86_64 #1 SMP Fri Jul 10 17:06:31 UTC 2026 x86_64 User : csh2668128 ( 2112425) PHP Version : 8.1.34 Disable Function : shell_exec,exec,system,popen,set_time_limit MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/ruby/vendor_ruby/puppet/agent/ |
Upload File : |
require 'puppet/util/json_lockfile'
# This module is responsible for encapsulating the logic for
# "disabling" the puppet agent during a run; in other words,
# keeping track of enough state to answer the question
# "has the puppet agent been administratively disabled?"
#
# The implementation involves writing a lockfile with JSON
# contents, and is considered part of the public Puppet API
# because it used by external tools such as mcollective.
#
# For more information, please see docs on the website.
# http://links.puppetlabs.com/agent_lockfiles
module Puppet::Agent::Disabler
DISABLED_MESSAGE_JSON_KEY = "disabled_message"
# Let the daemon run again, freely in the filesystem.
def enable
Puppet.notice "Enabling Puppet."
disable_lockfile.unlock
end
# Stop the daemon from making any catalog runs.
def disable(msg=nil)
data = {}
Puppet.notice "Disabling Puppet."
if (! msg.nil?)
data[DISABLED_MESSAGE_JSON_KEY] = msg
end
disable_lockfile.lock(data)
end
def disabled?
disable_lockfile.locked?
end
def disable_message
data = disable_lockfile.lock_data
return nil if data.nil?
if data.has_key?(DISABLED_MESSAGE_JSON_KEY)
return data[DISABLED_MESSAGE_JSON_KEY]
end
nil
end
def disable_lockfile
@disable_lockfile ||= Puppet::Util::JsonLockfile.new(Puppet[:agent_disabled_lockfile])
@disable_lockfile
end
private :disable_lockfile
end