puppet 0.22.4 → 0.23.0
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 +156 -0
- data/README +2 -2
- data/Rakefile +6 -6
- data/bin/filebucket +212 -0
- data/bin/puppet +2 -0
- data/bin/puppetca +2 -4
- data/bin/puppetd +16 -15
- data/bin/puppetdoc +46 -496
- data/bin/puppetmasterd +3 -5
- data/bin/puppetrun +8 -3
- data/bin/ralsh +271 -0
- data/conf/redhat/client.init +1 -1
- data/conf/redhat/puppet.spec +13 -2
- data/conf/solaris/pkginfo +1 -1
- data/ext/puppet-test +374 -0
- data/install.rb +40 -31
- data/lib/puppet.rb +39 -4
- data/lib/puppet/config_stores/rest.rb +60 -0
- data/lib/puppet/configuration.rb +312 -17
- data/lib/puppet/external/event-loop/event-loop.rb +4 -0
- data/lib/puppet/external/gratr/rdot.rb +1 -1
- data/lib/puppet/fact_stores/yaml.rb +42 -0
- data/lib/puppet/feature/base.rb +4 -1
- data/lib/puppet/metatype/attributes.rb +20 -43
- data/lib/puppet/metatype/container.rb +1 -36
- data/lib/puppet/metatype/evaluation.rb +48 -19
- data/lib/puppet/metatype/instances.rb +35 -1
- data/lib/puppet/metatype/metaparams.rb +23 -19
- data/lib/puppet/metatype/providers.rb +25 -38
- data/lib/puppet/network/client/ca.rb +8 -5
- data/lib/puppet/network/client/master.rb +59 -17
- data/lib/puppet/network/handler.rb +18 -1
- data/lib/puppet/network/handler/ca.rb +9 -3
- data/lib/puppet/network/handler/facts.rb +70 -0
- data/lib/puppet/network/handler/filebucket.rb +4 -1
- data/lib/puppet/network/handler/fileserver.rb +65 -21
- data/lib/puppet/network/handler/master.rb +6 -3
- data/lib/puppet/network/handler/report.rb +12 -26
- data/lib/puppet/network/handler/resource.rb +14 -2
- data/lib/puppet/network/handler/runner.rb +5 -1
- data/lib/puppet/network/handler/status.rb +5 -1
- data/lib/puppet/network/server/mongrel.rb +4 -4
- data/lib/puppet/network/server/webrick.rb +14 -3
- data/lib/puppet/parameter.rb +30 -25
- data/lib/puppet/parser/ast.rb +1 -6
- data/lib/puppet/parser/ast/component.rb +23 -20
- data/lib/puppet/parser/ast/hostclass.rb +7 -11
- data/lib/puppet/parser/ast/leaf.rb +4 -1
- data/lib/puppet/parser/ast/node.rb +6 -8
- data/lib/puppet/parser/functions.rb +7 -4
- data/lib/puppet/parser/interpreter.rb +155 -205
- data/lib/puppet/parser/lexer.rb +35 -2
- data/lib/puppet/parser/parser.rb +705 -612
- data/lib/puppet/parser/resource.rb +91 -48
- data/lib/puppet/parser/resource/param.rb +52 -29
- data/lib/puppet/parser/scope.rb +28 -23
- data/lib/puppet/pgraph.rb +26 -21
- data/lib/puppet/propertychange.rb +12 -12
- data/lib/puppet/provider.rb +102 -31
- data/lib/puppet/provider/cron/crontab.rb +7 -8
- data/lib/puppet/provider/group/groupadd.rb +4 -4
- data/lib/puppet/provider/group/pw.rb +3 -3
- data/lib/puppet/provider/mount.rb +8 -8
- data/lib/puppet/provider/mount/netinfo.rb +5 -5
- data/lib/puppet/provider/mount/parsed.rb +2 -2
- data/lib/puppet/provider/nameservice.rb +19 -31
- data/lib/puppet/provider/nameservice/netinfo.rb +14 -14
- data/lib/puppet/provider/nameservice/objectadd.rb +4 -4
- data/lib/puppet/provider/nameservice/pw.rb +4 -4
- data/lib/puppet/provider/package.rb +31 -0
- data/lib/puppet/provider/package/appdmg.rb +118 -0
- data/lib/puppet/provider/package/apple.rb +18 -16
- data/lib/puppet/provider/package/apt.rb +13 -15
- data/lib/puppet/provider/package/aptitude.rb +5 -3
- data/lib/puppet/provider/package/aptrpm.rb +9 -11
- data/lib/puppet/provider/package/blastwave.rb +9 -9
- data/lib/puppet/provider/package/darwinport.rb +12 -11
- data/lib/puppet/provider/package/dpkg.rb +20 -12
- data/lib/puppet/provider/package/fink.rb +87 -0
- data/lib/puppet/provider/package/freebsd.rb +10 -11
- data/lib/puppet/provider/package/gem.rb +15 -15
- data/lib/puppet/provider/package/openbsd.rb +12 -17
- data/lib/puppet/provider/package/pkgdmg.rb +90 -16
- data/lib/puppet/provider/package/portage.rb +20 -14
- data/lib/puppet/provider/package/ports.rb +15 -13
- data/lib/puppet/provider/package/rpm.rb +20 -23
- data/lib/puppet/provider/package/rug.rb +6 -8
- data/lib/puppet/provider/package/sun.rb +20 -18
- data/lib/puppet/provider/package/sunfreeware.rb +2 -2
- data/lib/puppet/provider/package/up2date.rb +6 -10
- data/lib/puppet/provider/package/urpmi.rb +51 -0
- data/lib/puppet/provider/package/yum.rb +15 -13
- data/lib/puppet/provider/parsedfile.rb +53 -63
- data/lib/puppet/provider/service/base.rb +13 -15
- data/lib/puppet/provider/service/debian.rb +4 -4
- data/lib/puppet/provider/service/gentoo.rb +4 -4
- data/lib/puppet/provider/service/init.rb +22 -15
- data/lib/puppet/provider/service/redhat.rb +6 -6
- data/lib/puppet/provider/service/smf.rb +6 -6
- data/lib/puppet/provider/user/netinfo.rb +5 -5
- data/lib/puppet/provider/user/pw.rb +10 -5
- data/lib/puppet/provider/user/useradd.rb +9 -14
- data/lib/puppet/provider/zone/solaris.rb +80 -45
- data/lib/puppet/rails.rb +3 -34
- data/lib/puppet/rails/database/schema.rb +45 -24
- data/lib/puppet/rails/fact_value.rb +1 -0
- data/lib/puppet/rails/host.rb +69 -40
- data/lib/puppet/rails/param_name.rb +3 -8
- data/lib/puppet/rails/param_value.rb +2 -1
- data/lib/puppet/rails/puppet_class.rb +0 -2
- data/lib/puppet/rails/puppet_tag.rb +5 -0
- data/lib/puppet/rails/resource.rb +41 -17
- data/lib/puppet/rails/resource_tag.rb +4 -0
- data/lib/puppet/reference/configuration.rb +149 -0
- data/lib/puppet/reference/function.rb +13 -0
- data/lib/puppet/reference/network.rb +37 -0
- data/lib/puppet/reference/providers.rb +118 -0
- data/lib/puppet/reference/report.rb +21 -0
- data/lib/puppet/reference/type.rb +152 -0
- data/lib/puppet/reports/rrdgraph.rb +21 -7
- data/lib/puppet/reports/tagmail.rb +4 -1
- data/lib/puppet/sslcertificates.rb +1 -49
- data/lib/puppet/sslcertificates/ca.rb +2 -79
- data/lib/puppet/sslcertificates/inventory.rb +0 -10
- data/lib/puppet/transaction.rb +24 -41
- data/lib/puppet/transaction/report.rb +27 -1
- data/lib/puppet/type.rb +7 -43
- data/lib/puppet/type/component.rb +198 -124
- data/lib/puppet/type/cron.rb +51 -42
- data/lib/puppet/type/exec.rb +20 -19
- data/lib/puppet/type/group.rb +6 -55
- data/lib/puppet/type/host.rb +16 -37
- data/lib/puppet/type/mount.rb +30 -17
- data/lib/puppet/type/notify.rb +7 -8
- data/lib/puppet/type/package.rb +44 -80
- data/lib/puppet/type/pfile.rb +50 -41
- data/lib/puppet/type/pfile/checksum.rb +82 -95
- data/lib/puppet/type/pfile/content.rb +21 -25
- data/lib/puppet/type/pfile/ensure.rb +32 -30
- data/lib/puppet/type/pfile/group.rb +21 -26
- data/lib/puppet/type/pfile/mode.rb +25 -32
- data/lib/puppet/type/pfile/owner.rb +23 -27
- data/lib/puppet/type/pfile/source.rb +42 -33
- data/lib/puppet/type/pfile/target.rb +20 -18
- data/lib/puppet/type/pfile/type.rb +6 -7
- data/lib/puppet/type/pfilebucket.rb +3 -3
- data/lib/puppet/type/port.rb +5 -7
- data/lib/puppet/type/property.rb +58 -61
- data/lib/puppet/type/resources.rb +12 -8
- data/lib/puppet/type/schedule.rb +8 -8
- data/lib/puppet/type/service.rb +26 -33
- data/lib/puppet/type/sshkey.rb +6 -7
- data/lib/puppet/type/tidy.rb +41 -35
- data/lib/puppet/type/user.rb +34 -67
- data/lib/puppet/type/yumrepo.rb +27 -12
- data/lib/puppet/type/zone.rb +71 -110
- data/lib/puppet/util.rb +46 -61
- data/lib/puppet/util/autoload.rb +59 -47
- data/lib/puppet/util/config.rb +160 -18
- data/lib/puppet/util/config_store.rb +61 -0
- data/lib/puppet/util/fact_store.rb +60 -0
- data/lib/puppet/util/instance_loader.rb +74 -0
- data/lib/puppet/util/loadedfile.rb +5 -8
- data/lib/puppet/util/metric.rb +17 -25
- data/lib/puppet/util/posix.rb +39 -7
- data/lib/puppet/util/provider_features.rb +9 -1
- data/lib/puppet/util/rails/collection_merger.rb +16 -1
- data/lib/puppet/util/reference.rb +189 -0
- data/lib/puppet/util/storage.rb +2 -2
- data/lib/puppet/util/subclass_loader.rb +9 -2
- data/test/language/ast.rb +4 -148
- data/test/language/ast/component.rb +10 -1
- data/test/language/collector.rb +1 -191
- data/test/language/interpreter.rb +284 -327
- data/test/language/lexer.rb +13 -1
- data/test/language/node.rb +1 -1
- data/test/language/parser.rb +17 -4
- data/test/language/resource.rb +67 -101
- data/test/language/scope.rb +18 -3
- data/test/language/snippets.rb +114 -151
- data/test/lib/puppettest.rb +13 -0
- data/test/lib/puppettest/exetest.rb +7 -0
- data/test/lib/puppettest/fakes.rb +39 -28
- data/test/lib/puppettest/railstesting.rb +1 -1
- data/test/lib/puppettest/support/assertions.rb +2 -2
- data/test/lib/puppettest/support/collection.rb +30 -0
- data/test/network/client/ca.rb +27 -1
- data/test/network/client/client.rb +3 -3
- data/test/network/client/master.rb +102 -1
- data/test/network/handler/ca.rb +35 -1
- data/test/network/handler/facts.rb +112 -0
- data/test/network/handler/fileserver.rb +25 -1
- data/test/network/handler/handler.rb +2 -2
- data/test/network/handler/master.rb +2 -49
- data/test/network/handler/resource.rb +5 -6
- data/test/network/server/mongrel_test.rb +65 -0
- data/test/network/server/webrick.rb +2 -2
- data/test/network/xmlrpc/client.rb +2 -1
- data/test/network/xmlrpc/processor.rb +2 -1
- data/test/other/pgraph.rb +6 -5
- data/test/other/propertychange.rb +11 -12
- data/test/other/report.rb +44 -27
- data/test/other/transactions.rb +17 -16
- data/test/puppet/tc_suidmanager.rb +2 -2
- data/test/rails/ast.rb +74 -0
- data/test/rails/collection.rb +214 -0
- data/test/rails/host.rb +49 -24
- data/test/rails/interpreter.rb +91 -0
- data/test/rails/railsparameter.rb +22 -11
- data/test/rails/railsresource.rb +140 -7
- data/test/ral/manager/attributes.rb +37 -13
- data/test/ral/manager/instances.rb +82 -0
- data/test/ral/manager/provider.rb +60 -22
- data/test/ral/manager/type.rb +9 -6
- data/test/ral/providers/cron/crontab.rb +59 -7
- data/test/ral/providers/group.rb +7 -7
- data/test/ral/providers/host/netinfo.rb +5 -6
- data/test/ral/providers/host/parsed.rb +4 -4
- data/test/ral/providers/mount/parsed.rb +11 -6
- data/test/ral/providers/nameservice.rb +2 -2
- data/test/ral/providers/package.rb +39 -14
- data/test/ral/providers/package/apt.rb +72 -3
- data/test/ral/providers/package/aptitude.rb +15 -12
- data/test/ral/providers/package/aptrpm.rb +3 -3
- data/test/ral/providers/package/dpkg.rb +2 -2
- data/test/ral/providers/parsedfile.rb +114 -88
- data/test/ral/providers/{parsedport.rb → port/parsed.rb} +1 -1
- data/test/ral/providers/provider.rb +93 -13
- data/test/ral/providers/service.rb +52 -26
- data/test/ral/providers/sshkey/parsed.rb +3 -3
- data/test/ral/providers/user.rb +19 -20
- data/test/ral/providers/user/useradd.rb +1 -5
- data/test/ral/types/cron.rb +49 -36
- data/test/ral/types/file.rb +38 -35
- data/test/ral/types/file/target.rb +4 -4
- data/test/ral/types/filesources.rb +24 -22
- data/test/ral/types/group.rb +4 -2
- data/test/ral/types/host.rb +17 -10
- data/test/ral/types/mount.rb +40 -23
- data/test/ral/types/package.rb +62 -5
- data/test/ral/types/parameter.rb +2 -2
- data/test/ral/types/property.rb +27 -20
- data/test/ral/types/resources.rb +4 -16
- data/test/ral/types/schedule.rb +2 -2
- data/test/ral/types/service.rb +2 -3
- data/test/ral/types/sshkey.rb +3 -3
- data/test/ral/types/tidy.rb +6 -15
- data/test/ral/types/user.rb +17 -17
- data/test/ral/types/yumrepo.rb +2 -2
- data/test/ral/types/zone.rb +71 -87
- data/test/util/autoload.rb +6 -21
- data/test/util/config.rb +201 -101
- data/test/util/fact_store.rb +67 -0
- data/test/util/features.rb +9 -6
- data/test/util/instance_loader.rb +53 -0
- data/test/util/loadedfile.rb +17 -1
- data/test/util/metrics.rb +54 -57
- data/test/util/posixtest.rb +8 -11
- data/test/util/utiltest.rb +31 -2
- metadata +520 -492
- data/TODO +0 -4
- data/lib/puppet/network/client/logger.rb +0 -6
- data/lib/puppet/network/handler/logger.rb +0 -52
- data/lib/puppet/rails/database/001_add_indexes.rb +0 -38
- data/lib/puppet/type/parsedtype.rb +0 -219
- data/test/network/handler/logger.rb +0 -183
data/lib/puppet/type/cron.rb
CHANGED
|
@@ -2,7 +2,6 @@ require 'etc'
|
|
|
2
2
|
require 'facter'
|
|
3
3
|
require 'puppet/type/property'
|
|
4
4
|
require 'puppet/util/filetype'
|
|
5
|
-
require 'puppet/type/parsedtype'
|
|
6
5
|
|
|
7
6
|
Puppet::Type.newtype(:cron) do
|
|
8
7
|
@doc = "Installs and manages cron jobs. All fields except the command
|
|
@@ -29,9 +28,7 @@ Puppet::Type.newtype(:cron) do
|
|
|
29
28
|
ensurable
|
|
30
29
|
|
|
31
30
|
# A base class for all of the Cron parameters, since they all have
|
|
32
|
-
# similar argument checking going on.
|
|
33
|
-
# from parsedtype, and we should probably subclass Cron from there,
|
|
34
|
-
# but it was just too annoying to do.
|
|
31
|
+
# similar argument checking going on.
|
|
35
32
|
class CronParam < Puppet::Property
|
|
36
33
|
class << self
|
|
37
34
|
attr_accessor :boundaries, :default
|
|
@@ -39,9 +36,9 @@ Puppet::Type.newtype(:cron) do
|
|
|
39
36
|
|
|
40
37
|
# We have to override the parent method, because we consume the entire
|
|
41
38
|
# "should" array
|
|
42
|
-
def insync?
|
|
39
|
+
def insync?(is)
|
|
43
40
|
if defined? @should and @should
|
|
44
|
-
self.is_to_s == self.should_to_s
|
|
41
|
+
self.is_to_s(is) == self.should_to_s
|
|
45
42
|
else
|
|
46
43
|
true
|
|
47
44
|
end
|
|
@@ -93,36 +90,28 @@ Puppet::Type.newtype(:cron) do
|
|
|
93
90
|
return false
|
|
94
91
|
end
|
|
95
92
|
|
|
96
|
-
def should_to_s
|
|
97
|
-
if
|
|
98
|
-
if self.name == :command or
|
|
99
|
-
|
|
93
|
+
def should_to_s(newvalue = @should)
|
|
94
|
+
if newvalue
|
|
95
|
+
if self.name == :command or newvalue[0].is_a? Symbol
|
|
96
|
+
newvalue[0]
|
|
100
97
|
else
|
|
101
|
-
|
|
98
|
+
newvalue.join(",")
|
|
102
99
|
end
|
|
103
100
|
else
|
|
104
101
|
nil
|
|
105
102
|
end
|
|
106
103
|
end
|
|
107
104
|
|
|
108
|
-
def is
|
|
109
|
-
if
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
@is = [val]
|
|
113
|
-
end
|
|
114
|
-
end
|
|
115
|
-
|
|
116
|
-
def is_to_s
|
|
117
|
-
if @is
|
|
118
|
-
unless @is.is_a?(Array)
|
|
119
|
-
return @is
|
|
105
|
+
def is_to_s(currentvalue = @is)
|
|
106
|
+
if currentvalue
|
|
107
|
+
unless currentvalue.is_a?(Array)
|
|
108
|
+
return currentvalue
|
|
120
109
|
end
|
|
121
110
|
|
|
122
|
-
if self.name == :command or
|
|
123
|
-
|
|
111
|
+
if self.name == :command or currentvalue[0].is_a? Symbol
|
|
112
|
+
currentvalue[0]
|
|
124
113
|
else
|
|
125
|
-
|
|
114
|
+
currentvalue.join(",")
|
|
126
115
|
end
|
|
127
116
|
else
|
|
128
117
|
nil
|
|
@@ -190,7 +179,7 @@ Puppet::Type.newtype(:cron) do
|
|
|
190
179
|
end
|
|
191
180
|
|
|
192
181
|
# Somewhat uniquely, this property does not actually change anything -- it
|
|
193
|
-
# just calls +@
|
|
182
|
+
# just calls +@resource.sync+, which writes out the whole cron tab for
|
|
194
183
|
# the user in question. There is no real way to change individual cron
|
|
195
184
|
# jobs without rewriting the entire cron file.
|
|
196
185
|
#
|
|
@@ -206,12 +195,13 @@ Puppet::Type.newtype(:cron) do
|
|
|
206
195
|
All cron parameters support ``absent`` as a value; this will
|
|
207
196
|
remove any existing values for that field."
|
|
208
197
|
|
|
209
|
-
def
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
198
|
+
def retrieve
|
|
199
|
+
return_value = super
|
|
200
|
+
if return_value && return_value.is_a?(Array)
|
|
201
|
+
return_value = return_value[0]
|
|
202
|
+
end
|
|
203
|
+
|
|
204
|
+
return return_value
|
|
215
205
|
end
|
|
216
206
|
|
|
217
207
|
def should
|
|
@@ -286,6 +276,7 @@ Puppet::Type.newtype(:cron) do
|
|
|
286
276
|
can be no guarantees that other, earlier settings will not also
|
|
287
277
|
affect a given cron job.
|
|
288
278
|
|
|
279
|
+
|
|
289
280
|
Also, Puppet cannot automatically determine whether an existing,
|
|
290
281
|
unmanaged environment setting is associated with a given cron
|
|
291
282
|
job. If you already have cron jobs with environment settings,
|
|
@@ -296,23 +287,39 @@ Puppet::Type.newtype(:cron) do
|
|
|
296
287
|
the crontab, e.g., ``PATH=/bin:/usr/bin:/usr/sbin``."
|
|
297
288
|
|
|
298
289
|
validate do |value|
|
|
299
|
-
unless value =~ /^\s*(\w+)\s*=\s*(.+)\s*$/
|
|
290
|
+
unless value =~ /^\s*(\w+)\s*=\s*(.+)\s*$/ or value == :absent or value == "absent"
|
|
300
291
|
raise ArgumentError, "Invalid environment setting %s" %
|
|
301
292
|
value.inspect
|
|
302
293
|
end
|
|
303
294
|
end
|
|
304
295
|
|
|
305
|
-
def insync?
|
|
306
|
-
if
|
|
307
|
-
return
|
|
296
|
+
def insync?(is)
|
|
297
|
+
if is.is_a? Array
|
|
298
|
+
return is.sort == @should.sort
|
|
308
299
|
else
|
|
309
|
-
return
|
|
300
|
+
return is == @should
|
|
301
|
+
end
|
|
302
|
+
end
|
|
303
|
+
|
|
304
|
+
def is_to_s(newvalue)
|
|
305
|
+
if newvalue
|
|
306
|
+
newvalue.join(",")
|
|
307
|
+
else
|
|
308
|
+
nil
|
|
310
309
|
end
|
|
311
310
|
end
|
|
312
311
|
|
|
313
312
|
def should
|
|
314
313
|
@should
|
|
315
314
|
end
|
|
315
|
+
|
|
316
|
+
def should_to_s(newvalue = @should)
|
|
317
|
+
if newvalue
|
|
318
|
+
newvalue.join(",")
|
|
319
|
+
else
|
|
320
|
+
nil
|
|
321
|
+
end
|
|
322
|
+
end
|
|
316
323
|
end
|
|
317
324
|
|
|
318
325
|
newparam(:name) do
|
|
@@ -344,8 +351,8 @@ Puppet::Type.newtype(:cron) do
|
|
|
344
351
|
Other providers default accordingly."
|
|
345
352
|
|
|
346
353
|
defaultto {
|
|
347
|
-
if provider.is_a?(@
|
|
348
|
-
if val = @
|
|
354
|
+
if provider.is_a?(@resource.class.provider(:crontab))
|
|
355
|
+
if val = @resource.should(:user)
|
|
349
356
|
val
|
|
350
357
|
else
|
|
351
358
|
raise ArgumentError,
|
|
@@ -370,7 +377,7 @@ Puppet::Type.newtype(:cron) do
|
|
|
370
377
|
ret = obj.should
|
|
371
378
|
|
|
372
379
|
if ret.nil?
|
|
373
|
-
ret = obj.
|
|
380
|
+
ret = obj.retrieve
|
|
374
381
|
end
|
|
375
382
|
|
|
376
383
|
if ret == :absent
|
|
@@ -394,4 +401,6 @@ Puppet::Type.newtype(:cron) do
|
|
|
394
401
|
end
|
|
395
402
|
end
|
|
396
403
|
|
|
397
|
-
|
|
404
|
+
|
|
405
|
+
# $Id: cron.rb 2621 2007-06-18 21:56:11Z luke $
|
|
406
|
+
|
data/lib/puppet/type/exec.rb
CHANGED
|
@@ -79,7 +79,7 @@ module Puppet
|
|
|
79
79
|
executed command returns something else. Defaults to 0."
|
|
80
80
|
|
|
81
81
|
# Make output a bit prettier
|
|
82
|
-
def change_to_s
|
|
82
|
+
def change_to_s(currentvalue, newvalue)
|
|
83
83
|
return "executed successfully"
|
|
84
84
|
end
|
|
85
85
|
|
|
@@ -87,10 +87,10 @@ module Puppet
|
|
|
87
87
|
def retrieve
|
|
88
88
|
# Default to somethinng
|
|
89
89
|
|
|
90
|
-
if @
|
|
91
|
-
|
|
90
|
+
if @resource.check
|
|
91
|
+
return :notrun
|
|
92
92
|
else
|
|
93
|
-
|
|
93
|
+
return self.should
|
|
94
94
|
end
|
|
95
95
|
end
|
|
96
96
|
|
|
@@ -99,25 +99,25 @@ module Puppet
|
|
|
99
99
|
olddir = nil
|
|
100
100
|
|
|
101
101
|
# We need a dir to change to, even if it's just the cwd
|
|
102
|
-
dir = self.
|
|
102
|
+
dir = self.resource[:cwd] || Dir.pwd
|
|
103
103
|
|
|
104
104
|
event = :executed_command
|
|
105
105
|
|
|
106
106
|
begin
|
|
107
|
-
@output, status = @
|
|
107
|
+
@output, status = @resource.run(self.resource[:command])
|
|
108
108
|
rescue Timeout::Error
|
|
109
109
|
self.fail "Command exceeded timeout" % value.inspect
|
|
110
110
|
end
|
|
111
111
|
|
|
112
|
-
loglevel = @
|
|
112
|
+
loglevel = @resource[:loglevel]
|
|
113
113
|
if status.exitstatus.to_s != self.should.to_s
|
|
114
114
|
self.fail("%s returned %s instead of %s" %
|
|
115
|
-
[self.
|
|
115
|
+
[self.resource[:command], status.exitstatus, self.should.to_s])
|
|
116
116
|
end
|
|
117
117
|
|
|
118
|
-
if log = @
|
|
118
|
+
if log = @resource[:logoutput]
|
|
119
119
|
if log == :true
|
|
120
|
-
log = @
|
|
120
|
+
log = @resource[:loglevel]
|
|
121
121
|
end
|
|
122
122
|
unless log == :false
|
|
123
123
|
@output.split(/\n/).each { |line|
|
|
@@ -213,7 +213,7 @@ module Puppet
|
|
|
213
213
|
for refreshing."
|
|
214
214
|
|
|
215
215
|
validate do |command|
|
|
216
|
-
@
|
|
216
|
+
@resource.validatecmd(command)
|
|
217
217
|
end
|
|
218
218
|
end
|
|
219
219
|
|
|
@@ -236,7 +236,8 @@ module Puppet
|
|
|
236
236
|
newparam(:timeout) do
|
|
237
237
|
desc "The maximum time the command should take. If the command takes
|
|
238
238
|
longer than the timeout, the command is considered to have failed
|
|
239
|
-
and will be stopped. Use any negative number to disable the timeout.
|
|
239
|
+
and will be stopped. Use any negative number to disable the timeout.
|
|
240
|
+
The time is specified in seconds."
|
|
240
241
|
|
|
241
242
|
munge do |value|
|
|
242
243
|
value = value.shift if value.is_a?(Array)
|
|
@@ -342,14 +343,14 @@ module Puppet
|
|
|
342
343
|
cmds = [cmds] unless cmds.is_a? Array
|
|
343
344
|
|
|
344
345
|
cmds.each do |cmd|
|
|
345
|
-
@
|
|
346
|
+
@resource.validatecmd(cmd)
|
|
346
347
|
end
|
|
347
348
|
end
|
|
348
349
|
|
|
349
350
|
# Return true if the command does not return 0.
|
|
350
351
|
def check(value)
|
|
351
352
|
begin
|
|
352
|
-
output, status = @
|
|
353
|
+
output, status = @resource.run(value, true)
|
|
353
354
|
rescue Timeout::Error
|
|
354
355
|
err "Check %s exceeded timeout" % value.inspect
|
|
355
356
|
return false
|
|
@@ -378,14 +379,14 @@ module Puppet
|
|
|
378
379
|
cmds = [cmds] unless cmds.is_a? Array
|
|
379
380
|
|
|
380
381
|
cmds.each do |cmd|
|
|
381
|
-
@
|
|
382
|
+
@resource.validatecmd(cmd)
|
|
382
383
|
end
|
|
383
384
|
end
|
|
384
385
|
|
|
385
386
|
# Return true if the command returns 0.
|
|
386
387
|
def check(value)
|
|
387
388
|
begin
|
|
388
|
-
output, status = @
|
|
389
|
+
output, status = @resource.run(value, true)
|
|
389
390
|
rescue Timeout::Error
|
|
390
391
|
err "Check %s exceeded timeout" % value.inspect
|
|
391
392
|
return false
|
|
@@ -443,8 +444,8 @@ module Puppet
|
|
|
443
444
|
end
|
|
444
445
|
end
|
|
445
446
|
|
|
446
|
-
def self.
|
|
447
|
-
|
|
447
|
+
def self.instances
|
|
448
|
+
[]
|
|
448
449
|
end
|
|
449
450
|
|
|
450
451
|
# Verify that we pass all of the checks. The argument determines whether
|
|
@@ -597,4 +598,4 @@ module Puppet
|
|
|
597
598
|
end
|
|
598
599
|
end
|
|
599
600
|
|
|
600
|
-
# $Id: exec.rb
|
|
601
|
+
# $Id: exec.rb 2551 2007-06-04 20:37:14Z luke $
|
data/lib/puppet/type/group.rb
CHANGED
|
@@ -40,49 +40,20 @@ module Puppet
|
|
|
40
40
|
# If they're talking about the thing at all, they generally want to
|
|
41
41
|
# say it should exist.
|
|
42
42
|
defaultto do
|
|
43
|
-
if @
|
|
43
|
+
if @resource.managed?
|
|
44
44
|
:present
|
|
45
45
|
else
|
|
46
46
|
nil
|
|
47
47
|
end
|
|
48
48
|
end
|
|
49
49
|
|
|
50
|
-
def change_to_s
|
|
51
|
-
begin
|
|
52
|
-
if @is == :absent
|
|
53
|
-
return "created"
|
|
54
|
-
elsif self.should == :absent
|
|
55
|
-
return "removed"
|
|
56
|
-
else
|
|
57
|
-
return "%s changed '%s' to '%s'" %
|
|
58
|
-
[self.name, self.is_to_s, self.should_to_s]
|
|
59
|
-
end
|
|
60
|
-
rescue Puppet::Error, Puppet::DevError
|
|
61
|
-
raise
|
|
62
|
-
rescue => detail
|
|
63
|
-
raise Puppet::DevError,
|
|
64
|
-
"Could not convert change %s to string: %s" %
|
|
65
|
-
[self.name, detail]
|
|
66
|
-
end
|
|
67
|
-
end
|
|
68
|
-
|
|
69
50
|
def retrieve
|
|
70
|
-
|
|
71
|
-
@is = :present
|
|
72
|
-
else
|
|
73
|
-
@is = :absent
|
|
74
|
-
end
|
|
51
|
+
return provider.exists? ? :present : :absent
|
|
75
52
|
end
|
|
76
53
|
|
|
77
54
|
# The default 'sync' method only selects among a list of registered
|
|
78
55
|
# values.
|
|
79
56
|
def sync
|
|
80
|
-
if self.insync?
|
|
81
|
-
self.info "already in sync"
|
|
82
|
-
return nil
|
|
83
|
-
#else
|
|
84
|
-
#self.info "%s vs %s" % [self.is.inspect, self.should.inspect]
|
|
85
|
-
end
|
|
86
57
|
unless self.class.values
|
|
87
58
|
self.devfail "No values defined for %s" %
|
|
88
59
|
self.class.name
|
|
@@ -101,7 +72,7 @@ module Puppet
|
|
|
101
72
|
GID is picked according to local system standards."
|
|
102
73
|
|
|
103
74
|
def retrieve
|
|
104
|
-
|
|
75
|
+
return provider.gid
|
|
105
76
|
end
|
|
106
77
|
|
|
107
78
|
def sync
|
|
@@ -149,34 +120,14 @@ module Puppet
|
|
|
149
120
|
defaultto false
|
|
150
121
|
end
|
|
151
122
|
|
|
152
|
-
def self.list_by_name
|
|
153
|
-
users = []
|
|
154
|
-
defaultprovider.listbyname do |user|
|
|
155
|
-
users << user
|
|
156
|
-
end
|
|
157
|
-
return users
|
|
158
|
-
end
|
|
159
|
-
|
|
160
|
-
def self.list
|
|
161
|
-
defaultprovider.list
|
|
162
|
-
|
|
163
|
-
self.collect do |user|
|
|
164
|
-
user
|
|
165
|
-
end
|
|
166
|
-
end
|
|
167
|
-
|
|
168
123
|
def retrieve
|
|
169
124
|
if self.provider and @provider.exists?
|
|
170
|
-
super
|
|
125
|
+
return super
|
|
171
126
|
else
|
|
172
|
-
|
|
173
|
-
property.is = :absent
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
return
|
|
127
|
+
return currentpropvalues(:absent)
|
|
177
128
|
end
|
|
178
129
|
end
|
|
179
130
|
end
|
|
180
131
|
end
|
|
181
132
|
|
|
182
|
-
# $Id: group.rb
|
|
133
|
+
# $Id: group.rb 2551 2007-06-04 20:37:14Z luke $
|
data/lib/puppet/type/host.rb
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
require 'puppet/type/parsedtype'
|
|
2
|
-
|
|
3
1
|
module Puppet
|
|
4
2
|
newtype(:host) do
|
|
5
3
|
ensurable
|
|
@@ -15,47 +13,28 @@ module Puppet
|
|
|
15
13
|
make those aliases available in your Puppet scripts and also on
|
|
16
14
|
disk."
|
|
17
15
|
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
def insync?(is)
|
|
17
|
+
is == @should
|
|
20
18
|
end
|
|
21
19
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
current = [current] unless current.is_a? Array
|
|
26
|
-
current
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
def is_to_s
|
|
30
|
-
self.is.join(" ")
|
|
20
|
+
def is_to_s(currentvalue = @is)
|
|
21
|
+
currentvalue = [currentvalue] unless currentvalue.is_a? Array
|
|
22
|
+
currentvalue.join(" ")
|
|
31
23
|
end
|
|
32
24
|
|
|
33
|
-
# We have to override the feeding mechanism; it might be nil or
|
|
34
|
-
# white-space separated
|
|
35
|
-
def is=(value)
|
|
36
|
-
# If it's just whitespace, ignore it
|
|
37
|
-
case value
|
|
38
|
-
when /^\s+$/
|
|
39
|
-
@is = nil
|
|
40
|
-
when String
|
|
41
|
-
@is = value.split(/\s+/)
|
|
42
|
-
else
|
|
43
|
-
@is = value
|
|
44
|
-
end
|
|
45
|
-
end
|
|
46
|
-
|
|
47
25
|
def retrieve
|
|
48
|
-
super
|
|
49
|
-
case
|
|
26
|
+
is = super
|
|
27
|
+
case is
|
|
50
28
|
when String
|
|
51
|
-
|
|
29
|
+
is = is.split(/\s*,\s*/)
|
|
52
30
|
when Symbol:
|
|
53
|
-
|
|
31
|
+
is = [is]
|
|
54
32
|
when Array
|
|
55
33
|
# nothing
|
|
56
34
|
else
|
|
57
|
-
raise Puppet::DevError, "Invalid @is type %s" %
|
|
35
|
+
raise Puppet::DevError, "Invalid @is type %s" % is.class
|
|
58
36
|
end
|
|
37
|
+
return is
|
|
59
38
|
end
|
|
60
39
|
|
|
61
40
|
# We actually want to return the whole array here, not just the first
|
|
@@ -72,8 +51,8 @@ module Puppet
|
|
|
72
51
|
end
|
|
73
52
|
end
|
|
74
53
|
|
|
75
|
-
def should_to_s
|
|
76
|
-
|
|
54
|
+
def should_to_s(newvalue = @should)
|
|
55
|
+
newvalue.join(" ")
|
|
77
56
|
end
|
|
78
57
|
|
|
79
58
|
validate do |value|
|
|
@@ -87,8 +66,8 @@ module Puppet
|
|
|
87
66
|
desc "The file in which to store service information. Only used by
|
|
88
67
|
those providers that write to disk (i.e., not NetInfo)."
|
|
89
68
|
|
|
90
|
-
defaultto { if @
|
|
91
|
-
@
|
|
69
|
+
defaultto { if @resource.class.defaultprovider.ancestors.include?(Puppet::Provider::ParsedFile)
|
|
70
|
+
@resource.class.defaultprovider.default_target
|
|
92
71
|
else
|
|
93
72
|
nil
|
|
94
73
|
end
|
|
@@ -107,4 +86,4 @@ module Puppet
|
|
|
107
86
|
end
|
|
108
87
|
end
|
|
109
88
|
|
|
110
|
-
# $Id: host.rb
|
|
89
|
+
# $Id: host.rb 2517 2007-05-15 19:22:36Z luke $
|