puppet 0.23.0 → 0.23.1

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.

Files changed (125) hide show
  1. data/CHANGELOG +58 -0
  2. data/Rakefile +1 -1
  3. data/bin/filebucket +6 -6
  4. data/bin/puppetca +11 -1
  5. data/bin/puppetmasterd +7 -6
  6. data/conf/redhat/client.init +1 -0
  7. data/conf/redhat/{puppetd.conf → puppet.conf} +1 -1
  8. data/conf/redhat/puppet.spec +43 -31
  9. data/conf/redhat/server.init +1 -0
  10. data/lib/puppet.rb +3 -3
  11. data/lib/puppet/configuration.rb +16 -5
  12. data/lib/puppet/metatype/attributes.rb +12 -19
  13. data/lib/puppet/metatype/evaluation.rb +10 -1
  14. data/lib/puppet/metatype/instances.rb +39 -15
  15. data/lib/puppet/metatype/manager.rb +1 -28
  16. data/lib/puppet/metatype/metaparams.rb +20 -16
  17. data/lib/puppet/metatype/providers.rb +8 -2
  18. data/lib/puppet/metatype/schedules.rb +14 -19
  19. data/lib/puppet/{modules.rb → module.rb} +2 -0
  20. data/lib/puppet/network/authstore.rb +5 -1
  21. data/lib/puppet/network/client/dipper.rb +2 -2
  22. data/lib/puppet/network/client/master.rb +18 -9
  23. data/lib/puppet/network/handler/fileserver.rb +3 -6
  24. data/lib/puppet/network/handler/report.rb +2 -1
  25. data/lib/puppet/network/server/mongrel.rb +4 -2
  26. data/lib/puppet/network/xmlrpc/client.rb +10 -3
  27. data/lib/puppet/parameter.rb +11 -4
  28. data/lib/puppet/parser/ast/collexpr.rb +10 -10
  29. data/lib/puppet/parser/ast/hostclass.rb +2 -2
  30. data/lib/puppet/parser/ast/resourceparam.rb +4 -3
  31. data/lib/puppet/parser/ast/resourceref.rb +16 -2
  32. data/lib/puppet/parser/collector.rb +8 -4
  33. data/lib/puppet/parser/functions.rb +5 -2
  34. data/lib/puppet/parser/interpreter.rb +48 -9
  35. data/lib/puppet/parser/lexer.rb +2 -1
  36. data/lib/puppet/parser/parser.rb +669 -589
  37. data/lib/puppet/parser/resource.rb +20 -11
  38. data/lib/puppet/parser/resource/param.rb +21 -10
  39. data/lib/puppet/parser/resource/reference.rb +2 -2
  40. data/lib/puppet/parser/scope.rb +22 -10
  41. data/lib/puppet/{type/property.rb → property.rb} +48 -15
  42. data/lib/puppet/propertychange.rb +3 -3
  43. data/lib/puppet/provider/cron/crontab.rb +38 -36
  44. data/lib/puppet/provider/host/netinfo.rb +1 -2
  45. data/lib/puppet/provider/mailalias/aliases.rb +31 -0
  46. data/lib/puppet/provider/maillist/mailman.rb +113 -0
  47. data/lib/puppet/provider/mount.rb +5 -11
  48. data/lib/puppet/provider/mount/parsed.rb +2 -2
  49. data/lib/puppet/provider/package/appdmg.rb +1 -2
  50. data/lib/puppet/provider/package/apt.rb +3 -1
  51. data/lib/puppet/provider/package/aptrpm.rb +14 -4
  52. data/lib/puppet/provider/package/blastwave.rb +6 -4
  53. data/lib/puppet/provider/package/dpkg.rb +12 -4
  54. data/lib/puppet/provider/package/pkgdmg.rb +2 -2
  55. data/lib/puppet/provider/package/rpm.rb +11 -1
  56. data/lib/puppet/provider/package/rug.rb +1 -0
  57. data/lib/puppet/provider/package/urpmi.rb +11 -1
  58. data/lib/puppet/provider/package/yum.rb +12 -2
  59. data/lib/puppet/provider/parsedfile.rb +36 -6
  60. data/lib/puppet/rails.rb +9 -2
  61. data/lib/puppet/rails/param_name.rb +2 -3
  62. data/lib/puppet/rails/param_value.rb +20 -1
  63. data/lib/puppet/rails/resource.rb +8 -2
  64. data/lib/puppet/reference/configuration.rb +14 -16
  65. data/lib/puppet/reference/type.rb +4 -4
  66. data/lib/puppet/transaction.rb +4 -4
  67. data/lib/puppet/type.rb +19 -6
  68. data/lib/puppet/type/component.rb +9 -3
  69. data/lib/puppet/type/cron.rb +10 -4
  70. data/lib/puppet/type/exec.rb +9 -5
  71. data/lib/puppet/type/group.rb +2 -3
  72. data/lib/puppet/type/mailalias.rb +50 -0
  73. data/lib/puppet/type/maillist.rb +57 -0
  74. data/lib/puppet/type/mount.rb +25 -11
  75. data/lib/puppet/type/package.rb +6 -27
  76. data/lib/puppet/type/pfile.rb +5 -6
  77. data/lib/puppet/type/pfile/source.rb +8 -2
  78. data/lib/puppet/type/pfilebucket.rb +4 -3
  79. data/lib/puppet/type/resources.rb +1 -3
  80. data/lib/puppet/type/schedule.rb +16 -16
  81. data/lib/puppet/type/service.rb +4 -1
  82. data/lib/puppet/type/tidy.rb +1 -2
  83. data/lib/puppet/type/user.rb +2 -3
  84. data/lib/puppet/type/yumrepo.rb +2 -2
  85. data/lib/puppet/util.rb +29 -4
  86. data/lib/puppet/util/autoload.rb +45 -16
  87. data/lib/puppet/util/fileparsing.rb +23 -6
  88. data/lib/puppet/util/filetype.rb +12 -1
  89. data/lib/puppet/util/log.rb +2 -2
  90. data/lib/puppet/util/log_paths.rb +16 -0
  91. data/lib/puppet/util/reference.rb +2 -2
  92. data/test/language/ast/hostclass.rb +21 -4
  93. data/test/language/ast/resourceref.rb +95 -0
  94. data/test/language/functions.rb +5 -5
  95. data/test/language/interpreter.rb +129 -1
  96. data/test/language/node.rb +13 -2
  97. data/test/language/resource.rb +26 -1
  98. data/test/language/scope.rb +25 -5
  99. data/test/lib/puppettest/support/collection.rb +2 -2
  100. data/test/network/client/master.rb +28 -42
  101. data/test/network/server/mongrel_test.rb +7 -1
  102. data/test/other/propertychange.rb +2 -2
  103. data/test/other/transactions.rb +44 -5
  104. data/test/puppet/modules.rb +2 -1
  105. data/test/rails/ast.rb +7 -8
  106. data/test/rails/collection.rb +2 -2
  107. data/test/rails/railsresource.rb +21 -5
  108. data/test/ral/manager/attributes.rb +33 -1
  109. data/test/ral/manager/instances.rb +33 -6
  110. data/test/ral/manager/type.rb +29 -49
  111. data/test/ral/providers/cron/crontab.rb +61 -13
  112. data/test/ral/providers/mailalias/aliases.rb +57 -0
  113. data/test/ral/providers/mount/parsed.rb +4 -4
  114. data/test/ral/providers/package/apt.rb +13 -1
  115. data/test/ral/providers/parsedfile.rb +20 -7
  116. data/test/ral/types/cron.rb +17 -1
  117. data/test/ral/types/mailalias.rb +50 -0
  118. data/test/ral/types/mount.rb +35 -2
  119. data/test/ral/types/package.rb +10 -2
  120. data/test/ral/types/parameter.rb +4 -4
  121. data/test/ral/types/property.rb +39 -1
  122. data/test/util/autoload.rb +33 -18
  123. data/test/util/filetype.rb +49 -3
  124. metadata +13 -6
  125. data/lib/puppet/element.rb +0 -52
