puppet 0.9.2 → 0.13.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 +58 -0
- data/README +21 -18
- data/Rakefile +176 -36
- data/bin/puppet +34 -48
- data/bin/puppetca +41 -28
- data/bin/puppetd +87 -65
- data/bin/puppetdoc +99 -23
- data/bin/puppetmasterd +72 -91
- data/conf/redhat/client.init +80 -0
- data/conf/redhat/client.sysconfig +11 -0
- data/conf/redhat/fileserver.conf +12 -0
- data/conf/redhat/puppet.spec +130 -0
- data/conf/redhat/server.init +89 -0
- data/conf/redhat/server.sysconfig +9 -0
- data/examples/code/allatonce +2 -2
- data/examples/code/assignments +1 -1
- data/examples/code/classing +2 -2
- data/examples/code/components +2 -2
- data/examples/code/file.bl +5 -5
- data/examples/code/filedefaults +2 -2
- data/examples/code/fileparsing +1 -1
- data/examples/code/filerecursion +1 -1
- data/examples/code/functions +1 -1
- data/examples/code/groups +1 -1
- data/examples/code/importing +1 -1
- data/examples/code/nodes +1 -1
- data/examples/code/one +1 -1
- data/examples/code/relationships +2 -2
- data/examples/code/simpletests +5 -5
- data/examples/code/snippets/argumentdefaults +2 -2
- data/examples/code/snippets/casestatement +16 -8
- data/examples/code/snippets/classheirarchy.pp +4 -4
- data/examples/code/snippets/classincludes.pp +4 -4
- data/examples/code/snippets/classpathtest +2 -2
- data/examples/code/snippets/componentmetaparams.pp +11 -0
- data/examples/code/snippets/dirchmod +5 -5
- data/examples/code/snippets/emptyclass.pp +9 -0
- data/examples/code/snippets/failmissingexecpath.pp +1 -1
- data/examples/code/snippets/falsevalues.pp +1 -1
- data/examples/code/snippets/filecreate +5 -5
- data/examples/code/snippets/implicititeration +5 -5
- data/examples/code/snippets/multipleinstances +4 -4
- data/examples/code/snippets/namevartest +3 -3
- data/examples/code/snippets/scopetest +1 -1
- data/examples/code/snippets/selectorvalues.pp +3 -3
- data/examples/code/snippets/simpledefaults +2 -2
- data/examples/code/snippets/simpleselector +5 -5
- data/examples/code/snippets/singleary.pp +19 -0
- data/examples/root/etc/init.d/sleeper +3 -2
- data/ext/emacs/puppet-mode-init.el +6 -0
- data/ext/emacs/puppet-mode.el +189 -0
- data/ext/ldap/puppet.schema +17 -0
- data/ext/{module:puppet → module_puppet} +30 -31
- data/ext/vim/filetype.vim +9 -0
- data/ext/vim/puppet.vim +87 -0
- data/install.rb +63 -30
- data/lib/puppet.rb +216 -122
- data/lib/puppet/client.rb +51 -416
- data/lib/puppet/client/ca.rb +17 -0
- data/lib/puppet/client/dipper.rb +78 -0
- data/lib/puppet/client/file.rb +20 -0
- data/lib/puppet/client/log.rb +17 -0
- data/lib/puppet/client/master.rb +246 -0
- data/lib/puppet/client/proxy.rb +27 -0
- data/lib/puppet/client/status.rb +7 -0
- data/lib/puppet/config.rb +563 -13
- data/lib/puppet/daemon.rb +50 -22
- data/lib/puppet/element.rb +4 -4
- data/lib/puppet/event-loop.rb +1 -0
- data/lib/puppet/event-loop/better-definers.rb +367 -0
- data/lib/puppet/event-loop/event-loop.rb +355 -0
- data/lib/puppet/event-loop/signal-system.rb +220 -0
- data/lib/puppet/event.rb +9 -11
- data/lib/puppet/filetype.rb +195 -0
- data/lib/puppet/log.rb +35 -12
- data/lib/puppet/metric.rb +2 -2
- data/lib/puppet/networkclient.rb +145 -0
- data/lib/puppet/parameter.rb +335 -0
- data/lib/puppet/parser/ast.rb +42 -1453
- data/lib/puppet/parser/ast/astarray.rb +88 -0
- data/lib/puppet/parser/ast/branch.rb +47 -0
- data/lib/puppet/parser/ast/caseopt.rb +66 -0
- data/lib/puppet/parser/ast/casestatement.rb +78 -0
- data/lib/puppet/parser/ast/classdef.rb +78 -0
- data/lib/puppet/parser/ast/compdef.rb +111 -0
- data/lib/puppet/parser/ast/component.rb +105 -0
- data/lib/puppet/parser/ast/hostclass.rb +82 -0
- data/lib/puppet/parser/ast/leaf.rb +86 -0
- data/lib/puppet/parser/ast/node.rb +103 -0
- data/lib/puppet/parser/ast/nodedef.rb +68 -0
- data/lib/puppet/parser/ast/objectdef.rb +336 -0
- data/lib/puppet/parser/ast/objectparam.rb +30 -0
- data/lib/puppet/parser/ast/objectref.rb +76 -0
- data/lib/puppet/parser/ast/selector.rb +60 -0
- data/lib/puppet/parser/ast/typedefaults.rb +45 -0
- data/lib/puppet/parser/ast/vardef.rb +44 -0
- data/lib/puppet/parser/interpreter.rb +31 -14
- data/lib/puppet/parser/lexer.rb +2 -4
- data/lib/puppet/parser/parser.rb +332 -242
- data/lib/puppet/parser/scope.rb +55 -38
- data/lib/puppet/server.rb +43 -44
- data/lib/puppet/server/authstore.rb +3 -6
- data/lib/puppet/server/ca.rb +5 -2
- data/lib/puppet/server/filebucket.rb +2 -4
- data/lib/puppet/server/fileserver.rb +28 -12
- data/lib/puppet/server/logger.rb +15 -4
- data/lib/puppet/server/master.rb +62 -7
- data/lib/puppet/sslcertificates.rb +41 -607
- data/lib/puppet/sslcertificates/ca.rb +291 -0
- data/lib/puppet/sslcertificates/certificate.rb +283 -0
- data/lib/puppet/statechange.rb +6 -1
- data/lib/puppet/storage.rb +67 -56
- data/lib/puppet/transaction.rb +25 -9
- data/lib/puppet/transportable.rb +102 -22
- data/lib/puppet/type.rb +1096 -315
- data/lib/puppet/type/component.rb +30 -21
- data/lib/puppet/type/cron.rb +409 -448
- data/lib/puppet/type/exec.rb +234 -174
- data/lib/puppet/type/group.rb +65 -82
- data/lib/puppet/type/nameservice.rb +247 -3
- data/lib/puppet/type/nameservice/netinfo.rb +29 -40
- data/lib/puppet/type/nameservice/objectadd.rb +52 -66
- data/lib/puppet/type/nameservice/posix.rb +6 -194
- data/lib/puppet/type/package.rb +447 -295
- data/lib/puppet/type/package/apt.rb +51 -50
- data/lib/puppet/type/package/bsd.rb +82 -0
- data/lib/puppet/type/package/dpkg.rb +85 -88
- data/lib/puppet/type/package/rpm.rb +67 -63
- data/lib/puppet/type/package/sun.rb +119 -98
- data/lib/puppet/type/package/yum.rb +41 -37
- data/lib/puppet/type/parsedtype.rb +295 -0
- data/lib/puppet/type/parsedtype/host.rb +143 -0
- data/lib/puppet/type/parsedtype/port.rb +232 -0
- data/lib/puppet/type/parsedtype/sshkey.rb +129 -0
- data/lib/puppet/type/pfile.rb +484 -460
- data/lib/puppet/type/pfile/checksum.rb +237 -181
- data/lib/puppet/type/pfile/content.rb +67 -0
- data/lib/puppet/type/pfile/ensure.rb +212 -0
- data/lib/puppet/type/pfile/group.rb +106 -105
- data/lib/puppet/type/pfile/mode.rb +98 -101
- data/lib/puppet/type/pfile/source.rb +228 -209
- data/lib/puppet/type/pfile/type.rb +18 -21
- data/lib/puppet/type/pfile/uid.rb +127 -130
- data/lib/puppet/type/pfilebucket.rb +68 -63
- data/lib/puppet/type/schedule.rb +341 -0
- data/lib/puppet/type/service.rb +351 -255
- data/lib/puppet/type/service/base.rb +9 -14
- data/lib/puppet/type/service/debian.rb +32 -38
- data/lib/puppet/type/service/init.rb +130 -130
- data/lib/puppet/type/service/smf.rb +48 -20
- data/lib/puppet/type/state.rb +229 -16
- data/lib/puppet/type/symlink.rb +51 -63
- data/lib/puppet/type/tidy.rb +105 -102
- data/lib/puppet/type/user.rb +118 -180
- data/lib/puppet/util.rb +100 -6
- data/test/certmgr/certmgr.rb +0 -1
- data/test/client/client.rb +4 -4
- data/test/executables/puppetbin.rb +7 -14
- data/test/executables/puppetca.rb +18 -24
- data/test/executables/puppetd.rb +7 -16
- data/test/executables/puppetmasterd.rb +7 -9
- data/test/executables/puppetmodule.rb +11 -16
- data/test/language/ast.rb +11 -7
- data/test/language/interpreter.rb +1 -1
- data/test/language/scope.rb +2 -0
- data/test/language/snippets.rb +30 -5
- data/test/language/transportable.rb +77 -0
- data/test/other/config.rb +316 -0
- data/test/other/events.rb +22 -21
- data/test/other/log.rb +14 -14
- data/test/other/metrics.rb +4 -8
- data/test/other/overrides.rb +5 -5
- data/test/other/relationships.rb +4 -2
- data/test/other/storage.rb +64 -3
- data/test/other/transactions.rb +20 -20
- data/test/parser/parser.rb +7 -4
- data/test/puppet/conffiles.rb +12 -12
- data/test/puppet/defaults.rb +13 -11
- data/test/puppet/utiltest.rb +14 -11
- data/test/puppettest.rb +156 -48
- data/test/server/bucket.rb +2 -2
- data/test/server/fileserver.rb +6 -6
- data/test/server/logger.rb +19 -11
- data/test/server/master.rb +33 -4
- data/test/server/server.rb +2 -7
- data/test/types/basic.rb +5 -7
- data/test/types/component.rb +22 -18
- data/test/types/cron.rb +111 -44
- data/test/types/exec.rb +116 -59
- data/test/types/file.rb +262 -137
- data/test/types/filebucket.rb +13 -15
- data/test/types/fileignoresource.rb +12 -16
- data/test/types/filesources.rb +73 -48
- data/test/types/filetype.rb +13 -15
- data/test/types/group.rb +15 -13
- data/test/types/host.rb +146 -0
- data/test/types/package.rb +74 -63
- data/test/types/port.rb +139 -0
- data/test/types/query.rb +8 -8
- data/test/types/schedule.rb +335 -0
- data/test/types/service.rb +137 -21
- data/test/types/sshkey.rb +140 -0
- data/test/types/symlink.rb +3 -5
- data/test/types/tidy.rb +5 -14
- data/test/types/type.rb +67 -11
- data/test/types/user.rb +25 -23
- metadata +186 -122
- data/lib/puppet/type/pfile/create.rb +0 -108
- data/lib/puppet/type/pprocess.rb +0 -97
- data/lib/puppet/type/typegen.rb +0 -149
- data/lib/puppet/type/typegen/filerecord.rb +0 -243
- data/lib/puppet/type/typegen/filetype.rb +0 -316
- data/test/other/state.rb +0 -106
data/test/types/filebucket.rb
CHANGED
@@ -9,7 +9,7 @@ require 'test/unit'
|
|
9
9
|
require 'fileutils'
|
10
10
|
require 'puppettest'
|
11
11
|
|
12
|
-
# $Id: filebucket.rb
|
12
|
+
# $Id: filebucket.rb 847 2006-01-23 22:38:39Z luke $
|
13
13
|
|
14
14
|
class TestFileBucket < Test::Unit::TestCase
|
15
15
|
include FileTesting
|
@@ -19,7 +19,7 @@ class TestFileBucket < Test::Unit::TestCase
|
|
19
19
|
def mkfile(hash)
|
20
20
|
file = nil
|
21
21
|
assert_nothing_raised {
|
22
|
-
file = Puppet
|
22
|
+
file = Puppet.type(:file).create(hash)
|
23
23
|
}
|
24
24
|
return file
|
25
25
|
end
|
@@ -27,7 +27,7 @@ class TestFileBucket < Test::Unit::TestCase
|
|
27
27
|
def mkbucket(name,path)
|
28
28
|
bucket = nil
|
29
29
|
assert_nothing_raised {
|
30
|
-
bucket = Puppet
|
30
|
+
bucket = Puppet.type(:filebucket).create(
|
31
31
|
:name => name,
|
32
32
|
:path => path
|
33
33
|
)
|
@@ -52,15 +52,10 @@ class TestFileBucket < Test::Unit::TestCase
|
|
52
52
|
begin
|
53
53
|
initstorage
|
54
54
|
rescue
|
55
|
-
system("rm -rf %s" % Puppet[:
|
55
|
+
system("rm -rf %s" % Puppet[:statefile])
|
56
56
|
end
|
57
57
|
end
|
58
58
|
|
59
|
-
def teardown
|
60
|
-
super
|
61
|
-
clearstorage
|
62
|
-
end
|
63
|
-
|
64
59
|
def initstorage
|
65
60
|
Puppet::Storage.init
|
66
61
|
Puppet::Storage.load
|
@@ -73,17 +68,17 @@ class TestFileBucket < Test::Unit::TestCase
|
|
73
68
|
|
74
69
|
def test_simplebucket
|
75
70
|
name = "yayness"
|
76
|
-
mkbucket(
|
71
|
+
mkbucket(name, tempfile())
|
77
72
|
|
78
73
|
bucket = nil
|
79
74
|
assert_nothing_raised {
|
80
|
-
bucket = Puppet
|
75
|
+
bucket = Puppet.type(:filebucket).bucket(name)
|
81
76
|
}
|
82
77
|
|
83
78
|
assert_instance_of(Puppet::Client::Dipper, bucket)
|
84
79
|
|
85
80
|
md5 = nil
|
86
|
-
newpath =
|
81
|
+
newpath = tempfile()
|
87
82
|
@@tmpfiles << newpath
|
88
83
|
system("cp /etc/passwd %s" % newpath)
|
89
84
|
assert_nothing_raised {
|
@@ -94,6 +89,8 @@ class TestFileBucket < Test::Unit::TestCase
|
|
94
89
|
|
95
90
|
newmd5 = nil
|
96
91
|
|
92
|
+
# Just in case the file isn't writable
|
93
|
+
File.chmod(0644, newpath)
|
97
94
|
File.open(newpath, "w") { |f| f.puts ";lkjasdf;lkjasdflkjwerlkj134lkj" }
|
98
95
|
|
99
96
|
assert_nothing_raised {
|
@@ -113,11 +110,11 @@ class TestFileBucket < Test::Unit::TestCase
|
|
113
110
|
|
114
111
|
def test_fileswithbuckets
|
115
112
|
name = "yayness"
|
116
|
-
mkbucket(
|
113
|
+
mkbucket(name, tempfile())
|
117
114
|
|
118
115
|
bucket = nil
|
119
116
|
assert_nothing_raised {
|
120
|
-
bucket = Puppet
|
117
|
+
bucket = Puppet.type(:filebucket).bucket(name)
|
121
118
|
}
|
122
119
|
|
123
120
|
file = mktestfile()
|
@@ -125,7 +122,7 @@ class TestFileBucket < Test::Unit::TestCase
|
|
125
122
|
file[:backup] = ["filebucket", name]
|
126
123
|
}
|
127
124
|
|
128
|
-
opath =
|
125
|
+
opath = tempfile()
|
129
126
|
@@tmpfiles << opath
|
130
127
|
system("cp /etc/passwd %s" % opath)
|
131
128
|
|
@@ -153,6 +150,7 @@ class TestFileBucket < Test::Unit::TestCase
|
|
153
150
|
File.open(file.name) { |f| newmd5 = Digest::MD5.hexdigest(f.read) }
|
154
151
|
)
|
155
152
|
|
153
|
+
#File.chmod(0644, file.name)
|
156
154
|
assert_nothing_raised {
|
157
155
|
bucket.restore(file.name, origmd5)
|
158
156
|
}
|
@@ -11,7 +11,6 @@ require 'test/unit'
|
|
11
11
|
require 'fileutils'
|
12
12
|
require 'puppettest'
|
13
13
|
|
14
|
-
# $Id: $
|
15
14
|
|
16
15
|
class TestFileIgnoreSources < Test::Unit::TestCase
|
17
16
|
include FileTesting
|
@@ -21,15 +20,10 @@ class TestFileIgnoreSources < Test::Unit::TestCase
|
|
21
20
|
begin
|
22
21
|
initstorage
|
23
22
|
rescue
|
24
|
-
system("rm -rf %s" % Puppet[:
|
23
|
+
system("rm -rf %s" % Puppet[:statefile])
|
25
24
|
end
|
26
25
|
end
|
27
26
|
|
28
|
-
def teardown
|
29
|
-
super
|
30
|
-
clearstorage
|
31
|
-
end
|
32
|
-
|
33
27
|
#This is not needed unless using md5 (correct me if I'm wrong)
|
34
28
|
def initstorage
|
35
29
|
Puppet::Storage.init
|
@@ -44,7 +38,7 @@ class TestFileIgnoreSources < Test::Unit::TestCase
|
|
44
38
|
def test_ignore_simple_source
|
45
39
|
|
46
40
|
#Temp directory to run tests in
|
47
|
-
path =
|
41
|
+
path = tempfile()
|
48
42
|
@@tmpfiles.push path
|
49
43
|
|
50
44
|
#source directory
|
@@ -77,7 +71,7 @@ class TestFileIgnoreSources < Test::Unit::TestCase
|
|
77
71
|
|
78
72
|
#makes Puppet file Object
|
79
73
|
assert_nothing_raised {
|
80
|
-
tofile = Puppet
|
74
|
+
tofile = Puppet.type(:file).create(
|
81
75
|
:name => topath,
|
82
76
|
:source => frompath,
|
83
77
|
:recurse => true,
|
@@ -86,7 +80,7 @@ class TestFileIgnoreSources < Test::Unit::TestCase
|
|
86
80
|
}
|
87
81
|
|
88
82
|
#make a component and adds the file
|
89
|
-
comp = Puppet
|
83
|
+
comp = Puppet.type(:component).create(
|
90
84
|
:name => "component"
|
91
85
|
)
|
92
86
|
comp.push tofile
|
@@ -113,7 +107,7 @@ class TestFileIgnoreSources < Test::Unit::TestCase
|
|
113
107
|
|
114
108
|
def test_ignore_with_wildcard
|
115
109
|
#Temp directory to run tests in
|
116
|
-
path =
|
110
|
+
path = tempfile()
|
117
111
|
@@tmpfiles.push path
|
118
112
|
|
119
113
|
#source directory
|
@@ -154,7 +148,7 @@ class TestFileIgnoreSources < Test::Unit::TestCase
|
|
154
148
|
|
155
149
|
#makes Puppet file Object
|
156
150
|
assert_nothing_raised {
|
157
|
-
tofile = Puppet
|
151
|
+
tofile = Puppet.type(:file).create(
|
158
152
|
:name => topath,
|
159
153
|
:source => frompath,
|
160
154
|
:recurse => true,
|
@@ -163,7 +157,7 @@ class TestFileIgnoreSources < Test::Unit::TestCase
|
|
163
157
|
}
|
164
158
|
|
165
159
|
#make a component and adds the file
|
166
|
-
comp = Puppet
|
160
|
+
comp = Puppet.type(:component).create(
|
167
161
|
:name => "component"
|
168
162
|
)
|
169
163
|
comp.push tofile
|
@@ -192,7 +186,7 @@ class TestFileIgnoreSources < Test::Unit::TestCase
|
|
192
186
|
|
193
187
|
def test_ignore_array
|
194
188
|
#Temp directory to run tests in
|
195
|
-
path =
|
189
|
+
path = tempfile()
|
196
190
|
@@tmpfiles.push path
|
197
191
|
|
198
192
|
#source directory
|
@@ -238,7 +232,7 @@ class TestFileIgnoreSources < Test::Unit::TestCase
|
|
238
232
|
|
239
233
|
#makes Puppet file Object
|
240
234
|
assert_nothing_raised {
|
241
|
-
tofile = Puppet
|
235
|
+
tofile = Puppet.type(:file).create(
|
242
236
|
:name => topath,
|
243
237
|
:source => frompath,
|
244
238
|
:recurse => true,
|
@@ -248,7 +242,7 @@ class TestFileIgnoreSources < Test::Unit::TestCase
|
|
248
242
|
}
|
249
243
|
|
250
244
|
#make a component and adds the file
|
251
|
-
comp = Puppet
|
245
|
+
comp = Puppet.type(:component).create(
|
252
246
|
:name => "component"
|
253
247
|
)
|
254
248
|
comp.push tofile
|
@@ -285,3 +279,5 @@ class TestFileIgnoreSources < Test::Unit::TestCase
|
|
285
279
|
end
|
286
280
|
|
287
281
|
end
|
282
|
+
|
283
|
+
# $Id$
|
data/test/types/filesources.rb
CHANGED
@@ -18,7 +18,7 @@ class TestFileSources < Test::Unit::TestCase
|
|
18
18
|
begin
|
19
19
|
initstorage
|
20
20
|
rescue
|
21
|
-
system("rm -rf %s" % Puppet[:
|
21
|
+
system("rm -rf %s" % Puppet[:statefile])
|
22
22
|
end
|
23
23
|
if defined? @port
|
24
24
|
@port += 1
|
@@ -27,11 +27,6 @@ class TestFileSources < Test::Unit::TestCase
|
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
30
|
-
def teardown
|
31
|
-
super
|
32
|
-
clearstorage
|
33
|
-
end
|
34
|
-
|
35
30
|
def initstorage
|
36
31
|
Puppet::Storage.init
|
37
32
|
Puppet::Storage.load
|
@@ -43,7 +38,7 @@ class TestFileSources < Test::Unit::TestCase
|
|
43
38
|
end
|
44
39
|
|
45
40
|
def test_newchild
|
46
|
-
path =
|
41
|
+
path = tempfile()
|
47
42
|
@@tmpfiles.push path
|
48
43
|
|
49
44
|
FileUtils.mkdir_p path
|
@@ -54,22 +49,22 @@ class TestFileSources < Test::Unit::TestCase
|
|
54
49
|
comp = nil
|
55
50
|
trans = nil
|
56
51
|
assert_nothing_raised {
|
57
|
-
file = Puppet
|
52
|
+
file = Puppet.type(:file).create(
|
58
53
|
:name => path
|
59
54
|
)
|
60
55
|
}
|
61
56
|
child = nil
|
62
57
|
assert_nothing_raised {
|
63
|
-
child = file.newchild("childtest")
|
58
|
+
child = file.newchild("childtest", true)
|
64
59
|
}
|
65
60
|
assert(child)
|
66
61
|
assert_raise(Puppet::DevError) {
|
67
|
-
file.newchild(File.join(path,"childtest"))
|
62
|
+
file.newchild(File.join(path,"childtest"), true)
|
68
63
|
}
|
69
64
|
end
|
70
65
|
|
71
66
|
def test_simplelocalsource
|
72
|
-
path =
|
67
|
+
path = tempfile()
|
73
68
|
@@tmpfiles.push path
|
74
69
|
FileUtils.mkdir_p path
|
75
70
|
frompath = File.join(path,"source")
|
@@ -82,12 +77,12 @@ class TestFileSources < Test::Unit::TestCase
|
|
82
77
|
of.puts "yayness"
|
83
78
|
}
|
84
79
|
assert_nothing_raised {
|
85
|
-
tofile = Puppet
|
80
|
+
tofile = Puppet.type(:file).create(
|
86
81
|
:name => topath,
|
87
82
|
:source => frompath
|
88
83
|
)
|
89
84
|
}
|
90
|
-
comp = Puppet
|
85
|
+
comp = Puppet.type(:component).create(
|
91
86
|
:name => "component"
|
92
87
|
)
|
93
88
|
comp.push tofile
|
@@ -97,9 +92,6 @@ class TestFileSources < Test::Unit::TestCase
|
|
97
92
|
assert_nothing_raised {
|
98
93
|
trans.evaluate
|
99
94
|
}
|
100
|
-
# assert_nothing_raised {
|
101
|
-
# comp.sync
|
102
|
-
# }
|
103
95
|
|
104
96
|
assert(FileTest.exists?(topath))
|
105
97
|
from = File.open(frompath) { |o| o.read }
|
@@ -115,30 +107,21 @@ class TestFileSources < Test::Unit::TestCase
|
|
115
107
|
trans = nil
|
116
108
|
|
117
109
|
assert_nothing_raised {
|
118
|
-
tofile = Puppet
|
110
|
+
tofile = Puppet.type(:file).create(
|
119
111
|
:name => todir,
|
120
112
|
"recurse" => true,
|
121
113
|
"backup" => false,
|
122
114
|
"source" => fromdir
|
123
115
|
)
|
124
116
|
}
|
125
|
-
|
126
|
-
:name => "component"
|
127
|
-
)
|
128
|
-
comp.push tofile
|
129
|
-
assert_nothing_raised {
|
130
|
-
trans = comp.evaluate
|
131
|
-
}
|
132
|
-
assert_nothing_raised {
|
133
|
-
trans.evaluate
|
134
|
-
}
|
117
|
+
assert_apply(tofile)
|
135
118
|
|
136
|
-
assert(FileTest.exists?(todir))
|
119
|
+
assert(FileTest.exists?(todir), "Created dir %s does not exist" % todir)
|
137
120
|
Puppet::Type.allclear
|
138
121
|
end
|
139
122
|
|
140
123
|
def run_complex_sources(networked = false)
|
141
|
-
path =
|
124
|
+
path = tempfile()
|
142
125
|
@@tmpfiles.push path
|
143
126
|
|
144
127
|
# first create the source directory
|
@@ -236,7 +219,7 @@ class TestFileSources < Test::Unit::TestCase
|
|
236
219
|
end
|
237
220
|
|
238
221
|
def test_RecursionWithAddedFiles
|
239
|
-
basedir =
|
222
|
+
basedir = tempfile()
|
240
223
|
Dir.mkdir(basedir)
|
241
224
|
@@tmpfiles << basedir
|
242
225
|
file1 = File.join(basedir, "file1")
|
@@ -246,7 +229,7 @@ class TestFileSources < Test::Unit::TestCase
|
|
246
229
|
File.open(file1, "w") { |f| 3.times { f.print rand(100) } }
|
247
230
|
rootobj = nil
|
248
231
|
assert_nothing_raised {
|
249
|
-
rootobj = Puppet
|
232
|
+
rootobj = Puppet.type(:file).create(
|
250
233
|
:name => basedir,
|
251
234
|
:recurse => true,
|
252
235
|
:check => %w{type owner}
|
@@ -255,7 +238,7 @@ class TestFileSources < Test::Unit::TestCase
|
|
255
238
|
rootobj.evaluate
|
256
239
|
}
|
257
240
|
|
258
|
-
klass = Puppet
|
241
|
+
klass = Puppet.type(:file)
|
259
242
|
assert(klass[basedir])
|
260
243
|
assert(klass[file1])
|
261
244
|
assert_nil(klass[file2])
|
@@ -277,7 +260,7 @@ class TestFileSources < Test::Unit::TestCase
|
|
277
260
|
end
|
278
261
|
|
279
262
|
def mkfileserverconf(mounts)
|
280
|
-
file =
|
263
|
+
file = tempfile()
|
281
264
|
File.open(file, "w") { |f|
|
282
265
|
mounts.each { |path, name|
|
283
266
|
f.puts "[#{name}]\n\tpath #{path}\n\tallow *\n"
|
@@ -293,7 +276,7 @@ class TestFileSources < Test::Unit::TestCase
|
|
293
276
|
# the certificates correct
|
294
277
|
def disabled_test_SimpleNetworkSources
|
295
278
|
server = nil
|
296
|
-
basedir =
|
279
|
+
basedir = tempfile()
|
297
280
|
@@tmpfiles << basedir
|
298
281
|
|
299
282
|
mounts = {
|
@@ -307,8 +290,8 @@ class TestFileSources < Test::Unit::TestCase
|
|
307
290
|
end
|
308
291
|
Dir.mkdir(basedir)
|
309
292
|
|
310
|
-
Puppet[:
|
311
|
-
Puppet[:
|
293
|
+
Puppet[:confdir] = basedir
|
294
|
+
Puppet[:vardir] = basedir
|
312
295
|
Puppet[:autosign] = true
|
313
296
|
|
314
297
|
tmpname = "yaytesting"
|
@@ -375,11 +358,8 @@ class TestFileSources < Test::Unit::TestCase
|
|
375
358
|
|
376
359
|
def test_NetworkSources
|
377
360
|
server = nil
|
378
|
-
basedir =
|
361
|
+
basedir = tempfile()
|
379
362
|
@@tmpfiles << basedir
|
380
|
-
if File.exists?(basedir)
|
381
|
-
system("rm -rf %s" % basedir)
|
382
|
-
end
|
383
363
|
Dir.mkdir(basedir)
|
384
364
|
|
385
365
|
mounts = {
|
@@ -388,8 +368,8 @@ class TestFileSources < Test::Unit::TestCase
|
|
388
368
|
|
389
369
|
fileserverconf = mkfileserverconf(mounts)
|
390
370
|
|
391
|
-
Puppet[:
|
392
|
-
Puppet[:
|
371
|
+
Puppet[:confdir] = basedir
|
372
|
+
Puppet[:vardir] = basedir
|
393
373
|
Puppet[:autosign] = true
|
394
374
|
|
395
375
|
Puppet[:masterport] = 8762
|
@@ -454,7 +434,7 @@ class TestFileSources < Test::Unit::TestCase
|
|
454
434
|
sleep(1)
|
455
435
|
|
456
436
|
name = File.join(tmpdir(), "nosourcefile")
|
457
|
-
file = Puppet
|
437
|
+
file = Puppet.type(:file).create(
|
458
438
|
:source => "puppet://localhost/dist/file",
|
459
439
|
:name => name
|
460
440
|
)
|
@@ -510,7 +490,7 @@ class TestFileSources < Test::Unit::TestCase
|
|
510
490
|
sleep(1)
|
511
491
|
|
512
492
|
name = File.join(tmpdir(), "nosourcefile")
|
513
|
-
file = Puppet
|
493
|
+
file = Puppet.type(:file).create(
|
514
494
|
:source => "puppet://localhost/noexist/file",
|
515
495
|
:name => name
|
516
496
|
)
|
@@ -540,7 +520,7 @@ class TestFileSources < Test::Unit::TestCase
|
|
540
520
|
# Now the files should be exactly the same, so we should not see attempts
|
541
521
|
# at copying
|
542
522
|
assert_nothing_raised {
|
543
|
-
file = Puppet
|
523
|
+
file = Puppet.type(:file).create(
|
544
524
|
:path => to,
|
545
525
|
:source => from
|
546
526
|
)
|
@@ -566,14 +546,14 @@ class TestFileSources < Test::Unit::TestCase
|
|
566
546
|
|
567
547
|
file = nil
|
568
548
|
assert_nothing_raised {
|
569
|
-
file = Puppet
|
549
|
+
file = Puppet.type(:file).create(
|
570
550
|
:name => to,
|
571
551
|
:source => files
|
572
552
|
)
|
573
553
|
}
|
574
554
|
|
575
555
|
comp = newcomp(file)
|
576
|
-
assert_events(
|
556
|
+
assert_events([:file_created], comp)
|
577
557
|
|
578
558
|
assert(File.exists?(to), "File does not exist")
|
579
559
|
|
@@ -582,6 +562,51 @@ class TestFileSources < Test::Unit::TestCase
|
|
582
562
|
|
583
563
|
assert_equal("yee-haw", txt, "Contents do not match")
|
584
564
|
end
|
565
|
+
|
566
|
+
# Make sure that source-copying updates the checksum on the same run
|
567
|
+
def test_checksumchange
|
568
|
+
source = tempfile()
|
569
|
+
dest = tempfile()
|
570
|
+
File.open(dest, "w") { |f| f.puts "boo" }
|
571
|
+
File.open(source, "w") { |f| f.puts "yay" }
|
572
|
+
|
573
|
+
file = nil
|
574
|
+
assert_nothing_raised {
|
575
|
+
file = Puppet.type(:file).create(
|
576
|
+
:name => dest,
|
577
|
+
:source => source
|
578
|
+
)
|
579
|
+
}
|
580
|
+
|
581
|
+
file.retrieve
|
582
|
+
|
583
|
+
assert_events([:file_changed], file)
|
584
|
+
file.retrieve
|
585
|
+
assert_events([], file)
|
586
|
+
end
|
587
|
+
|
588
|
+
# Make sure that source-copying updates the checksum on the same run
|
589
|
+
def test_sourcebeatsensure
|
590
|
+
source = tempfile()
|
591
|
+
dest = tempfile()
|
592
|
+
File.open(source, "w") { |f| f.puts "yay" }
|
593
|
+
|
594
|
+
file = nil
|
595
|
+
assert_nothing_raised {
|
596
|
+
file = Puppet.type(:file).create(
|
597
|
+
:name => dest,
|
598
|
+
:ensure => "file",
|
599
|
+
:source => source
|
600
|
+
)
|
601
|
+
}
|
602
|
+
|
603
|
+
file.retrieve
|
604
|
+
|
605
|
+
assert_events([:file_created], file)
|
606
|
+
file.retrieve
|
607
|
+
assert_events([], file)
|
608
|
+
assert_events([], file)
|
609
|
+
end
|
585
610
|
end
|
586
611
|
|
587
|
-
# $Id: filesources.rb
|
612
|
+
# $Id: filesources.rb 884 2006-02-08 17:11:54Z luke $
|