puppet 0.24.6 → 0.24.7

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 (383) hide show
  1. data/CHANGELOG +115 -0
  2. data/Rakefile +43 -14
  3. data/bin/puppetca +6 -5
  4. data/bin/puppetdoc +109 -15
  5. data/bin/ralsh +3 -1
  6. data/conf/redhat/puppet.spec +74 -48
  7. data/examples/mcx_dock_absent.pp +4 -0
  8. data/examples/mcx_dock_default.pp +118 -0
  9. data/examples/mcx_dock_full.pp +125 -0
  10. data/examples/mcx_dock_invalid.pp +9 -0
  11. data/examples/mcx_nogroup.pp +118 -0
  12. data/examples/mcx_notexists_absent.pp +4 -0
  13. data/ext/emacs/puppet-mode.el +1 -1
  14. data/lib/puppet.rb +1 -1
  15. data/lib/puppet/external/nagios/base.rb +114 -71
  16. data/lib/puppet/feature/base.rb +6 -0
  17. data/lib/puppet/indirector/yaml.rb +12 -3
  18. data/lib/puppet/module.rb +1 -1
  19. data/lib/puppet/network/client/master.rb +1 -1
  20. data/lib/puppet/network/xmlrpc/client.rb +3 -1
  21. data/lib/puppet/parameter.rb +1 -1
  22. data/lib/puppet/parser/ast.rb +15 -0
  23. data/lib/puppet/parser/ast/astarray.rb +1 -2
  24. data/lib/puppet/parser/ast/casestatement.rb +2 -0
  25. data/lib/puppet/parser/ast/collection.rb +2 -0
  26. data/lib/puppet/parser/ast/comparison_operator.rb +4 -0
  27. data/lib/puppet/parser/ast/definition.rb +2 -0
  28. data/lib/puppet/parser/ast/else.rb +3 -0
  29. data/lib/puppet/parser/ast/function.rb +19 -12
  30. data/lib/puppet/parser/ast/hostclass.rb +9 -1
  31. data/lib/puppet/parser/ast/ifstatement.rb +3 -0
  32. data/lib/puppet/parser/ast/node.rb +3 -0
  33. data/lib/puppet/parser/ast/resource.rb +3 -0
  34. data/lib/puppet/parser/ast/resource_defaults.rb +2 -0
  35. data/lib/puppet/parser/ast/resource_override.rb +3 -0
  36. data/lib/puppet/parser/ast/vardef.rb +3 -0
  37. data/lib/puppet/parser/functions.rb +14 -0
  38. data/lib/puppet/parser/functions/inline_template.rb +21 -0
  39. data/lib/puppet/parser/functions/template.rb +3 -2
  40. data/lib/puppet/parser/lexer.rb +56 -7
  41. data/lib/puppet/parser/parser.rb +114 -98
  42. data/lib/puppet/parser/parser_support.rb +24 -4
  43. data/lib/puppet/parser/resource/reference.rb +4 -3
  44. data/lib/puppet/parser/templatewrapper.rb +30 -22
  45. data/lib/puppet/property.rb +1 -1
  46. data/lib/puppet/property/list.rb +7 -2
  47. data/lib/puppet/property/ordered_list.rb +22 -0
  48. data/lib/puppet/provider/augeas/augeas.rb +189 -0
  49. data/lib/puppet/provider/computer/computer.rb +22 -0
  50. data/lib/puppet/provider/confine.rb +4 -1
  51. data/lib/puppet/provider/confine/variable.rb +13 -2
  52. data/lib/puppet/provider/confine_collection.rb +4 -1
  53. data/lib/puppet/provider/confiner.rb +1 -1
  54. data/lib/puppet/provider/group/directoryservice.rb +6 -3
  55. data/lib/puppet/provider/group/groupadd.rb +5 -2
  56. data/lib/puppet/provider/group/ldap.rb +11 -9
  57. data/lib/puppet/provider/group/netinfo.rb +8 -4
  58. data/lib/puppet/provider/group/pw.rb +5 -1
  59. data/lib/puppet/provider/host/netinfo.rb +5 -2
  60. data/lib/puppet/provider/macauthorization/macauthorization.rb +315 -0
  61. data/lib/puppet/provider/mcx/mcxcontent.rb +201 -0
  62. data/lib/puppet/provider/nameservice/directoryservice.rb +210 -107
  63. data/lib/puppet/provider/nameservice/netinfo.rb +7 -2
  64. data/lib/puppet/provider/package/appdmg.rb +0 -3
  65. data/lib/puppet/provider/package/apt.rb +6 -0
  66. data/lib/puppet/provider/package/rpm.rb +2 -0
  67. data/lib/puppet/provider/package/yum.rb +5 -1
  68. data/lib/puppet/provider/package/yumhelper.py +9 -0
  69. data/lib/puppet/provider/service/base.rb +9 -6
  70. data/lib/puppet/provider/service/daemontools.rb +25 -15
  71. data/lib/puppet/provider/service/debian.rb +6 -2
  72. data/lib/puppet/provider/service/freebsd.rb +5 -2
  73. data/lib/puppet/provider/service/gentoo.rb +6 -3
  74. data/lib/puppet/provider/service/init.rb +31 -21
  75. data/lib/puppet/provider/service/launchd.rb +195 -0
  76. data/lib/puppet/provider/service/redhat.rb +5 -2
  77. data/lib/puppet/provider/service/runit.rb +30 -20
  78. data/lib/puppet/provider/service/smf.rb +7 -4
  79. data/lib/puppet/provider/ssh_authorized_key/parsed.rb +21 -1
  80. data/lib/puppet/provider/user/directoryservice.rb +1 -0
  81. data/lib/puppet/provider/user/netinfo.rb +9 -3
  82. data/lib/puppet/provider/user/user_role_add.rb +43 -6
  83. data/lib/puppet/provider/zfs/solaris.rb +45 -0
  84. data/lib/puppet/provider/zone/solaris.rb +8 -4
  85. data/lib/puppet/provider/zpool/solaris.rb +116 -0
  86. data/lib/puppet/rails/database/003_add_environment_to_host.rb +9 -0
  87. data/lib/puppet/rails/database/schema.rb +1 -0
  88. data/lib/puppet/rails/host.rb +4 -0
  89. data/lib/puppet/reference/configuration.rb +1 -1
  90. data/lib/puppet/reports/tagmail.rb +15 -6
  91. data/lib/puppet/transaction/change.rb +3 -5
  92. data/lib/puppet/transportable.rb +1 -0
  93. data/lib/puppet/type/augeas.rb +155 -0
  94. data/lib/puppet/type/computer.rb +62 -0
  95. data/lib/puppet/type/exec.rb +2 -1
  96. data/lib/puppet/type/file.rb +1 -1
  97. data/lib/puppet/type/file/ensure.rb +8 -5
  98. data/lib/puppet/type/file/mode.rb +0 -14
  99. data/lib/puppet/type/file/owner.rb +32 -64
  100. data/lib/puppet/type/file/selcontext.rb +3 -8
  101. data/lib/puppet/type/group.rb +27 -45
  102. data/lib/puppet/type/k5login.rb +1 -1
  103. data/lib/puppet/type/macauthorization.rb +141 -0
  104. data/lib/puppet/type/mcx.rb +115 -0
  105. data/lib/puppet/type/mount.rb +1 -1
  106. data/lib/puppet/type/nagios_hostdependency.rb +3 -0
  107. data/lib/puppet/type/ssh_authorized_key.rb +16 -0
  108. data/lib/puppet/type/tidy.rb +43 -14
  109. data/lib/puppet/type/user.rb +25 -1
  110. data/lib/puppet/type/zfs.rb +51 -0
  111. data/lib/puppet/type/zone.rb +8 -0
  112. data/lib/puppet/type/zpool.rb +93 -0
  113. data/lib/puppet/util.rb +17 -38
  114. data/lib/puppet/util/file_locking.rb +44 -0
  115. data/lib/puppet/util/filetype.rb +3 -3
  116. data/lib/puppet/util/log.rb +1 -16
  117. data/lib/puppet/util/metric.rb +0 -5
  118. data/lib/puppet/util/rdoc.rb +85 -0
  119. data/lib/puppet/util/rdoc/code_objects.rb +219 -0
  120. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +829 -0
  121. data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +1051 -0
  122. data/lib/puppet/util/rdoc/parser.rb +437 -0
  123. data/lib/puppet/util/selinux.rb +135 -63
  124. data/lib/puppet/util/settings.rb +136 -126
  125. data/lib/puppet/util/storage.rb +4 -2
  126. data/spec/Rakefile +91 -0
  127. data/spec/integration/checksum.rb +47 -0
  128. data/spec/integration/defaults.rb +47 -0
  129. data/spec/integration/file_serving/configuration.rb +43 -0
  130. data/spec/integration/file_serving/content.rb +18 -0
  131. data/spec/integration/file_serving/metadata.rb +18 -0
  132. data/spec/integration/indirector/direct_file_server.rb +80 -0
  133. data/spec/integration/indirector/file_content/file_server.rb +18 -0
  134. data/spec/integration/indirector/file_metadata/file_server.rb +18 -0
  135. data/spec/integration/indirector/module_files.rb +57 -0
  136. data/spec/integration/indirector/node/ldap.rb +15 -0
  137. data/spec/integration/indirector/rest.rb +464 -0
  138. data/spec/integration/network/server/mongrel.rb +48 -0
  139. data/spec/integration/network/server/webrick.rb +48 -0
  140. data/spec/integration/node.rb +93 -0
  141. data/spec/integration/node/catalog.rb +54 -0
  142. data/spec/integration/node/facts.rb +45 -0
  143. data/spec/integration/provider/package.rb +26 -0
  144. data/spec/integration/provider/service/init.rb +32 -0
  145. data/spec/integration/reference/providers.rb +17 -0
  146. data/spec/integration/reports.rb +14 -0
  147. data/spec/integration/transaction/report.rb +26 -0
  148. data/spec/integration/type/package.rb +22 -0
  149. data/spec/integration/util/file_locking.rb +36 -0
  150. data/spec/monkey_patches/add_confine_and_runnable_to_rspec_dsl.rb +46 -0
  151. data/spec/monkey_patches/alias_should_to_must.rb +5 -0
  152. data/spec/shared_behaviours/file_server_terminus.rb +42 -0
  153. data/spec/shared_behaviours/file_serving.rb +64 -0
  154. data/spec/shared_behaviours/memory_terminus.rb +32 -0
  155. data/spec/spec.opts +5 -0
  156. data/spec/spec_helper.rb +36 -0
  157. data/spec/unit/executables/client/certhandler.rb +122 -0
  158. data/spec/unit/file_serving/configuration.rb +224 -0
  159. data/spec/unit/file_serving/configuration/parser.rb +135 -0
  160. data/spec/unit/file_serving/content.rb +71 -0
  161. data/spec/unit/file_serving/file_base.rb +124 -0
  162. data/spec/unit/file_serving/fileset.rb +239 -0
  163. data/spec/unit/file_serving/indirection_hooks.rb +124 -0
  164. data/spec/unit/file_serving/metadata.rb +187 -0
  165. data/spec/unit/file_serving/mount.rb +143 -0
  166. data/spec/unit/file_serving/terminus_helper.rb +76 -0
  167. data/spec/unit/indirector.rb +152 -0
  168. data/spec/unit/indirector/catalog/compiler.rb +156 -0
  169. data/spec/unit/indirector/catalog/yaml.rb +25 -0
  170. data/spec/unit/indirector/checksum/file.rb +139 -0
  171. data/spec/unit/indirector/code.rb +33 -0
  172. data/spec/unit/indirector/direct_file_server.rb +89 -0
  173. data/spec/unit/indirector/envelope.rb +47 -0
  174. data/spec/unit/indirector/exec.rb +51 -0
  175. data/spec/unit/indirector/facts/facter.rb +76 -0
  176. data/spec/unit/indirector/facts/yaml.rb +26 -0
  177. data/spec/unit/indirector/file.rb +154 -0
  178. data/spec/unit/indirector/file_content/file.rb +18 -0
  179. data/spec/unit/indirector/file_content/file_server.rb +18 -0
  180. data/spec/unit/indirector/file_content/modules.rb +18 -0
  181. data/spec/unit/indirector/file_content/rest.rb +11 -0
  182. data/spec/unit/indirector/file_metadata/file.rb +52 -0
  183. data/spec/unit/indirector/file_metadata/file_server.rb +18 -0
  184. data/spec/unit/indirector/file_metadata/modules.rb +42 -0
  185. data/spec/unit/indirector/file_metadata/rest.rb +9 -0
  186. data/spec/unit/indirector/file_server.rb +184 -0
  187. data/spec/unit/indirector/indirection.rb +731 -0
  188. data/spec/unit/indirector/ldap.rb +143 -0
  189. data/spec/unit/indirector/memory.rb +29 -0
  190. data/spec/unit/indirector/module_files.rb +259 -0
  191. data/spec/unit/indirector/node/exec.rb +69 -0
  192. data/spec/unit/indirector/node/ldap.rb +424 -0
  193. data/spec/unit/indirector/node/memory.rb +19 -0
  194. data/spec/unit/indirector/node/plain.rb +19 -0
  195. data/spec/unit/indirector/node/rest.rb +13 -0
  196. data/spec/unit/indirector/node/yaml.rb +25 -0
  197. data/spec/unit/indirector/plain.rb +29 -0
  198. data/spec/unit/indirector/report/processor.rb +81 -0
  199. data/spec/unit/indirector/request.rb +87 -0
  200. data/spec/unit/indirector/rest.rb +372 -0
  201. data/spec/unit/indirector/ssl_rsa/file.rb +116 -0
  202. data/spec/unit/indirector/terminus.rb +245 -0
  203. data/spec/unit/indirector/yaml.rb +145 -0
  204. data/spec/unit/module.rb +247 -0
  205. data/spec/unit/network/client.rb +45 -0
  206. data/spec/unit/network/client/master.rb +442 -0
  207. data/spec/unit/network/handler/fileserver.rb +179 -0
  208. data/spec/unit/network/http.rb +35 -0
  209. data/spec/unit/network/http/mongrel.rb +117 -0
  210. data/spec/unit/network/http/mongrel/rest.rb +377 -0
  211. data/spec/unit/network/http/mongrel/xmlrpc.rb +0 -0
  212. data/spec/unit/network/http/webrick.rb +127 -0
  213. data/spec/unit/network/http/webrick/rest.rb +323 -0
  214. data/spec/unit/network/http/webrick/xmlrpc.rb +0 -0
  215. data/spec/unit/network/http_pool.rb +238 -0
  216. data/spec/unit/network/server.rb +316 -0
  217. data/spec/unit/network/xmlrpc/client.rb +13 -0
  218. data/spec/unit/node.rb +167 -0
  219. data/spec/unit/node/catalog.rb +864 -0
  220. data/spec/unit/node/environment.rb +37 -0
  221. data/spec/unit/node/facts.rb +44 -0
  222. data/spec/unit/other/checksum.rb +92 -0
  223. data/spec/unit/other/pgraph.rb +210 -0
  224. data/spec/unit/other/transaction.rb +33 -0
  225. data/spec/unit/other/transbucket.rb +172 -0
  226. data/spec/unit/other/transobject.rb +92 -0
  227. data/spec/unit/parameter.rb +24 -0
  228. data/spec/unit/parser/ast.rb +37 -0
  229. data/spec/unit/parser/ast/arithmetic_operator.rb +73 -0
  230. data/spec/unit/parser/ast/astarray.rb +66 -0
  231. data/spec/unit/parser/ast/boolean_operator.rb +53 -0
  232. data/spec/unit/parser/ast/collexpr.rb +92 -0
  233. data/spec/unit/parser/ast/comparison_operator.rb +92 -0
  234. data/spec/unit/parser/ast/definition.rb +195 -0
  235. data/spec/unit/parser/ast/function.rb +77 -0
  236. data/spec/unit/parser/ast/hostclass.rb +148 -0
  237. data/spec/unit/parser/ast/minus.rb +36 -0
  238. data/spec/unit/parser/ast/node.rb +125 -0
  239. data/spec/unit/parser/ast/nop.rb +20 -0
  240. data/spec/unit/parser/ast/not.rb +30 -0
  241. data/spec/unit/parser/ast/resource_override.rb +51 -0
  242. data/spec/unit/parser/ast/resource_reference.rb +63 -0
  243. data/spec/unit/parser/ast/vardef.rb +47 -0
  244. data/spec/unit/parser/collector.rb +426 -0
  245. data/spec/unit/parser/compiler.rb +561 -0
  246. data/spec/unit/parser/functions.rb +83 -0
  247. data/spec/unit/parser/functions/inline_template.rb +59 -0
  248. data/spec/unit/parser/functions/template.rb +62 -0
  249. data/spec/unit/parser/interpreter.rb +138 -0
  250. data/spec/unit/parser/lexer.rb +646 -0
  251. data/spec/unit/parser/parser.rb +228 -0
  252. data/spec/unit/parser/resource.rb +336 -0
  253. data/spec/unit/parser/resource/reference.rb +95 -0
  254. data/spec/unit/parser/scope.rb +87 -0
  255. data/spec/unit/parser/templatewrapper.rb +129 -0
  256. data/spec/unit/property.rb +35 -0
  257. data/spec/unit/property/keyvalue.rb +168 -0
  258. data/spec/unit/property/list.rb +156 -0
  259. data/spec/unit/property/ordered_list.rb +64 -0
  260. data/spec/unit/provider/augeas/augeas.rb +238 -0
  261. data/spec/unit/provider/confine.rb +78 -0
  262. data/spec/unit/provider/confine/exists.rb +81 -0
  263. data/spec/unit/provider/confine/false.rb +53 -0
  264. data/spec/unit/provider/confine/feature.rb +60 -0
  265. data/spec/unit/provider/confine/true.rb +53 -0
  266. data/spec/unit/provider/confine/variable.rb +107 -0
  267. data/spec/unit/provider/confine_collection.rb +134 -0
  268. data/spec/unit/provider/confiner.rb +63 -0
  269. data/spec/unit/provider/group/groupadd.rb +31 -0
  270. data/spec/unit/provider/group/ldap.rb +105 -0
  271. data/spec/unit/provider/ldap.rb +248 -0
  272. data/spec/unit/provider/macauthorization.rb +147 -0
  273. data/spec/unit/provider/mcx/mcxcontent.rb +175 -0
  274. data/spec/unit/provider/mount.rb +130 -0
  275. data/spec/unit/provider/mount/parsed.rb +185 -0
  276. data/spec/unit/provider/package/apt.rb +138 -0
  277. data/spec/unit/provider/package/dpkg.rb +163 -0
  278. data/spec/unit/provider/package/gem.rb +87 -0
  279. data/spec/unit/provider/package/hpux.rb +52 -0
  280. data/spec/unit/provider/selboolean.rb +37 -0
  281. data/spec/unit/provider/selmodule-example.pp +0 -0
  282. data/spec/unit/provider/selmodule.rb +66 -0
  283. data/spec/unit/provider/service/daemontools.rb +124 -0
  284. data/spec/unit/provider/service/launchd.rb +134 -0
  285. data/spec/unit/provider/service/runit.rb +117 -0
  286. data/spec/unit/provider/ssh_authorized_key/parsed.rb +102 -0
  287. data/spec/unit/provider/user/hpux.rb +25 -0
  288. data/spec/unit/provider/user/ldap.rb +279 -0
  289. data/spec/unit/provider/user/user_role_add.rb +249 -0
  290. data/spec/unit/provider/user/useradd.rb +115 -0
  291. data/spec/unit/provider/zfs/solaris.rb +87 -0
  292. data/spec/unit/provider/zone/solaris.rb +42 -0
  293. data/spec/unit/provider/zpool/solaris.rb +179 -0
  294. data/spec/unit/rails.rb +125 -0
  295. data/spec/unit/relationship.rb +149 -0
  296. data/spec/unit/reports.rb +61 -0
  297. data/spec/unit/resource_reference.rb +73 -0
  298. data/spec/unit/simple_graph.rb +280 -0
  299. data/spec/unit/transaction/change.rb +187 -0
  300. data/spec/unit/transaction/event.rb +25 -0
  301. data/spec/unit/transaction/report.rb +40 -0
  302. data/spec/unit/type.rb +64 -0
  303. data/spec/unit/type/augeas.rb +113 -0
  304. data/spec/unit/type/computer.rb +82 -0
  305. data/spec/unit/type/exec.rb +91 -0
  306. data/spec/unit/type/file.rb +155 -0
  307. data/spec/unit/type/file/ensure.rb +21 -0
  308. data/spec/unit/type/file/group.rb +118 -0
  309. data/spec/unit/type/file/owner.rb +132 -0
  310. data/spec/unit/type/file/selinux.rb +82 -0
  311. data/spec/unit/type/group.rb +40 -0
  312. data/spec/unit/type/macauthorization.rb +78 -0
  313. data/spec/unit/type/mcx.rb +108 -0
  314. data/spec/unit/type/mount.rb +219 -0
  315. data/spec/unit/type/nagios.rb +63 -0
  316. data/spec/unit/type/noop_metaparam.rb +38 -0
  317. data/spec/unit/type/package.rb +246 -0
  318. data/spec/unit/type/resources.rb +27 -0
  319. data/spec/unit/type/schedule.rb +339 -0
  320. data/spec/unit/type/selboolean.rb +47 -0
  321. data/spec/unit/type/selmodule.rb +18 -0
  322. data/spec/unit/type/service.rb +254 -0
  323. data/spec/unit/type/ssh_authorized_key.rb +106 -0
  324. data/spec/unit/type/tidy.rb +68 -0
  325. data/spec/unit/type/user.rb +260 -0
  326. data/spec/unit/type/zfs.rb +45 -0
  327. data/spec/unit/type/zone.rb +20 -0
  328. data/spec/unit/type/zpool.rb +110 -0
  329. data/spec/unit/util/checksums.rb +99 -0
  330. data/spec/unit/util/constant_inflector.rb +70 -0
  331. data/spec/unit/util/file_locking.rb +115 -0
  332. data/spec/unit/util/ldap/connection.rb +169 -0
  333. data/spec/unit/util/ldap/generator.rb +54 -0
  334. data/spec/unit/util/ldap/manager.rb +654 -0
  335. data/spec/unit/util/loadedfile.rb +65 -0
  336. data/spec/unit/util/log.rb +107 -0
  337. data/spec/unit/util/metric.rb +95 -0
  338. data/spec/unit/util/nagios_maker.rb +128 -0
  339. data/spec/unit/util/posix.rb +256 -0
  340. data/spec/unit/util/resource_template.rb +58 -0
  341. data/spec/unit/util/selinux.rb +219 -0
  342. data/spec/unit/util/settings.rb +847 -0
  343. data/spec/unit/util/storage.rb +248 -0
  344. data/spec/unit/util/tagging.rb +92 -0
  345. data/spec/unit/util/uri_helper.rb +41 -0
  346. data/spec/unit/util/user_attr.rb +47 -0
  347. data/spec/unit/util/warnings.rb +35 -0
  348. data/test/certmgr/support.rb +0 -6
  349. data/test/data/providers/ssh_authorized_key/parsed/authorized_keys +1 -0
  350. data/test/data/snippets/multilinecomments.pp +6 -0
  351. data/test/data/snippets/multipleclass.pp +9 -0
  352. data/test/language/functions.rb +11 -1
  353. data/test/language/snippets.rb +16 -0
  354. data/test/lib/puppettest/runnable_test.rb +1 -1
  355. data/test/network/handler/fileserver.rb +5 -0
  356. data/test/other/report.rb +0 -4
  357. data/test/ral/type/resources.rb +2 -19
  358. data/test/util/settings.rb +4 -4
  359. data/test/util/storage.rb +0 -24
  360. data/test/util/utiltest.rb +0 -33
  361. metadata +319 -26
  362. data/conf/debian/README.source +0 -2
  363. data/conf/debian/TODO.Debian +0 -1
  364. data/conf/debian/changelog +0 -257
  365. data/conf/debian/compat +0 -1
  366. data/conf/debian/control +0 -45
  367. data/conf/debian/copyright +0 -17
  368. data/conf/debian/docs +0 -1
  369. data/conf/debian/fileserver.conf +0 -12
  370. data/conf/debian/puppet.NEWS +0 -63
  371. data/conf/debian/puppet.conf +0 -8
  372. data/conf/debian/puppet.dirs +0 -7
  373. data/conf/debian/puppet.files +0 -6
  374. data/conf/debian/puppet.init +0 -64
  375. data/conf/debian/puppet.logrotate +0 -11
  376. data/conf/debian/puppet.postinst +0 -9
  377. data/conf/debian/puppet.postrm +0 -21
  378. data/conf/debian/puppet.preinst +0 -25
  379. data/conf/debian/puppetmaster.files +0 -4
  380. data/conf/debian/puppetmaster.init +0 -58
  381. data/conf/debian/rules +0 -115
  382. data/conf/debian/watch +0 -2
  383. data/lib/puppet/type/nagios_hostgroupescalation.rb +0 -3