@@ -2,9 +2,9 @@
2
2
 
3
3
  $:.unshift("../lib").unshift("../../lib") if __FILE__ =~ /\.rb$/
4
4
 
5
- require 'puppet'
6
- require 'puppet/util/filetype'
7
5
  require 'puppettest'
6
+ require 'puppet/util/filetype'
7
+ require 'mocha'
8
8
 
9
9
  class TestFileType < Test::Unit::TestCase
10
10
  include PuppetTest
@@ -53,6 +53,52 @@ class TestFileType < Test::Unit::TestCase
53
53
  assert_equal(text, newtext, "Text was changed somehow")
54
54
  end
55
55
 
56
+ # Make sure that modified files are backed up before they're changed.
57
+ def test_backup_is_called
58
+ path = tempfile
59
+ File.open(path, "w") { |f| f.print 'yay' }
60
+
61
+ obj = Puppet::Util::FileType.filetype(:flat).new(path)
62
+
63
+ obj.expects(:backup)
64
+
65
+ obj.write("something")
66
+
67
+ assert_equal("something", File.read(path), "File did not get changed")
68
+ end
69
+
70
+ def test_backup
71
+ path = tempfile
72
+ type = Puppet::Type.type(:filebucket)
73
+
74
+ obj = Puppet::Util::FileType.filetype(:flat).new(path)
75
+
76
+ # First try it when the file does not yet exist.
77
+ assert_nothing_raised("Could not call backup when file does not exist") do
78
+ obj.backup
79
+ end
80
+
81
+ # Then create the file
82
+ File.open(path, "w") { |f| f.print 'one' }
83
+
84
+ # Then try it with no filebucket objects
85
+ assert_nothing_raised("Could not call backup with no buckets") do
86
+ obj.backup
87
+ end
88
+ puppet = type["puppet"]
89
+ assert(puppet, "Did not create default filebucket")
90
+
91
+ assert_equal("one", puppet.bucket.getfile(Digest::MD5.hexdigest(File.read(path))), "Could not get file from backup")
92
+
93
+ # Try it again when the default already exists
94
+ File.open(path, "w") { |f| f.print 'two' }
95
+ assert_nothing_raised("Could not call backup with no buckets") do
96
+ obj.backup
97
+ end
98
+
99
+ assert_equal("two", puppet.bucket.getfile(Digest::MD5.hexdigest(File.read(path))), "Could not get file from backup")
100
+ end
101
+
56
102
  if Facter["operatingsystem"].value == "Darwin"
