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 <[email protected]>
Reviewed-by: Max Martin <[email protected]>
---
 lib/puppet/application/master.rb     |    2 ++
 spec/unit/application/master_spec.rb |    7 ++++++-
 2 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/lib/puppet/application/master.rb b/lib/puppet/application/master.rb
index 18425c8..b4da770 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 2f6a328..e36df8c 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
-- 
1.7.6

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en.

Reply via email to