class Chef::Resource::ChefClientLaunchd
Public Instance Methods
client_command()
click to toggle source
random sleep time + chef-client + daemon option properties + license acceptance
@return [String]
# File lib/chef/resource/chef_client_launchd.rb, line 181 def client_command cmd = "" cmd << "/bin/sleep #{splay_sleep_time(new_resource.splay)};" cmd << " #{new_resource.chef_binary_path}" cmd << " #{new_resource.daemon_options.join(" ")}" unless new_resource.daemon_options.empty? cmd << " -c #{::File.join(new_resource.config_directory, "client.rb")}" cmd << " -L #{::File.join(new_resource.log_directory, new_resource.log_file_name)}" cmd << " --chef-license accept" if new_resource.accept_chef_license cmd end
splay_sleep_time(splay)
click to toggle source
Generate a uniformly distributed unique number to sleep from 0 to the splay time
@param [Integer] splay The number of seconds to splay
@return [Integer]
# File lib/chef/resource/chef_client_launchd.rb, line 170 def splay_sleep_time(splay) seed = node["shard_seed"] || Digest::MD5.hexdigest(node.name).to_s.hex random = Random.new(seed.to_i) random.rand(splay) end