summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJacob Helwig <jacob@puppetlabs.com>2011-07-08 11:25:03 -0700
committerJacob Helwig <jacob@puppetlabs.com>2011-08-19 13:48:28 -0700
commit9ebe500c496f76c5678fcde9c52d65c8282c9fe6 (patch)
treebccce5333a81fa5137a50228aa45182bb9067e5a
parent7467a08368b09e8e36c40b5013e3774c76123b85 (diff)
downloadpuppet-9ebe500c496f76c5678fcde9c52d65c8282c9fe6.tar.gz
puppet-9ebe500c496f76c5678fcde9c52d65c8282c9fe6.tar.xz
puppet-9ebe500c496f76c5678fcde9c52d65c8282c9fe6.zip
Disable the master on Windows instead of blowing up with failed resources
Running the Puppet master on Windows is not supported, so instead of failing with what can be cryptic error messages about failed resources we fail with an explicit error message about the master on Windows not being supported. This way a user isn't mistakenly given the impression that running a master on Windows will work, and they just have something mis-configured. Signed-off-by: Jacob Helwig <jacob@puppetlabs.com> Reviewed-by: Max Martin <max@puppetlabs.com> (cherry picked from commit 3a70503b60f9fd51177df4e9267c5ac28b06fb2d)
-rw-r--r--lib/puppet/application/master.rb2
-rwxr-xr-xspec/unit/application/master_spec.rb7
2 files changed, 8 insertions, 1 deletions
diff --git a/lib/puppet/application/master.rb b/lib/puppet/application/master.rb
index 18425c8bc..b4da770f0 100644
--- a/lib/puppet/application/master.rb
+++ b/lib/puppet/application/master.rb
@@ -206,6 +206,8 @@ Copyright (c) 2011 Puppet Labs, LLC Licensed under the Apache 2.0 License
end
def setup
+ raise Puppet::Error.new("Puppet master is not supported on Microsoft Windows") if Puppet.features.microsoft_windows?
+
# Handle the logging settings.
if options[:debug] or options[:verbose]
if options[:debug]
diff --git a/spec/unit/application/master_spec.rb b/spec/unit/application/master_spec.rb
index 2f6a328e2..e36df8caa 100755
--- a/spec/unit/application/master_spec.rb
+++ b/spec/unit/application/master_spec.rb
@@ -106,7 +106,6 @@ describe Puppet::Application::Master do
end
describe "during setup" do
-
before :each do
Puppet::Log.stubs(:newdestination)
Puppet.stubs(:settraps)
@@ -117,6 +116,12 @@ describe Puppet::Application::Master do
@master.options.stubs(:[]).with(any_parameters)
end
+ it "should abort stating that the master is not supported on Windows" do
+ Puppet.features.stubs(:microsoft_windows?).returns(true)
+
+ expect { @master.setup }.to raise_error(Puppet::Error, /Puppet master is not supported on Microsoft Windows/)
+ end
+
it "should set log level to debug if --debug was passed" do
@master.options.stubs(:[]).with(:debug).returns(true)
@master.setup