summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/puppet/defaults.rb17
-rw-r--r--lib/puppet/indirector/report/rest.rb2
-rwxr-xr-xspec/integration/defaults.rb29
-rwxr-xr-x[-rw-r--r--]spec/unit/indirector/report/rest.rb19
4 files changed, 64 insertions, 3 deletions
diff --git a/lib/puppet/defaults.rb b/lib/puppet/defaults.rb
index b1fddc3a3..c45cf826f 100644
--- a/lib/puppet/defaults.rb
+++ b/lib/puppet/defaults.rb
@@ -542,8 +542,21 @@ module Puppet
before considering it a failure. This can help reduce flapping if too
many clients contact the server at one time."
],
- :reportserver => ["$server",
- "The server to which to send transaction reports."
+ :reportserver => {
+ :default => "$server",
+ :call_on_define => false,
+ :desc => "(Deprecated for 'report_server') The server to which to send transaction reports.",
+ :hook => proc do |value|
+ if value
+ Puppet.settings[:report_server] = value
+ end
+ end
+ },
+ :report_server => ["$server",
+ "The server to which to send transaction reports."
+ ],
+ :report_port => ["$masterport",
+ "The port to communicate with the report_server."
],
:report => [false,
"Whether to send reports after every transaction."
diff --git a/lib/puppet/indirector/report/rest.rb b/lib/puppet/indirector/report/rest.rb
index 905b71a5d..f92d1edd3 100644
--- a/lib/puppet/indirector/report/rest.rb
+++ b/lib/puppet/indirector/report/rest.rb
@@ -2,4 +2,6 @@ require 'puppet/indirector/rest'
class Puppet::Transaction::Report::Rest < Puppet::Indirector::REST
desc "Get server report over HTTP via REST."
+ use_server_setting(:report_server)
+ use_port_setting(:report_port)
end
diff --git a/spec/integration/defaults.rb b/spec/integration/defaults.rb
index b2e5a829c..38a4e16b1 100755
--- a/spec/integration/defaults.rb
+++ b/spec/integration/defaults.rb
@@ -157,4 +157,33 @@ describe "Puppet defaults" do
it "should have a setting for determining the configuration version and should default to an empty string" do
Puppet.settings[:config_version].should == ""
end
+
+ describe "when enabling reports" do
+ it "should use the default server value when report server is unspecified" do
+ Puppet.settings[:server] = "server"
+ Puppet.settings[:report_server].should == "server"
+ end
+
+ it "should use the default masterport value when report port is unspecified" do
+ Puppet.settings[:masterport] = "1234"
+ Puppet.settings[:report_port].should == "1234"
+ end
+
+ it "should set report_server when reportserver is set" do
+ Puppet.settings[:reportserver] = "reportserver"
+ Puppet.settings[:report_server].should == "reportserver"
+ end
+
+ it "should use report_port when set" do
+ Puppet.settings[:masterport] = "1234"
+ Puppet.settings[:report_port] = "5678"
+ Puppet.settings[:report_port].should == "5678"
+ end
+
+ it "should prefer report_server over reportserver" do
+ Puppet.settings[:reportserver] = "reportserver"
+ Puppet.settings[:report_server] = "report_server"
+ Puppet.settings[:report_server].should == "report_server"
+ end
+ end
end
diff --git a/spec/unit/indirector/report/rest.rb b/spec/unit/indirector/report/rest.rb
index a51ebca2a..1f71eb357 100644..100755
--- a/spec/unit/indirector/report/rest.rb
+++ b/spec/unit/indirector/report/rest.rb
@@ -5,7 +5,24 @@ require File.dirname(__FILE__) + '/../../../spec_helper'
require 'puppet/indirector/report/rest'
describe Puppet::Transaction::Report::Rest do
- it "should be a sublcass of Puppet::Indirector::REST" do
+ it "should be a subclass of Puppet::Indirector::REST" do
Puppet::Transaction::Report::Rest.superclass.should equal(Puppet::Indirector::REST)
end
+
+ it "should use the :report_server setting in preference to :reportserver" do
+ Puppet.settings[:reportserver] = "reportserver"
+ Puppet.settings[:report_server] = "report_server"
+ Puppet::Transaction::Report::Rest.server.should == "report_server"
+ end
+
+ it "should use the :report_server setting in preference to :server" do
+ Puppet.settings[:server] = "server"
+ Puppet.settings[:report_server] = "report_server"
+ Puppet::Transaction::Report::Rest.server.should == "report_server"
+ end
+
+ it "should have a value for report_server and report_port" do
+ Puppet::Transaction::Report::Rest.server.should_not be_nil
+ Puppet::Transaction::Report::Rest.port.should_not be_nil
+ end
end