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,249 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require File.dirname(__FILE__) + '/../../../spec_helper'
4
+
5
+ provider_class = Puppet::Type.type(:user).provider(:user_role_add)
6
+
7
+ describe provider_class do
8
+ before do
9
+ @resource = stub("resource", :name => "myuser", :managehome? => nil)
10
+ @resource.stubs(:should).returns "fakeval"
11
+ @resource.stubs(:[]).returns "fakeval"
12
+ @resource.stubs(:allowdupe?).returns false
13
+ @provider = provider_class.new(@resource)
14
+ end
15
+
16
+ describe "when calling command" do
17
+ before do
18
+ klass = stub("provider")
19
+ klass.stubs(:command).with(:foo).returns("userfoo")
20
+ klass.stubs(:command).with(:role_foo).returns("rolefoo")
21
+ @provider.stubs(:class).returns(klass)
22
+ end
23
+
24
+ it "should use the command if not a role and ensure!=role" do
25
+ @provider.stubs(:is_role?).returns(false)
26
+ @provider.stubs(:exists?).returns(false)
27
+ @resource.stubs(:[]).with(:ensure).returns(:present)
28
+ @provider.command(:foo).should == "userfoo"
29
+ end
30
+
31
+ it "should use the role command when a role" do
32
+ @provider.stubs(:is_role?).returns(true)
33
+ @provider.command(:foo).should == "rolefoo"
34
+ end
35
+
36
+ it "should use the role command when !exists and ensure=role" do
37
+ @provider.stubs(:is_role?).returns(false)
38
+ @provider.stubs(:exists?).returns(false)
39
+ @resource.stubs(:[]).with(:ensure).returns(:role)
40
+ @provider.command(:foo).should == "rolefoo"
41
+ end
42
+ end
43
+
44
+ describe "when calling transition" do
45
+ it "should return the type set to whatever is passed in" do
46
+ @provider.expects(:command).with(:modify).returns("foomod")
47
+ @provider.transition("bar").include?("type=bar")
48
+ end
49
+ end
50
+
51
+ describe "when calling create" do
52
+ before do
53
+ @provider.stubs(:password=)
54
+ end
55
+
56
+ it "should use the add command when the user is not a role" do
57
+ @provider.stubs(:is_role?).returns(false)
58
+ @provider.expects(:addcmd).returns("useradd")
59
+ @provider.expects(:run)
60
+ @provider.create
61
+ end
62
+
63
+ it "should use transition(normal) when the user is a role" do
64
+ @provider.stubs(:is_role?).returns(true)
65
+ @provider.expects(:transition).with("normal")
66
+ @provider.expects(:run)
67
+ @provider.create
68
+ end
69
+ end
70
+
71
+ describe "when calling destroy" do
72
+ it "should use the delete command if the user exists and is not a role" do
73
+ @provider.stubs(:exists?).returns(true)
74
+ @provider.stubs(:is_role?).returns(false)
75
+ @provider.expects(:deletecmd)
76
+ @provider.expects(:run)
77
+ @provider.destroy
78
+ end
79
+
80
+ it "should use the delete command if the user is a role" do
81
+ @provider.stubs(:exists?).returns(true)
82
+ @provider.stubs(:is_role?).returns(true)
83
+ @provider.expects(:deletecmd)
84
+ @provider.expects(:run)
85
+ @provider.destroy
86
+ end
87
+ end
88
+
89
+ describe "when calling create_role" do
90
+ it "should use the transition(role) if the user exists" do
91
+ @provider.stubs(:exists?).returns(true)
92
+ @provider.stubs(:is_role?).returns(false)
93
+ @provider.expects(:transition).with("role")
94
+ @provider.expects(:run)
95
+ @provider.create_role
96
+ end
97
+
98
+ it "should use the add command when role doesn't exists" do
99
+ @provider.stubs(:exists?).returns(false)
100
+ @provider.expects(:addcmd)
101
+ @provider.expects(:run)
102
+ @provider.create_role
103
+ end
104
+ end
105
+
106
+ describe "when allow duplicate is enabled" do
107
+ before do
108
+ @resource.expects(:allowdupe?).returns true
109
+ @provider.stubs(:is_role?).returns(false)
110
+ @provider.expects(:execute).with { |args| args.include?("-o") }
111
+ end
112
+
113
+ it "should add -o when the user is being created" do
114
+ @provider.stubs(:password=)
115
+ @provider.create
116
+ end
117
+
118
+ it "should add -o when the uid is being modified" do
119
+ @provider.uid = 150
120
+ end
121
+ end
122
+
123
+ [:roles, :auths, :profiles].each do |val|
124
+ describe "when getting #{val}" do
125
+ it "should get the user_attributes" do
126
+ @provider.expects(:user_attributes)
127
+ @provider.send(val)
128
+ end
129
+
130
+ it "should get the #{val} attribute" do
131
+ attributes = mock("attributes")
132
+ attributes.expects(:[]).with(val)
133
+ @provider.stubs(:user_attributes).returns(attributes)
134
+ @provider.send(val)
135
+ end
136
+ end
137
+ end
138
+
139
+ describe "when getting the keys" do
140
+ it "should get the user_attributes" do
141
+ @provider.expects(:user_attributes)
142
+ @provider.keys
143
+ end
144
+
145
+ it "should call removed_managed_attributes" do
146
+ @provider.stubs(:user_attributes).returns({ :type => "normal", :foo => "something" })
147
+ @provider.expects(:remove_managed_attributes)
148
+ @provider.keys
149
+ end
150
+
151
+ it "should removed managed attribute (type, auths, roles, etc)" do
152
+ @provider.stubs(:user_attributes).returns({ :type => "normal", :foo => "something" })
153
+ @provider.keys.should == { :foo => "something" }
154
+ end
155
+ end
156
+
157
+ describe "when adding properties" do
158
+ it "should call build_keys_cmd" do
159
+ @resource.stubs(:should).returns ""
160
+ @resource.expects(:should).with(:keys).returns({ :foo => "bar" })
161
+ @provider.expects(:build_keys_cmd).returns([])
162
+ @provider.add_properties
163
+ end
164
+
165
+ it "should add the elements of the keys hash to an array" do
166
+ @resource.stubs(:should).returns ""
167
+ @resource.expects(:should).with(:keys).returns({ :foo => "bar"})
168
+ @provider.add_properties.must == ["-K", "foo=bar"]
169
+ end
170
+ end
171
+
172
+ describe "when calling build_keys_cmd" do
173
+ it "should build cmd array with keypairs seperated by -K ending with user" do
174
+ @provider.build_keys_cmd({"foo" => "bar", "baz" => "boo"}).should.eql? ["-K", "foo=bar", "-K", "baz=boo"]
175
+ end
176
+ end
177
+
178
+ describe "when setting the keys" do
179
+ before do
180
+ @provider.stubs(:is_role?).returns(false)
181
+ end
182
+
183
+ it "should run a command" do
184
+ @provider.expects(:run)
185
+ @provider.keys=({})
186
+ end
187
+
188
+ it "should build the command" do
189
+ @resource.stubs(:[]).with(:name).returns("someuser")
190
+ @provider.stubs(:command).returns("usermod")
191
+ @provider.expects(:build_keys_cmd).returns(["-K", "foo=bar"])
192
+ @provider.expects(:run).with(["usermod", "-K", "foo=bar", "someuser"], "modify attribute key pairs")
193
+ @provider.keys=({})
194
+ end
195
+ end
196
+
197
+ describe "when getting the hashed password" do
198
+ before do
199
+ @array = mock "array"
200
+ end
201
+
202
+ it "should readlines of /etc/shadow" do
203
+ File.expects(:readlines).with("/etc/shadow").returns([])
204
+ @provider.password
205
+ end
206
+
207
+ it "should reject anything that doesn't start with alpha numerics" do
208
+ @array.expects(:reject).returns([])
209
+ File.stubs(:readlines).with("/etc/shadow").returns(@array)
210
+ @provider.password
211
+ end
212
+
213
+ it "should collect splitting on ':'" do
214
+ @array.stubs(:reject).returns(@array)
215
+ @array.expects(:collect).returns([])
216
+ File.stubs(:readlines).with("/etc/shadow").returns(@array)
217
+ @provider.password
218
+ end
219
+
220
+ it "should find the matching user" do
221
+ @resource.stubs(:[]).with(:name).returns("username")
222
+ @array.stubs(:reject).returns(@array)
223
+ @array.stubs(:collect).returns([["username", "hashedpassword"], ["someoneelse", "theirpassword"]])
224
+ File.stubs(:readlines).with("/etc/shadow").returns(@array)
225
+ @provider.password.must == "hashedpassword"
226
+ end
227
+
228
+ it "should get the right password" do
229
+ @resource.stubs(:[]).with(:name).returns("username")
230
+ File.stubs(:readlines).with("/etc/shadow").returns(["#comment", " nonsense", " ", "username:hashedpassword:stuff:foo:bar:::", "other:pword:yay:::"])
231
+ @provider.password.must == "hashedpassword"
232
+ end
233
+ end
234
+
235
+ describe "when setting the password" do
236
+ #how can you mock these blocks up?
237
+ it "should open /etc/shadow for reading and /etc/shadow_tmp for writing" do
238
+ File.expects(:open).with("/etc/shadow", "r")
239
+ File.stubs(:rename)
240
+ @provider.password=("hashedpassword")
241
+ end
242
+
243
+ it "should rename the /etc/shadow_tmp to /etc/shadow" do
244
+ File.stubs(:open).with("/etc/shadow", "r")
245
+ File.expects(:rename).with("/etc/shadow_tmp", "/etc/shadow")
246
+ @provider.password=("hashedpassword")
247
+ end
248
+ end
249
+ end
@@ -0,0 +1,115 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require File.dirname(__FILE__) + '/../../../spec_helper'
4
+
5
+ provider_class = Puppet::Type.type(:user).provider(:useradd)
6
+
7
+ describe provider_class do
8
+ before do
9
+ @resource = stub("resource", :name => "myuser", :managehome? => nil)
10
+ @resource.stubs(:should).returns "fakeval"
11
+ @resource.stubs(:[]).returns "fakeval"
12
+ @provider = provider_class.new(@resource)
13
+ end
14
+
15
+ # #1360
16
+ it "should add -o when allowdupe is enabled and the user is being created" do
17
+ @resource.expects(:allowdupe?).returns true
18
+ @provider.expects(:execute).with { |args| args.include?("-o") }
19
+ @provider.create
20
+ end
21
+
22
+ it "should add -o when allowdupe is enabled and the uid is being modified" do
23
+ @resource.expects(:allowdupe?).returns true
24
+ @provider.expects(:execute).with { |args| args.include?("-o") }
25
+
26
+ @provider.uid = 150
27
+ end
28
+
29
+ describe "when checking to add allow dup" do
30
+ it "should check allow dup" do
31
+ @resource.expects(:allowdupe?)
32
+ @provider.check_allow_dup
33
+ end
34
+
35
+ it "should return an array with a flag if dup is allowed" do
36
+ @resource.stubs(:allowdupe?).returns true
37
+ @provider.check_allow_dup.must == ["-o"]
38
+ end
39
+
40
+ it "should return an empty array if no dup is allowed" do
41
+ @resource.stubs(:allowdupe?).returns false
42
+ @provider.check_allow_dup.must == []
43
+ end
44
+ end
45
+
46
+ describe "when checking manage home" do
47
+ it "should check manage home" do
48
+ @resource.expects(:managehome?)
49
+ @provider.check_manage_home
50
+ end
51
+
52
+ it "should return an array with -m flag if home is managed" do
53
+ @resource.stubs(:managehome?).returns true
54
+ @provider.check_manage_home.must == ["-m"]
55
+ end
56
+
57
+ it "should return an array with -M if home is not managed and on Redhat" do
58
+ Facter.stubs(:value).with("operatingsystem").returns("RedHat")
59
+ @resource.stubs(:managehome?).returns false
60
+ @provider.check_manage_home.must == ["-M"]
61
+ end
62
+
63
+ it "should return an empty array if home is not managed and not on Redhat" do
64
+ Facter.stubs(:value).with("operatingsystem").returns("some OS")
65
+ @resource.stubs(:managehome?).returns false
66
+ @provider.check_manage_home.must == []
67
+ end
68
+ end
69
+
70
+ describe "when adding properties" do
71
+ it "should get the valid properties"
72
+ it "should not add the ensure property"
73
+ it "should add the flag and value to an array"
74
+ it "should return and array of flags and values"
75
+ end
76
+
77
+ describe "when calling addcmd" do
78
+ before do
79
+ @resource.stubs(:allowdupe?).returns true
80
+ @resource.stubs(:managehome?).returns true
81
+ end
82
+
83
+ it "should call command with :add" do
84
+ @provider.expects(:command).with(:add)
85
+ @provider.addcmd
86
+ end
87
+
88
+ it "should add properties" do
89
+ @provider.expects(:add_properties).returns([])
90
+ @provider.addcmd
91
+ end
92
+
93
+ it "should check and add if dup allowed" do
94
+ @provider.expects(:check_allow_dup).returns([])
95
+ @provider.addcmd
96
+ end
97
+
98
+ it "should check and add if home is managed" do
99
+ @provider.expects(:check_manage_home).returns([])
100
+ @provider.addcmd
101
+ end
102
+
103
+ it "should add the resource :name" do
104
+ @resource.expects(:[]).with(:name)
105
+ @provider.addcmd
106
+ end
107
+
108
+ it "should return an array with full command" do
109
+ @provider.stubs(:command).with(:add).returns("useradd")
110
+ @provider.stubs(:add_properties).returns(["-G", "somegroup"])
111
+ @resource.stubs(:[]).with(:name).returns("someuser")
112
+ @provider.addcmd.must == ["useradd", "-G", "somegroup", "-o", "-m", "someuser"]
113
+ end
114
+ end
115
+ end
@@ -0,0 +1,87 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require File.dirname(__FILE__) + '/../../../spec_helper'
4
+
5
+ provider_class = Puppet::Type.type(:zfs).provider(:solaris)
6
+
7
+ describe provider_class do
8
+ before do
9
+ @resource = stub("resource", :name => "myzfs")
10
+ @resource.stubs(:[]).with(:name).returns "myzfs"
11
+ @resource.stubs(:[]).returns "shouldvalue"
12
+ @provider = provider_class.new(@resource)
13
+ end
14
+
15
+ describe "when calling add_properties" do
16
+ it "should add -o and the key=value for each properties with a value" do
17
+ @resource.stubs(:[]).with(:quota).returns ""
18
+ @resource.stubs(:[]).with(:mountpoint).returns "/foo"
19
+ properties = @provider.add_properties
20
+ properties.include?("-o").should == true
21
+ properties.include?("mountpoint=/foo").should == true
22
+ properties.detect { |a| a.include?("quota") }.should == nil
23
+ end
24
+ end
25
+
26
+ describe "when calling create" do
27
+ it "should call add_properties" do
28
+ @provider.stubs(:zfs)
29
+ @provider.expects(:add_properties).returns([])
30
+ @provider.create
31
+ end
32
+
33
+ it "should call zfs with create, properties and this zfs" do
34
+ @provider.stubs(:add_properties).returns(%w{a b})
35
+ @provider.expects(:zfs).with(:create, "a", "b", @resource[:name])
36
+ @provider.create
37
+ end
38
+ end
39
+
40
+ describe "when calling delete" do
41
+ it "should call zfs with :destroy and this zfs" do
42
+ @provider.expects(:zfs).with(:destroy, @resource[:name])
43
+ @provider.delete
44
+ end
45
+ end
46
+
47
+ describe "when calling exist?" do
48
+ it "should call zfs with :list" do
49
+ #return stuff because we have to slice and dice it
50
+ @provider.expects(:zfs).with(:list).returns("NAME USED AVAIL REFER MOUNTPOINT\nmyzfs 100K 27.4M /myzfs")
51
+ @provider.exists?
52
+ end
53
+
54
+ it "should return true if returned values match the name" do
55
+ @provider.stubs(:zfs).with(:list).returns("NAME USED AVAIL REFER MOUNTPOINT\n#{@resource[:name]} 100K 27.4M /myzfs")
56
+ @provider.exists?.should == true
57
+ end
58
+
59
+ it "should return false if returned values don't match the name" do
60
+ @provider.stubs(:zfs).with(:list).returns("no soup for you")
61
+ @provider.exists?.should == false
62
+ end
63
+
64
+ end
65
+
66
+ [:mountpoint, :compression, :copies, :quota, :reservation, :sharenfs, :snapdir].each do |prop|
67
+ describe "when getting the #{prop} value" do
68
+ it "should call zfs with :get, #{prop} and this zfs" do
69
+ @provider.expects(:zfs).with(:get, "-H", "-o", "value", prop, @resource[:name]).returns("value\n")
70
+ @provider.send(prop)
71
+ end
72
+
73
+ it "should get the third value of the second line from the output" do
74
+ @provider.stubs(:zfs).with(:get, "-H", "-o", "value", prop, @resource[:name]).returns("value\n")
75
+ @provider.send(prop).should == "value"
76
+ end
77
+ end
78
+
79
+ describe "when setting the #{prop} value" do
80
+ it "should call zfs with :set, #{prop}=value and this zfs" do
81
+ @provider.expects(:zfs).with(:set, "#{prop}=value", @resource[:name])
82
+ @provider.send("#{prop}=".intern, "value")
83
+ end
84
+ end
85
+ end
86
+
87
+ end