diff options
-rw-r--r-- | lib/puppet.rb | 1 | ||||
-rw-r--r-- | lib/puppet/client.rb | 10 | ||||
-rw-r--r-- | lib/puppet/server.rb | 37 | ||||
-rw-r--r-- | lib/puppet/server/ca.rb (renamed from lib/puppet/ca.rb) | 4 | ||||
-rwxr-xr-x | lib/puppet/server/filebucket.rb (renamed from lib/puppet/filebucket.rb) | 0 | ||||
-rwxr-xr-x | lib/puppet/server/fileserver.rb (renamed from lib/puppet/fileserver.rb) | 4 | ||||
-rw-r--r-- | lib/puppet/server/master.rb (renamed from lib/puppet/master.rb) | 4 | ||||
-rw-r--r-- | lib/puppet/server/servlet.rb (renamed from lib/puppet/servlet.rb) | 2 | ||||
-rw-r--r-- | lib/puppet/type/pfile.rb | 4 | ||||
-rwxr-xr-x | lib/puppet/type/pfilebucket.rb | 2 | ||||
-rwxr-xr-x | test/executables/tc_puppetca.rb | 7 | ||||
-rwxr-xr-x | test/language/tc_snippets.rb | 2 | ||||
-rw-r--r-- | test/other/tc_selector.rb | 37 | ||||
-rw-r--r-- | test/server/tc_bucket.rb (renamed from test/bucket/tc_bucket.rb) | 5 | ||||
-rw-r--r-- | test/server/tc_ca.rb | 13 | ||||
-rwxr-xr-x | test/server/tc_fileserver.rb | 36 | ||||
-rw-r--r-- | test/server/tc_master.rb | 18 | ||||
-rw-r--r-- | test/server/tc_server.rb | 18 |
18 files changed, 83 insertions, 121 deletions
diff --git a/lib/puppet.rb b/lib/puppet.rb index a4507e09f..64a3821a9 100644 --- a/lib/puppet.rb +++ b/lib/puppet.rb @@ -206,5 +206,6 @@ module Puppet end end +require 'puppet/server' require 'puppet/type' require 'puppet/storage' diff --git a/lib/puppet/client.rb b/lib/puppet/client.rb index 1282a5900..7998f2ff8 100644 --- a/lib/puppet/client.rb +++ b/lib/puppet/client.rb @@ -5,13 +5,13 @@ require 'puppet' require 'puppet/sslcertificates' require 'puppet/type' -require 'puppet/server' require 'facter' require 'openssl' require 'puppet/transaction' require 'puppet/transportable' require 'puppet/metric' require 'puppet/daemon' +require 'puppet/server' $noclientnetworking = false begin @@ -33,9 +33,9 @@ module Puppet class NetworkClient < XMLRPC::Client #include Puppet::Daemon - @@handlers = [Puppet::FileServer, Puppet::CA, Puppet::Master] + #@@handlers = [Puppet::FileServer, Puppet::CA, Puppet::Server::Master] - @@handlers.each { |handler| + Puppet::Server.eachhandler { |name, handler| interface = handler.interface namespace = interface.prefix @@ -169,12 +169,12 @@ module Puppet @driver = Puppet::NetworkClient.new(args) @local = false - when Puppet::Master: + when Puppet::Server::Master: @driver = hash[:Server] @local = true else raise ClientError.new("Server must be a hostname or a " + - "Puppet::Master object") + "Puppet::Server::Master object") end else raise ClientError.new("Must pass :Server to client") diff --git a/lib/puppet/server.rb b/lib/puppet/server.rb index 28bb1bd46..5707e6f0d 100644 --- a/lib/puppet/server.rb +++ b/lib/puppet/server.rb @@ -8,9 +8,6 @@ require 'puppet' require 'puppet/daemon' -require 'puppet/servlet' -require 'puppet/master' -require 'puppet/ca' $noservernetworking = false @@ -51,13 +48,25 @@ module Puppet class Server < WEBrick::HTTPServer include Puppet::Daemon - # a bit of a hack for now, but eh, wadda ya gonna do? - @@handlers = { - :Master => Puppet::Master, - :CA => Puppet::CA, - :Status => Puppet::ServerStatus - } + @@handlers = {} +# # a bit of a hack for now, but eh, wadda ya gonna do? +# @@handlers = { +# :Master => Puppet::Server::Master, +# :CA => Puppet::Server::CA, +# :Status => Puppet::ServerStatus +# } + def self.addhandler(name, handler) + @@handlers[name] = handler + end + + Puppet::Server.addhandler(:Status, Puppet::ServerStatus) + + def self.eachhandler + @@handlers.each { |name, klass| + yield(name, klass) + } + end def self.inithandler(handler,args) unless @@handlers.include?(handler) raise ServerError, "Invalid handler %s" % handler @@ -91,7 +100,7 @@ module Puppet # okay, i need to retrieve my cert and set it up, somehow # the default case will be that i'm also the ca - if ca = @handlers.find { |handler| handler.is_a?(Puppet::CA) } + if ca = @handlers.find { |handler| handler.is_a?(Puppet::Server::CA) } @driver = ca @secureinit = true self.fqdn @@ -120,10 +129,16 @@ module Puppet # have a global state # mount has to be called after the server is initialized - self.mount("/RPC2", Puppet::Servlet, @handlers) + self.mount("/RPC2", Puppet::Server::Servlet, @handlers) end end end #--------------------------------------------------------------- end + +require 'puppet/server/servlet' +require 'puppet/server/master' +require 'puppet/server/ca' +require 'puppet/server/fileserver' +require 'puppet/server/filebucket' diff --git a/lib/puppet/ca.rb b/lib/puppet/server/ca.rb index 9a6f8aeda..65074c3f6 100644 --- a/lib/puppet/ca.rb +++ b/lib/puppet/server/ca.rb @@ -7,6 +7,7 @@ require 'xmlrpc/server' # http://segment7.net/projects/ruby/QuickCert/ module Puppet +class Server class CAError < Puppet::Error; end class CA attr_reader :ca @@ -17,6 +18,8 @@ module Puppet } end + Puppet::Server.addhandler(:CA, self) + def autosign?(hostname) # simple values are easy asign = Puppet[:autosign] @@ -153,3 +156,4 @@ module Puppet end end end +end diff --git a/lib/puppet/filebucket.rb b/lib/puppet/server/filebucket.rb index f0e717146..f0e717146 100755 --- a/lib/puppet/filebucket.rb +++ b/lib/puppet/server/filebucket.rb diff --git a/lib/puppet/fileserver.rb b/lib/puppet/server/fileserver.rb index f04c337af..43e08655f 100755 --- a/lib/puppet/fileserver.rb +++ b/lib/puppet/server/fileserver.rb @@ -2,6 +2,7 @@ require 'puppet' require 'cgi' module Puppet +class Server class FileServerError < Puppet::Error; end class FileServer attr_accessor :local @@ -17,6 +18,8 @@ module Puppet } end + Puppet::Server.addhandler(:FileServer, self) + def check(dir) unless FileTest.exists?(dir) Puppet.notice "File source %s does not exist" % dir @@ -256,5 +259,6 @@ module Puppet end end end +end # $Id$ diff --git a/lib/puppet/master.rb b/lib/puppet/server/master.rb index bbfeaf557..f3f0411e9 100644 --- a/lib/puppet/master.rb +++ b/lib/puppet/server/master.rb @@ -5,6 +5,7 @@ require 'puppet/sslcertificates' require 'xmlrpc/server' module Puppet +class Server class MasterError < Puppet::Error; end class Master attr_accessor :ast, :local @@ -16,6 +17,8 @@ module Puppet } end + Puppet::Server.addhandler(:Master, self) + def initialize(hash = {}) # build our AST @@ -86,3 +89,4 @@ module Puppet end end end +end diff --git a/lib/puppet/servlet.rb b/lib/puppet/server/servlet.rb index 3fa965fa3..4db9f6c0e 100644 --- a/lib/puppet/servlet.rb +++ b/lib/puppet/server/servlet.rb @@ -1,6 +1,7 @@ require 'xmlrpc/server' module Puppet +class Server class ServletError < RuntimeError; end class Servlet < XMLRPC::WEBrickServlet attr_accessor :request @@ -108,3 +109,4 @@ module Puppet end end end +end diff --git a/lib/puppet/type/pfile.rb b/lib/puppet/type/pfile.rb index 4eab8ca5b..ddfb2aae3 100644 --- a/lib/puppet/type/pfile.rb +++ b/lib/puppet/type/pfile.rb @@ -7,7 +7,7 @@ require 'etc' require 'uri' require 'fileutils' require 'puppet/type/state' -require 'puppet/fileserver' +require 'puppet/server/fileserver' module Puppet # we first define all of the state that our file will use @@ -1577,7 +1577,7 @@ module Puppet case uri.scheme when "file": - sourceobj.server = Puppet::FileServer.new( + sourceobj.server = Puppet::Server::FileServer.new( :Local => true ) sourceobj.server.mount("/", "localhost") diff --git a/lib/puppet/type/pfilebucket.rb b/lib/puppet/type/pfilebucket.rb index 7fa059979..da931244c 100755 --- a/lib/puppet/type/pfilebucket.rb +++ b/lib/puppet/type/pfilebucket.rb @@ -2,7 +2,7 @@ # $Id$ -require 'puppet/filebucket' +require 'puppet/server/filebucket' module Puppet class Type diff --git a/test/executables/tc_puppetca.rb b/test/executables/tc_puppetca.rb index e657de483..6f799c670 100755 --- a/test/executables/tc_puppetca.rb +++ b/test/executables/tc_puppetca.rb @@ -1,7 +1,6 @@ if __FILE__ == $0 $:.unshift '../../lib' - $:.unshift '../../../../library/trunk/lib/' - $:.unshift '../../../../library/trunk/test/' + $:.unshift '..' $puppetbase = "../.." end @@ -54,7 +53,7 @@ class TestPuppetCA < Test::Unit::TestCase @@tmpfiles << Puppet[:ssldir] Puppet[:autosign] = false assert_nothing_raised { - ca = Puppet::CA.new() + ca = Puppet::Server::CA.new() } #Puppet.warning "SSLDir is %s" % Puppet[:ssldir] #system("find %s" % Puppet[:ssldir]) @@ -70,7 +69,7 @@ class TestPuppetCA < Test::Unit::TestCase output = nil assert_nothing_raised { - output = %x{puppetca --list --ssldir=#{Puppet[:ssldir]} 2>&1}.chomp.split("\n") + output = %x{puppetca --list --ssldir=#{Puppet[:ssldir]} 2>&1}.chomp.split("\n").reject { |line| line =~ /warning:/ } # stupid ssl.rb } #Puppet.warning "SSLDir is %s" % Puppet[:ssldir] #system("find %s" % Puppet[:ssldir]) diff --git a/test/language/tc_snippets.rb b/test/language/tc_snippets.rb index da1172f63..d1aaa023c 100755 --- a/test/language/tc_snippets.rb +++ b/test/language/tc_snippets.rb @@ -296,7 +296,7 @@ class TestSnippets < Test::Unit::TestCase testname = ("test_" + mname).intern self.send(:define_method, testname) { # first parse the file - server = Puppet::Master.new( + server = Puppet::Server::Master.new( :File => File.join($snippetbase, file), :Local => true ) diff --git a/test/other/tc_selector.rb b/test/other/tc_selector.rb deleted file mode 100644 index 47e0d9ff5..000000000 --- a/test/other/tc_selector.rb +++ /dev/null @@ -1,37 +0,0 @@ -if __FILE__ == $0 - $:.unshift '..' - $:.unshift '../../lib' - $puppetbase = "../../../../language/trunk" -end - -require 'puppet/selector' -require 'facter' -require 'test/unit' - -# $Id$ - -class TestSelector < Test::Unit::TestCase - def setup - @os = Facter["operatingsystem"].value - @hostname = Facter["hostname"].value - - Puppet[:loglevel] = :debug if __FILE__ == $0 - end - - def test_values - selector = nil - assert_nothing_raised() { - selector = Puppet::Selector.new { |select| - select.add("value1") { - Facter["hostname"].value == @hostname - } - } - } - - assert_equal( - "value1", - selector.evaluate() - ) - - end -end diff --git a/test/bucket/tc_bucket.rb b/test/server/tc_bucket.rb index 3aa045fc1..c4ad3d774 100644 --- a/test/bucket/tc_bucket.rb +++ b/test/server/tc_bucket.rb @@ -1,14 +1,13 @@ if __FILE__ == $0 $:.unshift '../../lib' - $:.unshift '../../../../library/trunk/lib/' - $:.unshift '../../../../library/trunk/test/' + $:.unshift '..' $puppetbase = "../.." $debug = true else $debug = false end -require 'puppet/filebucket' +require 'puppet' require 'test/unit' require 'puppettest.rb' require 'base64' diff --git a/test/server/tc_ca.rb b/test/server/tc_ca.rb index 9fb579638..e3f768b39 100644 --- a/test/server/tc_ca.rb +++ b/test/server/tc_ca.rb @@ -1,12 +1,11 @@ if __FILE__ == $0 $:.unshift '../../lib' - $:.unshift '../../../../library/trunk/lib/' - $:.unshift '../../../../library/trunk/test/' + $:.unshift '..' $puppetbase = "../.." end require 'puppet' -require 'puppet/ca' +require 'puppet/server/ca' require 'puppet/sslcertificates' require 'openssl' require 'test/unit' @@ -54,7 +53,7 @@ class TestCA < Test::Unit::TestCase ca = nil assert_nothing_raised { - ca = Puppet::CA.new() + ca = Puppet::Server::CA.new() } key = nil @@ -106,7 +105,7 @@ class TestCA < Test::Unit::TestCase ca = nil caserv = nil assert_nothing_raised { - caserv = Puppet::CA.new() + caserv = Puppet::Server::CA.new() } assert_nothing_raised { ca = caserv.ca @@ -163,7 +162,7 @@ class TestCA < Test::Unit::TestCase caserv = nil assert_nothing_raised { - caserv = Puppet::CA.new() + caserv = Puppet::Server::CA.new() } key = nil @@ -212,7 +211,7 @@ class TestCA < Test::Unit::TestCase caserv = nil file = File.join($puppetbase, "examples", "code", "head") assert_nothing_raised { - caserv = Puppet::CA.new() + caserv = Puppet::Server::CA.new() } assert(caserv.autosign?("hostmatch.domain.com")) diff --git a/test/server/tc_fileserver.rb b/test/server/tc_fileserver.rb index ad9b6298c..93b31db58 100755 --- a/test/server/tc_fileserver.rb +++ b/test/server/tc_fileserver.rb @@ -4,14 +4,12 @@ if __FILE__ == $0 end $:.unshift '../lib' - $:.unshift '../../../library/trunk/lib/' - $:.unshift '../../../library/trunk/test/' $puppetbase = ".." end require 'puppet' -require 'puppet/fileserver' +require 'puppet/server/fileserver' require 'test/unit' require 'puppettest.rb' @@ -34,24 +32,24 @@ class TestFileServer < TestPuppet def test_namefailures server = nil assert_nothing_raised { - server = Puppet::FileServer.new( + server = Puppet::Server::FileServer.new( :Local => true ) } - assert_raise(Puppet::FileServerError) { + assert_raise(Puppet::Server::FileServerError) { server.mount("/tmp", "invalid+name") } - assert_raise(Puppet::FileServerError) { + assert_raise(Puppet::Server::FileServerError) { server.mount("/tmp", "invalid-name") } - assert_raise(Puppet::FileServerError) { + assert_raise(Puppet::Server::FileServerError) { server.mount("/tmp", "invalid name") } - assert_raise(Puppet::FileServerError) { + assert_raise(Puppet::Server::FileServerError) { server.mount("/tmp", "") } end @@ -69,10 +67,10 @@ class TestFileServer < TestPuppet } file = nil - checks = Puppet::FileServer::CHECKPARAMS + checks = Puppet::Server::FileServer::CHECKPARAMS assert_nothing_raised { - server = Puppet::FileServer.new( + server = Puppet::Server::FileServer.new( :Local => true ) } @@ -114,7 +112,7 @@ class TestFileServer < TestPuppet file = nil assert_nothing_raised { - server = Puppet::FileServer.new( + server = Puppet::Server::FileServer.new( :Local => true ) } @@ -165,10 +163,10 @@ class TestFileServer < TestPuppet } file = nil - checks = Puppet::FileServer::CHECKPARAMS + checks = Puppet::Server::FileServer::CHECKPARAMS assert_nothing_raised { - server = Puppet::FileServer.new( + server = Puppet::Server::FileServer.new( :Local => true ) } @@ -200,7 +198,7 @@ class TestFileServer < TestPuppet def test_mountroot server = nil assert_nothing_raised { - server = Puppet::FileServer.new( + server = Puppet::Server::FileServer.new( :Local => true ) } @@ -230,7 +228,7 @@ class TestFileServer < TestPuppet def test_recursionlevels server = nil assert_nothing_raised { - server = Puppet::FileServer.new( + server = Puppet::Server::FileServer.new( :Local => true ) } @@ -275,7 +273,7 @@ class TestFileServer < TestPuppet def test_listedpath server = nil assert_nothing_raised { - server = Puppet::FileServer.new( + server = Puppet::Server::FileServer.new( :Local => true ) } @@ -312,7 +310,7 @@ class TestFileServer < TestPuppet def test_widelists server = nil assert_nothing_raised { - server = Puppet::FileServer.new( + server = Puppet::Server::FileServer.new( :Local => true ) } @@ -354,10 +352,10 @@ class TestFileServer < TestPuppet } file = nil - checks = Puppet::FileServer::CHECKPARAMS + checks = Puppet::Server::FileServer::CHECKPARAMS assert_nothing_raised { - server = Puppet::FileServer.new( + server = Puppet::Server::FileServer.new( :Local => true ) } diff --git a/test/server/tc_master.rb b/test/server/tc_master.rb index be61b232b..fce6ea925 100644 --- a/test/server/tc_master.rb +++ b/test/server/tc_master.rb @@ -1,27 +1,15 @@ if __FILE__ == $0 if Dir.getwd =~ /test\/server$/ Dir.chdir("..") - #puts "Unfortunately, you must be in the test dir to run this test." - #puts "Yes, I know it's different than all of the others." - #exit end $:.unshift '../lib' - $:.unshift '../../../library/trunk/lib/' - $:.unshift '../../../library/trunk/test/' $puppetbase = ".." end -#if __FILE__ == $0 -# $:.unshift '../../lib' -# $:.unshift '../../../../library/trunk/lib/' -# $:.unshift '../../../../library/trunk/test/' -# $puppetbase = "../.." -#end - require 'puppet' -require 'puppet/master' +require 'puppet/server' require 'puppet/client' require 'test/unit' require 'puppettest.rb' @@ -68,7 +56,7 @@ class TestMaster < Test::Unit::TestCase master = nil assert_nothing_raised() { # this is the default server setup - master = Puppet::Master.new( + master = Puppet::Server::Master.new( :File => file, :Local => true ) @@ -108,7 +96,7 @@ class TestMaster < Test::Unit::TestCase master = nil assert_nothing_raised() { # this is the default server setup - master = Puppet::Master.new( + master = Puppet::Server::Master.new( :File => file, :Local => true ) diff --git a/test/server/tc_server.rb b/test/server/tc_server.rb index d3a4ea305..d75d981ae 100644 --- a/test/server/tc_server.rb +++ b/test/server/tc_server.rb @@ -1,26 +1,12 @@ if __FILE__ == $0 $:.unshift '../../lib' - $:.unshift '../../../../library/trunk/lib/' - $:.unshift '../../../../library/trunk/test/' + $:.unshift '..' $puppetbase = "../.." end -#if __FILE__ == $0 -# $:.unshift '../lib' -# $:.unshift '../../../library/trunk/lib/' -# $:.unshift '../../../library/trunk/test/' -# $puppetbase = ".." -# -# -# if Dir.getwd !~ /test$/ -# puts "Unfortunately, you must be in the test dir to run this test." -# puts "Yes, I know it's different than all of the others." -# exit -# end -#end require 'puppet' require 'cgi' -require 'puppet/server' +#require 'puppet/server' require 'facter' require 'puppet/client' require 'xmlrpc/client' |