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
@@ -0,0 +1,9 @@
1
+ # Mac MCX Test
2
+
3
+ computer { "localhost": }
4
+
5
+ mcx {
6
+ "/Groups/mcx_dock":
7
+ ensure => "present",
8
+ content => 'invalid plist'
9
+ }
@@ -0,0 +1,118 @@
1
+ mcx { '/Groups/doesnotexist':
2
+ ensure => 'present',
3
+ content => '<?xml version="1.0" encoding="UTF-8"?>
4
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
5
+ <plist version="1.0">
6
+ <dict>
7
+ <key>com.apple.dock</key>
8
+ <dict>
9
+ <key>AppItems-Raw</key>
10
+ <dict>
11
+ <key>state</key>
12
+ <string>always</string>
13
+ <key>upk</key>
14
+ <dict>
15
+ <key>mcx_input_key_names</key>
16
+ <array>
17
+ <string>AppItems-Raw</string>
18
+ </array>
19
+ <key>mcx_output_key_name</key>
20
+ <string>static-apps</string>
21
+ <key>mcx_remove_duplicates</key>
22
+ <true/>
23
+ </dict>
24
+ <key>value</key>
25
+ <array>
26
+ <dict>
27
+ <key>mcx_typehint</key>
28
+ <integer>1</integer>
29
+ <key>tile-data</key>
30
+ <dict>
31
+ <key>file-data</key>
32
+ <dict>
33
+ <key>_CFURLString</key>
34
+ <string>/Applications/Mail.app</string>
35
+ <key>_CFURLStringType</key>
36
+ <integer>0</integer>
37
+ </dict>
38
+ <key>file-label</key>
39
+ <string>Mail</string>
40
+ </dict>
41
+ <key>tile-type</key>
42
+ <string>file-tile</string>
43
+ </dict>
44
+ <dict>
45
+ <key>mcx_typehint</key>
46
+ <integer>1</integer>
47
+ <key>tile-data</key>
48
+ <dict>
49
+ <key>file-data</key>
50
+ <dict>
51
+ <key>_CFURLString</key>
52
+ <string>/Applications/Safari.app</string>
53
+ <key>_CFURLStringType</key>
54
+ <integer>0</integer>
55
+ </dict>
56
+ <key>file-label</key>
57
+ <string>Safari</string>
58
+ </dict>
59
+ <key>tile-type</key>
60
+ <string>file-tile</string>
61
+ </dict>
62
+ </array>
63
+ </dict>
64
+ <key>DocItems-Raw</key>
65
+ <dict>
66
+ <key>state</key>
67
+ <string>always</string>
68
+ <key>upk</key>
69
+ <dict>
70
+ <key>mcx_input_key_names</key>
71
+ <array>
72
+ <string>DocItems-Raw</string>
73
+ </array>
74
+ <key>mcx_output_key_name</key>
75
+ <string>static-others</string>
76
+ <key>mcx_remove_duplicates</key>
77
+ <true/>
78
+ </dict>
79
+ <key>value</key>
80
+ <array/>
81
+ </dict>
82
+ <key>MCXDockSpecialFolders-Raw</key>
83
+ <dict>
84
+ <key>state</key>
85
+ <string>always</string>
86
+ <key>upk</key>
87
+ <dict>
88
+ <key>mcx_input_key_names</key>
89
+ <array>
90
+ <string>MCXDockSpecialFolders-Raw</string>
91
+ </array>
92
+ <key>mcx_output_key_name</key>
93
+ <string>MCXDockSpecialFolders</string>
94
+ <key>mcx_remove_duplicates</key>
95
+ <true/>
96
+ </dict>
97
+ <key>value</key>
98
+ <array/>
99
+ </dict>
100
+ <key>contents-immutable</key>
101
+ <dict>
102
+ <key>state</key>
103
+ <string>always</string>
104
+ <key>value</key>
105
+ <false/>
106
+ </dict>
107
+ <key>static-only</key>
108
+ <dict>
109
+ <key>state</key>
110
+ <string>always</string>
111
+ <key>value</key>
112
+ <false/>
113
+ </dict>
114
+ </dict>
115
+ </dict>
116
+ </plist>
117
+ '
118
+ }
@@ -0,0 +1,4 @@
1
+ mcx { '/Groups/foobar':
2
+ ensure => 'absent',
3
+ content => 'absent'
4
+ }
@@ -226,7 +226,7 @@ of the initial include plus puppet-include-indent."
226
226
  ;; Semicolon ends a block for a resource when multiple resources
227
227
  ;; are defined in the same block, but try not to get the case of
228
228
  ;; a complete resource on a single line wrong.
