summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2007-07-08 23:02:06 +0000
committerluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2007-07-08 23:02:06 +0000
commit07f05195da27a9e3124d6b987a808c087dce334b (patch)
tree7456354a592c332f22a983d3fc02658ea8de1842
parente8217abac6638d73d742c3ecfb1c9792b3ef0803 (diff)
downloadpuppet-07f05195da27a9e3124d6b987a808c087dce334b.tar.gz
puppet-07f05195da27a9e3124d6b987a808c087dce334b.tar.xz
puppet-07f05195da27a9e3124d6b987a808c087dce334b.zip
Making sure that #686 is fixed -- I specifically included the Daemon module in the Puppet mongrel server, and I call daemonize on the Puppet class, rather than the Mongrel http server
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2659 980ebf18-57e1-0310-9a29-db15c13687c0
-rwxr-xr-xbin/puppetmasterd11
-rw-r--r--lib/puppet/network/server/mongrel.rb2
-rwxr-xr-xtest/network/server/mongrel_test.rb6
3 files changed, 14 insertions, 5 deletions
diff --git a/bin/puppetmasterd b/bin/puppetmasterd
index 2409df6b4..4552fd0b8 100755
--- a/bin/puppetmasterd
+++ b/bin/puppetmasterd
@@ -242,21 +242,22 @@ if fs.include?(:Config)
handlers[:FileServer] = fs
end
+webserver = server = nil
begin
case Puppet[:servertype]
when "webrick"
# use the default, um, everything
require 'puppet/network/server/webrick'
- server = Puppet::Network::Server::WEBrick.new(:Handlers => handlers)
+ webserver = server = Puppet::Network::Server::WEBrick.new(:Handlers => handlers)
when "mongrel":
require 'puppet/network/server/mongrel'
- handler = Puppet::Network::Server::Mongrel.new(handlers)
+ server = Puppet::Network::Server::Mongrel.new(handlers)
addr = Puppet[:bindaddress]
if addr == ""
addr = "127.0.0.1"
end
- server = Mongrel::HttpServer.new(addr, Puppet[:masterport])
- server.register("/", handler)
+ webserver = Mongrel::HttpServer.new(addr, Puppet[:masterport])
+ webserver.register("/", server)
else
Puppet.err "Invalid server type %s" % Puppet[:servertype]
exit(45)
@@ -296,7 +297,7 @@ case Puppet[:servertype]
when "webrick"
Puppet.start
when "mongrel":
- server.run.join
+ webserver.run.join
end
# $Id$
diff --git a/lib/puppet/network/server/mongrel.rb b/lib/puppet/network/server/mongrel.rb
index 3294ae274..1f1c2a448 100644
--- a/lib/puppet/network/server/mongrel.rb
+++ b/lib/puppet/network/server/mongrel.rb
@@ -33,6 +33,7 @@ require 'xmlrpc/server'
require 'puppet/network/xmlrpc/server'
require 'puppet/network/server'
require 'puppet/network/client_request'
+require 'puppet/daemon'
require 'resolv'
@@ -49,6 +50,7 @@ require 'resolv'
# </pre>
module Puppet::Network
class Server::Mongrel < ::Mongrel::HttpHandler
+ include Puppet::Daemon
attr_reader :xmlrpc_server
def initialize(handlers)
diff --git a/test/network/server/mongrel_test.rb b/test/network/server/mongrel_test.rb
index 83e7053f6..75568561b 100755
--- a/test/network/server/mongrel_test.rb
+++ b/test/network/server/mongrel_test.rb
@@ -60,6 +60,12 @@ class TestMongrelServer < PuppetTest::TestCase
assert_equal(ip, info.ip, "Did not copy over ip correctly")
assert_equal(Resolv.getname(ip), info.name, "Did not look up hostname correctly")
end
+
+ def test_daemonize
+ mongrel = mkserver
+
+ assert(mongrel.respond_to?(:daemonize), "Mongrel server does not respond to daemonize")
+ end
end
# $Id$