data/CHANGELOG CHANGED
@@ -1,3 +1,118 @@
1
+ 0.24.7
2
+ Fixed #1804 - Added VDev and MultiVDev properties to the ZPool type
3
+
4
+ Fixed #1496 - nagios_servicedependency needs a unique host_name?
5
+
6
+ Fixed #1420 - nagios_serviceescalation not allowing host_name more than one type
7
+
8
+ Bug #1803 Zfs should auto require the ancestor file systems
9
+
10
+ Refactor #1802 Use 'zfs get -H -o value' instead of parsing output for value
11
+
12
+ Fixing #1800 - tidy now correctly ignores missing files and directories
13
+
14
+ Fixing #1794 - returning sync when it is already initialized
15
+
16
+ Fixing #1750 again - All of the properties and now :ensure check replace?
17
+
18
+ Deprecate the NetInfo nameservice provider. Use directoryservice instead
19
+
20
+ Add macauthorization type
21
+
22
+ Fixing #1703 - using a mutex around the sending of the tagmails
23
+
24
+ Fix #1788 - allow rspec rake to run only some tests
25
+
26
+ Fixing the AST constant warnings, using a variable instead of a constant
27
+
28
+ Feature #1696 Add support for branded zones
29
+
30
+ Feature #1783 - Add ZFS support
31
+
32
+ type/mcx.rb Feature #1026 - MCX Type
33
+
34
+ Fixing #1749 - Splay now hopefully behaves "better" for small values
35
+
36
+ Fix #1741 - Add inline_template function
37
+
38
+ Slight denormalisation to store a host's environment as a first class
39
+
40
+ Added Rake :ci namespace and CI tasks
41
+
42
+ Refactoring the thread-safety in Puppet::Util
43
+
44
+ Removing the included testing gems; you must now install them yourself
45
+
46
+ Refactoring of SELinux functions to use native Ruby SELinux interface
47
+
48
+ Removing all mention of EPM, RPM, or Sun packages.
49
+
50
+ Fixed #1496 - nagios_servicedependency needs a unique host_name?
51
+
52
+ Fixed #1420 - nagios_serviceescalation not allowing host_name more than one type
53
+
54
+ Fixed #1695 - Solaris 10 zone provider doesn't properly handle unknown zone attributes in newer releases
55
+
56
+ Fixed #1776 - Trivial fix for gentoo service provider
57
+
58
+ Fixed #1767 - Minor fix to emacs mode
59
+
60
+ Fixed #1711 - fileserver test fails due to incorrect mocking
61
+
62
+ Fixed #1751 - Mac OS X DirectoryService nameservice provider support for
63
+ plist output and password hash fil
64
+
65
+ Fixed #1752 - Add an optional argument to Puppet::Util.execute to determine
66
+ whether stderr and stdout are combined in the output
67
+
68
+ Added versionable feature to the RPM provider
69
+
70
+ Fixed #1668 - puppetca can't clean unsigned certs
71
+
72
+ Moved RRD feature from util/metric.rb to feature/base.rb
73
+
74
+ Fixed #1735 and #1747 - Fixes to confine system
75
+
76
+ Fixed #1681 - Add filesystem type check to test for per-file SELinux context support
77
+
78
+ Fixed #1746 - Sync SELinux file attributes after file contents created/modified
79
+
80
+ Replaced SELInux calls to binaries with Ruby SELinux bindings
81
+
82
+ Fixed #1748 - Include spec directory in packages
83
+
84
+ Fixes #1672 - unsafe crontab handling in Solaris
85
+
86
+ Fixed #1718 - Added preseed to apt uninstall and purge
87
+
88
+ Fixed #1739 - Added uninstall functionality to yum provider
89
+
90
+ Fixed #1710 - Spurious output in test run
91
+
92
+ Fixed #1667 - Documentation should specify natural language regexs, not Regexp objects
93
+
94
+ Fixed #1692 - k5login fails to set mode when file is created
95
+
96
+ Fixed #1660 - Added specific recurse values for tidy
97
+
98
+ Fixed #1698 - All logs should now show up in the reports
99
+
100
+ Fixed #1661 - Type reference: tidy should specify manditory parameters
101
+
102
+ Fixed #1104 - Classes and nodes should set $name variables
103
+
104
+ Updated Red Hat spec file for 0.24.6
105
+
106
+ Removed conf/debian directory - Debian packaging information
107
+ now maintained downstream
108
+
109
+ Added augeas type
110
+
111
+ Added support for @doc type and manifest documentation support - see:
112
+ http://reductivelabs.com/trac/puppet/wiki/PuppetManifestDocumentation
113
+
114
+ Added multiline comment support
115
+
1
116
  0.24.6
