summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLamont Granquist <lamont@scriptkiddie.org>2018-01-23 12:11:01 -0800
committerGitHub <noreply@github.com>2018-01-23 12:11:01 -0800
commit9f78fdbdbdf43659ce2c13f2838e7db2178c5726 (patch)
treef94decb6f0e62000309b4461dcf742f220731304
parenta7202f77460729090f95e4ff995f4ab1c0898bba (diff)
downloadchef-9f78fdbdbdf43659ce2c13f2838e7db2178c5726.tar.gz
Revert "Fail on interval runs on windows"
-rw-r--r--lib/chef/application/client.rb17
-rw-r--r--lib/chef/application/solo.rb21
-rw-r--r--spec/unit/application/client_spec.rb6
-rw-r--r--spec/unit/application/solo_spec.rb4
4 files changed, 12 insertions, 36 deletions
diff --git a/lib/chef/application/client.rb b/lib/chef/application/client.rb
index f839ef25df..32530925d5 100644
--- a/lib/chef/application/client.rb
+++ b/lib/chef/application/client.rb
@@ -2,7 +2,7 @@
# Author:: AJ Christensen (<aj@chef.io)
# Author:: Christopher Brown (<cb@chef.io>)
# Author:: Mark Mzyk (mmzyk@chef.io)
-# Copyright:: Copyright 2008-2018, Chef Software Inc.
+# Copyright:: Copyright 2008-2016, Chef Software, Inc.
# License:: Apache License, Version 2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -360,12 +360,8 @@ class Chef::Application::Client < Chef::Application
Chef::Config[:splay] = nil
end
- if Chef::Config[:interval]
- if Chef::Platform.windows?
- Chef::Application.fatal!(windows_interval_error_message)
- elsif !Chef::Config[:client_fork]
- Chef::Application.fatal!(unforked_interval_error_message)
- end
+ if !Chef::Config[:client_fork] && Chef::Config[:interval] && !Chef::Platform.windows?
+ Chef::Application.fatal!(unforked_interval_error_message)
end
if Chef::Config[:json_attribs]
@@ -512,13 +508,6 @@ class Chef::Application::Client < Chef::Application
end
end
- def windows_interval_error_message
- "Windows chef-client interval runs are disabled in Chef 14." +
- "\nConfiguration settings:" +
- "#{"\n interval = #{Chef::Config[:interval]} seconds" if Chef::Config[:interval]}" +
- "\nPlease install chef-client as a Windows service or scheduled task instead."
- end
-
def unforked_interval_error_message
"Unforked chef-client interval runs are disabled in Chef 12." +
"\nConfiguration settings:" +
diff --git a/lib/chef/application/solo.rb b/lib/chef/application/solo.rb
index b255951e3f..6b4aef42b4 100644
--- a/lib/chef/application/solo.rb
+++ b/lib/chef/application/solo.rb
@@ -1,7 +1,7 @@
#
# Author:: AJ Christensen (<aj@chef.io>)
# Author:: Mark Mzyk (mmzyk@chef.io)
-# Copyright:: Copyright 2008-2018, Chef Software Inc.
+# Copyright:: Copyright 2008-2018, Chef Software, Inc.
# License:: Apache License, Version 2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -261,13 +261,7 @@ class Chef::Application::Solo < Chef::Application
Chef::Config[:interval] ||= 1800
end
- if Chef::Config[:interval]
- if Chef::Platform.windows?
- Chef::Application.fatal!(windows_interval_error_message)
- elsif !Chef::Config[:client_fork]
- Chef::Application.fatal!(unforked_interval_error_message)
- end
- end
+ Chef::Application.fatal!(unforked_interval_error_message) if !Chef::Config[:client_fork] && Chef::Config[:interval]
if Chef::Config[:recipe_url]
cookbooks_path = Array(Chef::Config[:cookbook_path]).detect { |e| Pathname.new(e).cleanpath.to_s =~ /\/cookbooks\/*$/ }
@@ -369,17 +363,10 @@ EOH
end
end
- def windows_interval_error_message
- "Windows chef-solo interval runs are disabled in Chef 14." +
- "\nConfiguration settings:" +
- "#{"\n interval = #{Chef::Config[:interval]} seconds" if Chef::Config[:interval]}" +
- "\nPlease install chef-solo as a Windows service or scheduled task instead."
- end
-
def unforked_interval_error_message
- "Unforked chef-solo interval runs are disabled in Chef 12." +
+ "Unforked chef-client interval runs are disabled in Chef 12." +
"\nConfiguration settings:" +
"#{"\n interval = #{Chef::Config[:interval]} seconds" if Chef::Config[:interval]}" +
- "\nEnable chef-solo interval runs by setting `:client_fork = true` in your config file or adding `--fork` to your command line options."
+ "\nEnable chef-client interval runs by setting `:client_fork = true` in your config file or adding `--fork` to your command line options."
end
end
diff --git a/spec/unit/application/client_spec.rb b/spec/unit/application/client_spec.rb
index 4f1558267e..825a4e7aac 100644
--- a/spec/unit/application/client_spec.rb
+++ b/spec/unit/application/client_spec.rb
@@ -1,6 +1,6 @@
#
# Author:: AJ Christensen (<aj@junglist.gen.nz>)
-# Copyright:: Copyright 2008-2018, Chef Software Inc.
+# Copyright:: Copyright 2008-2016, Chef Software Inc.
# License:: Apache License, Version 2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -209,8 +209,8 @@ Enable chef-client interval runs by setting `:client_fork = true` in your config
allow(ChefConfig).to receive(:windows?).and_return(true)
end
- it "should terminate" do
- expect(Chef::Application).to receive(:fatal!)
+ it "should not terminate" do
+ expect(Chef::Application).not_to receive(:fatal!)
app.reconfigure
end
end
diff --git a/spec/unit/application/solo_spec.rb b/spec/unit/application/solo_spec.rb
index f613cd956d..5b9dbeaafd 100644
--- a/spec/unit/application/solo_spec.rb
+++ b/spec/unit/application/solo_spec.rb
@@ -69,10 +69,10 @@ describe Chef::Application::Solo do
it "should terminate with message" do
expect(Chef::Application).to receive(:fatal!).with(
- "Unforked chef-solo interval runs are disabled in Chef 12.
+ "Unforked chef-client interval runs are disabled in Chef 12.
Configuration settings:
interval = 600 seconds
-Enable chef-solo interval runs by setting `:client_fork = true` in your config file or adding `--fork` to your command line options."
+Enable chef-client interval runs by setting `:client_fork = true` in your config file or adding `--fork` to your command line options."
)
app.reconfigure
end