puppet 0.24.9 → 0.25.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.

Files changed (910) hide show
  1. data/CHANGELOG +18680 -1241
  2. data/CHANGELOG.old +1705 -0
  3. data/LICENSE +2 -2
  4. data/README +1 -1
  5. data/README.queueing +126 -0
  6. data/README.rst +4 -4
  7. data/Rakefile +62 -216
  8. data/bin/filebucket +6 -117
  9. data/bin/pi +50 -0
  10. data/bin/puppet +7 -188
  11. data/bin/puppetdoc +7 -198
  12. data/bin/ralsh +4 -191
  13. data/conf/auth.conf +94 -0
  14. data/conf/gentoo/init.d/puppetmaster +30 -30
  15. data/conf/osx/PackageInfo.plist +30 -30
  16. data/conf/osx/createpackage.sh +23 -18
  17. data/conf/osx/preflight +8 -0
  18. data/conf/puppet-queue.conf +10 -0
  19. data/conf/redhat/client.init +52 -41
  20. data/conf/redhat/logrotate +1 -0
  21. data/conf/redhat/puppet.spec +74 -36
  22. data/conf/redhat/rundir-perms.patch +28 -0
  23. data/conf/redhat/server.init +48 -43
  24. data/conf/redhat/server.sysconfig +4 -4
  25. data/conf/solaris/smf/puppetd.xml +53 -53
  26. data/conf/solaris/smf/puppetmasterd.xml +53 -53
  27. data/conf/solaris/smf/svc-puppetd +4 -4
  28. data/conf/solaris/smf/svc-puppetmasterd +3 -3
  29. data/conf/suse/client.init +4 -4
  30. data/conf/suse/puppet.spec +14 -14
  31. data/conf/suse/server.init +17 -17
  32. data/examples/etc/init.d/sleeper +8 -8
  33. data/examples/mac_dscl.pp +2 -2
  34. data/examples/mac_dscl_revert.pp +1 -1
  35. data/examples/mcx_dock_default.pp +108 -108
  36. data/examples/mcx_dock_full.pp +108 -108
  37. data/examples/mcx_nogroup.pp +108 -108
  38. data/examples/modules/sample-module/lib/puppet/parser/functions/hostname_to_dn.rb +5 -5
  39. data/examples/modules/sample-module/manifests/init.pp +2 -2
  40. data/examples/relationships +1 -1
  41. data/ext/autotest/config +6 -6
  42. data/ext/bin/sleeper +12 -12
  43. data/ext/dbfix.sql +21 -21
  44. data/ext/emacs/puppet-mode.el +42 -41
  45. data/ext/extlookup.rb +183 -0
  46. data/ext/ldap/puppet.schema +2 -1
  47. data/ext/logcheck/puppet +1 -1
  48. data/ext/module_puppet +7 -7
  49. data/ext/nagios/check_puppet.rb +83 -83
  50. data/ext/nagios/naggen +302 -0
  51. data/ext/puppet-test +61 -18
  52. data/ext/puppetlisten/puppetlisten.rb +76 -0
  53. data/ext/puppetlisten/puppetrun.rb +39 -0
  54. data/ext/puppetstoredconfigclean.rb +29 -29
  55. data/ext/rack/README +73 -0
  56. data/ext/rack/files/apache2.conf +38 -0
  57. data/ext/rack/files/config.ru +18 -0
  58. data/ext/rack/manifest.pp +59 -0
  59. data/ext/vim/syntax/puppet.vim +54 -35
  60. data/install.rb +37 -26
  61. data/lib/puppet.rb +15 -227
  62. data/lib/puppet/agent.rb +134 -0
  63. data/lib/puppet/agent/locker.rb +42 -0
  64. data/lib/puppet/agent/runner.rb +65 -0
  65. data/lib/puppet/application.rb +313 -0
  66. data/lib/puppet/application/filebucket.rb +87 -0
  67. data/lib/puppet/application/pi.rb +214 -0
  68. data/lib/puppet/application/puppet.rb +177 -0
  69. data/lib/puppet/application/puppetca.rb +71 -0
  70. data/lib/puppet/application/puppetd.rb +256 -0
  71. data/lib/puppet/application/puppetdoc.rb +222 -0
  72. data/lib/puppet/application/puppetmasterd.rb +168 -0
  73. data/lib/puppet/application/puppetqd.rb +96 -0
  74. data/lib/puppet/application/puppetrun.rb +219 -0
  75. data/lib/puppet/application/ralsh.rb +168 -0
  76. data/lib/puppet/configurer.rb +177 -0
  77. data/lib/puppet/configurer/downloader.rb +79 -0
  78. data/lib/puppet/configurer/fact_handler.rb +68 -0
  79. data/lib/puppet/configurer/plugin_handler.rb +26 -0
  80. data/lib/puppet/daemon.rb +78 -28
  81. data/lib/puppet/defaults.rb +239 -166
  82. data/lib/puppet/dsl.rb +7 -7
  83. data/lib/puppet/external/dot.rb +271 -271
  84. data/lib/puppet/external/event-loop/better-definers.rb +298 -298
  85. data/lib/puppet/external/event-loop/event-loop.rb +274 -274
  86. data/lib/puppet/external/event-loop/signal-system.rb +163 -163
  87. data/lib/puppet/external/lock.rb +1 -1
  88. data/lib/puppet/external/nagios.rb +20 -20
  89. data/lib/puppet/external/nagios/base.rb +3 -3
  90. data/lib/puppet/external/nagios/grammar.ry +185 -0
  91. data/lib/puppet/external/nagios/makefile +9 -0
  92. data/lib/puppet/external/nagios/parser.rb +1 -1
  93. data/lib/puppet/feature/json.rb +2 -0
  94. data/lib/puppet/feature/rack.rb +24 -0
  95. data/lib/puppet/feature/rails.rb +23 -33
  96. data/lib/puppet/feature/rubygems.rb +6 -0
  97. data/lib/puppet/feature/stomp.rb +6 -0
  98. data/lib/puppet/file_serving/{file_base.rb → base.rb} +10 -9
  99. data/lib/puppet/file_serving/configuration.rb +61 -61
  100. data/lib/puppet/file_serving/configuration/parser.rb +24 -29
  101. data/lib/puppet/file_serving/content.rb +26 -11
  102. data/lib/puppet/file_serving/fileset.rb +54 -19
  103. data/lib/puppet/file_serving/indirection_hooks.rb +12 -24
  104. data/lib/puppet/file_serving/metadata.rb +8 -8
  105. data/lib/puppet/file_serving/mount.rb +9 -151
  106. data/lib/puppet/file_serving/mount/file.rb +126 -0
  107. data/lib/puppet/file_serving/mount/modules.rb +25 -0
  108. data/lib/puppet/file_serving/mount/plugins.rb +27 -0
  109. data/lib/puppet/file_serving/terminus_helper.rb +9 -4
  110. data/lib/puppet/indirector.rb +6 -4
  111. data/lib/puppet/indirector/active_record.rb +28 -0
  112. data/lib/puppet/indirector/catalog/active_record.rb +36 -0
  113. data/lib/puppet/indirector/catalog/compiler.rb +50 -24
  114. data/lib/puppet/indirector/catalog/queue.rb +5 -0
  115. data/lib/puppet/indirector/catalog/rest.rb +6 -0
  116. data/lib/puppet/indirector/catalog/yaml.rb +2 -4
  117. data/lib/puppet/indirector/certificate/ca.rb +9 -0
  118. data/lib/puppet/indirector/certificate/file.rb +9 -0
  119. data/lib/puppet/indirector/certificate/rest.rb +9 -0
  120. data/lib/puppet/indirector/certificate_request/ca.rb +14 -0
  121. data/lib/puppet/indirector/certificate_request/file.rb +8 -0
  122. data/lib/puppet/indirector/certificate_request/rest.rb +9 -0
  123. data/lib/puppet/indirector/certificate_revocation_list/ca.rb +8 -0
  124. data/lib/puppet/indirector/certificate_revocation_list/file.rb +8 -0
  125. data/lib/puppet/indirector/certificate_revocation_list/rest.rb +9 -0
  126. data/lib/puppet/indirector/direct_file_server.rb +4 -8
  127. data/lib/puppet/indirector/exec.rb +2 -6
  128. data/lib/puppet/indirector/facts/active_record.rb +36 -0
  129. data/lib/puppet/indirector/facts/facter.rb +30 -22
  130. data/lib/puppet/indirector/facts/rest.rb +6 -0
  131. data/lib/puppet/indirector/file.rb +1 -0
  132. data/lib/puppet/indirector/file_content/rest.rb +0 -1
  133. data/lib/puppet/indirector/file_metadata/file.rb +2 -2
  134. data/lib/puppet/indirector/file_metadata/rest.rb +0 -1
  135. data/lib/puppet/indirector/file_server.rb +31 -18
  136. data/lib/puppet/indirector/indirection.rb +46 -33
  137. data/lib/puppet/indirector/key/ca.rb +12 -0
  138. data/lib/puppet/indirector/key/file.rb +42 -0
  139. data/lib/puppet/indirector/node/active_record.rb +13 -0
  140. data/lib/puppet/indirector/node/ldap.rb +1 -1
  141. data/lib/puppet/indirector/queue.rb +83 -0
  142. data/lib/puppet/indirector/report/processor.rb +1 -1
  143. data/lib/puppet/indirector/report/rest.rb +7 -0
  144. data/lib/puppet/indirector/request.rb +158 -15
  145. data/lib/puppet/indirector/rest.rb +74 -36
  146. data/lib/puppet/indirector/runner/rest.rb +7 -0
  147. data/lib/puppet/indirector/ssl_file.rb +174 -0
  148. data/lib/puppet/indirector/terminus.rb +4 -4
  149. data/lib/puppet/indirector/yaml.rb +1 -1
  150. data/lib/puppet/metatype/manager.rb +3 -3
  151. data/lib/puppet/module.rb +99 -124
  152. data/lib/puppet/network/authconfig.rb +57 -42
  153. data/lib/puppet/network/authstore.rb +58 -10
  154. data/lib/puppet/network/client.rb +0 -2
  155. data/lib/puppet/network/client/ca.rb +1 -1
  156. data/lib/puppet/network/client/dipper.rb +7 -2
  157. data/lib/puppet/network/format.rb +123 -0
  158. data/lib/puppet/network/format_handler.rb +156 -0
  159. data/lib/puppet/network/formats.rb +123 -0
  160. data/lib/puppet/network/handler/filebucket.rb +1 -1
  161. data/lib/puppet/network/handler/fileserver.rb +43 -35
  162. data/lib/puppet/network/handler/master.rb +4 -4
  163. data/lib/puppet/network/handler/report.rb +1 -1
  164. data/lib/puppet/network/handler/resource.rb +16 -20
  165. data/lib/puppet/network/handler/runner.rb +9 -42
  166. data/lib/puppet/network/http.rb +4 -4
  167. data/lib/puppet/network/http/api.rb +4 -0
  168. data/lib/puppet/network/http/api/v1.rb +65 -0
  169. data/lib/puppet/network/http/handler.rb +163 -56
  170. data/lib/puppet/network/http/mongrel.rb +19 -15
  171. data/lib/puppet/network/http/mongrel/rest.rb +35 -17
  172. data/lib/puppet/network/http/rack.rb +62 -0
  173. data/lib/puppet/network/http/rack/httphandler.rb +34 -0
  174. data/lib/puppet/network/http/rack/rest.rb +79 -0
  175. data/lib/puppet/network/http/rack/xmlrpc.rb +65 -0
  176. data/lib/puppet/network/http/webrick.rb +89 -16
  177. data/lib/puppet/network/http/webrick/rest.rb +24 -11
  178. data/lib/puppet/network/http_pool.rb +28 -29
  179. data/lib/puppet/network/http_server/mongrel.rb +8 -10
  180. data/lib/puppet/network/http_server/webrick.rb +1 -3
  181. data/lib/puppet/network/rest_authconfig.rb +89 -0
  182. data/lib/puppet/network/rest_authorization.rb +25 -0
  183. data/lib/puppet/network/rights.rb +230 -27
  184. data/lib/puppet/network/server.rb +133 -31
  185. data/lib/puppet/network/xmlrpc/client.rb +5 -5
  186. data/lib/puppet/network/xmlrpc/webrick_servlet.rb +6 -6
  187. data/lib/puppet/node.rb +28 -21
  188. data/lib/puppet/node/environment.rb +48 -0
  189. data/lib/puppet/node/facts.rb +21 -0
  190. data/lib/puppet/parameter.rb +291 -219
  191. data/lib/puppet/parser/ast.rb +1 -0
  192. data/lib/puppet/parser/ast/astarray.rb +5 -1
  193. data/lib/puppet/parser/ast/boolean_operator.rb +3 -3
  194. data/lib/puppet/parser/ast/caseopt.rb +10 -0
  195. data/lib/puppet/parser/ast/casestatement.rb +12 -27
  196. data/lib/puppet/parser/ast/collection.rb +31 -0
  197. data/lib/puppet/parser/ast/collexpr.rb +18 -11
  198. data/lib/puppet/parser/ast/comparison_operator.rb +1 -1
  199. data/lib/puppet/parser/ast/definition.rb +6 -2
  200. data/lib/puppet/parser/ast/function.rb +7 -2
  201. data/lib/puppet/parser/ast/ifstatement.rb +11 -6
  202. data/lib/puppet/parser/ast/leaf.rb +106 -3
  203. data/lib/puppet/parser/ast/match_operator.rb +31 -0
  204. data/lib/puppet/parser/ast/node.rb +10 -6
  205. data/lib/puppet/parser/ast/resource_defaults.rb +2 -2
  206. data/lib/puppet/parser/ast/resource_override.rb +1 -1
  207. data/lib/puppet/parser/ast/resource_reference.rb +11 -3
  208. data/lib/puppet/parser/ast/selector.rb +14 -32
  209. data/lib/puppet/parser/ast/vardef.rb +1 -1
  210. data/lib/puppet/parser/collector.rb +67 -15
  211. data/lib/puppet/parser/compiler.rb +21 -53
  212. data/lib/puppet/parser/files.rb +92 -0
  213. data/lib/puppet/parser/functions.rb +3 -3
  214. data/lib/puppet/parser/functions/defined.rb +3 -3
  215. data/lib/puppet/parser/functions/fqdn_rand.rb +3 -3
  216. data/lib/puppet/parser/functions/inline_template.rb +4 -4
  217. data/lib/puppet/parser/functions/regsubst.rb +37 -35
  218. data/lib/puppet/parser/functions/require.rb +34 -0
  219. data/lib/puppet/parser/functions/shellquote.rb +41 -0
  220. data/lib/puppet/parser/functions/split.rb +29 -0
  221. data/lib/puppet/parser/functions/sprintf.rb +6 -6
  222. data/lib/puppet/parser/functions/template.rb +4 -4
  223. data/lib/puppet/parser/functions/versioncmp.rb +22 -1
  224. data/lib/puppet/parser/grammar.ra +812 -0
  225. data/lib/puppet/parser/interpreter.rb +4 -4
  226. data/lib/puppet/parser/lexer.rb +44 -15
  227. data/lib/puppet/parser/loaded_code.rb +115 -0
  228. data/lib/puppet/parser/makefile +8 -0
  229. data/lib/puppet/parser/parser.rb +1080 -928
  230. data/lib/puppet/parser/parser_support.rb +118 -96
  231. data/lib/puppet/parser/resource.rb +56 -126
  232. data/lib/puppet/parser/resource/param.rb +2 -76
  233. data/lib/puppet/parser/resource/reference.rb +15 -8
  234. data/lib/puppet/parser/scope.rb +68 -35
  235. data/lib/puppet/parser/templatewrapper.rb +8 -8
  236. data/lib/puppet/parser/yaml_trimmer.rb +11 -0
  237. data/lib/puppet/property.rb +69 -124
  238. data/lib/puppet/property/list.rb +3 -3
  239. data/lib/puppet/provider.rb +5 -5
  240. data/lib/puppet/provider/augeas/augeas.rb +119 -118
  241. data/lib/puppet/provider/computer/computer.rb +3 -3
  242. data/lib/puppet/provider/confine/variable.rb +1 -1
  243. data/lib/puppet/provider/cron/crontab.rb +8 -7
  244. data/lib/puppet/provider/group/directoryservice.rb +2 -2
  245. data/lib/puppet/provider/group/groupadd.rb +1 -1
  246. data/lib/puppet/provider/group/ldap.rb +3 -3
  247. data/lib/puppet/provider/group/pw.rb +1 -1
  248. data/lib/puppet/provider/host/parsed.rb +3 -3
  249. data/lib/puppet/provider/ldap.rb +1 -3
  250. data/lib/puppet/provider/macauthorization/macauthorization.rb +62 -55
  251. data/lib/puppet/provider/mailalias/aliases.rb +9 -1
  252. data/lib/puppet/provider/maillist/mailman.rb +8 -4
  253. data/lib/puppet/provider/mcx/mcxcontent.rb +11 -11
  254. data/lib/puppet/provider/mount/parsed.rb +2 -2
  255. data/lib/puppet/provider/nameservice.rb +6 -6
  256. data/lib/puppet/provider/nameservice/directoryservice.rb +83 -87
  257. data/lib/puppet/provider/package/appdmg.rb +10 -9
  258. data/lib/puppet/provider/package/apple.rb +1 -3
  259. data/lib/puppet/provider/package/apt.rb +5 -5
  260. data/lib/puppet/provider/package/aptitude.rb +1 -1
  261. data/lib/puppet/provider/package/aptrpm.rb +1 -1
  262. data/lib/puppet/provider/package/darwinport.rb +1 -1
  263. data/lib/puppet/provider/package/dpkg.rb +2 -2
  264. data/lib/puppet/provider/package/fink.rb +6 -6
  265. data/lib/puppet/provider/package/freebsd.rb +1 -1
  266. data/lib/puppet/provider/package/gem.rb +2 -2
  267. data/lib/puppet/provider/package/hpux.rb +5 -5
  268. data/lib/puppet/provider/package/pkgdmg.rb +30 -22
  269. data/lib/puppet/provider/package/portage.rb +1 -1
  270. data/lib/puppet/provider/package/ports.rb +1 -1
  271. data/lib/puppet/provider/package/rpm.rb +5 -5
  272. data/lib/puppet/provider/package/rug.rb +1 -1
  273. data/lib/puppet/provider/package/sun.rb +7 -7
  274. data/lib/puppet/provider/package/up2date.rb +1 -1
  275. data/lib/puppet/provider/package/yum.rb +2 -2
  276. data/lib/puppet/provider/package/yumhelper.py +2 -2
  277. data/lib/puppet/provider/port/parsed.rb +1 -1
  278. data/lib/puppet/provider/selmodule/semodule.rb +3 -3
  279. data/lib/puppet/provider/service/base.rb +21 -12
  280. data/lib/puppet/provider/service/daemontools.rb +86 -49
  281. data/lib/puppet/provider/service/debian.rb +20 -12
  282. data/lib/puppet/provider/service/freebsd.rb +5 -5
  283. data/lib/puppet/provider/service/gentoo.rb +2 -2
  284. data/lib/puppet/provider/service/init.rb +21 -33
  285. data/lib/puppet/provider/service/launchd.rb +120 -48
  286. data/lib/puppet/provider/service/redhat.rb +12 -21
  287. data/lib/puppet/provider/service/runit.rb +19 -9
  288. data/lib/puppet/provider/service/smf.rb +49 -34
  289. data/lib/puppet/provider/ssh_authorized_key/parsed.rb +34 -0
  290. data/lib/puppet/provider/sshkey/parsed.rb +2 -2
  291. data/lib/puppet/provider/user/directoryservice.rb +12 -29
  292. data/lib/puppet/provider/user/hpux.rb +3 -3
  293. data/lib/puppet/provider/user/ldap.rb +2 -2
  294. data/lib/puppet/provider/zfs/solaris.rb +1 -1
  295. data/lib/puppet/provider/zone/solaris.rb +4 -4
  296. data/lib/puppet/provider/zpool/solaris.rb +3 -3
  297. data/lib/puppet/rails.rb +9 -9
  298. data/lib/puppet/rails/benchmark.rb +69 -0
  299. data/lib/puppet/rails/database/001_add_created_at_to_all_tables.rb +5 -5
  300. data/lib/puppet/rails/database/002_remove_duplicated_index_on_all_tables.rb +2 -2
  301. data/lib/puppet/rails/database/003_add_environment_to_host.rb +1 -1
  302. data/lib/puppet/rails/database/schema.rb +8 -8
  303. data/lib/puppet/rails/fact_value.rb +1 -1
  304. data/lib/puppet/rails/host.rb +211 -93
  305. data/lib/puppet/rails/param_name.rb +5 -1
  306. data/lib/puppet/rails/param_value.rb +29 -2
  307. data/lib/puppet/rails/puppet_tag.rb +5 -0
  308. data/lib/puppet/rails/resource.rb +120 -20
  309. data/lib/puppet/rails/resource_tag.rb +1 -1
  310. data/lib/puppet/rails/source_file.rb +1 -1
  311. data/lib/puppet/reference/configuration.rb +14 -14
  312. data/lib/puppet/reference/function.rb +1 -1
  313. data/lib/puppet/reference/metaparameter.rb +48 -0
  314. data/lib/puppet/reference/providers.rb +6 -6
  315. data/lib/puppet/reference/type.rb +1 -37
  316. data/lib/puppet/relationship.rb +57 -30
  317. data/lib/puppet/reports/rrdgraph.rb +4 -4
  318. data/lib/puppet/reports/store.rb +3 -3
  319. data/lib/puppet/reports/tagmail.rb +15 -15
  320. data/lib/puppet/resource.rb +265 -0
  321. data/lib/puppet/{node → resource}/catalog.rb +188 -112
  322. data/lib/puppet/{resource_reference.rb → resource/reference.rb} +46 -24
  323. data/lib/puppet/simple_graph.rb +165 -27
  324. data/lib/puppet/ssl.rb +7 -0
  325. data/lib/puppet/ssl/base.rb +62 -0
  326. data/lib/puppet/ssl/certificate.rb +34 -0
  327. data/lib/puppet/ssl/certificate_authority.rb +298 -0
  328. data/lib/puppet/ssl/certificate_authority/interface.rb +118 -0
  329. data/lib/puppet/ssl/certificate_factory.rb +145 -0
  330. data/lib/puppet/ssl/certificate_request.rb +51 -0
  331. data/lib/puppet/ssl/certificate_revocation_list.rb +86 -0
  332. data/lib/puppet/ssl/host.rb +271 -0
  333. data/lib/puppet/ssl/inventory.rb +52 -0
  334. data/lib/puppet/ssl/key.rb +56 -0
  335. data/lib/puppet/sslcertificates.rb +6 -6
  336. data/lib/puppet/sslcertificates/ca.rb +15 -15
  337. data/lib/puppet/sslcertificates/certificate.rb +4 -4
  338. data/lib/puppet/sslcertificates/inventory.rb +3 -3
  339. data/lib/puppet/transaction.rb +113 -139
  340. data/lib/puppet/transaction/change.rb +6 -6
  341. data/lib/puppet/transaction/event.rb +1 -1
  342. data/lib/puppet/transaction/report.rb +7 -1
  343. data/lib/puppet/transportable.rb +28 -28
  344. data/lib/puppet/type.rb +263 -688
  345. data/lib/puppet/type/augeas.rb +3 -2
  346. data/lib/puppet/type/component.rb +28 -95
  347. data/lib/puppet/type/computer.rb +10 -10
  348. data/lib/puppet/type/cron.rb +19 -14
  349. data/lib/puppet/type/exec.rb +21 -20
  350. data/lib/puppet/type/file.rb +306 -633
  351. data/lib/puppet/type/file/checksum.rb +10 -11
  352. data/lib/puppet/type/file/content.rb +83 -22
  353. data/lib/puppet/type/file/ensure.rb +15 -9
  354. data/lib/puppet/type/file/group.rb +7 -1
  355. data/lib/puppet/type/file/mode.rb +1 -1
  356. data/lib/puppet/type/file/owner.rb +9 -3
  357. data/lib/puppet/type/file/selcontext.rb +4 -4
  358. data/lib/puppet/type/file/source.rb +78 -179
  359. data/lib/puppet/type/file/target.rb +3 -3
  360. data/lib/puppet/type/file/type.rb +2 -2
  361. data/lib/puppet/type/filebucket.rb +33 -54
  362. data/lib/puppet/type/group.rb +8 -8
  363. data/lib/puppet/type/host.rb +7 -7
  364. data/lib/puppet/type/k5login.rb +2 -2
  365. data/lib/puppet/type/macauthorization.rb +77 -52
  366. data/lib/puppet/type/mailalias.rb +2 -2
  367. data/lib/puppet/type/maillist.rb +2 -2
  368. data/lib/puppet/type/mcx.rb +3 -3
  369. data/lib/puppet/type/mount.rb +16 -11
  370. data/lib/puppet/type/notify.rb +4 -4
  371. data/lib/puppet/type/package.rb +6 -28
  372. data/lib/puppet/type/port.rb +1 -1
  373. data/lib/puppet/type/resources.rb +19 -19
  374. data/lib/puppet/type/schedule.rb +18 -20
  375. data/lib/puppet/type/selmodule.rb +1 -1
  376. data/lib/puppet/type/service.rb +11 -7
  377. data/lib/puppet/type/ssh_authorized_key.rb +26 -9
  378. data/lib/puppet/type/sshkey.rb +2 -2
  379. data/lib/puppet/type/tidy.rb +285 -289
  380. data/lib/puppet/type/user.rb +9 -7
  381. data/lib/puppet/type/yumrepo.rb +17 -16
  382. data/lib/puppet/type/zone.rb +8 -7
  383. data/lib/puppet/util.rb +11 -36
  384. data/lib/puppet/util/autoload.rb +31 -19
  385. data/lib/puppet/util/autoload/file_cache.rb +115 -0
  386. data/lib/puppet/util/backups.rb +86 -0
  387. data/lib/puppet/util/cacher.rb +135 -0
  388. data/lib/puppet/util/checksums.rb +11 -1
  389. data/lib/puppet/util/classgen.rb +1 -1
  390. data/lib/puppet/util/config_store.rb +2 -2
  391. data/lib/puppet/util/constant_inflector.rb +1 -1
  392. data/lib/puppet/util/diff.rb +2 -2
  393. data/lib/puppet/util/docs.rb +9 -3
  394. data/lib/puppet/util/execution.rb +1 -1
  395. data/lib/puppet/util/feature.rb +27 -20
  396. data/lib/puppet/util/fileparsing.rb +3 -3
  397. data/lib/puppet/util/filetype.rb +8 -6
  398. data/lib/puppet/util/graph.rb +5 -5
  399. data/lib/puppet/util/inifile.rb +5 -5
  400. data/lib/puppet/util/json.rb +13 -0
  401. data/lib/puppet/util/ldap/connection.rb +2 -2
  402. data/lib/puppet/util/log.rb +48 -31
  403. data/lib/puppet/util/metric.rb +4 -4
  404. data/lib/puppet/util/monkey_patches.rb +43 -0
  405. data/lib/puppet/util/nagios_maker.rb +1 -1
  406. data/lib/puppet/util/package.rb +4 -4
  407. data/lib/puppet/util/pidlock.rb +59 -59
  408. data/lib/puppet/util/posix.rb +13 -52
  409. data/lib/puppet/util/provider_features.rb +3 -3
  410. data/lib/puppet/util/queue.rb +96 -0
  411. data/lib/puppet/util/queue/stomp.rb +47 -0
  412. data/lib/puppet/util/rails/cache_accumulator.rb +65 -0
  413. data/lib/puppet/util/rails/collection_merger.rb +0 -39
  414. data/lib/puppet/util/rails/reference_serializer.rb +17 -3
  415. data/lib/puppet/util/rdoc.rb +1 -0
  416. data/lib/puppet/util/rdoc/code_objects.rb +5 -1
  417. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +5 -5
  418. data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +13 -13
  419. data/lib/puppet/util/rdoc/parser.rb +28 -32
  420. data/lib/puppet/util/reference.rb +29 -8
  421. data/lib/puppet/util/resource_template.rb +1 -1
  422. data/lib/puppet/util/selinux.rb +12 -6
  423. data/lib/puppet/util/settings.rb +203 -578
  424. data/lib/puppet/util/settings/boolean_setting.rb +33 -0
  425. data/lib/puppet/util/settings/file_setting.rb +119 -0
  426. data/lib/puppet/util/settings/setting.rb +110 -0
  427. data/lib/puppet/util/subclass_loader.rb +1 -1
  428. data/lib/puppet/util/suidmanager.rb +2 -2
  429. data/lib/puppet/util/tagging.rb +1 -1
  430. data/lib/puppet/util/warnings.rb +17 -9
  431. data/man/man8/filebucket.8 +2 -2
  432. data/man/man8/pi.8 +2 -2
  433. data/man/man8/puppet.8 +3 -4
  434. data/man/man8/puppet.conf.8 +63 -63
  435. data/man/man8/puppetca.8 +2 -2
  436. data/man/man8/puppetd.8 +2 -2
  437. data/man/man8/puppetdoc.8 +2 -2
  438. data/man/man8/puppetmasterd.8 +2 -2
  439. data/man/man8/puppetrun.8 +2 -2
  440. data/man/man8/ralsh.8 +3 -3
  441. data/sbin/puppetca +102 -0
  442. data/sbin/puppetd +159 -0
  443. data/sbin/puppetmasterd +66 -0
  444. data/sbin/puppetqd +53 -0
  445. data/sbin/puppetrun +130 -0
  446. data/spec/Rakefile +2 -2
  447. data/spec/integration/application/puppet.rb +33 -0
  448. data/spec/integration/bin/puppetmasterd.rb +110 -0
  449. data/spec/integration/configurer.rb +18 -0
  450. data/spec/integration/defaults.rb +158 -7
  451. data/spec/integration/file_serving/content.rb +2 -0
  452. data/spec/integration/file_serving/fileset.rb +14 -0
  453. data/spec/integration/file_serving/metadata.rb +2 -0
  454. data/spec/integration/file_serving/terminus_helper.rb +22 -0
  455. data/spec/integration/indirector/catalog/compiler.rb +67 -0
  456. data/spec/integration/indirector/catalog/queue.rb +61 -0
  457. data/spec/integration/indirector/certificate/rest.rb +69 -0
  458. data/spec/integration/indirector/certificate_request/rest.rb +89 -0
  459. data/spec/integration/indirector/certificate_revocation_list/rest.rb +77 -0
  460. data/spec/integration/indirector/direct_file_server.rb +16 -23
  461. data/spec/integration/indirector/file_content/file_server.rb +75 -0
  462. data/spec/integration/indirector/report/rest.rb +95 -0
  463. data/spec/integration/indirector/rest.rb +207 -147
  464. data/spec/integration/network/client.rb +19 -0
  465. data/spec/integration/network/formats.rb +110 -0
  466. data/spec/integration/network/handler.rb +25 -0
  467. data/spec/integration/network/server/mongrel.rb +26 -8
  468. data/spec/integration/network/server/webrick.rb +49 -11
  469. data/spec/integration/node/environment.rb +58 -0
  470. data/spec/integration/node/facts.rb +4 -2
  471. data/spec/integration/parser/compiler.rb +29 -0
  472. data/spec/integration/parser/functions/require.rb +67 -0
  473. data/spec/integration/provider/mailalias/aliases.rb +25 -0
  474. data/spec/integration/{node → resource}/catalog.rb +17 -10
  475. data/spec/integration/ssl/certificate_authority.rb +135 -0
  476. data/spec/integration/ssl/certificate_request.rb +59 -0
  477. data/spec/integration/ssl/certificate_revocation_list.rb +42 -0
  478. data/spec/integration/ssl/host.rb +90 -0
  479. data/spec/integration/transaction.rb +66 -0
  480. data/spec/integration/transaction/report.rb +2 -5
  481. data/spec/integration/type.rb +22 -0
  482. data/spec/integration/type/file.rb +458 -0
  483. data/spec/integration/type/package.rb +1 -1
  484. data/spec/integration/type/tidy.rb +27 -0
  485. data/spec/integration/util/autoload.rb +114 -0
  486. data/spec/integration/util/feature.rb +54 -0
  487. data/spec/integration/util/file_locking.rb +2 -1
  488. data/spec/integration/util/settings.rb +27 -0
  489. data/spec/lib/puppet_spec/files.rb +9 -0
  490. data/spec/monkey_patches/add_confine_and_runnable_to_rspec_dsl.rb +1 -0
  491. data/spec/monkey_patches/alias_should_to_must.rb +1 -0
  492. data/spec/shared_behaviours/file_server_terminus.rb +14 -11
  493. data/spec/shared_behaviours/file_serving.rb +13 -17
  494. data/spec/spec_helper.rb +22 -5
  495. data/spec/unit/agent.rb +259 -0
  496. data/spec/unit/agent/locker.rb +100 -0
  497. data/spec/unit/agent/runner.rb +118 -0
  498. data/spec/unit/application.rb +420 -0
  499. data/spec/unit/application/filebucket.rb +220 -0
  500. data/spec/unit/application/pi.rb +84 -0
  501. data/spec/unit/application/puppet.rb +404 -0
  502. data/spec/unit/application/puppetca.rb +142 -0
  503. data/spec/unit/application/puppetd.rb +502 -0
  504. data/spec/unit/application/puppetdoc.rb +345 -0
  505. data/spec/unit/application/puppetmasterd.rb +456 -0
  506. data/spec/unit/application/puppetqd.rb +186 -0
  507. data/spec/unit/application/puppetrun.rb +279 -0
  508. data/spec/unit/application/ralsh.rb +237 -0
  509. data/spec/unit/configurer.rb +232 -0
  510. data/spec/unit/configurer/downloader.rb +188 -0
  511. data/spec/unit/configurer/fact_handler.rb +150 -0
  512. data/spec/unit/configurer/plugin_handler.rb +112 -0
  513. data/spec/unit/daemon.rb +287 -0
  514. data/spec/unit/file_serving/{file_base.rb → base.rb} +39 -31
  515. data/spec/unit/file_serving/configuration.rb +104 -93
  516. data/spec/unit/file_serving/configuration/parser.rb +64 -18
  517. data/spec/unit/file_serving/content.rb +65 -26
  518. data/spec/unit/file_serving/fileset.rb +116 -14
  519. data/spec/unit/file_serving/indirection_hooks.rb +34 -95
  520. data/spec/unit/file_serving/metadata.rb +27 -40
  521. data/spec/unit/file_serving/mount.rb +7 -118
  522. data/spec/unit/file_serving/mount/file.rb +188 -0
  523. data/spec/unit/file_serving/mount/modules.rb +63 -0
  524. data/spec/unit/file_serving/mount/plugins.rb +61 -0
  525. data/spec/unit/file_serving/terminus_helper.rb +39 -27
  526. data/spec/unit/indirector.rb +6 -1
  527. data/spec/unit/indirector/active_record.rb +76 -0
  528. data/spec/unit/indirector/catalog/active_record.rb +122 -0
  529. data/spec/unit/indirector/catalog/compiler.rb +222 -118
  530. data/spec/unit/indirector/catalog/queue.rb +20 -0
  531. data/spec/unit/indirector/catalog/rest.rb +11 -0
  532. data/spec/unit/indirector/catalog/yaml.rb +6 -6
  533. data/spec/unit/indirector/certificate/ca.rb +28 -0
  534. data/spec/unit/indirector/certificate/file.rb +28 -0
  535. data/spec/unit/indirector/certificate/rest.rb +23 -0
  536. data/spec/unit/indirector/certificate_request/ca.rb +19 -0
  537. data/spec/unit/indirector/certificate_request/file.rb +19 -0
  538. data/spec/unit/indirector/certificate_request/rest.rb +23 -0
  539. data/spec/unit/indirector/certificate_revocation_list/ca.rb +21 -0
  540. data/spec/unit/indirector/certificate_revocation_list/file.rb +20 -0
  541. data/spec/unit/indirector/certificate_revocation_list/rest.rb +23 -0
  542. data/spec/unit/indirector/direct_file_server.rb +3 -8
  543. data/spec/unit/indirector/exec.rb +6 -1
  544. data/spec/unit/indirector/facts/active_record.rb +104 -0
  545. data/spec/unit/indirector/facts/facter.rb +53 -12
  546. data/spec/unit/indirector/facts/rest.rb +11 -0
  547. data/spec/unit/indirector/file.rb +8 -1
  548. data/spec/unit/indirector/file_metadata/file.rb +5 -5
  549. data/spec/unit/indirector/file_server.rb +181 -98
  550. data/spec/unit/indirector/indirection.rb +102 -38
  551. data/spec/unit/indirector/key/ca.rb +28 -0
  552. data/spec/unit/indirector/key/file.rb +104 -0
  553. data/spec/unit/indirector/node/active_record.rb +34 -0
  554. data/spec/unit/indirector/node/ldap.rb +1 -1
  555. data/spec/unit/indirector/node/rest.rb +2 -2
  556. data/spec/unit/indirector/queue.rb +123 -0
  557. data/spec/unit/indirector/report/rest.rb +28 -0
  558. data/spec/unit/indirector/request.rb +221 -0
  559. data/spec/unit/indirector/rest.rb +343 -334
  560. data/spec/unit/indirector/runner/rest.rb +11 -0
  561. data/spec/unit/indirector/ssl_file.rb +280 -0
  562. data/spec/unit/module.rb +180 -180
  563. data/spec/unit/network/authconfig.rb +292 -0
  564. data/spec/unit/network/authstore.rb +94 -0
  565. data/spec/unit/network/client.rb +2 -2
  566. data/spec/unit/network/client/dipper.rb +16 -0
  567. data/spec/unit/network/format.rb +191 -0
  568. data/spec/unit/network/format_handler.rb +306 -0
  569. data/spec/unit/network/formats.rb +249 -0
  570. data/spec/unit/network/handler/fileserver.rb +2 -5
  571. data/spec/unit/network/http.rb +3 -3
  572. data/spec/unit/network/http/api/v1.rb +122 -0
  573. data/spec/unit/network/http/handler.rb +448 -0
  574. data/spec/unit/network/http/mongrel.rb +46 -32
  575. data/spec/unit/network/http/mongrel/rest.rb +174 -319
  576. data/spec/unit/network/http/rack.rb +102 -0
  577. data/spec/unit/network/http/rack/rest.rb +199 -0
  578. data/spec/unit/network/http/rack/xmlrpc.rb +157 -0
  579. data/spec/unit/network/http/webrick.rb +249 -37
  580. data/spec/unit/network/http/webrick/rest.rb +113 -279
  581. data/spec/unit/network/http_pool.rb +86 -110
  582. data/spec/unit/network/rest_authconfig.rb +146 -0
  583. data/spec/unit/network/rest_authorization.rb +43 -0
  584. data/spec/unit/network/rights.rb +519 -0
  585. data/spec/unit/network/server.rb +475 -257
  586. data/spec/unit/node.rb +43 -10
  587. data/spec/unit/node/environment.rb +143 -9
  588. data/spec/unit/node/facts.rb +77 -24
  589. data/spec/unit/other/selinux.rb +85 -0
  590. data/spec/unit/other/transbucket.rb +29 -13
  591. data/spec/unit/other/transobject.rb +35 -15
  592. data/spec/unit/parameter.rb +378 -5
  593. data/spec/unit/parser/ast.rb +1 -1
  594. data/spec/unit/parser/ast/arithmetic_operator.rb +17 -17
  595. data/spec/unit/parser/ast/astarray.rb +16 -10
  596. data/spec/unit/parser/ast/boolean_operator.rb +2 -2
  597. data/spec/unit/parser/ast/casestatement.rb +143 -0
  598. data/spec/unit/parser/ast/collection.rb +63 -0
  599. data/spec/unit/parser/ast/collexpr.rb +31 -8
  600. data/spec/unit/parser/ast/comparison_operator.rb +9 -9
  601. data/spec/unit/parser/ast/definition.rb +18 -0
  602. data/spec/unit/parser/ast/function.rb +6 -0
  603. data/spec/unit/parser/ast/ifstatement.rb +75 -0
  604. data/spec/unit/parser/ast/leaf.rb +261 -0
  605. data/spec/unit/parser/ast/match_operator.rb +50 -0
  606. data/spec/unit/parser/ast/minus.rb +1 -1
  607. data/spec/unit/parser/ast/node.rb +20 -0
  608. data/spec/unit/parser/ast/not.rb +1 -1
  609. data/spec/unit/parser/ast/resource_override.rb +5 -5
  610. data/spec/unit/parser/ast/resource_reference.rb +11 -5
  611. data/spec/unit/parser/ast/selector.rb +156 -0
  612. data/spec/unit/parser/ast/vardef.rb +11 -11
  613. data/spec/unit/parser/collector.rb +167 -48
  614. data/spec/unit/parser/compiler.rb +128 -104
  615. data/spec/unit/parser/files.rb +190 -0
  616. data/spec/unit/parser/functions/inline_template.rb +0 -0
  617. data/spec/unit/parser/functions/regsubst.rb +42 -42
  618. data/spec/unit/parser/functions/require.rb +36 -0
  619. data/spec/unit/parser/functions/shellquote.rb +92 -0
  620. data/spec/unit/parser/functions/split.rb +51 -0
  621. data/spec/unit/parser/functions/sprintf.rb +11 -11
  622. data/spec/unit/parser/functions/template.rb +0 -0
  623. data/spec/unit/parser/functions/versioncmp.rb +2 -2
  624. data/spec/unit/parser/interpreter.rb +16 -7
  625. data/spec/unit/parser/lexer.rb +72 -12
  626. data/spec/unit/parser/loaded_code.rb +198 -0
  627. data/spec/unit/parser/parser.rb +215 -28
  628. data/spec/unit/parser/resource.rb +131 -22
  629. data/spec/unit/parser/scope.rb +207 -12
  630. data/spec/unit/parser/templatewrapper.rb +8 -3
  631. data/spec/unit/property.rb +270 -16
  632. data/spec/unit/property/list.rb +12 -6
  633. data/spec/unit/provider.rb +31 -0
  634. data/spec/unit/provider/augeas/augeas.rb +61 -33
  635. data/spec/unit/provider/macauthorization.rb +29 -29
  636. data/spec/unit/provider/mcx/mcxcontent.rb +4 -4
  637. data/spec/unit/provider/mount/parsed.rb +5 -8
  638. data/spec/unit/provider/naginator.rb +0 -0
  639. data/spec/unit/provider/package/apt.rb +6 -6
  640. data/spec/unit/provider/package/pkgdmg.rb +73 -0
  641. data/spec/unit/provider/selboolean.rb +1 -1
  642. data/spec/unit/provider/selmodule.rb +2 -2
  643. data/spec/unit/provider/service/daemontools.rb +40 -15
  644. data/spec/unit/provider/service/debian.rb +89 -0
  645. data/spec/unit/provider/service/init.rb +106 -0
  646. data/spec/unit/provider/service/launchd.rb +71 -13
  647. data/spec/unit/provider/service/redhat.rb +94 -0
  648. data/spec/unit/provider/service/runit.rb +14 -2
  649. data/spec/unit/provider/ssh_authorized_key/parsed.rb +66 -2
  650. data/spec/unit/provider/user/ldap.rb +1 -1
  651. data/spec/unit/provider/user/user_role_add.rb +1 -1
  652. data/spec/unit/provider/zfs/solaris.rb +18 -6
  653. data/spec/unit/provider/zone/solaris.rb +1 -1
  654. data/spec/unit/rails.rb +16 -22
  655. data/spec/unit/rails/host.rb +163 -0
  656. data/spec/unit/rails/param_value.rb +49 -0
  657. data/spec/unit/rails/resource.rb +87 -0
  658. data/spec/unit/relationship.rb +141 -29
  659. data/spec/unit/resource.rb +504 -0
  660. data/spec/unit/resource/catalog.rb +1061 -0
  661. data/spec/unit/resource/reference.rb +111 -0
  662. data/spec/unit/simple_graph.rb +448 -191
  663. data/spec/unit/ssl/certificate.rb +124 -0
  664. data/spec/unit/ssl/certificate_authority.rb +741 -0
  665. data/spec/unit/ssl/certificate_authority/interface.rb +269 -0
  666. data/spec/unit/ssl/certificate_factory.rb +107 -0
  667. data/spec/unit/ssl/certificate_request.rb +193 -0
  668. data/spec/unit/ssl/certificate_revocation_list.rb +180 -0
  669. data/spec/unit/ssl/host.rb +704 -0
  670. data/spec/unit/ssl/inventory.rb +180 -0
  671. data/spec/unit/ssl/key.rb +198 -0
  672. data/spec/unit/transaction.rb +65 -2
  673. data/spec/unit/transaction/change.rb +1 -1
  674. data/spec/unit/transaction/report.rb +1 -1
  675. data/spec/unit/type.rb +361 -8
  676. data/spec/unit/type/augeas.rb +30 -37
  677. data/spec/unit/type/component.rb +63 -0
  678. data/spec/unit/type/computer.rb +17 -21
  679. data/spec/unit/type/exec.rb +27 -2
  680. data/spec/unit/type/file.rb +704 -83
  681. data/spec/unit/type/file/content.rb +253 -15
  682. data/spec/unit/type/file/ensure.rb +65 -2
  683. data/spec/unit/type/file/group.rb +5 -0
  684. data/spec/unit/type/file/owner.rb +5 -0
  685. data/spec/unit/type/file/selinux.rb +12 -16
  686. data/spec/unit/type/file/source.rb +264 -0
  687. data/spec/unit/type/filebucket.rb +74 -0
  688. data/spec/unit/type/group.rb +1 -5
  689. data/spec/unit/type/macauthorization.rb +59 -26
  690. data/spec/unit/type/mcx.rb +8 -16
  691. data/spec/unit/type/mount.rb +8 -16
  692. data/spec/unit/type/noop_metaparam.rb +0 -2
  693. data/spec/unit/type/package.rb +13 -23
  694. data/spec/unit/type/resources.rb +4 -7
  695. data/spec/unit/type/schedule.rb +1 -7
  696. data/spec/unit/type/selboolean.rb +4 -6
  697. data/spec/unit/type/service.rb +23 -33
  698. data/spec/unit/type/ssh_authorized_key.rb +25 -14
  699. data/spec/unit/type/tidy.rb +329 -21
  700. data/spec/unit/type/user.rb +18 -10
  701. data/spec/unit/type/zfs.rb +6 -6
  702. data/spec/unit/util/autoload.rb +94 -3
  703. data/spec/unit/util/autoload/file_cache.rb +183 -0
  704. data/spec/unit/util/backups.rb +159 -0
  705. data/spec/unit/util/cache_accumulator.rb +69 -0
  706. data/spec/unit/util/cacher.rb +185 -0
  707. data/spec/unit/util/checksums.rb +9 -1
  708. data/spec/unit/util/feature.rb +72 -0
  709. data/spec/unit/util/filetype.rb +1 -11
  710. data/spec/unit/util/json.rb +21 -0
  711. data/spec/unit/util/log.rb +45 -0
  712. data/spec/unit/util/package.rb +2 -2
  713. data/spec/unit/util/queue.rb +88 -0
  714. data/spec/unit/util/queue/stomp.rb +140 -0
  715. data/spec/unit/util/reference_serializer.rb +52 -0
  716. data/spec/unit/util/selinux.rb +5 -3
  717. data/spec/unit/util/settings.rb +413 -264
  718. data/spec/unit/util/settings/file_setting.rb +223 -0
  719. data/spec/unit/util/storage.rb +11 -11
  720. data/spec/unit/util/warnings.rb +21 -17
  721. data/test/Rakefile +6 -5
  722. data/test/certmgr/ca.rb +5 -5
  723. data/test/certmgr/certmgr.rb +4 -4
  724. data/test/data/providers/cron/crontab.allthree +2 -2
  725. data/test/data/providers/cron/crontab.envNcomment +1 -1
  726. data/test/data/providers/cron/crontab.envNname +1 -1
  727. data/test/data/providers/cron/crontab.multirecords +1 -1
  728. data/test/data/providers/cron/crontab_collections.yaml +14 -14
  729. data/test/data/providers/cron/crontab_multiple_with_env.yaml +6 -6
  730. data/test/data/providers/cron/crontab_sample_records.yaml +102 -102
  731. data/test/data/providers/mailalias/aliases/test1 +28 -0
  732. data/test/data/providers/package/testpackages.yaml +6 -6
  733. data/test/data/reports/1.yaml +17 -17
  734. data/test/data/reports/tagmail_passers.conf +2 -2
  735. data/test/data/snippets/append.pp +5 -5
  736. data/test/data/snippets/casestatement.pp +9 -2
  737. data/test/data/snippets/classincludes.pp +1 -1
  738. data/test/data/snippets/collection_override.pp +8 -0
  739. data/test/data/snippets/fqparents.pp +2 -2
  740. data/test/data/snippets/ifexpression.pp +12 -0
  741. data/test/data/snippets/multilinecomments.pp +5 -1
  742. data/test/data/snippets/selectorvalues.pp +7 -0
  743. data/test/data/types/hosts/1 +1 -1
  744. data/test/data/types/hosts/2 +3 -3
  745. data/test/data/types/hosts/solaris +2 -2
  746. data/test/data/types/mount/freebsd.fstab +7 -7
  747. data/test/data/types/mount/solaris.fstab +10 -10
  748. data/test/data/types/port/1 +472 -472
  749. data/test/data/types/port/darwin +4347 -4347
  750. data/test/language/ast.rb +3 -2
  751. data/test/language/ast/casestatement.rb +12 -12
  752. data/test/language/ast/resource.rb +4 -4
  753. data/test/language/ast/resource_reference.rb +5 -5
  754. data/test/language/ast/selector.rb +11 -11
  755. data/test/language/ast/variable.rb +4 -4
  756. data/test/language/functions.rb +16 -16
  757. data/test/language/parser.rb +89 -111
  758. data/test/language/resource.rb +3 -88
  759. data/test/language/scope.rb +14 -55
  760. data/test/language/snippets.rb +31 -31
  761. data/test/lib/puppettest.rb +12 -12
  762. data/test/lib/puppettest/certificates.rb +2 -2
  763. data/test/lib/puppettest/exetest.rb +0 -1
  764. data/test/lib/puppettest/fakes.rb +1 -1
  765. data/test/lib/puppettest/parsertesting.rb +9 -4
  766. data/test/lib/puppettest/railstesting.rb +3 -3
  767. data/test/lib/puppettest/servertest.rb +1 -1
  768. data/test/lib/puppettest/support/assertions.rb +2 -2
  769. data/test/lib/puppettest/support/collection.rb +1 -1
  770. data/test/lib/puppettest/support/resources.rb +7 -7
  771. data/test/lib/puppettest/support/utils.rb +10 -16
  772. data/test/lib/puppettest/testcase.rb +2 -1
  773. data/test/network/authconfig.rb +1 -1
  774. data/test/network/authorization.rb +1 -1
  775. data/test/network/authstore.rb +57 -14
  776. data/test/network/client/ca.rb +1 -0
  777. data/test/network/client/resource.rb +12 -50
  778. data/test/network/client_request.rb +1 -1
  779. data/test/network/handler/bucket.rb +2 -2
  780. data/test/network/handler/fileserver.rb +17 -21
  781. data/test/network/handler/master.rb +5 -5
  782. data/test/network/handler/report.rb +3 -3
  783. data/test/network/handler/resource.rb +29 -75
  784. data/test/network/handler/runner.rb +8 -58
  785. data/test/network/rights.rb +1 -1
  786. data/test/network/server/mongrel_test.rb +15 -1
  787. data/test/network/server/webrick.rb +0 -36
  788. data/test/network/xmlrpc/webrick_servlet.rb +5 -5
  789. data/test/other/dsl.rb +3 -3
  790. data/test/other/events.rb +15 -15
  791. data/test/other/puppet.rb +2 -32
  792. data/test/other/relationships.rb +21 -148
  793. data/test/other/report.rb +20 -23
  794. data/test/other/transactions.rb +110 -298
  795. data/test/puppet/defaults.rb +1 -1
  796. data/test/puppet/tc_suidmanager.rb +1 -1
  797. data/test/rails/railsparameter.rb +4 -4
  798. data/test/ral/manager/attributes.rb +12 -68
  799. data/test/ral/manager/instances.rb +3 -19
  800. data/test/ral/manager/manager.rb +7 -7
  801. data/test/ral/manager/provider.rb +7 -7
  802. data/test/ral/manager/type.rb +54 -349
  803. data/test/ral/providers/cron/crontab.rb +14 -14
  804. data/test/ral/providers/group.rb +5 -6
  805. data/test/ral/providers/host/parsed.rb +3 -3
  806. data/test/ral/providers/mailalias/aliases.rb +4 -4
  807. data/test/ral/providers/package.rb +3 -3
  808. data/test/ral/providers/package/aptitude.rb +55 -55
  809. data/test/ral/providers/package/aptrpm.rb +7 -7
  810. data/test/ral/providers/parsedfile.rb +10 -14
  811. data/test/ral/providers/port/parsed.rb +6 -6
  812. data/test/ral/providers/provider.rb +10 -10
  813. data/test/ral/providers/service/base.rb +32 -32
  814. data/test/ral/providers/sshkey/parsed.rb +14 -14
  815. data/test/ral/providers/user.rb +16 -17
  816. data/test/ral/providers/user/useradd.rb +19 -22
  817. data/test/ral/type/cron.rb +21 -28
  818. data/test/ral/type/exec.rb +57 -60
  819. data/test/ral/type/file.rb +88 -862
  820. data/test/ral/type/file/target.rb +21 -70
  821. data/test/ral/type/fileignoresource.rb +37 -44
  822. data/test/ral/type/filesources.rb +43 -473
  823. data/test/ral/type/group.rb +6 -7
  824. data/test/ral/type/host.rb +14 -30
  825. data/test/ral/type/mailalias.rb +3 -3
  826. data/test/ral/type/port.rb +5 -5
  827. data/test/ral/type/resources.rb +37 -37
  828. data/test/ral/type/service.rb +3 -3
  829. data/test/ral/type/sshkey.rb +34 -39
  830. data/test/ral/type/user.rb +15 -14
  831. data/test/ral/type/yumrepo.rb +18 -17
  832. data/test/ral/type/zone.rb +4 -6
  833. data/test/test +9 -9
  834. data/test/util/fileparsing.rb +10 -10
  835. data/test/util/inifile.rb +6 -6
  836. data/test/util/instance_loader.rb +1 -1
  837. data/test/util/log.rb +2 -2
  838. data/test/util/metrics.rb +1 -6
  839. data/test/util/package.rb +1 -1
  840. data/test/util/pidlock.rb +116 -116
  841. data/test/util/settings.rb +40 -429
  842. data/test/util/storage.rb +5 -5
  843. data/test/util/subclass_loader.rb +0 -7
  844. data/test/util/utiltest.rb +10 -29
  845. metadata +1369 -941
  846. data/bin/puppetca +0 -363
  847. data/bin/puppetd +0 -439
  848. data/bin/puppetmasterd +0 -289
  849. data/bin/puppetrun +0 -369
  850. data/conf/redhat/lsb-config.patch +0 -51
  851. data/conf/redhat/no-chuser-0.15.1.patch +0 -38
  852. data/conf/redhat/no-lockdir.patch +0 -13
  853. data/examples/mac_netinfo.pp +0 -5
  854. data/ext/passenger/README +0 -63
  855. data/ext/passenger/apache2.conf +0 -29
  856. data/ext/passenger/config.ru +0 -40
  857. data/lib/puppet/config_stores/rest.rb +0 -60
  858. data/lib/puppet/executables/client/certhandler.rb +0 -82
  859. data/lib/puppet/indirector/file_content/modules.rb +0 -11
  860. data/lib/puppet/indirector/file_metadata/modules.rb +0 -17
  861. data/lib/puppet/indirector/module_files.rb +0 -82
  862. data/lib/puppet/indirector/ssl_rsa.rb +0 -5
  863. data/lib/puppet/indirector/ssl_rsa/file.rb +0 -33
  864. data/lib/puppet/network/client/master.rb +0 -524
  865. data/lib/puppet/network/http_server/rack.rb +0 -148
  866. data/lib/puppet/pgraph.rb +0 -121
  867. data/lib/puppet/provider/group/netinfo.rb +0 -15
  868. data/lib/puppet/provider/host/netinfo.rb +0 -19
  869. data/lib/puppet/provider/mount/netinfo.rb +0 -37
  870. data/lib/puppet/provider/nameservice/netinfo.rb +0 -224
  871. data/lib/puppet/provider/user/netinfo.rb +0 -111
  872. data/lib/puppet/util/fact_store.rb +0 -59
  873. data/lib/puppet/util/uri_helper.rb +0 -22
  874. data/spec/integration/file_serving/configuration.rb +0 -43
  875. data/spec/integration/indirector/module_files.rb +0 -57
  876. data/spec/unit/executables/client/certhandler.rb +0 -135
  877. data/spec/unit/indirector/file_content/modules.rb +0 -18
  878. data/spec/unit/indirector/file_metadata/modules.rb +0 -42
  879. data/spec/unit/indirector/module_files.rb +0 -259
  880. data/spec/unit/indirector/ssl_rsa/file.rb +0 -121
  881. data/spec/unit/network/client/master.rb +0 -442
  882. data/spec/unit/node/catalog.rb +0 -865
  883. data/spec/unit/other/pgraph.rb +0 -210
  884. data/spec/unit/resource_reference.rb +0 -73
  885. data/spec/unit/util/uri_helper.rb +0 -41
  886. data/test/data/snippets/ifexpression.rb +0 -6
  887. data/test/executables/filebucket.rb +0 -51
  888. data/test/executables/puppetbin.rb +0 -104
  889. data/test/executables/puppetca.rb +0 -115
  890. data/test/executables/puppetd.rb +0 -55
  891. data/test/executables/puppetmasterd.rb +0 -147
  892. data/test/network/client/client.rb +0 -195
  893. data/test/network/client/master.rb +0 -490
  894. data/test/network/daemon.rb +0 -70
  895. data/test/network/handler/handler.rb +0 -63
  896. data/test/other/overrides.rb +0 -107
  897. data/test/puppet/conffiles.rb +0 -107
  898. data/test/rails/ast.rb +0 -73
  899. data/test/rails/configuration.rb +0 -71
  900. data/test/rails/host.rb +0 -154
  901. data/test/rails/railsresource.rb +0 -251
  902. data/test/ral/providers/host/netinfo.rb +0 -56
  903. data/test/ral/providers/mount/netinfo.rb +0 -79
  904. data/test/ral/type/basic.rb +0 -85
  905. data/test/ral/type/filebucket.rb +0 -157
  906. data/test/ral/type/parameter.rb +0 -174
  907. data/test/ral/type/property.rb +0 -388
  908. data/test/ral/type/tidy.rb +0 -291
  909. data/test/util/autoload.rb +0 -145
  910. data/test/util/features.rb +0 -95