2
117
  Adding support to the user type for: profiles, auths, project,
3
118
  key/value pairs (extension to Solaris RBAC support added in
data/Rakefile CHANGED
@@ -24,6 +24,7 @@ project = Rake::RedLabProject.new("puppet") do |p|
24
24
  'lib/puppet/**/*.rb',
25
25
  'lib/puppet/**/*.py',
26
26
  'test/**/*',
27
+ 'spec/**/*',
27
28
  'bin/**/*',
28
29
  'ext/**/*',
29
30
  'examples/**/*',
@@ -33,10 +34,6 @@ project = Rake::RedLabProject.new("puppet") do |p|
33
34
  p.filelist.exclude("bin/pi")
34
35
 
35
36
  p.add_dependency('facter', '1.1.0')
36
-
37
- #p.epmhosts = %w{culain}
38
- #p.sunpkghost = "sol10b"
39
- #p.rpmhost = "fedora1"
40
37
  end
41
38
 
42
39
  if project.has?(:gem)
@@ -49,7 +46,6 @@ if project.has?(:gem)
49
46
  task.executables = ["puppet", "puppetd", "puppetmasterd", "puppetdoc",
50
47
  "puppetca", "puppetrun", "ralsh"]
51
48
  task.default_executable = "puppet"
52
- task.autorequire = 'puppet'
53
49
 
54
50
  #### Documentation and testing.
55
51
 
@@ -64,14 +60,6 @@ if project.has?(:gem)
64
60
  end
65
61
  end
66
62
 
67
- if project.has?(:epm)
68
- project.mkepmtask do |task|
69
- task.bins = FileList.new("bin/puppet", "bin/puppetca")
70
- task.sbins = FileList.new("bin/puppetmasterd", "bin/puppetd")
71
- task.rubylibs = FileList.new('lib/**/*')
72
- end
73
- end
74
-
75
63
  rule(/_is_runnable$/) do |t|
76
64
  available = false
77
65
  executable = t.name.sub(/_is_runnable$/, '')
@@ -149,7 +137,7 @@ desc "Run the specs under spec/"
149
137
  task :spec do
150
138
  require 'spec'
151
139
  require 'spec/rake/spectask'
152
- require 'rcov'
140
+ # require 'rcov'
153
141
  Spec::Rake::SpecTask.new do |t|
154
142
  # t.rcov = true
155
143
  t.spec_opts = ['--format','s', '--loadby','mtime']
@@ -162,6 +150,29 @@ task :unit do
162
150
  sh "cd test; rake"
163
151
  end
164
152
 
153
+ namespace :ci do
154
+
155
+ desc "Run the CI prep tasks"
156
+ task :prep do
157
+ require 'rubygems'
158
+ gem 'ci_reporter'
159
+ require 'ci/reporter/rake/rspec'
160
+ require 'ci/reporter/rake/test_unit'
161
+ ENV['CI_REPORTS'] = 'results'
162
+ end
163
+
164
+ desc "Run CI Unit tests"
165
+ task :unit => [:prep, 'ci:setup:testunit'] do
166
+ sh "cd test; rake test; exit 0"
167
+ end
168
+
169
+ desc "Run CI RSpec tests"
170
+ task :spec => [:prep, 'ci:setup:rspec'] do
171
+ sh "cd spec; rake all; exit 0"
172
+ end
173
+
174
+ end
175
+
165
176
  desc "Send patch information to the puppet-dev list"
166
177
  task :mail_patches do
167
178
  if Dir.glob("00*.patch").length > 0
@@ -197,3 +208,21 @@ task :mail_patches do
197
208
  # Finally, clean up the patches
198
209
  sh "rm 00*.patch"
199
210
  end
211
+
212
+ desc "Create a changelog based on your git commits."
213
+ task :changelog do
214
+
215
+ CHANGELOG_DIR = "#{Dir.pwd}"
216
+
217
+ mkdir(CHANGELOG_DIR) unless File.directory?(CHANGELOG_DIR)
218
+
219
+ change_body=`git log --pretty=format:'%aD%n%an <%ae>%n%s%n'`
220
+
221
+ File.open(File.join(CHANGELOG_DIR, "CHANGELOG.git"), 'w') do |f|
222
+ f << change_body
223
+ end
224
+
225
+ # Changelog commit
226
+ `git add #{CHANGELOG_DIR}/CHANGELOG.git`
227
+ `git commit -m "Update CHANGELOG.git"`
228
+ end
@@ -236,11 +236,12 @@ when :clean
236
236
  cleaned = true
237
237
  else
238
238
  hosts.each do |host|
239
- cert = ca.getclientcert(host)[0]
240
- if cert.nil?
241
- $stderr.puts "Could not find client certificate for %s" % host
242
- next
243
- end
239
+
240
+ unless cert = ca.getclientcert(host)[0] || ca.getclientcsr(host)
241
+ $stderr.puts "Could not find client certificate or request for %s" % host
242
+ next
243
+ end
244
+
244
245
  ca.clean(host)
245
246
  cleaned = true
246
247
  end
@@ -8,25 +8,36 @@
8
8
  #
9
9
  # = Usage
10
10
  #
11
- # puppetdoc [-a|--all] [-h|--help] [-m|--mode <text|pdf|trac> [-r|--reference <[type]|configuration|..>]
11
+ # puppetdoc [-a|--all] [-h|--help] [-o|--outputdir <rdoc outputdir>] [-m|--mode <text|pdf|trac|rdoc>]
12
+ # [-r|--reference <[type]|configuration|..>] [manifest-file]
12
13
  #
13
14
  # = Description
14
15
  #
15
- # This command generates a restructured-text document describing all installed
16
+ # If mode is not 'rdoc', then this command generates a restructured-text document describing all installed
16
17
  # Puppet types or all allowable arguments to puppet executables. It is largely
17
18
  # meant for internal use and is used to generate the reference document
18
19
  # available on the Reductive Labs web site.
19
20
  #
21
+ # In 'rdoc' mode, this command generates an html RDoc hierarchy describing the manifests that
22
+ # are in 'manifestdir' and 'modulepath' configuration directives.
23
+ # The generated documentation directory is doc by default but can be changed with the 'outputdir' option.
24
+ #
25
+ # If the command is started with 'manifest-file' command-line arguments, puppetdoc generate a single
26
+ # manifest documentation that is output on stdout.
27
+ #
20
28
  # = Options
21
29
  #
22
30
  # all::
23
- # Output the docs for all of the reference types.
31
+ # Output the docs for all of the reference types. In 'rdoc' modes, this also outputs documentation for all resources
24
32
  #
25
33
  # help::
26
34
  # Print this help message
27
35
  #
36
+ # outputdir::
37
+ # Specifies the directory where to output the rdoc documentation in 'rdoc' mode.
38
+ #
28
39
  # mode::
29
- # Determine the output mode. Valid modes are 'text', 'trac', and 'pdf'. Note that 'trac' mode only works on Reductive Labs servers. The default mode is 'text'.
40
+ # Determine the output mode. Valid modes are 'text', 'trac', 'pdf' and 'rdoc'. Note that 'trac' mode only works on Reductive Labs servers. The default mode is 'text'. In 'rdoc' mode you must provide 'manifests-path'
30
41
  #
31
42
  # reference::
32
43
  # Build a particular reference. Get a list of references by running +puppetdoc --list+.
@@ -34,6 +45,10 @@
34
45
  # = Example
35
46
  #
36
47
  # $ puppetdoc -r type > /tmp/type_reference.rst
48
+ # or
49
+ # $ puppetdoc --outputdir /tmp/rdoc --mode rdoc /path/to/manifests
50
+ # or
51
+ # $ puppetdoc /etc/puppet/manifests/site.pp
37
52
  #
38
53
  # = Author
39
54
  #
@@ -47,16 +62,24 @@
47
62
  require 'puppet'
48
63
  require 'puppet/util/reference'
49
64
  require 'puppet/network/handler'
65
+ require 'puppet/util/rdoc'
50
66
  require 'getoptlong'
51
67
 
52
- result = GetoptLong.new(
53
- [ "--all", "-a", GetoptLong::NO_ARGUMENT ],
54
- [ "--list", "-l", GetoptLong::NO_ARGUMENT ],
55
- [ "--format", "-f", GetoptLong::REQUIRED_ARGUMENT ],
56
- [ "--mode", "-m", GetoptLong::REQUIRED_ARGUMENT ],
57
- [ "--reference", "-r", GetoptLong::REQUIRED_ARGUMENT ],
58
- [ "--help", "-h", GetoptLong::NO_ARGUMENT ]
59
- )
68
+ options = [
69
+ [ "--all", "-a", GetoptLong::NO_ARGUMENT ],
70
+ [ "--list", "-l", GetoptLong::NO_ARGUMENT ],
71
+ [ "--format", "-f", GetoptLong::REQUIRED_ARGUMENT ],
72
+ [ "--mode", "-m", GetoptLong::REQUIRED_ARGUMENT ],
73
+ [ "--reference", "-r", GetoptLong::REQUIRED_ARGUMENT ],
74
+ [ "--help", "-h", GetoptLong::NO_ARGUMENT ],
75
+ [ "--outputdir", "-o", GetoptLong::REQUIRED_ARGUMENT ],
76
+ [ "--verbose", "-v", GetoptLong::NO_ARGUMENT ],
77
+ [ "--debug", "-d", GetoptLong::NO_ARGUMENT ]
78
+ ]
79
+
80
+ # Add all of the config parameters as valid options.
81
+ Puppet.settings.addargs(options)
82
+ result = GetoptLong.new(*options)
60
83
 
61
84
  debug = false
62
85
 
@@ -66,8 +89,11 @@ options = {:references => [], :mode => :text, :format => :to_rest}
66
89
  Reference = Puppet::Util::Reference
67
90
 
68
91
  begin
92
+ unknown_args = []
69
93
  result.each { |opt,arg|
70
94
  case opt
95
+ when "--outputdir"
96
+ options[:outputdir] = arg
71
97
  when "--all"
72
98
  options[:all] = true
73
99
  when "--format"
@@ -78,7 +104,7 @@ begin
78
104
  raise "Invalid output format %s" % arg
79
105
  end
80
106
  when "--mode"
81
- if Reference.modes.include?(arg)
107
+ if Reference.modes.include?(arg) or arg.intern==:rdoc
82
108
  options[:mode] = arg.intern
83
109
  else
84
110
  raise "Invalid output mode %s" % arg
@@ -88,6 +114,10 @@ begin
88
114
  exit(0)
89
115
  when "--reference"
90
116
  options[:references] << arg.intern
117
+ when "--verbose"
118
+ options[:verbose] = true
119
+ when "--debug"
120
+ options[:debug] = true
91
121
  when "--help"
92
122
  if Puppet.features.usage?
93
123
  RDoc::usage && exit
@@ -95,14 +125,52 @@ begin
95
125
  puts "No help available unless you have RDoc::usage installed"
96
126
  exit
97
127
  end
128
+ else
129
+ unknown_args << {:opt => opt, :arg => arg }
98
130
  end
99
131
  }
132
+
133
+ # sole manifest documentation
134
+ if ARGV.size > 0
135
+ options[:mode] = :rdoc
136
+ manifest = true
137
+ end
138
+
139
+ # consume the remaining unknown options
140
+ # and feed them as settings, but only for rdoc mode
141
+ if options[:mode] == :rdoc and unknown_args.size > 0
142
+ unknown_args.each do |option|
143
+ # force absolute path for modulepath when passed on commandline
144
+ if option[:opt]=="--modulepath" or option[:opt] == "--manifestdir"
145
+ option[:arg] = option[:arg].split(':').collect { |p| File.expand_path(p) }.join(':')
146
+ end
147
+ Puppet.settings.handlearg(option[:opt], option[:arg])
148
+ end
149
+ end
100
150
  rescue GetoptLong::InvalidOption => detail
101
151
  $stderr.puts "Try '#{$0} --help'"
102
152
  exit(1)
103
153
  end
104
154
 
105
- if options[:all]
155
+ if options[:mode] == :rdoc # rdoc mode
156
+ # hack to get access to puppetmasterd modulepath and manifestdir
157
+ Puppet[:name] = "puppetmasterd"
158
+ # Now parse the config
159
+ Puppet.parse_config
160
+
161
+ # Handle the logging settings.
162
+ if options[:debug] or options[:verbose]
163
+ if options[:debug]
164
+ Puppet::Util::Log.level = :debug
165
+ else
166
+ Puppet::Util::Log.level = :info
167
+ end
168
+
169
+ Puppet::Util::Log.newdestination(:console)
170
+ end
171
+ end
172
+
173
+ if options[:all] and options[:mode] != :rdoc
106
174
  # Don't add dynamic references to the "all" list.
107
175
  options[:references] = Reference.references.reject do |ref|
108
176
  Reference.reference(ref).dynamic?
@@ -114,6 +182,33 @@ if options[:references].empty?
114
182
  end
115
183
 
116
184
  case options[:mode]
185
+ when :rdoc # rdoc or sole manifest mode
186
+ exit_code = 0
187
+ files = []
188
+ unless manifest
189
+ files += Puppet[:modulepath].split(':').collect { |p| File.expand_path(p) }
190
+ files += Puppet[:manifestdir].split(':').collect { |p| File.expand_path(p) }
191
+ end
192
+ files += ARGV
193
+ Puppet.info "scanning: %s" % files.inspect
194
+ Puppet.settings.setdefaults("puppetdoc",
195
+ "document_all" => [false, "Document all resources"]
196
+ )
197
+ Puppet.settings[:document_all] = options[:all] || false
198
+ begin
199
+ if manifest
200
+ Puppet::Util::RDoc.manifestdoc(files)
201
+ else
202
+ Puppet::Util::RDoc.rdoc(options[:outputdir], files)
203
+ end
204
+ rescue => detail
205
+ if Puppet[:trace]
206
+ puts detail.backtrace
207
+ end
208
+ $stderr.puts "Could not generate documentation: %s" % detail
209
+ exit_code = 1
210
+ end
211
+ exit exit_code
117
212
  when :trac
118
213
  options[:references].each do |name|
119
214
  section = Puppet::Util::Reference.reference(name) or raise "Could not find section %s" % name
@@ -159,4 +254,3 @@ else
159
254
  exit exit_code
160
255
  end
161
256
 
162
-
data/bin/ralsh CHANGED
@@ -192,7 +192,9 @@ properties = typeobj.properties.collect { |s| s.name }
192
192
 
193
193
  format = proc {|trans|
194
194
  trans.dup.collect do |param, value|
195
- if value == "" or value == []
195
+ if value.nil? or value.to_s.empty?
196
+ trans.delete(param)
197
+ elsif value.to_s == "absent" and param.to_s != "ensure"
196
198
  trans.delete(param)
197
199
  end
198
200