puppet 0.25.1 → 0.25.2
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of puppet might be problematic. Click here for more details.
- 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
|