diff options
author | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2006-07-11 20:22:27 +0000 |
---|---|---|
committer | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2006-07-11 20:22:27 +0000 |
commit | a6cc3e473fd68bbb7493a81c14fa1a607d88a5a3 (patch) | |
tree | 20a6ecb0bf5f5c39ab4dded36f9fd650557f26fa | |
parent | 73556a8c71ee1f847f498a8b9db8ff810902dfee (diff) | |
download | puppet-a6cc3e473fd68bbb7493a81c14fa1a607d88a5a3.tar.gz puppet-a6cc3e473fd68bbb7493a81c14fa1a607d88a5a3.tar.xz puppet-a6cc3e473fd68bbb7493a81c14fa1a607d88a5a3.zip |
Fixing reports so that multiple host report directories can be created. There was a config conflict before.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1390 980ebf18-57e1-0310-9a29-db15c13687c0
-rwxr-xr-x | lib/puppet/server/report.rb | 24 | ||||
-rwxr-xr-x | test/server/report.rb | 16 |
2 files changed, 28 insertions, 12 deletions
diff --git a/lib/puppet/server/report.rb b/lib/puppet/server/report.rb index e584fb61b..8aa4449b2 100755 --- a/lib/puppet/server/report.rb +++ b/lib/puppet/server/report.rb @@ -86,18 +86,6 @@ class Server end end - def mkclientdir(client, dir) - Puppet.config.setdefaults("reportclient-#{client}", - :clientdir => { :default => dir, - :mode => 0750, - :owner => "$user", - :group => "$group" - } - ) - - Puppet.config.use("reportclient-#{client}") - end - # Accept a report from a client. def report(report, client = nil, clientip = nil) # We need the client name for storing files. @@ -148,6 +136,18 @@ class Server private + def mkclientdir(client, dir) + Puppet.config.setdefaults("reportclient-#{client}", + "clientdir-#{client}" => { :default => dir, + :mode => 0750, + :owner => "$user", + :group => "$group" + } + ) + + Puppet.config.use("reportclient-#{client}") + end + # Process the report using all of the existing hooks. def process(report) return if Puppet[:reports] == "none" diff --git a/test/server/report.rb b/test/server/report.rb index 5ab84f919..9b4a62bd6 100755 --- a/test/server/report.rb +++ b/test/server/report.rb @@ -71,6 +71,22 @@ class TestReportServer < Test::Unit::TestCase end end end + + # Make sure we don't have problems with calling mkclientdir multiple + # times. + def test_multiple_clients + server ||= mkserver() + + %w{hostA hostB hostC}.each do |host| + dir = tempfile() + assert_nothing_raised("Could not create multiple host report dirs") { + server.send(:mkclientdir, host, dir) + } + + assert(FileTest.directory?(dir), + "Directory was not created") + end + end end # $Id$ |