puppet 0.25.1 → 0.25.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +159 -135
- data/Rakefile +4 -1
- data/conf/gentoo/conf.d/puppetmaster +1 -1
- data/conf/osx/createpackage.sh +12 -0
- data/conf/osx/preflight +4 -0
- data/conf/redhat/puppet.spec +12 -2
- data/conf/redhat/server.init +1 -0
- data/conf/redhat/server.sysconfig +1 -1
- data/ext/ldap/puppet.schema +5 -9
- data/ext/puppetlast +2 -1
- data/ext/rack/README +2 -2
- data/ext/regexp_nodes/classes/databases +2 -0
- data/ext/regexp_nodes/classes/webservers +2 -0
- data/ext/regexp_nodes/parameters/environment/prod +1 -0
- data/ext/regexp_nodes/parameters/environment/qa +3 -0
- data/ext/regexp_nodes/regexp_nodes.rb +215 -0
- data/lib/puppet.rb +1 -1
- data/lib/puppet/agent.rb +2 -2
- data/lib/puppet/application/puppet.rb +1 -1
- data/lib/puppet/application/puppetd.rb +1 -1
- data/lib/puppet/application/puppetdoc.rb +4 -3
- data/lib/puppet/application/puppetrun.rb +5 -14
- data/lib/puppet/application/ralsh.rb +9 -25
- data/lib/puppet/configurer.rb +2 -1
- data/lib/puppet/configurer/fact_handler.rb +8 -6
- data/lib/puppet/daemon.rb +2 -2
- data/lib/puppet/defaults.rb +21 -2
- data/lib/puppet/external/pson/common.rb +1 -1
- data/lib/puppet/external/pson/pure.rb +3 -3
- data/lib/puppet/feature/base.rb +3 -0
- data/lib/puppet/feature/selinux.rb +3 -0
- data/lib/puppet/feature/zlib.rb +6 -0
- data/lib/puppet/file_serving/base.rb +16 -1
- data/lib/puppet/file_serving/metadata.rb +46 -9
- data/lib/puppet/file_serving/mount/file.rb +4 -1
- data/lib/puppet/indirector/catalog/active_record.rb +5 -0
- data/lib/puppet/indirector/envelope.rb +1 -3
- data/lib/puppet/indirector/indirection.rb +13 -16
- data/lib/puppet/indirector/node/ldap.rb +7 -4
- data/lib/puppet/indirector/ssl_file.rb +1 -1
- data/lib/puppet/network/authstore.rb +48 -118
- data/lib/puppet/network/client/resource.rb +2 -15
- data/lib/puppet/network/format.rb +2 -12
- data/lib/puppet/network/format_handler.rb +15 -1
- data/lib/puppet/network/formats.rb +19 -4
- data/lib/puppet/network/handler/fileserver.rb +1 -0
- data/lib/puppet/network/http/handler.rb +1 -0
- data/lib/puppet/network/http/rack/httphandler.rb +0 -18
- data/lib/puppet/network/http/rack/rest.rb +4 -4
- data/lib/puppet/network/http/rack/xmlrpc.rb +4 -4
- data/lib/puppet/network/http/webrick.rb +2 -1
- data/lib/puppet/network/server.rb +1 -1
- data/lib/puppet/node/environment.rb +20 -9
- data/lib/puppet/parameter.rb +17 -1
- data/lib/puppet/parser/ast/boolean_operator.rb +2 -2
- data/lib/puppet/parser/ast/leaf.rb +5 -1
- data/lib/puppet/parser/ast/resourceparam.rb +4 -0
- data/lib/puppet/parser/ast/selector.rb +4 -0
- data/lib/puppet/parser/functions/generate.rb +2 -2
- data/lib/puppet/parser/functions/shellquote.rb +1 -1
- data/lib/puppet/property.rb +3 -11
- data/lib/puppet/provider/cron/crontab.rb +2 -0
- data/lib/puppet/provider/host/parsed.rb +9 -9
- data/lib/puppet/provider/package/blastwave.rb +7 -6
- data/lib/puppet/provider/package/portage.rb +23 -27
- data/lib/puppet/provider/package/rug.rb +1 -1
- data/lib/puppet/provider/package/sun.rb +5 -3
- data/lib/puppet/provider/service/daemontools.rb +1 -1
- data/lib/puppet/provider/service/debian.rb +1 -1
- data/lib/puppet/provider/service/runit.rb +1 -1
- data/lib/puppet/provider/ssh_authorized_key/parsed.rb +2 -1
- data/lib/puppet/provider/sshkey/parsed.rb +3 -5
- data/lib/puppet/provider/zone/solaris.rb +1 -1
- data/lib/puppet/rails.rb +9 -2
- data/lib/puppet/rails/benchmark.rb +1 -1
- data/lib/puppet/rails/host.rb +2 -7
- data/lib/puppet/rails/resource.rb +20 -26
- data/lib/puppet/resource/catalog.rb +3 -3
- data/lib/puppet/resource/reference.rb +13 -25
- data/lib/puppet/ssl/certificate.rb +3 -2
- data/lib/puppet/ssl/host.rb +14 -33
- data/lib/puppet/sslcertificates.rb +1 -5
- data/lib/puppet/sslcertificates/ca.rb +8 -7
- data/lib/puppet/transaction.rb +15 -12
- data/lib/puppet/type.rb +12 -5
- data/lib/puppet/type/file.rb +26 -32
- data/lib/puppet/type/file/content.rb +5 -5
- data/lib/puppet/type/file/ensure.rb +6 -17
- data/lib/puppet/type/file/mode.rb +18 -1
- data/lib/puppet/type/file/source.rb +12 -12
- data/lib/puppet/type/host.rb +6 -9
- data/lib/puppet/type/k5login.rb +1 -1
- data/lib/puppet/type/maillist.rb +4 -7
- data/lib/puppet/type/port.rb +6 -5
- data/lib/puppet/type/resources.rb +12 -12
- data/lib/puppet/type/sshkey.rb +5 -5
- data/lib/puppet/type/tidy.rb +9 -2
- data/lib/puppet/type/yumrepo.rb +3 -1
- data/lib/puppet/util.rb +64 -56
- data/lib/puppet/util/backups.rb +2 -1
- data/lib/puppet/util/filetype.rb +46 -0
- data/lib/puppet/util/log.rb +10 -18
- data/lib/puppet/util/log_paths.rb +14 -0
- data/lib/puppet/util/methodhelper.rb +3 -4
- data/lib/puppet/util/monkey_patches.rb +8 -0
- data/lib/puppet/util/rdoc/generators/puppet_generator.rb +5 -3
- data/lib/puppet/util/rdoc/parser.rb +32 -16
- data/lib/puppet/util/reference.rb +6 -3
- data/lib/puppet/util/selinux.rb +21 -14
- data/lib/puppet/util/settings.rb +30 -25
- data/lib/puppet/util/settings/file_setting.rb +7 -4
- data/lib/puppet/util/subclass_loader.rb +1 -1
- data/lib/puppet/util/suidmanager.rb +11 -1
- data/lib/puppet/util/tagging.rb +22 -4
- data/man/man8/filebucket.8 +23 -18
- data/man/man8/pi.8 +42 -20
- data/man/man8/puppet.8 +47 -32
- data/man/man8/puppet.conf.8 +807 -764
- data/man/man8/puppetca.8 +24 -14
- data/man/man8/puppetd.8 +33 -16
- data/man/man8/puppetdoc.8 +71 -18
- data/man/man8/puppetmasterd.8 +18 -25
- data/man/man8/puppetqd.8 +60 -0
- data/man/man8/puppetrun.8 +27 -14
- data/man/man8/ralsh.8 +33 -40
- data/spec/integration/bin/puppetmasterd.rb +3 -2
- data/spec/integration/defaults.rb +11 -0
- data/spec/integration/file_serving/metadata.rb +1 -0
- data/spec/integration/indirector/file_content/file_server.rb +2 -1
- data/spec/integration/ssl/certificate_request.rb +2 -0
- data/spec/integration/type/file.rb +20 -1
- data/spec/shared_behaviours/file_serving.rb +1 -1
- data/spec/spec_helper.rb +1 -1
- data/spec/unit/application/puppet.rb +11 -30
- data/spec/unit/application/puppetd.rb +1 -0
- data/spec/unit/application/puppetdoc.rb +13 -4
- data/spec/unit/application/puppetmasterd.rb +1 -0
- data/spec/unit/application/puppetrun.rb +12 -2
- data/spec/unit/application/ralsh.rb +39 -22
- data/spec/unit/configurer.rb +6 -0
- data/spec/unit/configurer/fact_handler.rb +15 -1
- data/spec/unit/file_serving/metadata.rb +128 -16
- data/spec/unit/file_serving/mount/file.rb +8 -0
- data/spec/unit/indirector/catalog/active_record.rb +20 -1
- data/spec/unit/indirector/catalog/compiler.rb +2 -1
- data/spec/unit/indirector/indirection.rb +29 -18
- data/spec/unit/indirector/node/ldap.rb +20 -6
- data/spec/unit/network/authstore.rb +197 -0
- data/spec/unit/network/format_handler.rb +28 -8
- data/spec/unit/network/formats.rb +31 -0
- data/spec/unit/network/http/handler.rb +10 -0
- data/spec/unit/network/http/webrick.rb +2 -2
- data/spec/unit/network/rest_authconfig.rb +2 -2
- data/spec/unit/network/rights.rb +1 -1
- data/spec/unit/node/environment.rb +39 -23
- data/spec/unit/other/selinux.rb +2 -2
- data/spec/unit/parameter.rb +8 -0
- data/spec/unit/parser/ast/leaf.rb +9 -0
- data/spec/unit/parser/ast/selector.rb +8 -1
- data/spec/unit/parser/lexer.rb +1 -1
- data/spec/unit/parser/resource.rb +11 -0
- data/spec/unit/parser/resource/reference.rb +13 -1
- data/spec/unit/property.rb +6 -0
- data/spec/unit/provider/mount/parsed.rb +3 -1
- data/spec/unit/provider/service/debian.rb +1 -1
- data/spec/unit/provider/ssh_authorized_key/parsed.rb +9 -1
- data/spec/unit/provider/sshkey/parsed.rb +19 -0
- data/spec/unit/rails.rb +22 -9
- data/spec/unit/rails/resource.rb +20 -0
- data/spec/unit/ssl/host.rb +19 -57
- data/spec/unit/transaction.rb +39 -4
- data/spec/unit/type.rb +9 -0
- data/spec/unit/type/file/content.rb +29 -0
- data/spec/unit/type/maillist.rb +42 -0
- data/spec/unit/type/resources.rb +66 -1
- data/spec/unit/type/tidy.rb +14 -1
- data/spec/unit/util/autoload.rb +2 -0
- data/spec/unit/util/ldap/connection.rb +1 -1
- data/spec/unit/util/log.rb +14 -0
- data/spec/unit/util/monkey_patches.rb +103 -0
- data/spec/unit/util/queue.rb +10 -2
- data/spec/unit/util/selinux.rb +61 -2
- data/spec/unit/util/settings.rb +19 -0
- data/spec/unit/util/settings/file_setting.rb +25 -0
- data/spec/unit/util/tagging.rb +10 -0
- data/tasks/rake/changelog.rake +15 -0
- data/tasks/rake/ci.rake +22 -0
- data/tasks/rake/dailybuild.rake +9 -0
- data/tasks/rake/gem.rake +46 -0
- data/tasks/rake/git_workflow.rake +121 -0
- data/tasks/rake/metrics.rake +6 -0
- data/tasks/rake/sign.rake +14 -0
- data/tasks/rake/testbranch.rake +16 -0
- data/tasks/rake/tracdocs.rake +8 -0
- data/test/data/providers/ssh_authorized_key/parsed/authorized_keys +1 -0
- metadata +1042 -1288
- data/ext/bin/sleeper +0 -67
- data/ext/module_puppet +0 -209
data/ext/bin/sleeper
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env ruby -w
|
|
2
|
-
|
|
3
|
-
###
|
|
4
|
-
# sleep indefinitely as a debug
|
|
5
|
-
|
|
6
|
-
require 'getoptlong'
|
|
7
|
-
|
|
8
|
-
#-----------------------------------------------------------------
|
|
9
|
-
def daemonize
|
|
10
|
-
outfile = "/tmp/sleeperout"
|
|
11
|
-
if pid = fork()
|
|
12
|
-
Process.detach(pid)
|
|
13
|
-
sleep 1
|
|
14
|
-
# verify that we didn't have any problems starting the daemon
|
|
15
|
-
if FileTest.exists?(outfile)
|
|
16
|
-
$stderr.puts "Sleeper failed: %s" % File.read(outfile)
|
|
17
|
-
File.unlink(outfile)
|
|
18
|
-
exit(14)
|
|
19
|
-
else
|
|
20
|
-
exit(0)
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
Process.setsid
|
|
24
|
-
Dir.chdir("/")
|
|
25
|
-
begin
|
|
26
|
-
$stdin.reopen "/dev/null"
|
|
27
|
-
$stdout.reopen "/dev/null", "a"
|
|
28
|
-
$stderr.reopen $stdin
|
|
29
|
-
rescue => detail
|
|
30
|
-
File.open(outfile, "w") { |f|
|
|
31
|
-
f.puts detail
|
|
32
|
-
}
|
|
33
|
-
exit(12)
|
|
34
|
-
end
|
|
35
|
-
end
|
|
36
|
-
#-----------------------------------------------------------------
|
|
37
|
-
|
|
38
|
-
debug = false
|
|
39
|
-
|
|
40
|
-
result = GetoptLong.new(
|
|
41
|
-
[ "--debug", "-d", GetoptLong::NO_ARGUMENT ],
|
|
42
|
-
[ "--help", "-h", GetoptLong::NO_ARGUMENT ]
|
|
43
|
-
)
|
|
44
|
-
|
|
45
|
-
result.each { |opt,arg|
|
|
46
|
-
case opt
|
|
47
|
-
when "--help"
|
|
48
|
-
puts "There is no help yet"
|
|
49
|
-
exit
|
|
50
|
-
when "--debug"
|
|
51
|
-
debug = true
|
|
52
|
-
else
|
|
53
|
-
raise "Invalid option '#{opt}'"
|
|
54
|
-
end
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
trap(:INT) {
|
|
58
|
-
exit
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
unless debug
|
|
62
|
-
daemonize()
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
# Sleep for no more than two minutes
|
|
66
|
-
sleep 120
|
|
67
|
-
exit
|
data/ext/module_puppet
DELETED
|
@@ -1,209 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env ruby
|
|
2
|
-
|
|
3
|
-
#
|
|
4
|
-
# = Synopsis
|
|
5
|
-
#
|
|
6
|
-
# Run a +puppet+ script as a cfengine module.
|
|
7
|
-
#
|
|
8
|
-
# = Usage
|
|
9
|
-
#
|
|
10
|
-
# puppet_module [-h|--help] [-V|--version] [-d|--debug] [-v|--verbose]
|
|
11
|
-
# [-l|--logdest <file>]<file>
|
|
12
|
-
#
|
|
13
|
-
# = Description
|
|
14
|
-
#
|
|
15
|
-
# This is the standalone puppet execution script; use it to execute
|
|
16
|
-
# individual scripts that you write. If you need to execute site-wide
|
|
17
|
-
# scripts, use +puppetd+ and +puppetmasterd+.
|
|
18
|
-
#
|
|
19
|
-
# = Options
|
|
20
|
-
#
|
|
21
|
-
# Note that any configuration parameter that's valid in the configuration file
|
|
22
|
-
# is also a valid long argument. For example, 'ssldir' is a valid configuration
|
|
23
|
-
# parameter, so you can specify '--ssldir <directory>' as an argument.
|
|
24
|
-
#
|
|
25
|
-
# See the configuration file for the full list of acceptable parameters.
|
|
26
|
-
#
|
|
27
|
-
# debug::
|
|
28
|
-
# Enable full debugging.
|
|
29
|
-
#
|
|
30
|
-
# help::
|
|
31
|
-
# Print this help message
|
|
32
|
-
#
|
|
33
|
-
# logdest::
|
|
34
|
-
# Where to send messages. Choose between syslog, the console, and a log file.
|
|
35
|
-
# Defaults to sending messages to the console.
|
|
36
|
-
#
|
|
37
|
-
# verbose::
|
|
38
|
-
# Print extra information.
|
|
39
|
-
#
|
|
40
|
-
# = Author
|
|
41
|
-
#
|
|
42
|
-
# Luke Kanies
|
|
43
|
-
#
|
|
44
|
-
# = Copyright
|
|
45
|
-
#
|
|
46
|
-
# Copyright (c) 2005 Reductive Labs, LLC
|
|
47
|
-
# Licensed under the GNU Public License
|
|
48
|
-
|
|
49
|
-
require 'puppet'
|
|
50
|
-
require 'puppet/network/handler'
|
|
51
|
-
require 'puppet/network/client'
|
|
52
|
-
require 'getoptlong'
|
|
53
|
-
|
|
54
|
-
options = [
|
|
55
|
-
[ "--debug", "-d", GetoptLong::NO_ARGUMENT ],
|
|
56
|
-
[ "--help", "-h", GetoptLong::NO_ARGUMENT ],
|
|
57
|
-
[ "--logdest", "-l", GetoptLong::REQUIRED_ARGUMENT ],
|
|
58
|
-
[ "--verbose", "-v", GetoptLong::NO_ARGUMENT ],
|
|
59
|
-
[ "--use-nodes", GetoptLong::NO_ARGUMENT ],
|
|
60
|
-
[ "--version", "-V", GetoptLong::NO_ARGUMENT ]
|
|
61
|
-
]
|
|
62
|
-
|
|
63
|
-
# Add all of the config parameters as valid options.
|
|
64
|
-
Puppet.settings.addargs(options)
|
|
65
|
-
|
|
66
|
-
result = GetoptLong.new(*options)
|
|
67
|
-
|
|
68
|
-
debug = false
|
|
69
|
-
verbose = false
|
|
70
|
-
noop = false
|
|
71
|
-
logfile = false
|
|
72
|
-
parseonly = false
|
|
73
|
-
|
|
74
|
-
master = {
|
|
75
|
-
:Local => true
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
setdest = false
|
|
79
|
-
|
|
80
|
-
begin
|
|
81
|
-
result.each { |opt,arg|
|
|
82
|
-
case opt
|
|
83
|
-
when "--version"
|
|
84
|
-
puts "%s" % Puppet.version
|
|
85
|
-
exit
|
|
86
|
-
when "--help"
|
|
87
|
-
if Puppet.features.usage?
|
|
88
|
-
RDoc::usage && exit
|
|
89
|
-
else
|
|
90
|
-
puts "No help available unless you have RDoc::usage installed"
|
|
91
|
-
exit
|
|
92
|
-
end
|
|
93
|
-
when "--use-nodes"
|
|
94
|
-
master[:UseNodes] = true
|
|
95
|
-
when "--verbose"
|
|
96
|
-
Puppet::Util::Log.level = :info
|
|
97
|
-
Puppet::Util::Log.newdestination(:console)
|
|
98
|
-
verbose = true
|
|
99
|
-
when "--debug"
|
|
100
|
-
Puppet::Util::Log.level = :debug
|
|
101
|
-
Puppet::Util::Log.newdestination(:console)
|
|
102
|
-
debug = true
|
|
103
|
-
when "--logdest"
|
|
104
|
-
begin
|
|
105
|
-
Puppet::Util::Log.newdestination arg
|
|
106
|
-
setdest=true
|
|
107
|
-
rescue => detail
|
|
108
|
-
$stderr.puts detail.to_s
|
|
109
|
-
end
|
|
110
|
-
else
|
|
111
|
-
Puppet.settings.handlearg(opt, arg)
|
|
112
|
-
end
|
|
113
|
-
}
|
|
114
|
-
rescue GetoptLong::InvalidOption => detail
|
|
115
|
-
$stderr.puts "Try '#{$0} --help'"
|
|
116
|
-
if Puppet.features.usage?
|
|
117
|
-
RDoc::usage(1,'usage')
|
|
118
|
-
end
|
|
119
|
-
exit(1)
|
|
120
|
-
end
|
|
121
|
-
|
|
122
|
-
# Now parse the config
|
|
123
|
-
if Puppet[:config] and File.exists? Puppet[:config]
|
|
124
|
-
Puppet.settings.parse(Puppet[:config])
|
|
125
|
-
end
|
|
126
|
-
|
|
127
|
-
client = nil
|
|
128
|
-
server = nil
|
|
129
|
-
|
|
130
|
-
[:INT, :TERM].each do |signal|
|
|
131
|
-
trap(signal) do
|
|
132
|
-
Puppet.notice "Caught #{signal}; shutting down"
|
|
133
|
-
[client, server].each { |obj|
|
|
134
|
-
if obj
|
|
135
|
-
obj.shutdown
|
|
136
|
-
end
|
|
137
|
-
}
|
|
138
|
-
end
|
|
139
|
-
end
|
|
140
|
-
|
|
141
|
-
if Puppet.settings.print_configs?
|
|
142
|
-
exit(Puppet.settings.print_configs ? 0 : 1)
|
|
143
|
-
end
|
|
144
|
-
|
|
145
|
-
unless ARGV.length > 0
|
|
146
|
-
$stderr.puts "You must pass a script to parse"
|
|
147
|
-
exit(14)
|
|
148
|
-
end
|
|
149
|
-
|
|
150
|
-
unless setdest
|
|
151
|
-
Puppet::Util::Log.newdestination(:syslog)
|
|
152
|
-
end
|
|
153
|
-
|
|
154
|
-
Puppet[:manifest] = ARGV.shift
|
|
155
|
-
|
|
156
|
-
unless ENV.include?("CFALLCLASSES")
|
|
157
|
-
$stderr.puts "Cfengine classes must be passed to the module"
|
|
158
|
-
exit(15)
|
|
159
|
-
end
|
|
160
|
-
|
|
161
|
-
# Collect our facts.
|
|
162
|
-
Puppet::Node::Facts.terminus_class = :facter
|
|
163
|
-
facts = Puppet::Node::Facts.find("me")
|
|
164
|
-
facts.name = facts.values["hostname"]
|
|
165
|
-
|
|
166
|
-
# Create our Node
|
|
167
|
-
node = Puppet::Node.new(facts.name)
|
|
168
|
-
|
|
169
|
-
# Merge in the facts.
|
|
170
|
-
node.merge(facts.values)
|
|
171
|
-
|
|
172
|
-
classes = ENV["CFALLCLASSES"].split(":")
|
|
173
|
-
|
|
174
|
-
if classes.empty?
|
|
175
|
-
$stderr.puts "Could not find any cfengine classes"
|
|
176
|
-
exit(16)
|
|
177
|
-
end
|
|
178
|
-
|
|
179
|
-
node.classes = classes
|
|
180
|
-
|
|
181
|
-
begin
|
|
182
|
-
# Compile our configuration
|
|
183
|
-
catalog = Puppet::Resource::Catalog.find(node.name, :use_node => node)
|
|
184
|
-
rescue => detail
|
|
185
|
-
if Puppet[:trace]
|
|
186
|
-
puts detail.backtrace
|
|
187
|
-
end
|
|
188
|
-
if detail.is_a?(XMLRPC::FaultException)
|
|
189
|
-
$stderr.puts detail.message
|
|
190
|
-
else
|
|
191
|
-
$stderr.puts detail
|
|
192
|
-
end
|
|
193
|
-
exit(1)
|
|
194
|
-
end
|
|
195
|
-
|
|
196
|
-
if parseonly
|
|
197
|
-
exit(0)
|
|
198
|
-
end
|
|
199
|
-
|
|
200
|
-
begin
|
|
201
|
-
# Translate it to a RAL configuration
|
|
202
|
-
catalog = catalog.to_ral
|
|
203
|
-
|
|
204
|
-
# And apply it
|
|
205
|
-
catalog.apply
|
|
206
|
-
rescue => detail
|
|
207
|
-
Puppet.err detail
|
|
208
|
-
exit(1)
|
|
209
|
-
end
|