229
- ((looking-at "^\\([^'\":\n]\\|\"[^\n\"]*\"\\|'[^\n']'\\)**;\\s-*$")
229
+ ((looking-at "^\\([^'\":\n]\\|\"[^\n\"]*\"\\|'[^\n']*'\\)*;\\s-*$")
230
230
  (setq cur-indent (- (current-indentation) puppet-indent-level))
231
231
  (setq not-indented nil))
232
232
 
@@ -25,7 +25,7 @@ require 'puppet/util/suidmanager'
25
25
  # it's also a place to find top-level commands like 'debug'
26
26
 
27
27
  module Puppet
28
- PUPPETVERSION = '0.24.6'
28
+ PUPPETVERSION = '0.24.7'
29
29
 
30
30
  def Puppet.version
31
31
  return PUPPETVERSION
@@ -196,6 +196,9 @@ class Nagios::Base
196
196
  args.each { |param,value|
197
197
  self[param] = value
198
198
  }
199
+ if @namevar == :_naginator_name
200
+ self['_naginator_name'] = self['name']
201
+ end
199
202
  end
200
203
 
201
204
  # Handle parameters like attributes.
@@ -321,115 +324,155 @@ class Nagios::Base
321
324
  end
322
325
 
323
326
  # object types
324
- newtype :command do
325
- setparameters :command_name, :command_line
327
+ newtype :host do
328
+ setparameters :host_name, :alias, :display_name, :address, :parents,
329
+ :hostgroups, :check_command, :initial_state, :max_check_attempts,
330
+ :check_interval, :retry_interval, :active_checks_enabled,
331
+ :passive_checks_enabled, :check_period, :obsess_over_host,
332
+ :check_freshness, :freshness_threshold, :event_handler,
333
+ :event_handler_enabled, :low_flap_threshold, :high_flap_threshold,
334
+ :flap_detection_enabled, :flap_detection_options,
335
+ :failure_prediction_enabled, :process_perf_data,
336
+ :retain_status_information, :retain_nonstatus_information, :contacts,
337
+ :contact_groups, :notification_interval, :first_notification_delay,
338
+ :notification_period, :notification_options, :notifications_enabled,
339
+ :stalking_options, :notes, :notes_url, :action_url, :icon_image,
340
+ :icon_image_alt, :vrml_image, :statusmap_image, "2d_coords".intern,
341
+ "3d_coords".intern,
342
+ :register, :use
343
+
344
+ setsuperior "person"
345
+ map :address => "ipHostNumber"
326
346
  end
327
347
 
328
- newtype :contact do
329
- setparameters :contact_name, :alias, :host_notification_period,
330
- :host_notification_commands, :service_notification_period,
331
- :service_notification_commands, :register, :email, :pager,
332
- :service_notification_options, :host_notification_options
348
+ newtype :hostgroup do
349
+ setparameters :hostgroup_name, :alias, :members, :hostgroup_members, :notes,
350
+ :notes_url, :action_url,
351
+ :register, :use
352
+ end
333
353
 
334
- setsuperior "person"
354
+ newtype :service do
355
+ attach :host => :host_name
356
+ setparameters :host_name, :hostgroup_name, :service_description,
357
+ :display_name, :servicegroups, :is_volatile, :check_command,
358
+ :initial_state, :max_check_attempts, :check_interval, :retry_interval,
359
+ :normal_check_interval, :retry_check_interval, :active_checks_enabled,
360
+ :passive_checks_enabled, :parallelize_check, :check_period,
361
+ :obsess_over_service, :check_freshness, :freshness_threshold,
362
+ :event_handler, :event_handler_enabled, :low_flap_threshold,
363
+ :high_flap_threshold, :flap_detection_enabled,:flap_detection_options,
364
+ :process_perf_data, :failure_prediction_enabled, :retain_status_information,
365
+ :retain_nonstatus_information, :notification_interval,
366
+ :first_notification_delay, :notification_period, :notification_options,
367
+ :notifications_enabled, :contacts, :contact_groups, :stalking_options,
368
+ :notes, :notes_url, :action_url, :icon_image, :icon_image_alt,
369
+ :register, :use,
370
+ :_naginator_name
371
+
372
+ suppress :host_name
373
+
374
+ setnamevar :_naginator_name
335
375
  end
336
376
 
337
- newtype :contactgroup do
338
- setparameters :contactgroup_name, :alias, :members
377
+ newtype :servicegroup do
378
+ setparameters :servicegroup_name, :alias, :members, :servicegroup_members,
379
+ :notes, :notes_url, :action_url,
380
+ :register, :use
339
381
  end
340
382
 
341
- newtype :host do
342
- setparameters :host_name, :notifications_enabled, :event_handler_enabled,
343
- :flap_detection_enabled, :process_perf_data, :retain_status_information,
344
- :retain_nonstatus_information, :register, :use, :alias,
345
- :address, :check_command, :max_check_attempts, :notification_interval,
346
- :notification_period, :notification_options, :checks_enabled,
347
- :failure_prediction_enabled, :parents, :contact_groups
383
+ newtype :contact do
384
+ setparameters :contact_name, :alias, :contactgroups,
385
+ :host_notifications_enabled, :service_notifications_enabled,
386
+ :host_notification_period, :service_notification_period,
387
+ :host_notification_options, :service_notification_options,
388
+ :host_notification_commands, :service_notification_commands,
389
+ :email, :pager, :address1, :address2, :address3, :address4,
390
+ :address5, :address6, :can_submit_commands, :retain_status_information,
391
+ :retain_nonstatus_information,
392
+ :register, :use
348
393
 
349
394
  setsuperior "person"
350
- map :address => "ipHostNumber"
351
395
  end
352
396
 
353
- newtype :hostextinfo do
354
- auxiliary = true
355
- setparameters :host_name, :notes_url, :icon_image, :icon_image_alt, :vrml_image,
356
- "2d_coords".intern, "3d_coords".intern
357
-
358
- setnamevar :host_name
397
+ newtype :contactgroup do
398
+ setparameters :contactgroup_name, :alias, :members, :contactgroup_members,
399
+ :register, :use
359
400
  end
360
401
 
361
- newtype :hostgroup do
362
- setparameters :hostgroup_name, :alias, :contact_groups, :members
402
+ # TODO - We should support generic time periods here eg "day 1 - 15"
403
+ newtype :timeperiod do
404
+ setparameters :timeperiod_name, :alias, :sunday, :monday, :tuesday,
405
+ :wednesday, :thursday, :friday, :saturday, :exclude,
406
+ :register, :use
363
407
  end
364
408
 
365
- newtype :hostescalation do
366
- setparameters :name, :first_notification, :last_notification,
367
- :notification_interval, :contact_groups,
368
- :escalation_options, :register, :hostgroup_name
369
- setnamevar :name
370
- end
409
+ newtype :command do
410
+ setparameters :command_name, :command_line
411
+ end
371
412
 
372
- newtype :hostgroupescalation do
413
+ newtype :servicedependency do
373
414
  auxiliary = true
374
- setparameters :hostgroup_name, :first_notification, :last_notification,
375
- :contact_groups, :notification_interval
415
+ setparameters :dependent_host_name, :dependent_hostgroup_name,
416
+ :dependent_service_description, :host_name, :hostgroup_name,
417
+ :service_description, :inherits_parent, :execution_failure_criteria,
418
+ :notification_failure_criteria, :dependency_period,
419
+ :register, :use,
420
+ :_naginator_name
376
421
 
377
- setnamevar :hostgroup_name
422
+ setnamevar :_naginator_name
378
423
  end
379
424
 
380
- newtype :service do
381
- attach :host => :host_name
382
- setparameters :name, :active_checks_enabled, :passive_checks_enabled,
383
- :parallelize_check, :obsess_over_service, :check_freshness,
384
- :notifications_enabled, :event_handler_enabled,
385
- :flap_detection_enabled, :process_perf_data,
386
- :retain_status_information, :retain_nonstatus_information, :register,
387
- :is_volatile, :check_period, :max_check_attempts,
388
- :normal_check_interval, :retry_check_interval, :contact_groups,
389
- :notification_interval, :notification_period, :notification_options,
390
- :service_description, :host_name, :freshness_threshold,
391
- :check_command, :hostgroup_name, :event_handler, :servicegroups, :host
392
-
393
- suppress :host_name
425
+ newtype :serviceescalation do
426
+ setparameters :host_name, :hostgroup_name, :service_description, :contacts,
427
+ :contact_groups, :first_notification, :last_notification,
428
+ :notification_interval, :escalation_period, :escalation_options,
429
+ :register, :use,
430
+ :_naginator_name
394
431
 
395
- setnamevar :service_description
432
+ setnamevar :_naginator_name
396
433
  end
397
434
 
398
- newtype :servicedependency do
399
- auxiliary = true
400
- setparameters :host_name, :service_description, :dependent_host_name,
401
- :dependent_service_description, :execution_failure_criteria,
402
- :notification_failure_criteria, :hostgroup_name,
403
- :dependent_hostgroup_name
435
+ newtype :hostdependency do
436
+ auxiliary = true
437
+ setparameters :dependent_host_name, :dependent_hostgroup_name, :host_name,
438
+ :hostgroup_name, :inherits_parent, :execution_failure_criteria,
439
+ :notification_failure_criteria, :dependency_period,
440
+ :register, :use,
441
+ :_naginator_name
404
442
 
405
- setnamevar :host_name
443
+ setnamevar :_naginator_name
406
444
  end
407
445
 
408
- newtype :serviceescalation do
409
- setparameters :host_name, :service_description, :first_notification,
410
- :last_notification, :contact_groups, :notification_interval, :hostgroup_name
446
+ newtype :hostescalation do
447
+ setparameters :host_name, :hostgroup_name, :contacts, :contact_groups,
448
+ :first_notification, :last_notification, :notification_interval,
449
+ :escalation_period, :escalation_options,
450
+ :register, :use,
451
+ :_naginator_name
411
452
 
412
- setnamevar :host_name
453
+ setnamevar :_naginator_name
413
454
  end
414
455
 
415
- newtype :servicegroup do
416
- setparameters :servicegroup_name, :alias
456
+ newtype :hostextinfo do
457
+ auxiliary = true
458
+ setparameters :host_name, :notes, :notes_url, :icon_image, :icon_image_alt,
459
+ :vrml_image, :statusmap_image, "2d_coords".intern, "3d_coords".intern,
460
+ :register, :use
417
461
 
418
- setnamevar :servicegroup_name
462
+ setnamevar :host_name
419
463
  end
420
464
 
421
465
  newtype :serviceextinfo do
422
466
  auxiliary = true
423
467
 
424
- setparameters :host_name, :service_description, :icon_image, :icon_image_alt
468
+ setparameters :host_name, :service_description, :notes, :notes_url,
469
+ :action_url, :icon_image, :icon_image_alt,
470
+ :register, :use,
471
+ :_naginator_name
425
472
 
426
- setnamevar :host_name
473
+ setnamevar :_naginator_name
427
474
  end
428
475
 
429
- newtype :timeperiod do
430
- setparameters :timeperiod_name, :alias, :sunday, :monday, :tuesday,
431
- :wednesday, :thursday, :friday, :saturday
432
- end
433
476
  end
434
477
 
435
478
  # $Id$
@@ -22,3 +22,9 @@ Puppet.features.add(:mongrel, :libs => %w{rubygems mongrel puppet/network/http_s
22
22
 
23
23
  # We have lcs diff
24
24
  Puppet.features.add :diff, :libs => %w{diff/lcs diff/lcs/hunk}
25
+
26
+ # We have augeas
27
+ Puppet.features.add(:augeas, :libs => ["augeas"])
28
+
29
+ # We have RRD available
30
+ Puppet.features.add(:rrd, :libs => ["RRDtool"])
@@ -1,17 +1,26 @@
1
1
  require 'puppet/indirector/terminus'
2
+ require 'puppet/util/file_locking'
2
3
 
3
4
  # The base class for YAML indirection termini.
4
5
  class Puppet::Indirector::Yaml < Puppet::Indirector::Terminus
6
+ include Puppet::Util::FileLocking
7
+
5
8
  # Read a given name's file in and convert it from YAML.
6
9
  def find(request)
7
10
  file = path(request.key)
8
11
  return nil unless FileTest.exist?(file)
9
12
 
13
+ yaml = nil
10
14
  begin
11
- return from_yaml(File.read(file))
15
+ readlock(file) { |fh| yaml = fh.read }
12
16
  rescue => detail
13
17
  raise Puppet::Error, "Could not read YAML data for %s %s: %s" % [indirection.name, request.key, detail]
14
18
  end
19
+ begin
20
+ return from_yaml(yaml)
21
+ rescue => detail
22
+ raise Puppet::Error, "Could not parse YAML data for %s %s: %s" % [indirection.name, request.key, detail]
23
+ end
15
24
  end
16
25
 
17
26
  # Convert our object to YAML and store it to the disk.
@@ -28,7 +37,7 @@ class Puppet::Indirector::Yaml < Puppet::Indirector::Terminus
28
37
  end
29
38
 
30
39
  begin
31
- File.open(file, "w", 0660) { |f| f.print to_yaml(request.instance) }
40
+ writelock(file, 0660) { |f| f.print to_yaml(request.instance) }
32
41
  rescue TypeError => detail
33
42
  Puppet.err "Could not save %s %s: %s" % [self.name, request.key, detail]
34
43
  end
@@ -36,7 +45,7 @@ class Puppet::Indirector::Yaml < Puppet::Indirector::Terminus
36
45
 
37
46
  # Get the yaml directory
38
47
  def base
39
- (Puppet[:name] == "puppetmasterd") ? Puppet[:yamldir] : Puppet[:clientyamldir]
48
+ (Puppet[:name] == "puppetmasterd") ? Puppet[:yamldir] : Puppet[:clientyamldir]
40
49
  end
41
50
 
42
51
  # Return the path to a given node's file.
@@ -24,7 +24,7 @@ class Puppet::Module
24
24
  def self.templatepath(environment = nil)
25
25
  dirs = Puppet.settings.value(:templatedir, environment).split(":")
26
26
  dirs.select do |p|
27
- p =~ /^#{File::SEPARATOR}/ && File::directory?(p)
27
+ File::directory?(p)
28
28
  end
29
29
  end
30
30