57
103
  def test_ninfotoarray
58
104
  obj = nil
@@ -89,4 +135,4 @@ class TestFileType < Test::Unit::TestCase
89
135
  end
90
136
  end
91
137
 
92
- # $Id: filetype.rb 2259 2007-03-06 19:03:05Z luke $
138
+ # $Id: filetype.rb 2679 2007-07-11 20:23:49Z luke $
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.4
3
3
  specification_version: 1
4
4
  name: puppet
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.23.0
7
- date: 2007-06-20 00:00:00 +02:00
6
+ version: 0.23.1
7
+ date: 2007-07-20 00:00:00 +02:00
8
8
  summary: System Automation and Configuration Management Software
9
9
  require_paths:
10
10
  - lib
@@ -62,10 +62,11 @@ files:
62
62
  - lib/puppet/type/pfile/content.rb
63
63
  - lib/puppet/type/sshkey.rb
64
64
  - lib/puppet/type/pfile.rb
65
- - lib/puppet/type/property.rb
66
65
  - lib/puppet/type/cron.rb
67
66
  - lib/puppet/type/exec.rb
68
67
  - lib/puppet/type/mount.rb
68
+ - lib/puppet/type/mailalias.rb
69
+ - lib/puppet/type/maillist.rb
69
70
  - lib/puppet/type/port.rb
70
71
  - lib/puppet/reference/function.rb
71
72
  - lib/puppet/reference/network.rb
@@ -104,7 +105,7 @@ files:
104
105
  - lib/puppet/reports/rrdgraph.rb
105
106
  - lib/puppet/reports/log.rb
106
107
  - lib/puppet/reports/tagmail.rb
107
- - lib/puppet/element.rb
108
+ - lib/puppet/module.rb
108
109
  - lib/puppet/feature/base.rb
109
110
  - lib/puppet/feature/rails.rb
110
111
  - lib/puppet/transportable.rb
@@ -143,6 +144,7 @@ files:
143
144
  - lib/puppet/provider/service/debian.rb
144
145
  - lib/puppet/provider/service/gentoo.rb
145
146
  - lib/puppet/provider/service/init.rb
147
+ - lib/puppet/provider/mailalias/aliases.rb
146
148
  - lib/puppet/provider/user/useradd.rb
147
149
  - lib/puppet/provider/user/pw.rb
148
150
  - lib/puppet/provider/user/netinfo.rb
@@ -155,6 +157,7 @@ files:
155
157
  - lib/puppet/provider/parsedfile.rb
156
158
  - lib/puppet/provider/cron/crontab.rb
157
159
  - lib/puppet/provider/mount.rb
160
+ - lib/puppet/provider/maillist/mailman.rb
158
161
  - lib/puppet/provider/nameservice/pw.rb
159
162
  - lib/puppet/provider/nameservice/netinfo.rb
160
163
  - lib/puppet/provider/nameservice/objectadd.rb
@@ -196,7 +199,6 @@ files:
196
199
  - lib/puppet/sslcertificates/ca.rb
