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,42 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require File.dirname(__FILE__) + '/../../../spec_helper'
4
+
5
+ provider_class = Puppet::Type.type(:zone).provider(:solaris)
6
+
7
+ describe provider_class do
8
+ before do
9
+ @resource = stub("resource", :name => "mypool")
10
+ @resource.stubs(:[]).returns "shouldvalue"
11
+ @provider = provider_class.new(@resource)
12
+ end
13
+
14
+ describe "when calling configure" do
15
+ it "should add the create args to the create str" do
16
+ @resource.stubs(:properties).returns([])
17
+ @resource.stubs(:[]).with(:create_args).returns("create_args")
18
+ @provider.expects(:setconfig).with("create -b create_args\nset zonepath=shouldvalue\ncommit\n")
19
+ @provider.configure
20
+ end
21
+ end
22
+
23
+ describe "when installing" do
24
+ it "should call zoneadm" do
25
+ @provider.expects(:zoneadm)
26
+ @provider.install
27
+ end
28
+
29
+ it "should just install if there are no install args" do
30
+ @resource.stubs(:[]).with(:install_args).returns(nil)
31
+ @provider.expects(:zoneadm).with(:install)
32
+ @provider.install
33
+ end
34
+
35
+ it "should add the install args to the command if they exist" do
36
+ @resource.stubs(:[]).with(:install_args).returns("install args")
37
+ @provider.expects(:zoneadm).with(:install, ["install", "args"])
38
+ @provider.install
39
+ end
40
+ end
41
+
42
+ end
@@ -0,0 +1,179 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require File.dirname(__FILE__) + '/../../../spec_helper'
4
+
5
+ provider_class = Puppet::Type.type(:zpool).provider(:solaris)
6
+
7
+ describe provider_class do
8
+ before do
9
+ @resource = stub("resource", :name => "mypool")
10
+ @resource.stubs(:[]).returns "shouldvalue"
11
+ @provider = provider_class.new(@resource)
12
+ end
13
+
14
+ describe "when getting the instance" do
15
+ it "should call process_zpool_data with the result of get_pool_data only once" do
16
+ @provider.stubs(:get_pool_data).returns(["foo", "disk"])
17
+ @provider.expects(:process_zpool_data).with(["foo", "disk"]).returns("stuff").once
18
+ @provider.current_pool
19
+ @provider.current_pool
20
+ end
21
+ end
22
+
23
+ describe "when calling flush" do
24
+ it "should need to reload the pool" do
25
+ @provider.stubs(:get_pool_data)
26
+ @provider.expects(:process_zpool_data).returns("stuff").times(2)
27
+ @provider.current_pool
28
+ @provider.flush
29
+ @provider.current_pool
30
+ end
31
+ end
32
+
33
+ describe "when procesing zpool data" do
34
+ before do
35
+ @zpool_data = ["foo", "disk"]
36
+ end
37
+
38
+ describe "when there is no data" do
39
+ it "should return a hash with ensure=>:absent" do
40
+ @provider.process_zpool_data([])[:ensure].should == :absent
41
+ end
42
+ end
43
+
44
+ describe "when there is a spare" do
45
+ it "should add the spare disk to the hash" do
46
+ @zpool_data += ["spares", "spare_disk"]
47
+ @provider.process_zpool_data(@zpool_data)[:spare].should == ["spare_disk"]
48
+ end
49
+ end
50
+
51
+ describe "when there are two spares" do
52
+ it "should add the spare disk to the hash as a single string" do
53
+ @zpool_data += ["spares", "spare_disk", "spare_disk2"]
54
+ @provider.process_zpool_data(@zpool_data)[:spare].should == ["spare_disk spare_disk2"]
55
+ end
56
+ end
57
+
58
+ describe "when there is a log" do
59
+ it "should add the log disk to the hash" do
60
+ @zpool_data += ["logs", "log_disk"]
61
+ @provider.process_zpool_data(@zpool_data)[:log].should == ["log_disk"]
62
+ end
63
+ end
64
+
65
+ describe "when there are two logs" do
66
+ it "should add the log disks to the hash as a single string" do
67
+ @zpool_data += ["spares", "spare_disk", "spare_disk2"]
68
+ @provider.process_zpool_data(@zpool_data)[:spare].should == ["spare_disk spare_disk2"]
69
+ end
70
+ end
71
+
72
+ describe "when the vdev is a single mirror" do
73
+ it "should call create_multi_array with mirror" do
74
+ @zpool_data = ["mirrorpool", "mirror", "disk1", "disk2"]
75
+ @provider.process_zpool_data(@zpool_data)[:mirror].should == ["disk1 disk2"]
76
+ end
77
+ end
78
+
79
+ describe "when the vdev is a double mirror" do
80
+ it "should call create_multi_array with mirror" do
81
+ @zpool_data = ["mirrorpool", "mirror", "disk1", "disk2", "mirror", "disk3", "disk4"]
82
+ @provider.process_zpool_data(@zpool_data)[:mirror].should == ["disk1 disk2", "disk3 disk4"]
83
+ end
84
+ end
85
+
86
+ describe "when the vdev is a raidz1" do
87
+ it "should call create_multi_array with raidz1" do
88
+ @zpool_data = ["mirrorpool", "raidz1", "disk1", "disk2"]
89
+ @provider.process_zpool_data(@zpool_data)[:raidz].should == ["disk1 disk2"]
90
+ end
91
+ end
92
+
93
+ describe "when the vdev is a raidz2" do
94
+ it "should call create_multi_array with raidz2 and set the raid_parity" do
95
+ @zpool_data = ["mirrorpool", "raidz2", "disk1", "disk2"]
96
+ pool = @provider.process_zpool_data(@zpool_data)
97
+ pool[:raidz].should == ["disk1 disk2"]
98
+ pool[:raid_parity].should == "raidz2"
99
+ end
100
+ end
101
+ end
102
+
103
+ describe "when calling the getters and setters" do
104
+ [:disk, :mirror, :raidz, :log, :spare].each do |field|
105
+ describe "when calling %s" % field do
106
+ it "should get the %s value from the current_pool hash" % field do
107
+ pool_hash = mock "pool hash"
108
+ pool_hash.expects(:[]).with(field)
109
+ @provider.stubs(:current_pool).returns(pool_hash)
110
+ @provider.send(field)
111
+ end
112
+ end
113
+
114
+ describe "when setting the %s" % field do
115
+ it "should warn the %s values were not in sync" % field do
116
+ Puppet.expects(:warning).with("NO CHANGES BEING MADE: zpool %s does not match, should be 'shouldvalue' currently is 'currentvalue'" % field)
117
+ @provider.stubs(:current_pool).returns(Hash.new("currentvalue"))
118
+ @provider.send((field.to_s + "=").intern, "shouldvalue")
119
+ end
120
+ end
121
+ end
122
+ end
123
+
124
+ describe "when calling create" do
125
+ before do
126
+ @resource.stubs(:[]).with(:pool).returns("mypool")
127
+ @provider.stubs(:zpool)
128
+ end
129
+
130
+
131
+ it "should call build_vdevs" do
132
+ @provider.expects(:build_vdevs).returns([])
133
+ @provider.create
134
+ end
135
+
136
+ it "should call build_named with 'spares' and 'log" do
137
+ @provider.expects(:build_named).with("spare").returns([])
138
+ @provider.expects(:build_named).with("log").returns([])
139
+ @provider.create
140
+ end
141
+
142
+ it "should call zpool with arguments from build_vdevs and build_named" do
143
+ @provider.expects(:zpool).with(:create, 'mypool', 'shouldvalue', 'spare', 'shouldvalue', 'log', 'shouldvalue')
144
+ @provider.create
145
+ end
146
+ end
147
+
148
+ describe "when calling delete" do
149
+ it "should call zpool with destroy and the pool name" do
150
+ @resource.stubs(:[]).with(:pool).returns("poolname")
151
+ @provider.expects(:zpool).with(:destroy, "poolname")
152
+ @provider.delete
153
+ end
154
+ end
155
+
156
+ describe "when calling exists?" do
157
+ before do
158
+ @current_pool = Hash.new(:absent)
159
+ @provider.stubs(:get_pool_data).returns([])
160
+ @provider.stubs(:process_zpool_data).returns(@current_pool)
161
+ end
162
+
163
+ it "should get the current pool" do
164
+ @provider.expects(:process_zpool_data).returns(@current_pool)
165
+ @provider.exists?
166
+ end
167
+
168
+ it "should return false if the current_pool is absent" do
169
+ #the before sets it up
170
+ @provider.exists?.should == false
171
+ end
172
+
173
+ it "should return true if the current_pool has values" do
174
+ @current_pool[:pool] = "mypool"
175
+ @provider.exists?.should == true
176
+ end
177
+ end
178
+
179
+ end
@@ -0,0 +1,125 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require File.dirname(__FILE__) + '/../spec_helper'
4
+ require 'puppet/rails'
5
+
6
+ describe Puppet::Rails, "when initializing any connection" do
7
+ confine "Cannot test without ActiveRecord" => Puppet.features.rails?
8
+
9
+ before do
10
+ @logger = mock 'logger'
11
+ @logger.stub_everything
12
+ Logger.stubs(:new).returns(@logger)
13
+
14
+ ActiveRecord::Base.stubs(:logger).returns(@logger)
15
+ end
16
+
17
+ it "should use settings" do
18
+ Puppet.settings.expects(:use).with(:main, :rails, :puppetmasterd)
19
+
20
+ Puppet::Rails.connect
21
+ end
22
+
23
+ it "should set up a logger with the appropriate Rails log file" do
24
+ logger = mock 'logger'
25
+ Logger.expects(:new).with(Puppet[:railslog]).returns(logger)
26
+ ActiveRecord::Base.expects(:logger=).with(logger)
27
+
28
+ Puppet::Rails.connect
29
+ end
30
+
31
+ it "should set the log level to whatever the value is in the settings" do
32
+ Puppet.settings.stubs(:use)
33
+ Puppet.settings.stubs(:value).with(:rails_loglevel).returns("debug")
34
+ Puppet.settings.stubs(:value).with(:railslog).returns("/my/file")
35
+ logger = mock 'logger'
36
+ Logger.stubs(:new).returns(logger)
37
+ ActiveRecord::Base.stubs(:logger).returns(logger)
38
+ logger.expects(:level=).with(Logger::DEBUG)
39
+
40
+ ActiveRecord::Base.stubs(:allow_concurrency=)
41
+ ActiveRecord::Base.stubs(:verify_active_connections!)
42
+ ActiveRecord::Base.stubs(:establish_connection)
43
+ Puppet::Rails.stubs(:database_arguments)
44
+
45
+ Puppet::Rails.connect
46
+ end
47
+
48
+ it "should set ActiveRecord::Base.allow_concurrency" do
49
+ ActiveRecord::Base.expects(:allow_concurrency=).with(true)
50
+
51
+ Puppet::Rails.connect
52
+ end
53
+
54
+ it "should call ActiveRecord::Base.verify_active_connections!" do
55
+ ActiveRecord::Base.expects(:verify_active_connections!)
56
+
57
+ Puppet::Rails.connect
58
+ end
59
+
60
+ it "should call ActiveRecord::Base.establish_connection with database_arguments" do
61
+ Puppet::Rails.expects(:database_arguments)
62
+ ActiveRecord::Base.expects(:establish_connection)
63
+
64
+ Puppet::Rails.connect
65
+ end
66
+ end
67
+
68
+ describe Puppet::Rails, "when initializing a sqlite3 connection" do
69
+ confine Puppet.features.rails? => "Cannot test without ActiveRecord"
70
+
71
+ it "should provide the adapter, log_level, and dbfile arguments" do
72
+ Puppet.settings.expects(:value).with(:dbadapter).returns("sqlite3")
73
+ Puppet.settings.expects(:value).with(:rails_loglevel).returns("testlevel")
74
+ Puppet.settings.expects(:value).with(:dblocation).returns("testlocation")
75
+
76
+ Puppet::Rails.database_arguments.should == {
77
+ :adapter => "sqlite3",
78
+ :log_level => "testlevel",
79
+ :dbfile => "testlocation"
80
+ }
81
+ end
82
+ end
83
+
84
+ describe Puppet::Rails, "when initializing a mysql or postgresql connection" do
85
+ confine Puppet.features.rails? => "Cannot test without ActiveRecord"
86
+
87
+ it "should provide the adapter, log_level, and host, username, password, and database arguments" do
88
+ Puppet.settings.stubs(:value).with(:dbadapter).returns("mysql")
89
+ Puppet.settings.stubs(:value).with(:rails_loglevel).returns("testlevel")
90
+ Puppet.settings.stubs(:value).with(:dbserver).returns("testserver")
91
+ Puppet.settings.stubs(:value).with(:dbuser).returns("testuser")
92
+ Puppet.settings.stubs(:value).with(:dbpassword).returns("testpassword")
93
+ Puppet.settings.stubs(:value).with(:dbname).returns("testname")
94
+ Puppet.settings.stubs(:value).with(:dbsocket).returns("")
95
+
96
+ Puppet::Rails.database_arguments.should == {
97
+ :adapter => "mysql",
98
+ :log_level => "testlevel",
99
+ :host => "testserver",
100
+ :username => "testuser",
101
+ :password => "testpassword",
102
+ :database => "testname"
103
+ }
104
+ end
105
+
106
+ it "should provide the adapter, log_level, and host, username, password, database, and socket arguments" do
107
+ Puppet.settings.stubs(:value).with(:dbadapter).returns("mysql")
108
+ Puppet.settings.stubs(:value).with(:rails_loglevel).returns("testlevel")
109
+ Puppet.settings.stubs(:value).with(:dbserver).returns("testserver")
110
+ Puppet.settings.stubs(:value).with(:dbuser).returns("testuser")
111
+ Puppet.settings.stubs(:value).with(:dbpassword).returns("testpassword")
112
+ Puppet.settings.stubs(:value).with(:dbname).returns("testname")
113
+ Puppet.settings.stubs(:value).with(:dbsocket).returns("testsocket")
114
+
115
+ Puppet::Rails.database_arguments.should == {
116
+ :adapter => "mysql",
117
+ :log_level => "testlevel",
118
+ :host => "testserver",
119
+ :username => "testuser",
120
+ :password => "testpassword",
121
+ :database => "testname",
122
+ :socket => "testsocket"
123
+ }
124
+ end
125
+ end
@@ -0,0 +1,149 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # Created by Luke Kanies on 2007-11-1.
4
+ # Copyright (c) 2006. All rights reserved.
5
+
6
+ require File.dirname(__FILE__) + '/../spec_helper'
7
+ require 'puppet/relationship'
8
+
9
+ describe Puppet::Relationship do
10
+ before do
11
+ @edge = Puppet::Relationship.new(:a, :b)
12
+ end
13
+
14
+ it "should have a :source attribute" do
15
+ @edge.should respond_to(:source)
16
+ end
17
+
18
+ it "should have a :target attribute" do
19
+ @edge.should respond_to(:target)
20
+ end
21
+
22
+ it "should have a :label attribute" do
23
+ @edge.should respond_to(:label)
24
+ end
25
+
26
+ it "should provide a :ref method that describes the edge" do
27
+ @edge = Puppet::Relationship.new("a", "b")
28
+ @edge.ref.should == "a => b"
29
+ end
30
+ end
31
+
32
+ describe Puppet::Relationship, " when initializing" do
33
+ before do
34
+ @edge = Puppet::Relationship.new(:a, :b, :testing => :foo)
35
+ end
36
+
37
+ it "should use the first argument as the source" do
38
+ @edge.source.should == :a
39
+ end
40
+
41
+ it "should use the second argument as the target" do
42
+ @edge.target.should == :b
43
+ end
44
+
45
+ it "should use the third argument as the label" do
46
+ @edge.label.should == {:testing => :foo}
47
+ end
48
+
49
+ it "should require a callback if a non-NONE event is specified" do
50
+ proc { Puppet::Relationship.new(:a, :b, :event => :something) }.should raise_error(ArgumentError)
51
+ end
52
+
53
+ it "should require the label to be a hash" do
54
+ proc { Puppet::Relationship.new(:a, :b, :event) }.should raise_error(ArgumentError)
55
+ end
56
+ end
57
+
58
+ describe Puppet::Relationship, " when interpreting the label" do
59
+ it "should default to an event of nil" do
60
+ @edge = Puppet::Relationship.new(:a, :b)
61
+ @edge.event.should be_nil
62
+ end
63
+
64
+ it "should expose a provided event via the :event method" do
65
+ @edge = Puppet::Relationship.new(:a, :b, :event => :something, :callback => :whatever)
66
+ @edge.event.should == :something
67
+ end
68
+
69
+ it "should default to a nil callback" do
70
+ @edge = Puppet::Relationship.new(:a, :b)
71
+ @edge.callback.should be_nil
72
+ end
73
+
74
+ it "should expose a provided callback via the :callback method" do
75
+ @edge = Puppet::Relationship.new(:a, :b, :callback => :testing)
76
+ @edge.callback.should == :testing
77
+ end
78
+ end
79
+
80
+ describe Puppet::Relationship, " when matching edges with no specified event" do
81
+ before do
82
+ @edge = Puppet::Relationship.new(:a, :b)
83
+ end
84
+
85
+ it "should not match :NONE" do
86
+ @edge.should_not be_match(:NONE)
87
+ end
88
+
89
+ it "should not match :ALL_EVENTS" do
90
+ @edge.should_not be_match(:NONE)
91
+ end
92
+
93
+ it "should not match any other events" do
94
+ @edge.should_not be_match(:whatever)
95
+ end
96
+ end
97
+
98
+ describe Puppet::Relationship, " when matching edges with :NONE as the event" do
99
+ before do
100
+ @edge = Puppet::Relationship.new(:a, :b, :event => :NONE)
101
+ end
102
+ it "should not match :NONE" do
103
+ @edge.should_not be_match(:NONE)
104
+ end
105
+
106
+ it "should not match :ALL_EVENTS" do
107
+ @edge.should_not be_match(:ALL_EVENTS)
108
+ end
109
+
110
+ it "should not match other events" do
111
+ @edge.should_not be_match(:yayness)
112
+ end
113
+ end
114
+
115
+ describe Puppet::Relationship, " when matching edges with :ALL as the event" do
116
+ before do
117
+ @edge = Puppet::Relationship.new(:a, :b, :event => :ALL_EVENTS, :callback => :whatever)
118
+ end
119
+
120
+ it "should not match :NONE" do
121
+ @edge.should_not be_match(:NONE)
122
+ end
123
+
124
+ it "should match :ALL_EVENTS" do
125
+ @edge.should be_match(:ALLEVENTS)
126
+ end
127
+
128
+ it "should match all other events" do
129
+ @edge.should be_match(:foo)
130
+ end
131
+ end
132
+
133
+ describe Puppet::Relationship, " when matching edges with a non-standard event" do
134
+ before do
135
+ @edge = Puppet::Relationship.new(:a, :b, :event => :random, :callback => :whatever)
136
+ end
137
+
138
+ it "should not match :NONE" do
139
+ @edge.should_not be_match(:NONE)
140
+ end
141
+
142
+ it "should not match :ALL_EVENTS" do
143
+ @edge.should_not be_match(:ALL_EVENTS)
144
+ end
145
+
146
+ it "should match events with the same name" do
147
+ @edge.should be_match(:random)
148
+ end
149
+ end