summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuke Kanies <luke@madstop.com>2005-08-23 16:55:24 +0000
committerLuke Kanies <luke@madstop.com>2005-08-23 16:55:24 +0000
commitf68fe0045d3519d545d8e63b7ee470ece74fcc3f (patch)
treeb945d424aa203553d44e82c220724eb374074c47
parent129dad73edf2307a36f88c563a347417f75bcc12 (diff)
downloadpuppet-f68fe0045d3519d545d8e63b7ee470ece74fcc3f.tar.gz
puppet-f68fe0045d3519d545d8e63b7ee470ece74fcc3f.tar.xz
puppet-f68fe0045d3519d545d8e63b7ee470ece74fcc3f.zip
moving all server handlers into a specific server subdirectory
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@579 980ebf18-57e1-0310-9a29-db15c13687c0
-rw-r--r--lib/puppet.rb1
-rw-r--r--lib/puppet/client.rb10
-rw-r--r--lib/puppet/server.rb37
-rw-r--r--lib/puppet/server/ca.rb (renamed from lib/puppet/ca.rb)4
-rwxr-xr-xlib/puppet/server/filebucket.rb (renamed from lib/puppet/filebucket.rb)0
-rwxr-xr-xlib/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.rb4
-rwxr-xr-xlib/puppet/type/pfilebucket.rb2
-rwxr-xr-xtest/executables/tc_puppetca.rb7
-rwxr-xr-xtest/language/tc_snippets.rb2
-rw-r--r--test/other/tc_selector.rb37
-rw-r--r--test/server/tc_bucket.rb (renamed from test/bucket/tc_bucket.rb)5
-rw-r--r--test/server/tc_ca.rb13
-rwxr-xr-xtest/server/tc_fileserver.rb36
-rw-r--r--test/server/tc_master.rb18
-rw-r--r--test/server/tc_server.rb18
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'