197
200
  - lib/puppet/sslcertificates/inventory.rb
198
201
  - lib/puppet/sslcertificates/certificate.rb
199
- - lib/puppet/modules.rb
200
202
  - lib/puppet/metatype/attributes.rb
201
203
  - lib/puppet/metatype/relationships.rb
202
204
  - lib/puppet/metatype/metaparams.rb
@@ -209,6 +211,7 @@ files:
209
211
  - lib/puppet/metatype/schedules.rb
210
212
  - lib/puppet/metatype/instances.rb
211
213
  - lib/puppet/config_stores/rest.rb
214
+ - lib/puppet/property.rb
212
215
  - lib/puppet/type.rb
213
216
  - lib/puppet/util/reference.rb
214
217
  - lib/puppet/util/posix.rb
@@ -233,6 +236,7 @@ files:
233
236
  - lib/puppet/util/subclass_loader.rb
234
237
  - lib/puppet/util/logging.rb
235
238
  - lib/puppet/util/storage.rb
239
+ - lib/puppet/util/log_paths.rb
236
240
  - lib/puppet/util/plist.rb
237
241
  - lib/puppet/util/metric.rb
238
242
  - lib/puppet/util/fileparsing.rb
@@ -315,6 +319,7 @@ files:
315
319
  - test/ral/providers/nameservice.rb
316
320
  - test/ral/providers/package.rb
317
321
  - test/ral/providers/service/base.rb
322
+ - test/ral/providers/mailalias/aliases.rb
318
323
  - test/ral/providers/user/useradd.rb
319
324
  - test/ral/providers/mount/parsed.rb
320
325
  - test/ral/providers/mount/netinfo.rb
@@ -344,6 +349,7 @@ files:
344
349
  - test/ral/types/fileignoresource.rb
345
350
  - test/ral/types/exec.rb
346
351
  - test/ral/types/mount.rb
352
+ - test/ral/types/mailalias.rb
347
353
  - test/ral/types/port.rb
348
354
  - test/ral/manager/attributes.rb
349
355
  - test/ral/manager/manager.rb
@@ -545,6 +551,7 @@ files:
545
551
  - test/language/ast/selector.rb
546
552
  - test/language/ast/component.rb
547
553
  - test/language/ast/casestatement.rb
554
+ - test/language/ast/resourceref.rb
548
555
  - test/language/ast/hostclass.rb
549
556
  - test/language/ast/variable.rb
550
557
  - test/language/collector.rb
@@ -638,7 +645,7 @@ files:
638
645
  - conf/redhat/client.sysconfig
639
646
  - conf/redhat/server.init
640
647
  - conf/redhat/client.init
641
- - conf/redhat/puppetd.conf
648
+ - conf/redhat/puppet.conf
642
649
  - conf/redhat/puppet.spec
643
650
  - conf/redhat/no-lockdir.patch
644
651
  - conf/redhat/no-chuser-0.15.1.patch
@@ -1,52 +0,0 @@
1
- # included so we can test object types
2
- require 'puppet'
3
-
4
- # the base class for both types and parameters.
5
- # very little functionality; basically just defines the interface
6
- # and provides a few simple across-the-board functions like 'noop'
7
- class Puppet::Element
8
- include Puppet
9
- include Puppet::Util
10
- include Puppet::Util::Errors
11
- attr_writer :noop
12
-
13
- class << self
14
- attr_accessor :doc, :nodoc
15
- include Puppet::Util
16
- end
17
-
18
- # all of our subclasses must respond to each of these methods...
19
- @@interface_methods = [
20
- :retrieve, :insync?, :sync, :evaluate
21
- ]
22
-
23
- # so raise an error if a method that isn't overridden gets called
24
- @@interface_methods.each { |method|
25
- self.send(:define_method,method) {
26
- raise Puppet::DevError, "%s(%s) has not overridden %s" %
27
- [self.class, self.class.name,method]
28
- }
29
- }
30
-
31
- Puppet::Util.logmethods(self, true)
32
-
33
- # for testing whether we should actually do anything
34
- def noop
35
- unless defined? @noop
36
- @noop = false
37
- end
38
- return @noop || Puppet[:noop] || false
39
- end
40
-
41
- # return the full path to us, for logging and rollback
42
- # some classes (e.g., FileTypeRecords) will have to override this
43
- def path
44
- unless defined? @path
45
- @path = pathbuilder
46
- end
47
-
48
- return "/" + @path.join("/")
49
- end
50
- end
51
-
52
- # $Id: element.rb 2169 2007-02-07 06:47:10Z luke $