puppet 0.22.4 → 0.23.0
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 +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
@@ -31,10 +31,10 @@ Puppet::Type.newtype(:resources) do
|
|
31
31
|
|
32
32
|
validate do |value|
|
33
33
|
if [:true, true, "true"].include?(value)
|
34
|
-
unless @
|
35
|
-
raise ArgumentError, "Purging resources of type %s is not supported, since they cannot be
|
34
|
+
unless @resource.resource_type.respond_to?(:instances)
|
35
|
+
raise ArgumentError, "Purging resources of type %s is not supported, since they cannot be queried from the system" % @resource[:name]
|
36
36
|
end
|
37
|
-
unless @
|
37
|
+
unless @resource.resource_type.validproperty?(:ensure)
|
38
38
|
raise ArgumentError, "Purging is only supported on types that accept 'ensure'"
|
39
39
|
end
|
40
40
|
end
|
@@ -63,7 +63,7 @@ Puppet::Type.newtype(:resources) do
|
|
63
63
|
end
|
64
64
|
|
65
65
|
defaultto {
|
66
|
-
if @
|
66
|
+
if @resource[:name] == "user"
|
67
67
|
500
|
68
68
|
else
|
69
69
|
nil
|
@@ -91,7 +91,7 @@ Puppet::Type.newtype(:resources) do
|
|
91
91
|
return [] unless self.purge?
|
92
92
|
hascheck = false
|
93
93
|
method =
|
94
|
-
resource_type.
|
94
|
+
resource_type.instances.find_all do |resource|
|
95
95
|
! resource.managed?
|
96
96
|
end.find_all do |resource|
|
97
97
|
check(resource)
|
@@ -124,18 +124,22 @@ Puppet::Type.newtype(:resources) do
|
|
124
124
|
@resource_type
|
125
125
|
end
|
126
126
|
|
127
|
+
# Make sure we don't purge users below a certain uid, if the check
|
128
|
+
# is enabled.
|
127
129
|
def user_check(resource)
|
128
130
|
return true unless self[:name] == "user"
|
129
131
|
return true unless self[:unless_system_user]
|
130
132
|
|
131
133
|
resource[:check] = :uid
|
132
|
-
resource.retrieve
|
134
|
+
current_values = resource.retrieve
|
133
135
|
|
134
136
|
if system_users().include?(resource[:name])
|
135
137
|
return false
|
136
138
|
end
|
139
|
+
|
140
|
+
resource.info current_values.inspect
|
137
141
|
|
138
|
-
if resource.
|
142
|
+
if current_values[resource.property(:uid)] <= self[:unless_system_user]
|
139
143
|
return false
|
140
144
|
else
|
141
145
|
return true
|
@@ -147,4 +151,4 @@ Puppet::Type.newtype(:resources) do
|
|
147
151
|
end
|
148
152
|
end
|
149
153
|
|
150
|
-
# $Id: resources.rb
|
154
|
+
# $Id: resources.rb 2551 2007-06-04 20:37:14Z luke $
|
data/lib/puppet/type/schedule.rb
CHANGED
@@ -249,7 +249,7 @@ module Puppet
|
|
249
249
|
return false if value == :never
|
250
250
|
|
251
251
|
value = self.value
|
252
|
-
case @
|
252
|
+
case @resource[:periodmatch]
|
253
253
|
when :number
|
254
254
|
method = @@methods[value]
|
255
255
|
if method.is_a?(Proc)
|
@@ -266,7 +266,7 @@ module Puppet
|
|
266
266
|
# than the unit of time, we match. We divide the scale
|
267
267
|
# by the repeat, so that we'll repeat that often within
|
268
268
|
# the scale.
|
269
|
-
return (now.to_i - previous.to_i) >= (scale / @
|
269
|
+
return (now.to_i - previous.to_i) >= (scale / @resource[:repeat])
|
270
270
|
end
|
271
271
|
end
|
272
272
|
end
|
@@ -285,12 +285,12 @@ module Puppet
|
|
285
285
|
|
286
286
|
# This implicitly assumes that 'periodmatch' is distance -- that
|
287
287
|
# is, if there's no value, we assume it's a valid value.
|
288
|
-
return unless @
|
288
|
+
return unless @resource[:periodmatch]
|
289
289
|
|
290
|
-
if value != 1 and @
|
290
|
+
if value != 1 and @resource[:periodmatch] != :distance
|
291
291
|
raise Puppet::Error,
|
292
292
|
"Repeat must be 1 unless periodmatch is 'distance', not '%s'" %
|
293
|
-
@
|
293
|
+
@resource[:periodmatch]
|
294
294
|
end
|
295
295
|
end
|
296
296
|
|
@@ -307,8 +307,8 @@ module Puppet
|
|
307
307
|
end
|
308
308
|
end
|
309
309
|
|
310
|
-
def self.
|
311
|
-
|
310
|
+
def self.instances
|
311
|
+
[]
|
312
312
|
end
|
313
313
|
|
314
314
|
def self.mkdefaultschedules
|
@@ -358,4 +358,4 @@ module Puppet
|
|
358
358
|
end
|
359
359
|
end
|
360
360
|
|
361
|
-
# $Id: schedule.rb
|
361
|
+
# $Id: schedule.rb 2551 2007-06-04 20:37:14Z luke $
|
data/lib/puppet/type/service.rb
CHANGED
@@ -37,7 +37,7 @@ module Puppet
|
|
37
37
|
newvalue(:true, :event => :service_enabled) do
|
38
38
|
unless provider.respond_to?(:enable)
|
39
39
|
raise Puppet::Error, "Service %s does not support enabling" %
|
40
|
-
@
|
40
|
+
@resource.name
|
41
41
|
end
|
42
42
|
provider.enable
|
43
43
|
end
|
@@ -45,7 +45,7 @@ module Puppet
|
|
45
45
|
newvalue(:false, :event => :service_disabled) do
|
46
46
|
unless provider.respond_to?(:disable)
|
47
47
|
raise Puppet::Error, "Service %s does not support enabling" %
|
48
|
-
@
|
48
|
+
@resource.name
|
49
49
|
end
|
50
50
|
provider.disable
|
51
51
|
end
|
@@ -53,9 +53,9 @@ module Puppet
|
|
53
53
|
def retrieve
|
54
54
|
unless provider.respond_to?(:enabled?)
|
55
55
|
raise Puppet::Error, "Service %s does not support enabling" %
|
56
|
-
@
|
56
|
+
@resource.name
|
57
57
|
end
|
58
|
-
|
58
|
+
return provider.enabled?
|
59
59
|
end
|
60
60
|
|
61
61
|
validate do |value|
|
@@ -67,15 +67,15 @@ module Puppet
|
|
67
67
|
munge do |should|
|
68
68
|
@runlevel = nil
|
69
69
|
if should =~ /^\d+$/
|
70
|
-
arity = @
|
70
|
+
arity = @resource.method(:enable)
|
71
71
|
if @runlevel and arity != 1
|
72
72
|
raise Puppet::Error,
|
73
73
|
"Services on %s do not accept runlevel specs" %
|
74
|
-
@
|
74
|
+
@resource.type
|
75
75
|
elsif arity != 0
|
76
76
|
raise Puppet::Error,
|
77
77
|
"Services on %s must specify runlevels" %
|
78
|
-
@
|
78
|
+
@resource.type
|
79
79
|
end
|
80
80
|
@runlevel = should
|
81
81
|
return :true
|
@@ -116,7 +116,7 @@ module Puppet
|
|
116
116
|
aliasvalue(:true, :running)
|
117
117
|
|
118
118
|
def retrieve
|
119
|
-
|
119
|
+
return provider.status
|
120
120
|
end
|
121
121
|
|
122
122
|
def sync
|
@@ -133,9 +133,9 @@ module Puppet
|
|
133
133
|
# self
|
134
134
|
# end
|
135
135
|
|
136
|
-
if property = @
|
137
|
-
property.retrieve
|
138
|
-
unless property.insync?
|
136
|
+
if property = @resource.property(:enable)
|
137
|
+
val = property.retrieve
|
138
|
+
unless property.insync?(val)
|
139
139
|
property.sync
|
140
140
|
end
|
141
141
|
end
|
@@ -152,8 +152,8 @@ module Puppet
|
|
152
152
|
warning."
|
153
153
|
|
154
154
|
munge do |value|
|
155
|
-
@
|
156
|
-
@
|
155
|
+
@resource.warning "'running' is deprecated; please use 'ensure'"
|
156
|
+
@resource[:ensure] = value
|
157
157
|
end
|
158
158
|
end
|
159
159
|
|
@@ -188,7 +188,7 @@ module Puppet
|
|
188
188
|
|
189
189
|
munge do |value|
|
190
190
|
warning "'type' is deprecated; use 'provider' instead"
|
191
|
-
@
|
191
|
+
@resource[:provider] = value
|
192
192
|
end
|
193
193
|
end
|
194
194
|
|
@@ -211,11 +211,11 @@ module Puppet
|
|
211
211
|
end
|
212
212
|
if FileTest.exists?(path)
|
213
213
|
unless FileTest.directory?(path)
|
214
|
-
@
|
214
|
+
@resource.debug "Search path %s is not a directory" %
|
215
215
|
[path]
|
216
216
|
end
|
217
217
|
else
|
218
|
-
@
|
218
|
+
@resource.debug("Search path %s does not exist" % [path])
|
219
219
|
end
|
220
220
|
paths.delete(path)
|
221
221
|
end
|
@@ -236,7 +236,7 @@ module Puppet
|
|
236
236
|
The pattern can be a simple string or any legal Ruby pattern."
|
237
237
|
|
238
238
|
defaultto {
|
239
|
-
@
|
239
|
+
@resource[:binary] || @resource[:name]
|
240
240
|
}
|
241
241
|
end
|
242
242
|
newparam(:restart) do
|
@@ -265,20 +265,6 @@ module Puppet
|
|
265
265
|
newvalues(:true, :false)
|
266
266
|
end
|
267
267
|
|
268
|
-
# List all available services
|
269
|
-
def self.list
|
270
|
-
defprov = defaultprovider
|
271
|
-
|
272
|
-
names = []
|
273
|
-
if defprov.respond_to? :list
|
274
|
-
defprov.list(defprov.name)
|
275
|
-
else
|
276
|
-
Puppet.debug "Type %s does not respond to list" % defprov.name
|
277
|
-
end
|
278
|
-
|
279
|
-
self.collect { |s| s }
|
280
|
-
end
|
281
|
-
|
282
268
|
# Add a new path to our list of paths that services could be in.
|
283
269
|
def self.newpath(type, path)
|
284
270
|
type = type.intern if type.is_a? String
|
@@ -307,17 +293,24 @@ module Puppet
|
|
307
293
|
if self.respond_to?(:configchk)
|
308
294
|
self.configchk
|
309
295
|
end
|
296
|
+
|
297
|
+
unless @parameters.include?(:ensure) or @parameters.include?(:enable)
|
298
|
+
warning "No properties specified; 'enable' or 'ensure' should be specified"
|
299
|
+
end
|
310
300
|
end
|
311
301
|
|
312
302
|
# Basically just a synonym for restarting. Used to respond
|
313
303
|
# to events.
|
314
304
|
def refresh
|
315
305
|
# Only restart if we're supposed to be running
|
316
|
-
|
306
|
+
|
307
|
+
if ens = @parameters[:ensure] and ens.should == :running and ens.retrieve == :running
|
317
308
|
provider.restart
|
309
|
+
else
|
310
|
+
debug "Skipping restart; 'ensure' is not set to 'running'"
|
318
311
|
end
|
319
312
|
end
|
320
313
|
end
|
321
314
|
end
|
322
315
|
|
323
|
-
# $Id: service.rb
|
316
|
+
# $Id: service.rb 2555 2007-06-08 17:20:00Z luke $
|
data/lib/puppet/type/sshkey.rb
CHANGED
@@ -28,11 +28,10 @@ module Puppet
|
|
28
28
|
make those aliases available in your Puppet scripts."
|
29
29
|
|
30
30
|
attr_accessor :meta
|
31
|
-
|
32
|
-
def insync?
|
33
|
-
@is == @should
|
34
|
-
end
|
35
31
|
|
32
|
+
def insync?(is)
|
33
|
+
is == @should
|
34
|
+
end
|
36
35
|
# We actually want to return the whole array here, not just the first
|
37
36
|
# value.
|
38
37
|
def should
|
@@ -63,8 +62,8 @@ module Puppet
|
|
63
62
|
desc "The file in which to store the mount table. Only used by
|
64
63
|
those providers that write to disk (i.e., not NetInfo)."
|
65
64
|
|
66
|
-
defaultto { if @
|
67
|
-
@
|
65
|
+
defaultto { if @resource.class.defaultprovider.ancestors.include?(Puppet::Provider::ParsedFile)
|
66
|
+
@resource.class.defaultprovider.default_target
|
68
67
|
else
|
69
68
|
nil
|
70
69
|
end
|
@@ -73,4 +72,4 @@ module Puppet
|
|
73
72
|
end
|
74
73
|
end
|
75
74
|
|
76
|
-
# $Id: sshkey.rb
|
75
|
+
# $Id: sshkey.rb 2500 2007-05-09 22:05:32Z luke $
|
data/lib/puppet/type/tidy.rb
CHANGED
@@ -27,21 +27,21 @@ module Puppet
|
|
27
27
|
|
28
28
|
defaultto :anything # just so we always get this property
|
29
29
|
|
30
|
-
def change_to_s
|
30
|
+
def change_to_s(currentvalue, newvalue)
|
31
31
|
start = "Tidying"
|
32
32
|
if @out.include?(:age)
|
33
|
-
start += ", older than %s seconds" % @
|
33
|
+
start += ", older than %s seconds" % @resource.should(:age)
|
34
34
|
end
|
35
35
|
if @out.include?(:size)
|
36
|
-
start += ", larger than %s bytes" % @
|
36
|
+
start += ", larger than %s bytes" % @resource.should(:size)
|
37
37
|
end
|
38
38
|
|
39
39
|
start
|
40
40
|
end
|
41
41
|
|
42
|
-
def insync?
|
43
|
-
if
|
44
|
-
if [:absent, :notidy].include?(
|
42
|
+
def insync?(is)
|
43
|
+
if is.is_a?(Symbol)
|
44
|
+
if [:absent, :notidy].include?(is)
|
45
45
|
return true
|
46
46
|
else
|
47
47
|
return false
|
@@ -49,12 +49,14 @@ module Puppet
|
|
49
49
|
else
|
50
50
|
@out = []
|
51
51
|
TATTRS.each do |param|
|
52
|
-
if property = @
|
53
|
-
|
52
|
+
if property = @resource.property(param)
|
53
|
+
self.debug "No is value for %s", [param] if is[property].nil?
|
54
|
+
unless property.insync?(is[property])
|
54
55
|
@out << param
|
55
56
|
end
|
56
57
|
end
|
57
58
|
end
|
59
|
+
|
58
60
|
if @out.length > 0
|
59
61
|
return false
|
60
62
|
else
|
@@ -62,47 +64,47 @@ module Puppet
|
|
62
64
|
end
|
63
65
|
end
|
64
66
|
end
|
65
|
-
|
67
|
+
|
66
68
|
def retrieve
|
67
69
|
stat = nil
|
68
|
-
unless stat = @
|
69
|
-
|
70
|
-
return
|
70
|
+
unless stat = @resource.stat
|
71
|
+
return { self => :absent}
|
71
72
|
end
|
72
73
|
|
73
|
-
if stat.ftype == "directory" and ! @
|
74
|
-
|
75
|
-
return
|
74
|
+
if stat.ftype == "directory" and ! @resource[:rmdirs]
|
75
|
+
return {self => :notidy}
|
76
76
|
end
|
77
77
|
|
78
|
-
TATTRS.
|
79
|
-
if property = @
|
80
|
-
property
|
78
|
+
allprops = TATTRS.inject({}) { |prophash, param|
|
79
|
+
if property = @resource.property(param)
|
80
|
+
prophash[property] = property.assess(stat)
|
81
81
|
end
|
82
|
+
prophash
|
82
83
|
}
|
84
|
+
return { self => allprops }
|
83
85
|
end
|
84
86
|
|
85
87
|
def sync
|
86
|
-
file = @
|
88
|
+
file = @resource[:path]
|
87
89
|
case File.lstat(file).ftype
|
88
90
|
when "directory":
|
89
|
-
if @
|
90
|
-
subs = Dir.entries(@
|
91
|
+
if @resource[:rmdirs]
|
92
|
+
subs = Dir.entries(@resource[:path]).reject { |d|
|
91
93
|
d == "." or d == ".."
|
92
94
|
}.length
|
93
95
|
if subs > 0
|
94
96
|
self.info "%s has %s children; not tidying" %
|
95
|
-
[@
|
96
|
-
self.info Dir.entries(@
|
97
|
+
[@resource[:path], subs]
|
98
|
+
self.info Dir.entries(@resource[:path]).inspect
|
97
99
|
else
|
98
|
-
Dir.rmdir(@
|
100
|
+
Dir.rmdir(@resource[:path])
|
99
101
|
end
|
100
102
|
else
|
101
103
|
self.debug "Not tidying directories"
|
102
104
|
return nil
|
103
105
|
end
|
104
106
|
when "file":
|
105
|
-
@
|
107
|
+
@resource.handlebackup(file)
|
106
108
|
File.unlink(file)
|
107
109
|
when "link":
|
108
110
|
File.unlink(file)
|
@@ -135,7 +137,7 @@ module Puppet
|
|
135
137
|
if stat.ftype == "directory"
|
136
138
|
type = :mtime
|
137
139
|
else
|
138
|
-
type = @
|
140
|
+
type = @resource[:type] || :atime
|
139
141
|
end
|
140
142
|
|
141
143
|
#return Integer(Time.now - stat.send(type))
|
@@ -150,8 +152,8 @@ module Puppet
|
|
150
152
|
end
|
151
153
|
end
|
152
154
|
|
153
|
-
def insync?
|
154
|
-
if (Time.now.to_i -
|
155
|
+
def insync?(is)
|
156
|
+
if (Time.now.to_i - is) > self.should
|
155
157
|
return false
|
156
158
|
end
|
157
159
|
|
@@ -204,8 +206,8 @@ module Puppet
|
|
204
206
|
end
|
205
207
|
end
|
206
208
|
|
207
|
-
def insync?
|
208
|
-
if
|
209
|
+
def insync?(is)
|
210
|
+
if is > self.should
|
209
211
|
return false
|
210
212
|
end
|
211
213
|
|
@@ -252,8 +254,8 @@ module Puppet
|
|
252
254
|
validate do
|
253
255
|
end
|
254
256
|
|
255
|
-
def self.
|
256
|
-
|
257
|
+
def self.instances
|
258
|
+
[]
|
257
259
|
end
|
258
260
|
|
259
261
|
@depthfirst = true
|
@@ -270,14 +272,18 @@ module Puppet
|
|
270
272
|
end
|
271
273
|
|
272
274
|
# only allow backing up into filebuckets
|
273
|
-
unless self[:backup].is_a? Puppet::Network::Client
|
275
|
+
unless self[:backup].is_a? Puppet::Network::Client.dipper
|
274
276
|
self[:backup] = false
|
275
277
|
end
|
276
278
|
end
|
277
279
|
|
278
280
|
def retrieve
|
279
281
|
# Our ensure property knows how to retrieve everything for us.
|
280
|
-
obj = @parameters[:ensure]
|
282
|
+
if obj = @parameters[:ensure]
|
283
|
+
return obj.retrieve
|
284
|
+
else
|
285
|
+
return {}
|
286
|
+
end
|
281
287
|
end
|
282
288
|
|
283
289
|
# Hack things a bit so we only ever check the ensure property.
|
@@ -287,4 +293,4 @@ module Puppet
|
|
287
293
|
end
|
288
294
|
end
|
289
295
|
|
290
|
-
# $Id: tidy.rb
|
296
|
+
# $Id: tidy.rb 2551 2007-06-04 20:37:14Z luke $
|