diff options
author | Tim Smith <tsmith84@gmail.com> | 2020-08-27 16:13:40 -0700 |
---|---|---|
committer | Tim Smith <tsmith84@gmail.com> | 2020-08-27 16:13:40 -0700 |
commit | 1ebf2e1f232af535ff2c4cb78579de62707362cb (patch) | |
tree | dc163b7d8364f0c208cd4936e7e828b311ba15db /lib | |
parent | 20ce378890ca7991a23391000d6f7135a2c52841 (diff) | |
download | chef-1ebf2e1f232af535ff2c4cb78579de62707362cb.tar.gz |
Use bash to run sleep/chef-client in chef_client_launchdclient_updates
My googling tells me this is the recommended way to run multiple commands.
Signed-off-by: Tim Smith <tsmith@chef.io>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/chef/resource/chef_client_launchd.rb | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/lib/chef/resource/chef_client_launchd.rb b/lib/chef/resource/chef_client_launchd.rb index 43d7e9bb8f..a2b024c030 100644 --- a/lib/chef/resource/chef_client_launchd.rb +++ b/lib/chef/resource/chef_client_launchd.rb @@ -114,7 +114,7 @@ class Chef username new_resource.user working_directory new_resource.working_directory start_interval new_resource.interval * 60 - program_arguments client_command + program_arguments ["/bin/bash", "-c", client_command] environment_variables new_resource.environment unless new_resource.environment.empty? nice new_resource.nice low_priority_io true @@ -146,19 +146,16 @@ class Chef # # random sleep time + chef-client + daemon option properties + license acceptance # - # @return [Array] + # @return [String] # def client_command - cmd = ["/bin/sleep", - "#{splay_sleep_time(new_resource.splay)};", - new_resource.chef_binary_path] + - new_resource.daemon_options + - ["-c", - ::File.join(new_resource.config_directory, "client.rb"), - "-L", - ::File.join(new_resource.log_directory, new_resource.log_file_name), - ] - cmd.append("--chef-license", "accept") if new_resource.accept_chef_license + 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 end |