@@ -0,0 +1,1705 @@
1
+ This is the legacy CHANGELOG. Please see the new ChangeLog file and the ReleaseNotes page at:
2
+
3
+ http://reductivelabs.com/trac/puppet/wiki/ReleaseNotes
4
+
5
+ 0.25.0
6
+ Fixed #2280 - Detailed exit codes fix
7
+
8
+ Fixed #198 - Puppet man pages added
9
+
10
+ Moved puppetd, puppetmasterd, puppetrun, puppetca from bin to sbin
11
+
12
+ Fixed #2071 - Updated LDAP schema
13
+
14
+ Fixed #1849 - Ruby 1.9 portability: `when' doesn't like colons, replace with semicolons
15
+
16
+ Fixed #1910 - Updated logcheck regex
17
+
18
+ Fixed #1879 - Added to tidy documentation
19
+
20
+ Fixed #1881 - Added md5lite explanation
21
+
22
+ Fixed #1877 - Tidy type reference update for use of 0
23
+
24
+ Fix autotest on win32
25
+
26
+ Doc strings update for REST
27
+
28
+ Fixed #1840 - Bug fixes and improvements for Emacs puppet-mode.el
29
+
30
+ 0.24.8
31
+ Fixed #2077 - ralsh user broken on OSX
32
+
33
+ Fixed #2004 - ssh_authorized_key fails if no target is defined
34
+
35
+ Fixed #1629 - incorrect permissions on ssh_authorized_keys created files
36
+
37
+ Fixed #2000 - No default specified for checksum
38
+
39
+ Fixed #2026 - Red Hat ignoring stop method
40
+
41
+ Added ext/dbfix.sql script - fixes common errors in stored configuration databases
42
+
43
+ Fixed #1963 - Failing to read /proc/mounts for selinux kills file downloads
44
+
45
+ Fixed #2025 - gentoo service provider handle only default init level
46
+
47
+ Fixed #1910 - updated logcheck
48
+
49
+ Fixed #1871 - Sensitive information leaked in log reports
50
+
51
+ Fixed #1956 - Cleaned up variable names to be more sane, clarified error messages
52
+ and fixed incorrect use of 'value' variable rather than 'member'.
53
+
54
+ Fixed #1831 - Added sprintf function
55
+
56
+ Fixed #1830 - Added regsubst function
57
+
58
+ Updated up2date and service confines to add support for Oracle EL and VM
59
+
60
+ Fixing #1948 and #1953 - augeas ins bug: wrong number of arguments (1 for 3)
61
+
62
+ Fixing #944 - changing error message from warning to info - connection recycled
63
+
64
+ Fixed #961 - puppetd creating too many/not closing TCP connections
65
+
66
+ Fixed #1959 - Added column protection for environment schema migration
67
+
68
+ Fixing #1869 - autoloaded files should never leak exceptions
69
+
70
+ Fixing #1543 - Nagios parse errors no longer kill Puppet
71
+
72
+ Fixed #1420 - nagios_serviceescalation not allowing host_name more than one type
73
+
74
+ Fixed #1884 - Exported resources are marked as unexported when collected on the exporting host
75
+
76
+ Fixed #1922 - Functions squash all arguments into a single hash
77
+
78
+ Fixed #1538 - Yumrepo sets permissions wrongly on files in /etc/yum.repos.d
79
+
80
+ Fixed #1936 - Added /* */ support to the vim file
81
+
82
+ Fixed #1541 - nagios objects write files to clientbucket on every change
83
+
84
+ Fixed #1542 - cannot purge nagios objects
85
+
86
+ Fixing #1912 - gid still works with no 'should' value fixing ralsh issues
87
+
88
+ Fixing the Rakefile to use 'git format-patch'
89
+
90
+ Added README.rst file
91
+
92
+ Enhancements to Stored Configuration performance
93
+
94
+ Added Reductive Labs build library to tasks directory
95
+
96
+ Fixed #1852 - Correct behaviour when no SELinux bindings
97
+
98
+ Updated Red Hat spec file 0.24.7
99
+
100
+ Fixed #1920 - Shadow password corruption
101
+
102
+ 0.24.7
103
+ Fixed #1804 - Added VDev and MultiVDev properties to the ZPool type
104
+
105
+ Fixed #1496 - nagios_servicedependency needs a unique host_name?
106
+
107
+ Fixed #1420 - nagios_serviceescalation not allowing host_name more than one type
108
+
109
+ Bug #1803 Zfs should auto require the ancestor file systems
110
+
111
+ Refactor #1802 Use 'zfs get -H -o value' instead of parsing output for value
112
+
113
+ Fixing #1800 - tidy now correctly ignores missing files and directories
114
+
115
+ Fixing #1794 - returning sync when it is already initialized
116
+
117
+ Fixing #1750 again - All of the properties and now :ensure check replace?
118
+
119
+ Deprecate the NetInfo nameservice provider. Use directoryservice instead
120
+
121
+ Add macauthorization type
122
+
123
+ Fixing #1703 - using a mutex around the sending of the tagmails
124
+
125
+ Fix #1788 - allow rspec rake to run only some tests
126
+
127
+ Fixing the AST constant warnings, using a variable instead of a constant
128
+
129
+ Feature #1696 Add support for branded zones
130
+
131
+ Feature #1783 - Add ZFS support
132
+
133
+ type/mcx.rb Feature #1026 - MCX Type
134
+
135
+ Fixing #1749 - Splay now hopefully behaves "better" for small values
136
+
137
+ Fix #1741 - Add inline_template function
138
+
139
+ Slight denormalisation to store a host's environment as a first class
140
+
141
+ Added Rake :ci namespace and CI tasks
142
+
143
+ Refactoring the thread-safety in Puppet::Util
144
+
145
+ Removing the included testing gems; you must now install them yourself
146
+
147
+ Refactoring of SELinux functions to use native Ruby SELinux interface
148
+
149
+ Removing all mention of EPM, RPM, or Sun packages.
150
+
151
+ Fixed #1496 - nagios_servicedependency needs a unique host_name?
152
+
153
+ Fixed #1420 - nagios_serviceescalation not allowing host_name more than one type
154
+
155
+ Fixed #1695 - Solaris 10 zone provider doesn't properly handle unknown zone attributes in newer releases
156
+
157
+ Fixed #1776 - Trivial fix for gentoo service provider
158
+
159
+ Fixed #1767 - Minor fix to emacs mode
160
+
161
+ Fixed #1711 - fileserver test fails due to incorrect mocking
162
+
163
+ Fixed #1751 - Mac OS X DirectoryService nameservice provider support for
164
+ plist output and password hash fil
165
+
166
+ Fixed #1752 - Add an optional argument to Puppet::Util.execute to determine
167
+ whether stderr and stdout are combined in the output
168
+
169
+ Added versionable feature to the RPM provider
170
+
171
+ Fixed #1668 - puppetca can't clean unsigned certs
172
+
173
+ Moved RRD feature from util/metric.rb to feature/base.rb
174
+
175
+ Fixed #1735 and #1747 - Fixes to confine system
176
+
177
+ Fixed #1681 - Add filesystem type check to test for per-file SELinux context support
178
+
179
+ Fixed #1746 - Sync SELinux file attributes after file contents created/modified
180
+
181
+ Replaced SELInux calls to binaries with Ruby SELinux bindings
182
+
183
+ Fixed #1748 - Include spec directory in packages
184
+
185
+ Fixes #1672 - unsafe crontab handling in Solaris
186
+
187
+ Fixed #1718 - Added preseed to apt uninstall and purge
188
+
189
+ Fixed #1739 - Added uninstall functionality to yum provider
190
+
191
+ Fixed #1710 - Spurious output in test run
192
+
193
+ Fixed #1667 - Documentation should specify natural language regexs, not Regexp objects
194
+
195
+ Fixed #1692 - k5login fails to set mode when file is created
196
+
197
+ Fixed #1660 - Added specific recurse values for tidy
198
+
199
+ Fixed #1698 - All logs should now show up in the reports
200
+
201
+ Fixed #1661 - Type reference: tidy should specify manditory parameters
202
+
203
+ Fixed #1104 - Classes and nodes should set $name variables
204
+
205
+ Updated Red Hat spec file for 0.24.6
206
+
207
+ Removed conf/debian directory - Debian packaging information
208
+ now maintained downstream
209
+
210
+ Added augeas type
211
+
212
+ Added support for @doc type and manifest documentation support - see:
213
+ http://reductivelabs.com/trac/puppet/wiki/PuppetManifestDocumentation
214
+
215
+ Added multiline comment support
216
+
217
+ 0.24.6
218
+ Adding support to the user type for: profiles, auths, project,
219
+ key/value pairs (extension to Solaris RBAC support added in
220
+ 0.24.6)
221
+
222
+ Fixed #1662 - Configuration Reference still references 'section'
223
+
224
+ Fixed #1460 - enhance redhat puppetmaster init.d script to easy start puppetmaster as a mongrel cluster
225
+
226
+ Fixed #1663 - Regression relating to facter fact naming from 0.24.5
227
+
228
+ Fixed #1655 - Provider::Confine::Variable tests are broken
229
+
230
+ Fixed #1646 - service puppet status does not work as non-root
231
+ on redhat system
232
+
233
+ Fixed #1649 - Updated OSX package cleanup
234
+
235
+ Fixed #1647 - puppetdoc -r providers now working again
236
+
237
+ Fixed #1639 - uninitialized constant Puppet::Type::User::ProviderUseradd
238
+
239
+ Fixed #1637 - With an inexistant (global) templatedir, modules
240
+ can't access their templates
241
+
242
+ Fixed #1202 - Collection attribute matching doesn't parse arrays
243
+
244
+ Fixed #1473 - Puppetd stops with error after puppetmasterd
245
+ is unavailable
246
+
247
+ Fixed #1354 - yum provider problems with RHEL 3
248
+
249
+ Fixed #1633 - Added support for --detailed-exits to bin/puppet
250
+
251
+ Fixed #381 - Allow Allow multiple overrides in one statement
252
+
253
+ Fixing #947 - pluginsync no longer fails poorly when no plugins exist
254
+
255
+ Fixed #981 - Removed 'Adding aliases' info message
256
+
257
+ Fixing #1089 - Log messages are now tagged with the log level,
258
+ making it easier to match messages in the 'tagmail' report.
259
+
260
+ Fixing #1098 - Multiline strings now correctly increment the line count
261
+
262
+ Fixing #1614 - Environments no longer have to be listed out
263
+
264
+ Fixed #1628 - Changed node search to use certname rather than Facter
265
+ hostname
266
+
267
+ Fixed #1613 - The client environment will be substituted when looking
268
+ up settings.
269
+
270
+ Updated puppet binary documentation
271
+
272
+ Feature #1624 - Added RBAC roles to solaris user provider
273
+
274
+ Fixed #1586 - Specifying "fully qualified" package names in Gentoo
275
+
276
+ Fixed #1620 - Add 'sles' to Puppet confines when 'suse' is used
277
+
278
+ Fixed #1585 - Allow complex 'if' and variable expressions
279
+
280
+ Fixed #1564 - Saving File#checksum to state.yaml broken
281
+
282
+ Fixed #1603 - Added support for running Puppet inside a Rack application
283
+ (mod_rails) with Passenger and Apache
284
+
285
+ Fixed #1596 - Deploying file resources with ++ generates error
286
+
287
+ Modified the group and zone resource types to no longer call
288
+ 'currentpropvalues' as a means of setting all values to absent.
289
+ There should be no behaviour change from this change.
290
+
291
+ Modified the behaviour of resource-level 'retrieve' -- it only
292
+ calls 'retrieve' on each property if the resource exists.
293
+
294
+ Fixed #1622 - Users and their groups should again add in one transaction
295
+
296
+ Fixed #791 - You should now be able to create and find a user/group in one transaction.
297
+
298
+ Fixed #1610 - Raise "Filebucketed" messages to Notice priority
299
+
300
+ FIxed #1530 - ssh_authorized_keys provider does not crash anymore on SSH type 1 keys
301
+
302
+ Added a number of confines to package providers
303
+
304
+ Fixed #1609 - Added confines for the Gentoo, FreeBSD and
305
+ SMF (Solaris) service providers
306
+
307
+ Fixed #1608 - Added ubuntu to defaultfor for apt provider
308
+
309
+ Fixed #1607 - Added ubuntu to defaultfor for Debian service
310
+ provider
311
+
312
+ Fixed #1045 - Multiple metaparams all get added to resources.
313
+
314
+ Fixed #1472 -- defined, exported resources in the current compile
315
+ now get expanded correctly.
316
+
317
+ Fixed #1595 - Internally, Property#retrieve is no longer called
318
+ when no 'should' value is available for a resource.
319
+
320
+ Fixed #1588 - Fixed puppetca --clean --all
321
+
322
+ Fixed #1584 - Added support for appended variables
323
+
324
+ Fixed #1554 - Added support for multiple template directories
325
+
326
+ Fixed #1500 - puppetrun not working
327
+
328
+ Fixed #1579 and #1580 - errors in the Puppet RPM spec file
329
+
330
+ Fixed #1572 -- file purging now fails if remote sources do not exist.
331
+
332
+ Fixed #1521 -- ldap user and password are now used with the default connection.
333
+
334
+ Fixed issues with file descriptors leaking into subprocesses
335
+
336
+ Fixed #1568 - createpackage.sh
337
+
338
+ Fixed #1571 - Puppet::Util::binary returns incorrect results
339
+
340
+ Fixed #1553 - Puppet and Facter cannot both install the plist module into two different locations
341
+
342
+ Adjusted hpuxuseradd user provider to confine to HP-UX and fixed HP-UX user provider path regression
343
+
344
+ Fixed debug messages in package type - thanks to Todd Zullinger for this fix
345
+
346
+ Fixed #1566 - changed password property of the user type
347
+
348
+ Fixed debug messages in package type
349
+
350
+ Updated Red Hat spec file
351
+
352
+ Fixes #1455 - Adds HP-UX support for user type
353
+
354
+ Fixes #1551 puppetmaster.freshness xmlrpc call returns incorrect type
355
+
356
+ Fixes #1554 - Fix exception for undefined hostname
357
+
358
+ Fixed #1533 - changed permissions for man directory
359
+
360
+ Added daemontools and runit providers for service type
361
+
362
+ Added simple rake task for running unit tests
363
+
364
+ Added spec Rake task
365
+
366
+ Fixed #1526 - Fixed leak in template
367
+
368
+ Fixed #1506 - Removed storeconfig duplicate indexes
369
+
370
+ Fixed #1457 - case insensitive match for error
371
+
372
+ Fixed #1488 - Moved individual functions out of functions.rb into
373
+ lib/puppet/parser/functions directory. New functions should be create in this directory.
374
+
375
+ Fixed #1508 - Added HP-UX package provider
376
+
377
+ Fixed #1502 - Fixed poor stored configuration performance
378
+
379
+ Fixed #1510 - Storeconfiguration fixed for Rails 2.1
380
+
381
+ Add the -P/--ping option to puppetrun, fixes #1501
382
+
383
+ Fixed #1394 - Added stored configuration clearing script to /ext
384
+
385
+ Fixed #1442 - replaced use of Facter for report titling with certname
386
+
387
+ Fixed $1456 - add proxy configuration capability to yum repo
388
+
389
+ Fixed #1457 - removed confine warning
390
+
391
+ A working script to create an OS X pkg out of the Puppet repository
392
+
393
+ Fixed #1441 - Updated console colours
394
+
395
+ Expose all puppet variables as instance member variables of the template wrapper.
396
+ This helps resolve redmine #1427, by providing a safe mechanism to access variables.
397
+
398
+ * Implement Puppet::Parser::Scope#to_hash, which returns a hash containing all the
399
+ variable bindings in the current and, optionally, parent scope.
400
+ * Use that to set instance member variables into Puppet::Parser::Templatewrapper
401
+ * Report the time taken for variable binding at debug level, to help identify any
402
+ performance regression that is encountered in the real world.
403
+ * Rename the @scope and @file members of the template wrapper, to avoid clashing
404
+ with a scope variable exposed within puppet.
405
+
406
+ Ensure that we consistently use either string #{} interpolation or String.%
407
+ interpolation, not both, to avoid issues where a #{} interpolated value
408
+ contains a % character.
409
+
410
+ Feature #1476: Allow specification of --bindir --sbindir --sitelibdir --mandir --destdir
411
+ in installation
412
+
413
+ Added feature #1241 : Improve performance of group lookups
414
+
415
+ Fixed bug #1448: Puppet CA incorrectly writes out all certs to inventory .txt on each
416
+ certificate signing
417
+
418
+ Fixing puppetlast to make it work with 0.24.5 / 0.25. Made puppetlast work on 0.24.5
419
+ by using the YAML indirector
420
+
421
+ 0.24.5
422
+ You can now select the encoding format when transferring the catalog,
423
+ with 'yaml' still being the default but 'marshal' being an option.
424
+ This is because testing has shown drastic performance differences
425
+ between the two, with up to 70% of compile time being spent
426
+ in YAML code. Use the 'catalog_format' setting to choose your format,
427
+ and the setting must be set on the client.
428
+
429
+ Fixed #1431 - Provider confines must now specify similar tests in one call.
430
+ I.e., you can't do confine :operatingsystem => %w{a b} and then
431
+ confine :operatingsystem => %w{b c}; you'd need to do them in one command.
432
+ This now-obsolete behaviour does not seem to be used anywhere.
433
+ The fix for #1431 is actually just removing the tests that exposed
434
+ this change; the change happened when I refactored how confines work.
435
+
436
+ Removed faulty interface type
437
+
438
+ Updated /spec/unit/rails.rb test
439
+
440
+ Fix #1426 - services on redhat are restarted again and status is
441
+ called from the Red Hat provider
442
+
443
+ Fixed #1414 - Return code from waitpid now right shifted 8 bits
444
+
445
+ Fixed #174 - a native type type for managing ssh authorized_keys
446
+ files is available.
447
+
448
+ Further moves from the examples directory and ext directory
449
+
450
+ Fixed #1397 One line fix, fail instead of log
451
+
452
+ Moved debian to conf and updated examples directory
453
+
454
+ Fixed #1368 - updated Red Hat init scripts
455
+
456
+ Added message referencing ReductiveLabs build library
457
+
458
+ Fixed #1396 - Added sha1 function from DavidS to core
459
+
460
+ Fixed #1399 - the ldap user provider now knows it can manage
461
+ passwords.
462
+
463
+ Fixed #1272 - if you provide a group name as the gid to an ldap
464
+ user, the name will be converted to a gid. Note that this only
465
+ looks up ldap groups, at this point; if you want to set an ldap
466
+ user's primary group to a local group, you have to specify the GID.
467
+
468
+ Fixed #1226 - gems can now specify source repositories.
469
+
470
+ Fixed #1232 - the rundir no longer specifies a user/group,
471
+ and there are now client- and server-specific yaml directories.
472
+
473
+ Fixed 1240 - puppet will function more like puppetd if graphing
474
+ or reporting are enabled.
475
+
476
+ Fixed #1231 - Exceptions during initialization should now be clearer.
477
+
478
+ Fixed #1006 - puppetrun --class works again. I added the class
479
+ membership testing to the Ldap node terminus, and added tests,
480
+ so it shouldn't break again.
481
+
482
+ Fixed #1114 - Facts in plugin directories should now be autoloaded,
483
+ as long as you're using Facter 1.5.
484
+
485
+ Removed support for the 'node_name' setting in LDAP and external node lookups.
486
+ Fixed #1195 - Updated Gentoo init scripts
487
+
488
+ Fixed #1367 - Updated Rakefile for new daily builds
489
+
490
+ Fixed #1370 - removed test/util/loadedfile.rb tests
491
+
492
+ Fixed #1221 - aliases to titles now work for resources.
493
+
494
+ Fixed #1012 - templates in the templatedir are preferred to module templates.
495
+
496
+ Fixed #707 - special '@reboot'-style cron jobs work again.
497
+
498
+ Fixed #1360 - allowdupe works on groups again.
499
+
500
+ Fixed #1369 - the init service provider now supports HP-UX.
501
+
502
+ Removed support for the 'node_name' setting in LDAP and external node
503
+ lookups.
504
+
505
+ Also removed support for 'default' nodes in external nodes.
506
+ LDAP nodes now use the certificate name, the short name, and 'default',
507
+ but external nodes just use the certificate name and any custom terminus
508
+ types will use just the certificate name.
509
+
510
+ Fixing #1168 (for 0.24.x) -- automatically downcasing the fqdn.
511
+ Also requiring that passed in certnames be downcased; the setting
512
+ system isn't currently flexible enough to automatically downcase
513
+ it for the user.
514
+
515
+ Adding a ResourceTemplate class for using templates directly
516
+ within resources (i.e., client-side templates). This would really
517
+ only be used for composite resources that pass the results of the
518
+ template on to generated resources.
519
+
520
+ Exporting or collecting resources no longer raises an exception
521
+ when no storeconfigs is enabled, it just produces a warning.
522
+
523
+ Always using the cert name to store yaml files, which fixes #1178.
524
+ The Master handler previously provided the support for the :node_name
525
+ setting, and that functionality has now been moved into the Node
526
+ class. At the same time, the names to search through have been
527
+ changed somewhat: Previously, the certificate name and the
528
+ hostname were both used for searching, but now, the cert name
529
+ is always searched first (unless node_name == facter), but only
530
+ the Facter hostname, domain, and fqdn are used otherwise. We no
531
+ longer split the cert name, only the hostname/domain/fqdn.
532
+
533
+ Fixing transaction support for prefetching generated resources.
534
+
535
+ Adding support for settings within the existing Facter provider confines.
536
+
537
+ Moving all confine code out of the Provider class, and fixing #1197.
538
+ Created a Confiner module for the Provider class methods, enhanced
539
+ the interface between it and the Confine class to make sure binary
540
+ paths are searched for fresh each time.
541
+
542
+ Modified the 'factpath' setting to automatically configure
543
+ Facter to load facts there if a new enough version of
544
+ Facter is used.
545
+
546
+ Crontab provider: fix a parse error when a line begins with a space
547
+ character (fixes #1216)
548
+
549
+ Instead of deleting the init scripts (with --del) we should simply
550
+ disable it with chkconfig service off, and respectfully do the same
551
+ for enable => true;
552
+
553
+ Added ldap providers for users and groups.
554
+
555
+ Added support for the --all option to puppetca --clean. If
556
+ puppetca --clean --all is issued then all client certificates
557
+ are removed.
558
+
559
+ Resources now return the 'should' value for properties from
560
+ the [] accessor method (they previously threw an exception when
561
+ this method was used with properties). This shouldn't have any
562
+ affect functionally; it just makes the method equivalent to 'should'
563
+ for properties, but it works for all attribute types now.
564
+
565
+ Modified the 'master' handler to use the Catalog class to
566
+ compile node configurations, rather than using the Configuration
567
+ handler, which was never used directly. I removed the Configuration
568
+ handler as a result.
569
+
570
+ Modified the 'master' handler (responsible for sending configurations
571
+ to clients) to always return Time.now as its compile date, so
572
+ configurations will always get recompiled.
573
+
574
+ Fixed #1184 -- definitions now autoload correctly all of the time.
575
+
576
+ Removed the code from the client that tries to avoid recompiling
577
+ the catalog. The client will now always recompile, assuming it
578
+ can reach the server. It will still use the cached config if
579
+ there's a failure.
580
+
581
+ Fixing #1173 -- classes and definitions can now have the same
582
+ name as a directory with no failures.
583
+
584
+ Saving new facts now expires any cached node information.
585
+
586
+ Switching how caching is handled, so that objects now all
587
+ have an expiration date associated with them. This makes it
588
+ much easier to know whether a given cached object should be used
589
+ or if it should be regenerated.
590
+
591
+ Changing the default environment to production.
592
+
593
+ 0.24.4
594
+ Pass source to pkg_add via the PKG_PATH environment variable if
595
+ it ends in a '/' indicating it is a directory. Allows pkg_add
596
+ to resolve dependancies, and make it possible to specify packages
597
+ without version numbers.
598
+
599
+ Fixing #571 -- provider suitability is now checked at resource
600
+ evaluation time, rather than resource instantiation time. This
601
+ means that you don't catch your "errors" as early, but it also
602
+ means you should be able to realistically configure a whole host
603
+ in one run.
604
+
605
+ Moved the configuration of the Node cache to the puppetmasterd
606
+ executable, since it otherwise causes caches to be used in all
607
+ cases, which we don't want (e.g., bin/puppet was using them).
608
+
609
+ Ported #198 man page creation functionality to 0.24.x branch and
610
+ added man pages and man page creation logic to install.rb. The
611
+ man pages are stored in man/man8 and will install to config::CONFIG
612
+ mandir/man8.
613
+
614
+ Fixing #1138 -- the yamldir is automatically created by the
615
+ server now that it's in the :puppetmasterd section rather than
616
+ a separate :yaml section.
617
+
618
+ Disabling http keep-alive as a means of preventing #1010.
619
+ There is now a constant in Puppet::Network::HttpPool that will
620
+ disable or enable this feature, but note that we determined
621
+ that it can cause corruption, especially in file serving (but
622
+ it's client-side corruption).
623
+
624
+ Applying patch by Ryan McBride to fix OpenBSD package
625
+ matching. The actual problem was caused by the fix to #1001.
626
+
627
+ Found all instances of methods where split() is used without
628
+ any local variables and added a local variable -- see
629
+ http://snurl.com/21zf8. My own testing showed that this
630
+ caused memory growth to level off at a reasonable level.
631
+ Note that the link above says the problem is only with class
632
+ methods, but my own testing showed that it's any method that
633
+ meets these criteria. This is not a functional change, but
634
+ should hopefully be the last nail in the coffin of #1131.
635
+
636
+ Found an array that leaked pretty quickly between reparsing
637
+ files, thanks to work by Adam Jacob and Arjuna Christenson
638
+ (the finding, not the leak). I'm going to act like this
639
+ fixes #1131, at least for now, but I doubt it does,
640
+ since that shows general memory growth over time, whereas
641
+ the leak here should go away as soon as files are reparsed
642
+ (because the parser is holding the reference to the leaking
643
+ array).
644
+
645
+ Fixed #1147: Cached nodes are correctly considered out of
646
+ date if the node facts have been updated (thus causing
647
+ node facts to again be available in manifests, for those
648
+ cases where they were not).
649
+
650
+ Fixed #1137: The certificate name is correctly being added
651
+ to the facts hash.
652
+
653
+ Fixed #1136: Verbose and Debug no longer clobber each other.
654
+
655
+ Hopefully *finally* fixed the "already being managed" problem
656
+ (#1036). The problem only cropped up if there was a failure
657
+ when trying to manage the system -- this would cause the
658
+ setting-based resources not to get cleaned up.
659
+
660
+ 0.24.3
661
+ Modified the ldap node terminus to also use the facts version
662
+ as the version for a node, which should similarly encourage the
663
+ use of the yaml cache. (Related to #1130)
664
+
665
+ Caching node information in yaml (I figured caching in memory will
666
+ cause ever-larger memory growth), and changing the external node
667
+ terminus to use the version of the facts as their version. This
668
+ will usually result in the cached node information being used,
669
+ instead of always hitting the external node app during file
670
+ serving. Note that if the facts aren't changed by the client,
671
+ then this will result in the cached node being used, but at this
672
+ point, the client always updates its facts. (#1130)
673
+
674
+ Fixing #1132 -- host names can now have dashes anywhere.
675
+ (Patch by freiheit.)
676
+
677
+ Fixing #1118 -- downloading plugins and facts now ignores noop.
678
+ Note that this changes the behaviour a bit -- the resource's
679
+ noop setting always beats the global setting (previously,
680
+ whichever was true would win).
681
+
682
+ The change in checksums from 'timestamp' to 'mtime' no longer
683
+ result in updates on every run (#1116).
684
+
685
+ Aliases again work in relationships (#1094).
686
+
687
+ The CA serial file will no longer ever be owned by
688
+ root (#1041).
689
+
690
+ Fixing the rest of #1113: External node commands can specify
691
+ an environment and Puppet will now use it.
692
+
693
+ Partially fixing #1113: LDAP nodes now support environments,
694
+ and the schema has been updated accordingly.
695
+
696
+ Always duplicating resource defaults in the parser, so that
697
+ stacked metaparameter values do not result in all resources
698
+ that receive a given default also getting those stacked
699
+ values.
700
+
701
+ 0.24.2
702
+ Fixing #1062 by moving the yamldir setting to its own yaml
703
+ section. This should keep the yamldir from being created
704
+ on clients.
705
+
706
+ Fixed #1047 -- Puppet's parser no longer changes the order
707
+ in which statements are evaluated, which means that case
708
+ statements can now set variables that are used by other
709
+ variables.
710
+
711
+ Fixed #1063 -- the master correctly logs syntax errors when
712
+ reparsing during a single run.
713
+
714
+ Removed the loglevels from the valid values for `logoutput`
715
+ in the Exec resource type -- the log levels are specified
716
+ using the `loglevel` parameter, not `logoutput`. This never
717
+ worked, or at least hasn`t for ages, and now the docs are
718
+ just correct.
719
+
720
+ Somewhat refactored fileserving so that it no longer caches
721
+ any objects, nor does it use Puppet's RAL resources. In the
722
+ process, I fixed #894 (you can now copy links) and refactored
723
+ other classes as necessary. Mostly it was fixing tests.
724
+
725
+ Hopefully partially fixed #1010 -- clients should now fail
726
+ to install files whose checksums do not match the checksum
727
+ from the server.
728
+
729
+ Fixed #1018 -- resources now have their namevars added as
730
+ aliases in the resource catalog, just like they were added
731
+ in the resource classes.
732
+
733
+ Fixed #1037 -- remote unreadable files no longer have the
734
+ permission denied exceptions caught, thus forbidding them
735
+ from being replaced with 'nil'.
736
+
737
+ The environment is now available as a variable in the manifests.
738
+
739
+ Fixed #1043 -- autoloading now searches the plugins directory
740
+ in each module, in addition to the lib directory. The 'lib'
741
+ directory is also deprecated, but supported for now to give
742
+ people a chance to convert.
743
+
744
+ Fixed #1003 -- Applying DavidS's patch to fix searching for
745
+ tags in sql.
746
+
747
+ Fixed #992 -- Puppet is now compatible with gems 1.0.1.
748
+
749
+ Fixed #968 again, this time with tests -- parseonly works,
750
+ including not compiling the configurations, and also storeconfigs
751
+ is no longer required during parse-testing.
752
+
753
+ Fixed #1021 -- the problem was that my method of determining
754
+ the in-degree sometimes resulted in a lower number than the
755
+ number of in-edges.
756
+
757
+ Fixed #997 -- virtual defined types are no longer evaluated.
758
+ NOTE: This introduces a behaviour change, in that you previously
759
+ could realize a resource within a virtual defined resource, and now
760
+ you must realize the entire defined resource, rather than just
761
+ the contained resource.
762
+
763
+ Fixed #1030 - class and definition evaluation has been significantly
764
+ refactored, fixing this problem and making the whole interplay
765
+ between the classes, definitions, and nodes, and the Compile class much
766
+ cleaner.
767
+
768
+ Exec resources must now have unique names, although the commands can still
769
+ be duplicated. This is easily accomplished by just specifying a unique
770
+ name with whatever (unique or otherwise) command you need.
771
+
772
+ Fixed #989 -- missing CRL files are correctly ignored, and the
773
+ value should be set to 'false' to explicitly not look for these
774
+ files.
775
+
776
+ Fixed #1017 -- environment-specific modulepath is no longer ignored.
777
+
778
+ Fixing #794 -- consolidating the gentoo configuration files.
779
+
780
+ Fixing #976 -- both the full name of qualified classes and
781
+ the class parts are now added as tags. I've also
782
+ created a Tagging module that we should push throughout
783
+ the rest of the system that uses tags.
784
+
785
+ Fixing #995 -- puppetd no longer dies at startup if the server
786
+ is not running.
787
+
788
+ Fixing #977 -- the rundir is again set to 1777.
789
+
790
+ Fixed #971 -- classes can once again be included multiple
791
+ times.
792
+
793
+ Added builtin support for Nagios types using
794
+ Naginator to parse and generate the files.
795
+
796
+ 0.24.1
797
+ Updated vim filetype detection. (#900 and #963)
798
+
799
+ Default resources like schedules no longer conflict with
800
+ managed resources. (#965)
801
+
802
+ Removing the ability to disable http keep-alive, since
803
+ it didn't really work anyway and it should no longer
804
+ be necessary.
805
+
806
+ Refactored http keep-alive so it actually works again.
807
+ This should be sufficient enough that we no longer need the
808
+ ability to disable keep-alive. There is now a central
809
+ module responsible for managing HTTP instances, along with
810
+ all certificates in those instances.
811
+
812
+ Fixed a backward compatibility issue when running 0.23.x
813
+ clients against 0.24.0 servers -- relationships would
814
+ consistently not work. (#967)
815
+
816
+ Closing existing http connections when opening a new one,
817
+ and closing all connections after each run. (#961)
818
+
819
+ Removed warning about deprecated explicit plugins mounts.
820
+
821
+ 0.24.0 (misspiggy)
822
+ Modifying the behaviour of the certdnsnames setting. It now defaults
823
+ to an empty string, and will only be used if it is set to something
824
+ else. If it is set, then the host's FQDN will also be added as
825
+ an alias. The default behaviour is now to add 'puppet' and
826
+ 'puppet.$domain' as DNS aliases when the name for the cert being
827
+ signed is equal to the signing machine's name, which will only
828
+ be the case for CA servers. This should result in servers always
829
+ having the alias set up and no one else, but you can still override
830
+ the aliases if you want.
831
+
832
+ External node support now requires that you set the 'node_terminus'
833
+ setting to 'exec'. See the IndirectionReference on the wiki for more
834
+ information.
835
+
836
+ http_enable_post_connection_check added as a configuration
837
+ option for puppetd. This defaults to true, which validates the server
838
+ SSL certificate against the requested host name in new versions of ruby.
839
+ See #896 for more information.
840
+
841
+ Mounts no longer remount swap filesystems.
842
+
843
+ Slightly modifying how services manage their list of paths
844
+ (and adding documention for it). Services now default
845
+ to the paths specified by the provider classes.
846
+
847
+ Removed 'type' as a valid attribute for services, since it's been
848
+ deprecated since the creation of providers.
849
+
850
+ Removed 'running' as a valid attribute for services, since it's
851
+ been deprecated since February 2006.
852
+
853
+ Added modified patch by Matt Palmer which adds a 'plugins' mount,
854
+ fixing #891. See PluginsInModules on the wiki for information on
855
+ usage.
856
+
857
+ Empty dbserver and dbpassword settings will now be ignored when
858
+ initializing Rails connections (patch by womble).
859
+
860
+ Configuration settings can now be blank (patch by womble).
861
+
862
+ Added calls to endpwent/endgrent when searching for user and group IDs,
863
+ which fixes #791.
864
+
865
+ Obviated 'target' in interfaces, as all file paths were automatically
866
+ calculated anyway. The parameter is still there, but it's
867
+ not used and just generates a warning.
868
+
869
+ Fixing some of the problems with interface management on Red Hat.
870
+ Puppet now uses the :netmask property and does not try to set
871
+ the bootproto (#762).
872
+
873
+ You now must specify an environment and you are required to specify
874
+ the valid environments for your site. (#911)
875
+
876
+ Certificates now always specify a subjectAltName, but it defaults
877
+ to '*', meaning that it doesn't require DNS names to match. You
878
+ can override that behaviour by specifying a value for
879
+ 'certdnsnames', which will then require that hostname as a match (#896).
880
+
881
+ Relationship metaparams (:notify, :require, :subscribe, and
882
+ :before) now stack when they are collecting metaparam values
883
+ from their containers (#446). For instance, if a resource
884
+ inside a definition has a value set for 'require', and you call
885
+ the definition with 'require', the resource gets both requires,
886
+ where before it would only retain its initial value.
887
+
888
+ Changed the behavior of --debug to include Mongrel client
889
+ debugging information. Mongrel output will be written to
890
+ the terminal only, not to the puppet debug log. This should
891
+ help anyone working with reverse HTTP SSL proxies. (#905)
892
+
893
+ Fixed #800 -- invalid configurations are no longer
894
+ cached. This was done partially by adding a relationship
895
+ validation step once the entire configuration is created,
896
+ but it also required the previously-mentioned changes
897
+ to how the configuration retrieval process works.
898
+
899
+ Removed some functionality from the Master client,
900
+ since the local functionality has been replaced
901
+ with the Indirector already, and rearranging how configuration
902
+ retrieval is done to fix ordering and caching bugs.
903
+
904
+ The node scope is now above all other scopes besides
905
+ the 'main' scope, which should help make its variables
906
+ visible to other classes, assuming those classes were
907
+ not included in the node's parent.
908
+
909
+ Replaced GRATR::Digraph with Puppet::SimpleGraph as
910
+ the base class for Puppet's graphing. Functionality
911
+ should be equivalent but with dramatically better
912
+ performance.
913
+
914
+ The --use-nodes and --no-nodes options are now obsolete.
915
+ Puppet automatically detects when nodes are defined, and if
916
+ they are defined it will require that a node be found,
917
+ else it will not look for a node nor will it fail if it
918
+ fails to find one.
919
+
920
+ Fixed #832. Added the '--no-daemonize' option to puppetd and
921
+ puppetmasterd. NOTE: The default behavior of 'verbose' and
922
+ 'debug' no longer cause puppetd and puppetmasterd to not
923
+ daemonize.
924
+
925
+ Added k5login type. (#759)
926
+
927
+ Fixed CA race condition. (#693)
928
+
929
+ Added shortname support to config.rb and refactored addargs
930
+
931
+ 0.23.2
932
+ Fixed the problem in cron jobs where environment settings
933
+ tended to multiple. (#749)
934
+
935
+ Collection of resources now correctly only collects exported
936
+ resources again. This was broken in 0.23.0. (#731)
937
+
938
+ 'gen_config' now generates a configuration with
939
+ all parameters under a heading that matches the
940
+ process name, rather than keeping section headings.
941
+
942
+ Refactored how the parser and interpreter relate,
943
+ so parsing is now effectively an atomic process (thus
944
+ fixing #314 and #729). This makes the interpreter less
945
+ prone to error and less prone to show the error to the
946
+ clients. Note that this means that if a configuration
947
+ fails to parse, then the previous, parseable configuration
948
+ will be used instead, so the client will not know that
949
+ the configuration failed to parse.
950
+
951
+ Added support for managing interfaces, thanks to work
952
+ by Paul Rose.
953
+
954
+ Fixed #652, thanks to a patch by emerose; --fqdn again
955
+ works with puppetd.
956
+
957
+ Added an extra check to the Mongrel support so that
958
+ Apache can be used with optional cert checking, instead
959
+ of mandatory, thus allowing Mongrel to function as the CA.
960
+ This is thanks to work done by Marcin Owsiany.
961
+
962
+ 0.23.1 (beaker)
963
+ You can now specify relationships to classes, which work
964
+ exactly like relationships to defined types:
965
+ require => Class[myclass]
966
+ This works with qualified classes, too.
967
+
968
+ You can now do simple queries in a collection of
969
+ exported resources. You still cannot do multi-condition queries,
970
+ though. (#703)
971
+
972
+ puppetca now exits with a non-zero code if it cannot
973
+ find any host certificates to clean. (Patch by Dean
974
+ Wilson.)
975
+
976
+ Fully-qualified resources can now have defaults. (#589)
977
+
978
+ Resource references can now be fully-qualified names,
979
+ meaning you can list definitions with a namespace as
980
+ dependencies. (#468)
981
+
982
+ Files modified using a FileType instance, as ParsedFile
983
+ does, will now automatically get backed up to the filebucket
984
+ named "puppet".
985
+
986
+ Added a 'maillist' type for managing mailing lists.
987
+
988
+ Added a 'mailalias' type for managing mail aliases.
989
+
990
+ Added patch by Valentin Vidic that adds the '+>' syntax to
991
+ resources, so parameter values can be added to.
992
+
993
+ The configuration client now pulls libraries down to $libdir,
994
+ and all autoloading is done from there with full support
995
+ for any reloadable file, such as types and providers. (#621)
996
+ Note that this is not backward compatible -- if you're using
997
+ pluginsync right now, you'll need to disable it on your clients
998
+ until you can upgrade them.
999
+
1000
+ The Rails log level can now be set via (shockingly!) the
1001
+ 'rails_loglevel' parameter (#710). Note that this isn't
1002
+ exactly the feature asked for, but I could not find a
1003
+ way to directly copy ActiveRecord's concept of an environment.
1004
+
1005
+ External node sources can now return undefined classes (#687).
1006
+
1007
+ Puppet clients now have http proxy support (#701).
1008
+
1009
+ The parser now throws an error when a resource reference
1010
+ is created for an unknown type. Also, resource references
1011
+ look up defined types and translate their type accordingly. (#706)
1012
+
1013
+ Hostnames can now be double quoted.
1014
+
1015
+ Adding module autoloading (#596) -- you can now 'include' classes
1016
+ from modules without ever needing to specifically load them.
1017
+
1018
+ Class names and node names now conflict (#620).
1019
+
1020
+ 0.23.0
1021
+ Modified the fileserver to cache file information, so that
1022
+ each file isn't being read on every connection. Also,
1023
+ added londo's patch from #678 to avoid reading entire files
1024
+ into memory.
1025
+
1026
+ Fixed environment handling in the crontab provider (#669).
1027
+
1028
+ Added patch by trombik in #572, supporting old-style
1029
+ freebsd init scripts with '.sh' endings.
1030
+
1031
+ Added fink package provider (#642), as provided by 'do'.
1032
+
1033
+ Marked the dpkg package provider as versionable (#647).
1034
+
1035
+ Applied patches by trombik to fix FreeBSD ports (#624 and #628).
1036
+
1037
+ Fixed the CA server so that it refuses to send back a certificate
1038
+ whose public key doesn't match the CSR. Instead, it tells the
1039
+ user to run 'puppetca --clean'.
1040
+
1041
+ Invalid certificates are no longer written to disk (#578).
1042
+
1043
+ Added a package provider (appdmg) able to install .app packages
1044
+ on .dmg files on OS X (#641).
1045
+
1046
+ Applied the patch from #667 to hopefully kill the client hanging
1047
+ problems (permanently, this time).
1048
+
1049
+ Fixed functions so that they accept most other rvalues as valid values
1050
+ (#548).
1051
+
1052
+ COMPATIBILITY ALERT:
1053
+ Significantly reworked external node support, in a way that's NOT
1054
+ backward-compatible:
1055
+
1056
+ Only ONE node source can be used -- you can use LDAP, code, or
1057
+ an external node program, but not more than one.
1058
+
1059
+ LDAP node support has two changes: First, the "ldapattrs" attribute is
1060
+ now used for setting the attributes to retrieve from the server (in
1061
+ addition to required attriutes), and second, all retrieved attributes
1062
+ are set as variables in the top scope. This means you can set attributes
1063
+ on your LDAP nodes and they will automatically appear as variables
1064
+ in your configurations.
1065
+
1066
+ External node support has been completely rewritten. These programs must
1067
+ now generate a YAML dump of a hash, with "classes" and "parameters" keys.
1068
+ The classes should be an array, and the parameters should be a hash. The
1069
+ external node program has no support for parent nodes -- the script must
1070
+ handle that on its own.
1071
+
1072
+ Reworked the database schema used to store configurations with the
1073
+ storeconfigs option.
1074
+
1075
+ Replaced the obsolete RRD ruby library with the maintained
1076
+ RubyRRDtool library (which requires rrdtool2) (#659).
1077
+
1078
+ The Portage package provider now calls eix-update automatically
1079
+ when eix's database is absent or out of sync (#666).
1080
+
1081
+ Mounts now correctly handle existing fstabs with no pass or dump values
1082
+ (#550).
1083
+
1084
+ Mounts now default to 0 for pass and dump (#112).
1085
+
1086
+ Added urpmi support (#592).
1087
+
1088
+ Finishing up the type => provider interface work. Basically, package
1089
+ providers now return lists of provider instances. In the proces,
1090
+ I rewrote the interface between package types and providers, and also
1091
+ enabled prefetching on all packages. This should significantly speed
1092
+ up most package operations.
1093
+
1094
+ Hopefully fixing the file descriptor/open port problems, with patches
1095
+ from Valentin Vidic.
1096
+
1097
+ Significantly reworked the type => provider interface with respect to
1098
+ listing existing provider instances. The class method on both
1099
+ class heirarchies has been renamed to 'instances', to start. Providers
1100
+ are now expected to return provider instances, instead of creating
1101
+ resources, and the resource's 'instances' method is expected to
1102
+ find the matching resource, if any, and set the resource's
1103
+ provider appropriately. This *significantly* reduces the reliance on
1104
+ effectively global state (resource references in the resource classes).
1105
+ This global state will go away soon.
1106
+
1107
+ Along with this change, the 'prefetch' class method on providers now
1108
+ accepts the list of resources for prefetching. This again reduces
1109
+ reliance on global state, and makes the execution path much easier
1110
+ to follow.
1111
+
1112
+ Fixed #532 -- reparsing config files now longer throws an exception.
1113
+
1114
+ Added some warnings and logs to the service type so
1115
+ users will be encouraged to specify either "ensure"
1116
+ or "enabled" and added debugging to indicate why
1117
+ restarting is skipped when it is.
1118
+
1119
+ Changed the location of the classes.txt to the state
1120
+ directory.
1121
+
1122
+ Added better error reporting on unmatched brackets.
1123
+
1124
+ Moved puppetd and puppetmasterd to sbin in svn and fixed install.rb
1125
+ to copy them into sbin on the local system appropriately. (#323)
1126
+
1127
+ Added a splay option (#501). It's disabled when running under
1128
+ --test in puppetd. The value is random but cached. It defaults
1129
+ to the runinterval but can be tuned with --splaylimit
1130
+
1131
+ Changing the notify type so that it always uses
1132
+ the loglevel.
1133
+
1134
+ Fixing #568 - nodes can inherit from quoted node names.
1135
+
1136
+ Tags (and thus definitions and classes) can now be a single
1137
+ character. (#566)
1138
+
1139
+ Added an 'undef' keyword (#629), which will evaluate to ""
1140
+ within strings but when used as a resource parameter value
1141
+ will cause that parameter to be evaluated as undefined.
1142
+
1143
+ Changed the topological sort algorithm (#507) so it will always
1144
+ fail on cycles.
1145
+
1146
+ Added a 'dynamicfacts' configuration option; any facts in that
1147
+ comma-separated list will be ignored when comparing facts to
1148
+ see if they have changed and thus whether a recompile is necessary.
1149
+
1150
+ Renamed some poorly named internal variables:
1151
+ @models in providers are now either @resource or
1152
+ @resource_type (#605).
1153
+
1154
+ @children is no longer used except by components (#606).
1155
+
1156
+ @parent is now @resource within parameters (#607).
1157
+
1158
+ The old variables are still set for backward compatibility.
1159
+
1160
+ Significantly reworking configuration parsing. Executables all now
1161
+ look for 'puppet.conf' (#206), although they will parse the old-style
1162
+ configuration files if they are present, although they throw a deprecation
1163
+ warning. Also, file parameters (owner, mode, group) are now set on the
1164
+ same line as the parameter, in brackets. (#422)
1165
+
1166
+ Added transaction summaries (available with the --summarize option),
1167
+ useful for getting a quick idea of what happened in a transaction.
1168
+ Currently only useful on the client or with the puppet interpreter.
1169
+
1170
+ Changed the interal workings for retrieve and removed the :is attribute
1171
+ from Property. The retrieve methods now return the current value of
1172
+ the property for the system.
1173
+
1174
+ Removed acts_as_taggable from the rails models.
1175
+
1176
+ 0.22.4
1177
+ Execs now autorequire the user they run as, as long as the user
1178
+ is specified by name. (#430)
1179
+
1180
+ Files on the local machine but not on the remote server during
1181
+ a source copy are now purged if purge => true. (#594)
1182
+
1183
+ Providers can now specify that some commands are optional (#585).
1184
+ Also, the 'command' method returns nil on missing commands,
1185
+ rather than throwing an error, so the presence of commands
1186
+ be tested.
1187
+
1188
+ The 'useradd' provider for Users can now manage passwords.
1189
+ No other providers can, at this point.
1190
+
1191
+ Parameters can now declare a dependency on specific
1192
+ features, and parameters that require missing features
1193
+ will not be instantiated. This is most useful for
1194
+ properties.
1195
+
1196
+ FileParsing classes can now use instance_eval to add
1197
+ many methods at once to a record type.
1198
+
1199
+ Modules no longer return directories in the list of found
1200
+ manifests (#588).
1201
+
1202
+ The crontab provider now defaults to root when there is no
1203
+ USER set in the environment.
1204
+
1205
+ Puppetd once again correctly responds to HUP.
1206
+
1207
+ Added a syntax for referring to variables defined in
1208
+ other classes (e.g., $puppet::server).
1209
+
1210
+ STDIN, STDOUT, STDERR are now redirected to /dev/null in
1211
+ service providers descending from base.
1212
+
1213
+ Certificates are now valid starting one day before they are
1214
+ created, to help handle small amounts of clock skew.
1215
+
1216
+ Files are no longer considered out of sync if some properties
1217
+ are out of sync but they have no properties that can create
1218
+ the file.
1219
+
1220
+ 0.22.3
1221
+ Fixed backward compatibility for logs and metrics from older clients.
1222
+
1223
+ Fixed the location of the authconfig parameters so there aren't
1224
+ loading order issues.
1225
+
1226
+ Enabling attribute validation on the providers that subclass
1227
+ 'nameservice', so we can verify that an integer is passed to
1228
+ UID and GID.
1229
+
1230
+ Added a stand-alone filebucket client, named 'filebucket'.
1231
+
1232
+ Fixed the new nested paths for filebuckets; the entire md5 sum was
1233
+ not being stored.
1234
+
1235
+ Fixing #553; -M is no longer added when home directories are being
1236
+ managed on Red Hat.
1237
+
1238
+ 0.22.2 (grover)
1239
+ Users can now manage their home directories, using the managehome
1240
+ parameter, partially using patches provided by Tim Stoop and
1241
+ Matt Palmer. (#432)
1242
+
1243
+ Added 'ralsh' (formerly x2puppet) to the svn tree. When possible it
1244
+ should be added to the packages.
1245
+
1246
+ The 'notify' type now defaults to its message being the same as its name.
1247
+
1248
+ Reopening $stdin to read from /dev/null during execution, in hopes that
1249
+ init scripts will stop hanging.
1250
+
1251
+ Changed the 'servername' fact set on the server to use the server's fqdn,
1252
+ instead of the short-name.
1253
+
1254
+ Changing the location of the configuration cache. It now defaults to being
1255
+ in the state directory, rather than in the configuration directory.
1256
+
1257
+ All parameter instances are stored in a single @parameters instance variable
1258
+ hash within resource type instances. We used to use separate hashes for
1259
+ each parameter type.
1260
+
1261
+ Added the concept of provider features. Eventually these should be able
1262
+ to express the full range of provider functionality, but for now they can
1263
+ test a provider to see what methods it has set and determine what features it
1264
+ provides as a result. These features are integrated into the doc generation
1265
+ system so that you get feature documentation automatically.
1266
+
1267
+ Switched apt/aptitide to using "apt-cache policy" instead of "apt-cache showpkg"
1268
+ for determining the latest available version. (#487)
1269
+
1270
+ FileBuckets now use a deeply nested structure for storing files, so
1271
+ you do not end up with hundreds or thousands of files in the same
1272
+ directory. (#447)
1273
+
1274
+ Facts are now cached in the state file, and when they change the configuration
1275
+ is always recompiled. (#519)
1276
+
1277
+ Added 'ignoreimport' setting for use in commit hooks. This causes the
1278
+ parser to ignore import statements so a single file can be parse-checked. (#544)
1279
+
1280
+ Import statements can now specify multiple comma-separated arguments.
1281
+
1282
+ Definitions now support both 'name' and 'title', just like any other
1283
+ resource type. (#539)
1284
+
1285
+ Added a generate() command, which sets values to the result of an external
1286
+ command. (#541)
1287
+
1288
+ Added a file() command to read in files with no interpolation. The first
1289
+ found file has its content returned.
1290
+
1291
+ puppetd now exits if no cert is present in onetime mode. (#533)
1292
+
1293
+ The client configuration cache can be safely removed and the client
1294
+ will correctly realize the client is not in sync.
1295
+
1296
+ Resources can now be freely deleted, thus fixing many problems introduced
1297
+ when deletion of required resources was forbidden when purging was introduced.
1298
+ Only resources being purged will not be deleted.
1299
+
1300
+ Facts and plugins now download even in noop mode (#540).
1301
+
1302
+ Resources in noop mode now log when they would have responded to an event (#542).
1303
+
1304
+ Refactored cron support entirely. Cron now uses providers, and there
1305
+ is a single 'crontab' provider that handles user crontabs. While this
1306
+ refactor does not include providers for /etc/crontab or cron.d, it should
1307
+ now be straightforward to write those providers.
1308
+
1309
+ Changed the parameter sorting so that the provider parameter comes
1310
+ right after name, so the provider is available when the other parameters
1311
+ and properties are being created.
1312
+
1313
+ Redid some of the internals of the ParsedFile provider base class.
1314
+ It now passes a FileRecord around instead of a hash.
1315
+
1316
+ Fixing a bug related to link recursion that caused link directories
1317
+ to always be considered out of sync.
1318
+
1319
+ The bind address for puppetmasterd can now be specified with
1320
+ --bindaddress.
1321
+
1322
+ Added (probably experimental) mongrel support. At this point you're
1323
+ still responsible for starting each individual process, and you have to
1324
+ set up a proxy in front of it.
1325
+
1326
+ Redesigned the 'network' tree to support multiple web servers, including
1327
+ refactoring most of the structural code so it's much clearer and more
1328
+ reusable now.
1329
+
1330
+ Set up the CA client to default to ca_server and ca_port, so you can
1331
+ easily run a separate CA.
1332
+
1333
+ Supporting hosts with no domain name, thanks to a patch from
1334
+ Dennis Jacobfeuerborn.
1335
+
1336
+ Added an 'ignorecache' option to tell puppetd to force a recompile, thanks to
1337
+ a patch by Chris McEniry.
1338
+
1339
+ Made up2date the default for RHEL < 4 and yum the default for the rest.
1340
+
1341
+ The yum provider now supports versions.
1342
+
1343
+ Case statements correctly match when multiple values are provided,
1344
+ thanks to a patch by David Schmitt.
1345
+
1346
+ Functions can now be called with no arguments.
1347
+
1348
+ String escapes parse correctly in all cases now, thanks to a patch by
1349
+ cstorey.
1350
+
1351
+ Subclasses again search parent classes for defaults.
1352
+
1353
+ You can now purge apt and dpkg packages.
1354
+
1355
+ When doing file recursion, 'ensure' only affects the top-level directory.
1356
+
1357
+ States have been renamed to Properties.
1358
+
1359
+ 0.22.1 (kermit) -- Mostly a bugfix release
1360
+ Compile times now persist between restarts of puppetd.
1361
+
1362
+ Timeouts have been added to many parts of Puppet, reducing the likelihood
1363
+ if it hanging forever on broken scripts or servers.
1364
+
1365
+ All of the documentation and recipes have been moved to the wiki by Peter
1366
+ Abrahamsen and Ben Kite has moved the FAQ to the wiki.
1367
+
1368
+ Explicit relationships now override automatic relationships, allowing you
1369
+ to manually specify deletion order when removing resources.
1370
+
1371
+ Resources with dependencies can now be deleted as long as all of their
1372
+ dependencies are also being deleted.
1373
+
1374
+ Namespaces for both classes and definitions now work much more consistently.
1375
+ You should now be able to specify a class or definition with a namespace
1376
+ everywhere you would normally expect to be able to specify one without.
1377
+
1378
+ Downcasing of facts can be selectively disabled.
1379
+
1380
+ Cyclic dependency graphs are now checked for and forbidden.
1381
+
1382
+ The netinfo mounts provider was commented out, because it really doesn't
1383
+ work at all. Stupid NetInfo stores mount information with the device as
1384
+ the key, which doesn't work with my current NetInfo code.
1385
+
1386
+ Otherwise, lots and lots of bugfixes. Check the tickets associated with the
1387
+ 'kermit' milestone.
1388
+
1389
+ 0.22.0
1390
+ Integrated the GRATR graph library into Puppet, for handling resource
1391
+ relationships.
1392
+
1393
+ Lots of bug-fixes (see bugs tickets associated with the 'minor' milestone).
1394
+
1395
+ Added new 'resources' metatype, which currently only includes the ability
1396
+ to purge unmanaged resources.
1397
+
1398
+ Added better ability to generate new resource objects during transactions
1399
+ (using 'generate' and 'eval_generate' methods).
1400
+
1401
+ Rewrote all Rails support with a much better database design. Export/collect
1402
+ now works, although the database is incompatible with previous versions.
1403
+
1404
+ Removed downcasing of facts and made most of the language case-insensitive.
1405
+
1406
+ Added support for printing the graphs built during transactions.
1407
+
1408
+ Reworked how paths are built for logging.
1409
+
1410
+ Switched all providers to directly executing commands instead of going through
1411
+ a subshell, which removes the need to quote or escape arguments.
1412
+
1413
+ 0.20.1
1414
+ Mostly a bug-fix release, with the most important fix being the
1415
+ multiple-definition error.
1416
+
1417
+ Completely rewrote the ParsedFile system; each provider is now much
1418
+ shorter and much more maintainable. However, fundamental problems
1419
+ were found with the 'port' type, so it was disabled. Also, added
1420
+ a NetInfo provider for 'host' and an experimental NetInfo provider
1421
+ for 'mount'.
1422
+
1423
+ Made the RRDGraph report *much* better and added reference
1424
+ generation for reports and functions.
1425
+
1426
+ 0.20.0
1427
+ Significantly refactored the parser. Resource overrides now consistently
1428
+ work anywhere in a class hierarchy.
1429
+
1430
+ The language was also modified somewhat. The previous export/collect syntax
1431
+ is now used for handling virtual objects, and export/collect (which is still
1432
+ experimental) now uses double sigils (@@ and <<| |>>).
1433
+
1434
+ Resource references (e.g., File["/etc/passwd"]) now have to be capitalized,
1435
+ in fitting in with capitalizing type operations.
1436
+
1437
+ As usual, lots of other smaller fixes, but most of the work was in the language.
1438
+
1439
+ 0.19.3
1440
+ Fixing a bug in server/master.rb that causes the hostname
1441
+ not to be available in locally-executed manifests.
1442
+
1443
+ 0.19.2
1444
+ Fixing a few smaller bugs, notably in the reports system.
1445
+
1446
+ Refreshed objects now generate an event, which can result in further
1447
+ refreshes of other objects.
1448
+
1449
+ 0.19.1
1450
+ Fixing two critical bugs: User management works again and cron jobs are
1451
+ no longer added to all user accounts.
1452
+
1453
+ 0.19.0
1454
+ Added provider support.
1455
+
1456
+ Added support for %h, %H, and %d expansion in fileserver.conf.
1457
+
1458
+ Added Certificate Revocation support.
1459
+
1460
+ Made dynamic loading pervasive -- nearly every aspect of Puppet will now
1461
+ automatically load new instances (e.g., types, providers, and reports).
1462
+
1463
+ Added support for automatic distribution of facts and plugins (custom types).
1464
+
1465
+ 0.18.4
1466
+ Another bug-fix release. The most import bug fixed is that
1467
+ cronjobs again work even with initially empty crontabs.
1468
+
1469
+ 0.18.3
1470
+ Mostly a bug-fix release; fixed small bugs in the functionality added in
1471
+ 0.18.2.
1472
+
1473
+ 0.18.2
1474
+ Added templating support.
1475
+
1476
+ Added reporting.
1477
+
1478
+ Added gem and blastwave packaging support.
1479
+
1480
+ 0.18.1
1481
+ Added signal handlers for HUP, so both client and server deal correctly with it.
1482
+
1483
+ Added signal handler for USR1, which triggers a run on the client.
1484
+
1485
+ As usual, fixed many bugs.
1486
+
1487
+ Significant fixes to puppetrun -- it should behave much more correctly now.
1488
+
1489
+ Added "fail" function which throws a syntax error if it's encountered.
1490
+
1491
+ Added plugin downloading from the central server to the client. It must be
1492
+ enabled with --pluginsync.
1493
+
1494
+ Added support for FreeBSD's special "@daily" cron schedules.
1495
+
1496
+ Correctly handling spaces in file sources.
1497
+
1498
+ Moved documentation into svn tree.
1499
+
1500
+ 0.18.0
1501
+ Added support for a "default" node.
1502
+
1503
+ When multiple nodes are specified, they must now be comma-separated (this
1504
+ introduces a language incompatibility).
1505
+
1506
+ Failed dependencies cause dependent objects within the same transaction
1507
+ not to run.
1508
+
1509
+ Many updates to puppetrun
1510
+
1511
+ Many bug fixes
1512
+
1513
+ Function names are no longer reserved words.
1514
+
1515
+ Links can now replace files.
1516
+
1517
+ 0.17.2
1518
+ Added "puppetrun" application and associated runner server and client classes.
1519
+
1520
+ Fixed cron support so it better supports valid values and environment settings.
1521
+
1522
+ 0.17.1
1523
+ Fixing a bug requiring rails on all Debian boxes
1524
+
1525
+ Fixing a couple of other small bugs
1526
+
1527
+ 0.17.0
1528
+ Adding ActiveRecord integration on the server
1529
+
1530
+ Adding export/collect functionality
1531
+
1532
+ Fixing many bugs
1533
+
1534
+ 0.16.5
1535
+ Fixing a critical bug in importing classes from other files
1536
+
1537
+ Fixing nodename handling to actually allow dashes
1538
+
1539
+ 0.16.4
1540
+ Fixing a critical bug in puppetd when acquiring a certificate for the first
1541
+ time
1542
+
1543
+ 0.16.3
1544
+ Some significant bug fixes
1545
+
1546
+ Modified puppetd so that it can now function as an agent independent
1547
+ of a puppetmasterd process, e.g., using the PuppetShow web application.
1548
+
1549
+ 0.16.2
1550
+ Modified some of the AST classes so that class names, definition names, and
1551
+ node names are all set within the code being evaluated, so 'tagged(name)' returns
1552
+ true while evaluating 'name', for instance.
1553
+
1554
+ Added '--clean' argument to puppetca to remove all traces of a given
1555
+ client.
1556
+
1557
+ 0.16.1
1558
+ Added 'tagged' and 'defined' functions.
1559
+
1560
+ Moved all functions to a general framework that makes it very easy to add new
1561
+ functions.
1562
+
1563
+ 0.16.0
1564
+ Added 'tag' keyword/function.
1565
+
1566
+ Added FreeBSD Ports support
1567
+
1568
+ Added 'pelement' server for sending or receiving Puppet objects, although
1569
+ none of the executables use it yet.
1570
+
1571
+ 0.15.3
1572
+ Fixed many bugs in :exec, including adding support for arrays of checks
1573
+
1574
+ Added autoloading for types and service variants (e.g., you can now
1575
+ just create a new type in the appropriate location and use it in Puppet,
1576
+ without modifying the core Puppet libs).
1577
+
1578
+ 0.15.2
1579
+ Added darwinport, Apple .pkg, and freebsd package types
1580
+ Added 'mount type
1581
+ Host facts are now set at the top scope (Bug #103)
1582
+ Added -e (inline exection) flag to 'puppet' executable
1583
+ Many small bug fixes
1584
+
1585
+ 0.15.1
1586
+ Fixed 'yum' installs so that they successfully upgrade packages.
1587
+ Fixed puppetmasterd.conf file so group settings take.
1588
+
1589
+ 0.15.0
1590
+ Upped the minor release because the File server is incompatible with 0.14,
1591
+ because it now handles links.
1592
+
1593
+ The 'symlink' type is deprecated (but still present), in favor of using
1594
+ files with the 'target' parameter.
1595
+
1596
+ Unset variables no longer throw an error, they just return an empty string
1597
+
1598
+ You can now specify tags to restrict which objects run during a given run.
1599
+
1600
+ You can also specify to skip running against the cached copy when there's
1601
+ a failure, which is useful for testing new configurations.
1602
+
1603
+ RPMs and Sun packages can now install, as long as they specify a package
1604
+ location, and they'll automatically upgrade if you point them to a new
1605
+ file with an upgrade.
1606
+ Multiple bug fixes.
1607
+
1608
+
1609
+ 0.14.1
1610
+ Fixed a couple of small logging bugs
1611
+ Fixed a bug with handling group ownership of links
1612
+
1613
+ 0.14.0
1614
+ Added some ability to selectively manage symlinks when doing file management
1615
+ Many bug fixes
1616
+ Variables can now be used as the test values in case statements and selectors
1617
+ Bumping a minor release number because 0.13.4 introduced a protocol
1618
+ incompatibility and should have had a minor rev bump
1619
+
1620
+ 0.13.6
1621
+ Many, many small bug fixes
1622
+ FreeBSD user/group support has been added
1623
+ The configuration system has been rewritten so that daemons can now generate
1624
+ and repair the files and directories they need. (Fixed bug #68.)
1625
+ Fixed the element override issues; now only subclasses can override values.
1626
+
1627
+ 0.13.5
1628
+ Fixed packages so types can be specified
1629
+ Added 'enable' state to services, although it does not work everywhere yet
1630
+
1631
+ 0.13.4
1632
+ A few important bug fixes, mostly in the parser.
1633
+
1634
+ 0.13.3
1635
+ Changed transactions to be one-stage instead of two
1636
+ Changed all types to use self[:name] instead of self.name, to support
1637
+ the symbolic naming implemented in 0.13.1
1638
+
1639
+ 0.13.2
1640
+ Changed package[answerfile] to package[adminfile], and added package[responsefile]
1641
+ Fixed a bunch of internal functions to behave more consistently and usefully
1642
+
1643
+ 0.13.1
1644
+ Fixed RPM spec files to create puppet user and group (lutter)
1645
+ Fixed crontab reading and writing (luke)
1646
+ Added symbolic naming in the language (luke)
1647
+
1648
+ 0.13.0
1649
+ Added support for configuration files.
1650
+ Even more bug fixes, including the infamous 'frozen object' bug, which was a
1651
+ problem with 'waitforcert'.
1652
+ David Lutterkort got RPM into good shape.
1653
+
1654
+ 0.12.0
1655
+ Added Scheduling, and many bug fixes, of course.
1656
+
1657
+ 0.11.2
1658
+ Fixed bugs related to specifying arrays of requirements
1659
+ Fixed a key bug in retrieving checksums
1660
+ Fixed lots of usability bugs
1661
+ Added 'fail' methods that automatically add file and line info when possible,
1662
+ and converted many errors to use that method
1663
+
1664
+ 0.11.1
1665
+ Fixed bug with recursive copying with 'ignore' set.
1666
+ Added OpenBSD package support.
1667
+
1668
+ 0.11.0
1669
+ Added 'ensure' state to many elements.
1670
+ Modified puppetdoc to correctly handle indentation and such.
1671
+ Significantly rewrote much of the builtin documentation to take advantage
1672
+ of the new features in puppetdoc, including many examples.
1673
+
1674
+ 0.10.2
1675
+ Added SMF support
1676
+ Added autorequire functionality, with specific support for exec and file
1677
+ Exec elements autorequire any mentioned files, including the scripts,
1678
+ along with their CWDs.
1679
+ Files autorequire any parent directories.
1680
+ Added 'alias' metaparam.
1681
+ Fixed dependencies so they don't depend on file order.
1682
+
1683
+ 0.10.1
1684
+ Added Solaris package support and changed puppetmasterd to run as
1685
+ a non-root user.
1686
+
1687
+ 0.10.0
1688
+ Significant refactoring of how types, states, and parameters work, including
1689
+ breaking out parameters into a separate class. This refactoring did not
1690
+ introduce much new functionality, but made extension of Puppet significantly
1691
+ easier
1692
+
1693
+ Also, fixed the bug with 'waitforcert' in puppetd.
1694
+
1695
+ 0.9.4
1696
+ Small fix to wrap the StatusServer class in the checks for required classes.
1697
+
1698
+ 0.9.3
1699
+ Fixed some significant bugs in cron job management.
1700
+
1701
+ 0.9.2
1702
+ Second Public Beta
1703
+
1704
+ 0.9.0
1705
+ First Public Beta