puppet 0.24.9 → 0.25.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of puppet might be problematic. Click here for more details.

Files changed (910) hide show
  1. data/CHANGELOG +18680 -1241
  2. data/CHANGELOG.old +1705 -0
  3. data/LICENSE +2 -2
  4. data/README +1 -1
  5. data/README.queueing +126 -0
  6. data/README.rst +4 -4
  7. data/Rakefile +62 -216
  8. data/bin/filebucket +6 -117
  9. data/bin/pi +50 -0
  10. data/bin/puppet +7 -188
  11. data/bin/puppetdoc +7 -198
  12. data/bin/ralsh +4 -191
  13. data/conf/auth.conf +94 -0
  14. data/conf/gentoo/init.d/puppetmaster +30 -30
  15. data/conf/osx/PackageInfo.plist +30 -30
  16. data/conf/osx/createpackage.sh +23 -18
  17. data/conf/osx/preflight +8 -0
  18. data/conf/puppet-queue.conf +10 -0
  19. data/conf/redhat/client.init +52 -41
  20. data/conf/redhat/logrotate +1 -0
  21. data/conf/redhat/puppet.spec +74 -36
  22. data/conf/redhat/rundir-perms.patch +28 -0
  23. data/conf/redhat/server.init +48 -43
  24. data/conf/redhat/server.sysconfig +4 -4
  25. data/conf/solaris/smf/puppetd.xml +53 -53
  26. data/conf/solaris/smf/puppetmasterd.xml +53 -53
  27. data/conf/solaris/smf/svc-puppetd +4 -4
  28. data/conf/solaris/smf/svc-puppetmasterd +3 -3
  29. data/conf/suse/client.init +4 -4
  30. data/conf/suse/puppet.spec +14 -14
  31. data/conf/suse/server.init +17 -17
  32. data/examples/etc/init.d/sleeper +8 -8
  33. data/examples/mac_dscl.pp +2 -2
  34. data/examples/mac_dscl_revert.pp +1 -1
  35. data/examples/mcx_dock_default.pp +108 -108
  36. data/examples/mcx_dock_full.pp +108 -108
  37. data/examples/mcx_nogroup.pp +108 -108
  38. data/examples/modules/sample-module/lib/puppet/parser/functions/hostname_to_dn.rb +5 -5
  39. data/examples/modules/sample-module/manifests/init.pp +2 -2
  40. data/examples/relationships +1 -1
  41. data/ext/autotest/config +6 -6
  42. data/ext/bin/sleeper +12 -12
  43. data/ext/dbfix.sql +21 -21
  44. data/ext/emacs/puppet-mode.el +42 -41
  45. data/ext/extlookup.rb +183 -0
  46. data/ext/ldap/puppet.schema +2 -1
  47. data/ext/logcheck/puppet +1 -1
  48. data/ext/module_puppet +7 -7
  49. data/ext/nagios/check_puppet.rb +83 -83
  50. data/ext/nagios/naggen +302 -0
  51. data/ext/puppet-test +61 -18
  52. data/ext/puppetlisten/puppetlisten.rb +76 -0
  53. data/ext/puppetlisten/puppetrun.rb +39 -0
  54. data/ext/puppetstoredconfigclean.rb +29 -29
  55. data/ext/rack/README +73 -0
  56. data/ext/rack/files/apache2.conf +38 -0
  57. data/ext/rack/files/config.ru +18 -0
  58. data/ext/rack/manifest.pp +59 -0
  59. data/ext/vim/syntax/puppet.vim +54 -35
  60. data/install.rb +37 -26
  61. data/lib/puppet.rb +15 -227
  62. data/lib/puppet/agent.rb +134 -0
  63. data/lib/puppet/agent/locker.rb +42 -0
  64. data/lib/puppet/agent/runner.rb +65 -0
  65. data/lib/puppet/application.rb +313 -0
  66. data/lib/puppet/application/filebucket.rb +87 -0
  67. data/lib/puppet/application/pi.rb +214 -0
  68. data/lib/puppet/application/puppet.rb +177 -0
  69. data/lib/puppet/application/puppetca.rb +71 -0
  70. data/lib/puppet/application/puppetd.rb +256 -0
  71. data/lib/puppet/application/puppetdoc.rb +222 -0
  72. data/lib/puppet/application/puppetmasterd.rb +168 -0
  73. data/lib/puppet/application/puppetqd.rb +96 -0
  74. data/lib/puppet/application/puppetrun.rb +219 -0
  75. data/lib/puppet/application/ralsh.rb +168 -0
  76. data/lib/puppet/configurer.rb +177 -0
  77. data/lib/puppet/configurer/downloader.rb +79 -0
  78. data/lib/puppet/configurer/fact_handler.rb +68 -0
  79. data/lib/puppet/configurer/plugin_handler.rb +26 -0
  80. data/lib/puppet/daemon.rb +78 -28
  81. data/lib/puppet/defaults.rb +239 -166
  82. data/lib/puppet/dsl.rb +7 -7
  83. data/lib/puppet/external/dot.rb +271 -271
  84. data/lib/puppet/external/event-loop/better-definers.rb +298 -298
  85. data/lib/puppet/external/event-loop/event-loop.rb +274 -274
  86. data/lib/puppet/external/event-loop/signal-system.rb +163 -163
  87. data/lib/puppet/external/lock.rb +1 -1
  88. data/lib/puppet/external/nagios.rb +20 -20
  89. data/lib/puppet/external/nagios/base.rb +3 -3
  90. data/lib/puppet/external/nagios/grammar.ry +185 -0
  91. data/lib/puppet/external/nagios/makefile +9 -0
  92. data/lib/puppet/external/nagios/parser.rb +1 -1
  93. data/lib/puppet/feature/json.rb +2 -0
  94. data/lib/puppet/feature/rack.rb +24 -0
  95. data/lib/puppet/feature/rails.rb +23 -33
  96. data/lib/puppet/feature/rubygems.rb +6 -0
  97. data/lib/puppet/feature/stomp.rb +6 -0
  98. data/lib/puppet/file_serving/{file_base.rb → base.rb} +10 -9
  99. data/lib/puppet/file_serving/configuration.rb +61 -61
  100. data/lib/puppet/file_serving/configuration/parser.rb +24 -29
  101. data/lib/puppet/file_serving/content.rb +26 -11
  102. data/lib/puppet/file_serving/fileset.rb +54 -19
  103. data/lib/puppet/file_serving/indirection_hooks.rb +12 -24
  104. data/lib/puppet/file_serving/metadata.rb +8 -8
  105. data/lib/puppet/file_serving/mount.rb +9 -151
  106. data/lib/puppet/file_serving/mount/file.rb +126 -0
  107. data/lib/puppet/file_serving/mount/modules.rb +25 -0
  108. data/lib/puppet/file_serving/mount/plugins.rb +27 -0
  109. data/lib/puppet/file_serving/terminus_helper.rb +9 -4
  110. data/lib/puppet/indirector.rb +6 -4
  111. data/lib/puppet/indirector/active_record.rb +28 -0
  112. data/lib/puppet/indirector/catalog/active_record.rb +36 -0
  113. data/lib/puppet/indirector/catalog/compiler.rb +50 -24
  114. data/lib/puppet/indirector/catalog/queue.rb +5 -0
  115. data/lib/puppet/indirector/catalog/rest.rb +6 -0
  116. data/lib/puppet/indirector/catalog/yaml.rb +2 -4
  117. data/lib/puppet/indirector/certificate/ca.rb +9 -0
  118. data/lib/puppet/indirector/certificate/file.rb +9 -0
  119. data/lib/puppet/indirector/certificate/rest.rb +9 -0
  120. data/lib/puppet/indirector/certificate_request/ca.rb +14 -0
  121. data/lib/puppet/indirector/certificate_request/file.rb +8 -0
  122. data/lib/puppet/indirector/certificate_request/rest.rb +9 -0
  123. data/lib/puppet/indirector/certificate_revocation_list/ca.rb +8 -0
  124. data/lib/puppet/indirector/certificate_revocation_list/file.rb +8 -0
  125. data/lib/puppet/indirector/certificate_revocation_list/rest.rb +9 -0
  126. data/lib/puppet/indirector/direct_file_server.rb +4 -8
  127. data/lib/puppet/indirector/exec.rb +2 -6
  128. data/lib/puppet/indirector/facts/active_record.rb +36 -0
  129. data/lib/puppet/indirector/facts/facter.rb +30 -22
  130. data/lib/puppet/indirector/facts/rest.rb +6 -0
  131. data/lib/puppet/indirector/file.rb +1 -0
  132. data/lib/puppet/indirector/file_content/rest.rb +0 -1
  133. data/lib/puppet/indirector/file_metadata/file.rb +2 -2
  134. data/lib/puppet/indirector/file_metadata/rest.rb +0 -1
  135. data/lib/puppet/indirector/file_server.rb +31 -18
  136. data/lib/puppet/indirector/indirection.rb +46 -33
  137. data/lib/puppet/indirector/key/ca.rb +12 -0
  138. data/lib/puppet/indirector/key/file.rb +42 -0
  139. data/lib/puppet/indirector/node/active_record.rb +13 -0
  140. data/lib/puppet/indirector/node/ldap.rb +1 -1
  141. data/lib/puppet/indirector/queue.rb +83 -0
  142. data/lib/puppet/indirector/report/processor.rb +1 -1
  143. data/lib/puppet/indirector/report/rest.rb +7 -0
  144. data/lib/puppet/indirector/request.rb +158 -15
  145. data/lib/puppet/indirector/rest.rb +74 -36
  146. data/lib/puppet/indirector/runner/rest.rb +7 -0
  147. data/lib/puppet/indirector/ssl_file.rb +174 -0
  148. data/lib/puppet/indirector/terminus.rb +4 -4
  149. data/lib/puppet/indirector/yaml.rb +1 -1
  150. data/lib/puppet/metatype/manager.rb +3 -3
  151. data/lib/puppet/module.rb +99 -124
  152. data/lib/puppet/network/authconfig.rb +57 -42
  153. data/lib/puppet/network/authstore.rb +58 -10
  154. data/lib/puppet/network/client.rb +0 -2
  155. data/lib/puppet/network/client/ca.rb +1 -1
  156. data/lib/puppet/network/client/dipper.rb +7 -2
  157. data/lib/puppet/network/format.rb +123 -0
  158. data/lib/puppet/network/format_handler.rb +156 -0
  159. data/lib/puppet/network/formats.rb +123 -0
  160. data/lib/puppet/network/handler/filebucket.rb +1 -1
  161. data/lib/puppet/network/handler/fileserver.rb +43 -35
  162. data/lib/puppet/network/handler/master.rb +4 -4
  163. data/lib/puppet/network/handler/report.rb +1 -1
  164. data/lib/puppet/network/handler/resource.rb +16 -20
  165. data/lib/puppet/network/handler/runner.rb +9 -42
  166. data/lib/puppet/network/http.rb +4 -4
  167. data/lib/puppet/network/http/api.rb +4 -0
  168. data/lib/puppet/network/http/api/v1.rb +65 -0
  169. data/lib/puppet/network/http/handler.rb +163 -56
  170. data/lib/puppet/network/http/mongrel.rb +19 -15
  171. data/lib/puppet/network/http/mongrel/rest.rb +35 -17
  172. data/lib/puppet/network/http/rack.rb +62 -0
  173. data/lib/puppet/network/http/rack/httphandler.rb +34 -0
  174. data/lib/puppet/network/http/rack/rest.rb +79 -0
  175. data/lib/puppet/network/http/rack/xmlrpc.rb +65 -0
  176. data/lib/puppet/network/http/webrick.rb +89 -16
  177. data/lib/puppet/network/http/webrick/rest.rb +24 -11
  178. data/lib/puppet/network/http_pool.rb +28 -29
  179. data/lib/puppet/network/http_server/mongrel.rb +8 -10
  180. data/lib/puppet/network/http_server/webrick.rb +1 -3
  181. data/lib/puppet/network/rest_authconfig.rb +89 -0
  182. data/lib/puppet/network/rest_authorization.rb +25 -0
  183. data/lib/puppet/network/rights.rb +230 -27
  184. data/lib/puppet/network/server.rb +133 -31
  185. data/lib/puppet/network/xmlrpc/client.rb +5 -5
  186. data/lib/puppet/network/xmlrpc/webrick_servlet.rb +6 -6
  187. data/lib/puppet/node.rb +28 -21
  188. data/lib/puppet/node/environment.rb +48 -0
  189. data/lib/puppet/node/facts.rb +21 -0
  190. data/lib/puppet/parameter.rb +291 -219
  191. data/lib/puppet/parser/ast.rb +1 -0
  192. data/lib/puppet/parser/ast/astarray.rb +5 -1
  193. data/lib/puppet/parser/ast/boolean_operator.rb +3 -3
  194. data/lib/puppet/parser/ast/caseopt.rb +10 -0
  195. data/lib/puppet/parser/ast/casestatement.rb +12 -27
  196. data/lib/puppet/parser/ast/collection.rb +31 -0
  197. data/lib/puppet/parser/ast/collexpr.rb +18 -11
  198. data/lib/puppet/parser/ast/comparison_operator.rb +1 -1
  199. data/lib/puppet/parser/ast/definition.rb +6 -2
  200. data/lib/puppet/parser/ast/function.rb +7 -2
  201. data/lib/puppet/parser/ast/ifstatement.rb +11 -6
  202. data/lib/puppet/parser/ast/leaf.rb +106 -3
  203. data/lib/puppet/parser/ast/match_operator.rb +31 -0
  204. data/lib/puppet/parser/ast/node.rb +10 -6
  205. data/lib/puppet/parser/ast/resource_defaults.rb +2 -2
  206. data/lib/puppet/parser/ast/resource_override.rb +1 -1
  207. data/lib/puppet/parser/ast/resource_reference.rb +11 -3
  208. data/lib/puppet/parser/ast/selector.rb +14 -32
  209. data/lib/puppet/parser/ast/vardef.rb +1 -1
  210. data/lib/puppet/parser/collector.rb +67 -15
  211. data/lib/puppet/parser/compiler.rb +21 -53
  212. data/lib/puppet/parser/files.rb +92 -0
  213. data/lib/puppet/parser/functions.rb +3 -3
  214. data/lib/puppet/parser/functions/defined.rb +3 -3
  215. data/lib/puppet/parser/functions/fqdn_rand.rb +3 -3
  216. data/lib/puppet/parser/functions/inline_template.rb +4 -4
  217. data/lib/puppet/parser/functions/regsubst.rb +37 -35
  218. data/lib/puppet/parser/functions/require.rb +34 -0
  219. data/lib/puppet/parser/functions/shellquote.rb +41 -0
  220. data/lib/puppet/parser/functions/split.rb +29 -0
  221. data/lib/puppet/parser/functions/sprintf.rb +6 -6
  222. data/lib/puppet/parser/functions/template.rb +4 -4
  223. data/lib/puppet/parser/functions/versioncmp.rb +22 -1
  224. data/lib/puppet/parser/grammar.ra +812 -0
  225. data/lib/puppet/parser/interpreter.rb +4 -4
  226. data/lib/puppet/parser/lexer.rb +44 -15
  227. data/lib/puppet/parser/loaded_code.rb +115 -0
  228. data/lib/puppet/parser/makefile +8 -0
  229. data/lib/puppet/parser/parser.rb +1080 -928
  230. data/lib/puppet/parser/parser_support.rb +118 -96
  231. data/lib/puppet/parser/resource.rb +56 -126
  232. data/lib/puppet/parser/resource/param.rb +2 -76
  233. data/lib/puppet/parser/resource/reference.rb +15 -8
  234. data/lib/puppet/parser/scope.rb +68 -35
  235. data/lib/puppet/parser/templatewrapper.rb +8 -8
  236. data/lib/puppet/parser/yaml_trimmer.rb +11 -0
  237. data/lib/puppet/property.rb +69 -124
  238. data/lib/puppet/property/list.rb +3 -3
  239. data/lib/puppet/provider.rb +5 -5
  240. data/lib/puppet/provider/augeas/augeas.rb +119 -118
  241. data/lib/puppet/provider/computer/computer.rb +3 -3
  242. data/lib/puppet/provider/confine/variable.rb +1 -1
  243. data/lib/puppet/provider/cron/crontab.rb +8 -7
  244. data/lib/puppet/provider/group/directoryservice.rb +2 -2
  245. data/lib/puppet/provider/group/groupadd.rb +1 -1
  246. data/lib/puppet/provider/group/ldap.rb +3 -3
  247. data/lib/puppet/provider/group/pw.rb +1 -1
  248. data/lib/puppet/provider/host/parsed.rb +3 -3
  249. data/lib/puppet/provider/ldap.rb +1 -3
  250. data/lib/puppet/provider/macauthorization/macauthorization.rb +62 -55
  251. data/lib/puppet/provider/mailalias/aliases.rb +9 -1
  252. data/lib/puppet/provider/maillist/mailman.rb +8 -4
  253. data/lib/puppet/provider/mcx/mcxcontent.rb +11 -11
  254. data/lib/puppet/provider/mount/parsed.rb +2 -2
  255. data/lib/puppet/provider/nameservice.rb +6 -6
  256. data/lib/puppet/provider/nameservice/directoryservice.rb +83 -87
  257. data/lib/puppet/provider/package/appdmg.rb +10 -9
  258. data/lib/puppet/provider/package/apple.rb +1 -3
  259. data/lib/puppet/provider/package/apt.rb +5 -5
  260. data/lib/puppet/provider/package/aptitude.rb +1 -1
  261. data/lib/puppet/provider/package/aptrpm.rb +1 -1
  262. data/lib/puppet/provider/package/darwinport.rb +1 -1
  263. data/lib/puppet/provider/package/dpkg.rb +2 -2
  264. data/lib/puppet/provider/package/fink.rb +6 -6
  265. data/lib/puppet/provider/package/freebsd.rb +1 -1
  266. data/lib/puppet/provider/package/gem.rb +2 -2
  267. data/lib/puppet/provider/package/hpux.rb +5 -5
  268. data/lib/puppet/provider/package/pkgdmg.rb +30 -22
  269. data/lib/puppet/provider/package/portage.rb +1 -1
  270. data/lib/puppet/provider/package/ports.rb +1 -1
  271. data/lib/puppet/provider/package/rpm.rb +5 -5
  272. data/lib/puppet/provider/package/rug.rb +1 -1
  273. data/lib/puppet/provider/package/sun.rb +7 -7
  274. data/lib/puppet/provider/package/up2date.rb +1 -1
  275. data/lib/puppet/provider/package/yum.rb +2 -2
  276. data/lib/puppet/provider/package/yumhelper.py +2 -2
  277. data/lib/puppet/provider/port/parsed.rb +1 -1
  278. data/lib/puppet/provider/selmodule/semodule.rb +3 -3
  279. data/lib/puppet/provider/service/base.rb +21 -12
  280. data/lib/puppet/provider/service/daemontools.rb +86 -49
  281. data/lib/puppet/provider/service/debian.rb +20 -12
  282. data/lib/puppet/provider/service/freebsd.rb +5 -5
  283. data/lib/puppet/provider/service/gentoo.rb +2 -2
  284. data/lib/puppet/provider/service/init.rb +21 -33
  285. data/lib/puppet/provider/service/launchd.rb +120 -48
  286. data/lib/puppet/provider/service/redhat.rb +12 -21
  287. data/lib/puppet/provider/service/runit.rb +19 -9
  288. data/lib/puppet/provider/service/smf.rb +49 -34
  289. data/lib/puppet/provider/ssh_authorized_key/parsed.rb +34 -0
  290. data/lib/puppet/provider/sshkey/parsed.rb +2 -2
  291. data/lib/puppet/provider/user/directoryservice.rb +12 -29
  292. data/lib/puppet/provider/user/hpux.rb +3 -3
  293. data/lib/puppet/provider/user/ldap.rb +2 -2
  294. data/lib/puppet/provider/zfs/solaris.rb +1 -1
  295. data/lib/puppet/provider/zone/solaris.rb +4 -4
  296. data/lib/puppet/provider/zpool/solaris.rb +3 -3
  297. data/lib/puppet/rails.rb +9 -9
  298. data/lib/puppet/rails/benchmark.rb +69 -0
  299. data/lib/puppet/rails/database/001_add_created_at_to_all_tables.rb +5 -5
  300. data/lib/puppet/rails/database/002_remove_duplicated_index_on_all_tables.rb +2 -2
  301. data/lib/puppet/rails/database/003_add_environment_to_host.rb +1 -1
  302. data/lib/puppet/rails/database/schema.rb +8 -8
  303. data/lib/puppet/rails/fact_value.rb +1 -1
  304. data/lib/puppet/rails/host.rb +211 -93
  305. data/lib/puppet/rails/param_name.rb +5 -1
  306. data/lib/puppet/rails/param_value.rb +29 -2
  307. data/lib/puppet/rails/puppet_tag.rb +5 -0
  308. data/lib/puppet/rails/resource.rb +120 -20
  309. data/lib/puppet/rails/resource_tag.rb +1 -1
  310. data/lib/puppet/rails/source_file.rb +1 -1
  311. data/lib/puppet/reference/configuration.rb +14 -14
  312. data/lib/puppet/reference/function.rb +1 -1
  313. data/lib/puppet/reference/metaparameter.rb +48 -0
  314. data/lib/puppet/reference/providers.rb +6 -6
  315. data/lib/puppet/reference/type.rb +1 -37
  316. data/lib/puppet/relationship.rb +57 -30
  317. data/lib/puppet/reports/rrdgraph.rb +4 -4
  318. data/lib/puppet/reports/store.rb +3 -3
  319. data/lib/puppet/reports/tagmail.rb +15 -15
  320. data/lib/puppet/resource.rb +265 -0
  321. data/lib/puppet/{node → resource}/catalog.rb +188 -112
  322. data/lib/puppet/{resource_reference.rb → resource/reference.rb} +46 -24
  323. data/lib/puppet/simple_graph.rb +165 -27
  324. data/lib/puppet/ssl.rb +7 -0
  325. data/lib/puppet/ssl/base.rb +62 -0
  326. data/lib/puppet/ssl/certificate.rb +34 -0
  327. data/lib/puppet/ssl/certificate_authority.rb +298 -0
  328. data/lib/puppet/ssl/certificate_authority/interface.rb +118 -0
  329. data/lib/puppet/ssl/certificate_factory.rb +145 -0
  330. data/lib/puppet/ssl/certificate_request.rb +51 -0
  331. data/lib/puppet/ssl/certificate_revocation_list.rb +86 -0
  332. data/lib/puppet/ssl/host.rb +271 -0
  333. data/lib/puppet/ssl/inventory.rb +52 -0
  334. data/lib/puppet/ssl/key.rb +56 -0
  335. data/lib/puppet/sslcertificates.rb +6 -6
  336. data/lib/puppet/sslcertificates/ca.rb +15 -15
  337. data/lib/puppet/sslcertificates/certificate.rb +4 -4
  338. data/lib/puppet/sslcertificates/inventory.rb +3 -3
  339. data/lib/puppet/transaction.rb +113 -139
  340. data/lib/puppet/transaction/change.rb +6 -6
  341. data/lib/puppet/transaction/event.rb +1 -1
  342. data/lib/puppet/transaction/report.rb +7 -1
  343. data/lib/puppet/transportable.rb +28 -28
  344. data/lib/puppet/type.rb +263 -688
  345. data/lib/puppet/type/augeas.rb +3 -2
  346. data/lib/puppet/type/component.rb +28 -95
  347. data/lib/puppet/type/computer.rb +10 -10
  348. data/lib/puppet/type/cron.rb +19 -14
  349. data/lib/puppet/type/exec.rb +21 -20
  350. data/lib/puppet/type/file.rb +306 -633
  351. data/lib/puppet/type/file/checksum.rb +10 -11
  352. data/lib/puppet/type/file/content.rb +83 -22
  353. data/lib/puppet/type/file/ensure.rb +15 -9
  354. data/lib/puppet/type/file/group.rb +7 -1
  355. data/lib/puppet/type/file/mode.rb +1 -1
  356. data/lib/puppet/type/file/owner.rb +9 -3
  357. data/lib/puppet/type/file/selcontext.rb +4 -4
  358. data/lib/puppet/type/file/source.rb +78 -179
  359. data/lib/puppet/type/file/target.rb +3 -3
  360. data/lib/puppet/type/file/type.rb +2 -2
  361. data/lib/puppet/type/filebucket.rb +33 -54
  362. data/lib/puppet/type/group.rb +8 -8
  363. data/lib/puppet/type/host.rb +7 -7
  364. data/lib/puppet/type/k5login.rb +2 -2
  365. data/lib/puppet/type/macauthorization.rb +77 -52
  366. data/lib/puppet/type/mailalias.rb +2 -2
  367. data/lib/puppet/type/maillist.rb +2 -2
  368. data/lib/puppet/type/mcx.rb +3 -3
  369. data/lib/puppet/type/mount.rb +16 -11
  370. data/lib/puppet/type/notify.rb +4 -4
  371. data/lib/puppet/type/package.rb +6 -28
  372. data/lib/puppet/type/port.rb +1 -1
  373. data/lib/puppet/type/resources.rb +19 -19
  374. data/lib/puppet/type/schedule.rb +18 -20
  375. data/lib/puppet/type/selmodule.rb +1 -1
  376. data/lib/puppet/type/service.rb +11 -7
  377. data/lib/puppet/type/ssh_authorized_key.rb +26 -9
  378. data/lib/puppet/type/sshkey.rb +2 -2
  379. data/lib/puppet/type/tidy.rb +285 -289
  380. data/lib/puppet/type/user.rb +9 -7
  381. data/lib/puppet/type/yumrepo.rb +17 -16
  382. data/lib/puppet/type/zone.rb +8 -7
  383. data/lib/puppet/util.rb +11 -36
  384. data/lib/puppet/util/autoload.rb +31 -19
  385. data/lib/puppet/util/autoload/file_cache.rb +115 -0
  386. data/lib/puppet/util/backups.rb +86 -0
  387. data/lib/puppet/util/cacher.rb +135 -0
  388. data/lib/puppet/util/checksums.rb +11 -1
  389. data/lib/puppet/util/classgen.rb +1 -1
  390. data/lib/puppet/util/config_store.rb +2 -2
  391. data/lib/puppet/util/constant_inflector.rb +1 -1
  392. data/lib/puppet/util/diff.rb +2 -2
  393. data/lib/puppet/util/docs.rb +9 -3
  394. data/lib/puppet/util/execution.rb +1 -1
  395. data/lib/puppet/util/feature.rb +27 -20
  396. data/lib/puppet/util/fileparsing.rb +3 -3
  397. data/lib/puppet/util/filetype.rb +8 -6
  398. data/lib/puppet/util/graph.rb +5 -5
  399. data/lib/puppet/util/inifile.rb +5 -5
  400. data/lib/puppet/util/json.rb +13 -0
  401. data/lib/puppet/util/ldap/connection.rb +2 -2
  402. data/lib/puppet/util/log.rb +48 -31
  403. data/lib/puppet/util/metric.rb +4 -4
  404. data/lib/puppet/util/monkey_patches.rb +43 -0
  405. data/lib/puppet/util/nagios_maker.rb +1 -1
  406. data/lib/puppet/util/package.rb +4 -4
  407. data/lib/puppet/util/pidlock.rb +59 -59
  408. data/lib/puppet/util/posix.rb +13 -52
  409. data/lib/puppet/util/provider_features.rb +3 -3
  410. data/lib/puppet/util/queue.rb +96 -0
  411. data/lib/puppet/util/queue/stomp.rb +47 -0
  412. data/lib/puppet/util/rails/cache_accumulator.rb +65 -0
  413. data/lib/puppet/util/rails/collection_merger.rb +0 -39
  414. data/lib/puppet/util/rails/reference_serializer.rb +17 -3
  415. data/lib/puppet/util/rdoc.rb +1 -0
  416. data/lib/puppet/util/rdoc/code_objects.rb +5 -1
  417. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +5 -5
  418. data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +13 -13
  419. data/lib/puppet/util/rdoc/parser.rb +28 -32
  420. data/lib/puppet/util/reference.rb +29 -8
  421. data/lib/puppet/util/resource_template.rb +1 -1
  422. data/lib/puppet/util/selinux.rb +12 -6
  423. data/lib/puppet/util/settings.rb +203 -578
  424. data/lib/puppet/util/settings/boolean_setting.rb +33 -0
  425. data/lib/puppet/util/settings/file_setting.rb +119 -0
  426. data/lib/puppet/util/settings/setting.rb +110 -0
  427. data/lib/puppet/util/subclass_loader.rb +1 -1
  428. data/lib/puppet/util/suidmanager.rb +2 -2
  429. data/lib/puppet/util/tagging.rb +1 -1
  430. data/lib/puppet/util/warnings.rb +17 -9
  431. data/man/man8/filebucket.8 +2 -2
  432. data/man/man8/pi.8 +2 -2
  433. data/man/man8/puppet.8 +3 -4
  434. data/man/man8/puppet.conf.8 +63 -63
  435. data/man/man8/puppetca.8 +2 -2
  436. data/man/man8/puppetd.8 +2 -2
  437. data/man/man8/puppetdoc.8 +2 -2
  438. data/man/man8/puppetmasterd.8 +2 -2
  439. data/man/man8/puppetrun.8 +2 -2
  440. data/man/man8/ralsh.8 +3 -3
  441. data/sbin/puppetca +102 -0
  442. data/sbin/puppetd +159 -0
  443. data/sbin/puppetmasterd +66 -0
  444. data/sbin/puppetqd +53 -0
  445. data/sbin/puppetrun +130 -0
  446. data/spec/Rakefile +2 -2
  447. data/spec/integration/application/puppet.rb +33 -0
  448. data/spec/integration/bin/puppetmasterd.rb +110 -0
  449. data/spec/integration/configurer.rb +18 -0
  450. data/spec/integration/defaults.rb +158 -7
  451. data/spec/integration/file_serving/content.rb +2 -0
  452. data/spec/integration/file_serving/fileset.rb +14 -0
  453. data/spec/integration/file_serving/metadata.rb +2 -0
  454. data/spec/integration/file_serving/terminus_helper.rb +22 -0
  455. data/spec/integration/indirector/catalog/compiler.rb +67 -0
  456. data/spec/integration/indirector/catalog/queue.rb +61 -0
  457. data/spec/integration/indirector/certificate/rest.rb +69 -0
  458. data/spec/integration/indirector/certificate_request/rest.rb +89 -0
  459. data/spec/integration/indirector/certificate_revocation_list/rest.rb +77 -0
  460. data/spec/integration/indirector/direct_file_server.rb +16 -23
  461. data/spec/integration/indirector/file_content/file_server.rb +75 -0
  462. data/spec/integration/indirector/report/rest.rb +95 -0
  463. data/spec/integration/indirector/rest.rb +207 -147
  464. data/spec/integration/network/client.rb +19 -0
  465. data/spec/integration/network/formats.rb +110 -0
  466. data/spec/integration/network/handler.rb +25 -0
  467. data/spec/integration/network/server/mongrel.rb +26 -8
  468. data/spec/integration/network/server/webrick.rb +49 -11
  469. data/spec/integration/node/environment.rb +58 -0
  470. data/spec/integration/node/facts.rb +4 -2
  471. data/spec/integration/parser/compiler.rb +29 -0
  472. data/spec/integration/parser/functions/require.rb +67 -0
  473. data/spec/integration/provider/mailalias/aliases.rb +25 -0
  474. data/spec/integration/{node → resource}/catalog.rb +17 -10
  475. data/spec/integration/ssl/certificate_authority.rb +135 -0
  476. data/spec/integration/ssl/certificate_request.rb +59 -0
  477. data/spec/integration/ssl/certificate_revocation_list.rb +42 -0
  478. data/spec/integration/ssl/host.rb +90 -0
  479. data/spec/integration/transaction.rb +66 -0
  480. data/spec/integration/transaction/report.rb +2 -5
  481. data/spec/integration/type.rb +22 -0
  482. data/spec/integration/type/file.rb +458 -0
  483. data/spec/integration/type/package.rb +1 -1
  484. data/spec/integration/type/tidy.rb +27 -0
  485. data/spec/integration/util/autoload.rb +114 -0
  486. data/spec/integration/util/feature.rb +54 -0
  487. data/spec/integration/util/file_locking.rb +2 -1
  488. data/spec/integration/util/settings.rb +27 -0
  489. data/spec/lib/puppet_spec/files.rb +9 -0
  490. data/spec/monkey_patches/add_confine_and_runnable_to_rspec_dsl.rb +1 -0
  491. data/spec/monkey_patches/alias_should_to_must.rb +1 -0
  492. data/spec/shared_behaviours/file_server_terminus.rb +14 -11
  493. data/spec/shared_behaviours/file_serving.rb +13 -17
  494. data/spec/spec_helper.rb +22 -5
  495. data/spec/unit/agent.rb +259 -0
  496. data/spec/unit/agent/locker.rb +100 -0
  497. data/spec/unit/agent/runner.rb +118 -0
  498. data/spec/unit/application.rb +420 -0
  499. data/spec/unit/application/filebucket.rb +220 -0
  500. data/spec/unit/application/pi.rb +84 -0
  501. data/spec/unit/application/puppet.rb +404 -0
  502. data/spec/unit/application/puppetca.rb +142 -0
  503. data/spec/unit/application/puppetd.rb +502 -0
  504. data/spec/unit/application/puppetdoc.rb +345 -0
  505. data/spec/unit/application/puppetmasterd.rb +456 -0
  506. data/spec/unit/application/puppetqd.rb +186 -0
  507. data/spec/unit/application/puppetrun.rb +279 -0
  508. data/spec/unit/application/ralsh.rb +237 -0
  509. data/spec/unit/configurer.rb +232 -0
  510. data/spec/unit/configurer/downloader.rb +188 -0
  511. data/spec/unit/configurer/fact_handler.rb +150 -0
  512. data/spec/unit/configurer/plugin_handler.rb +112 -0
  513. data/spec/unit/daemon.rb +287 -0
  514. data/spec/unit/file_serving/{file_base.rb → base.rb} +39 -31
  515. data/spec/unit/file_serving/configuration.rb +104 -93
  516. data/spec/unit/file_serving/configuration/parser.rb +64 -18
  517. data/spec/unit/file_serving/content.rb +65 -26
  518. data/spec/unit/file_serving/fileset.rb +116 -14
  519. data/spec/unit/file_serving/indirection_hooks.rb +34 -95
  520. data/spec/unit/file_serving/metadata.rb +27 -40
  521. data/spec/unit/file_serving/mount.rb +7 -118
  522. data/spec/unit/file_serving/mount/file.rb +188 -0
  523. data/spec/unit/file_serving/mount/modules.rb +63 -0
  524. data/spec/unit/file_serving/mount/plugins.rb +61 -0
  525. data/spec/unit/file_serving/terminus_helper.rb +39 -27
  526. data/spec/unit/indirector.rb +6 -1
  527. data/spec/unit/indirector/active_record.rb +76 -0
  528. data/spec/unit/indirector/catalog/active_record.rb +122 -0
  529. data/spec/unit/indirector/catalog/compiler.rb +222 -118
  530. data/spec/unit/indirector/catalog/queue.rb +20 -0
  531. data/spec/unit/indirector/catalog/rest.rb +11 -0
  532. data/spec/unit/indirector/catalog/yaml.rb +6 -6
  533. data/spec/unit/indirector/certificate/ca.rb +28 -0
  534. data/spec/unit/indirector/certificate/file.rb +28 -0
  535. data/spec/unit/indirector/certificate/rest.rb +23 -0
  536. data/spec/unit/indirector/certificate_request/ca.rb +19 -0
  537. data/spec/unit/indirector/certificate_request/file.rb +19 -0
  538. data/spec/unit/indirector/certificate_request/rest.rb +23 -0
  539. data/spec/unit/indirector/certificate_revocation_list/ca.rb +21 -0
  540. data/spec/unit/indirector/certificate_revocation_list/file.rb +20 -0
  541. data/spec/unit/indirector/certificate_revocation_list/rest.rb +23 -0
  542. data/spec/unit/indirector/direct_file_server.rb +3 -8
  543. data/spec/unit/indirector/exec.rb +6 -1
  544. data/spec/unit/indirector/facts/active_record.rb +104 -0
  545. data/spec/unit/indirector/facts/facter.rb +53 -12
  546. data/spec/unit/indirector/facts/rest.rb +11 -0
  547. data/spec/unit/indirector/file.rb +8 -1
  548. data/spec/unit/indirector/file_metadata/file.rb +5 -5
  549. data/spec/unit/indirector/file_server.rb +181 -98
  550. data/spec/unit/indirector/indirection.rb +102 -38
  551. data/spec/unit/indirector/key/ca.rb +28 -0
  552. data/spec/unit/indirector/key/file.rb +104 -0
  553. data/spec/unit/indirector/node/active_record.rb +34 -0
  554. data/spec/unit/indirector/node/ldap.rb +1 -1
  555. data/spec/unit/indirector/node/rest.rb +2 -2
  556. data/spec/unit/indirector/queue.rb +123 -0
  557. data/spec/unit/indirector/report/rest.rb +28 -0
  558. data/spec/unit/indirector/request.rb +221 -0
  559. data/spec/unit/indirector/rest.rb +343 -334
  560. data/spec/unit/indirector/runner/rest.rb +11 -0
  561. data/spec/unit/indirector/ssl_file.rb +280 -0
  562. data/spec/unit/module.rb +180 -180
  563. data/spec/unit/network/authconfig.rb +292 -0
  564. data/spec/unit/network/authstore.rb +94 -0
  565. data/spec/unit/network/client.rb +2 -2
  566. data/spec/unit/network/client/dipper.rb +16 -0
  567. data/spec/unit/network/format.rb +191 -0
  568. data/spec/unit/network/format_handler.rb +306 -0
  569. data/spec/unit/network/formats.rb +249 -0
  570. data/spec/unit/network/handler/fileserver.rb +2 -5
  571. data/spec/unit/network/http.rb +3 -3
  572. data/spec/unit/network/http/api/v1.rb +122 -0
  573. data/spec/unit/network/http/handler.rb +448 -0
  574. data/spec/unit/network/http/mongrel.rb +46 -32
  575. data/spec/unit/network/http/mongrel/rest.rb +174 -319
  576. data/spec/unit/network/http/rack.rb +102 -0
  577. data/spec/unit/network/http/rack/rest.rb +199 -0
  578. data/spec/unit/network/http/rack/xmlrpc.rb +157 -0
  579. data/spec/unit/network/http/webrick.rb +249 -37
  580. data/spec/unit/network/http/webrick/rest.rb +113 -279
  581. data/spec/unit/network/http_pool.rb +86 -110
  582. data/spec/unit/network/rest_authconfig.rb +146 -0
  583. data/spec/unit/network/rest_authorization.rb +43 -0
  584. data/spec/unit/network/rights.rb +519 -0
  585. data/spec/unit/network/server.rb +475 -257
  586. data/spec/unit/node.rb +43 -10
  587. data/spec/unit/node/environment.rb +143 -9
  588. data/spec/unit/node/facts.rb +77 -24
  589. data/spec/unit/other/selinux.rb +85 -0
  590. data/spec/unit/other/transbucket.rb +29 -13
  591. data/spec/unit/other/transobject.rb +35 -15
  592. data/spec/unit/parameter.rb +378 -5
  593. data/spec/unit/parser/ast.rb +1 -1
  594. data/spec/unit/parser/ast/arithmetic_operator.rb +17 -17
  595. data/spec/unit/parser/ast/astarray.rb +16 -10
  596. data/spec/unit/parser/ast/boolean_operator.rb +2 -2
  597. data/spec/unit/parser/ast/casestatement.rb +143 -0
  598. data/spec/unit/parser/ast/collection.rb +63 -0
  599. data/spec/unit/parser/ast/collexpr.rb +31 -8
  600. data/spec/unit/parser/ast/comparison_operator.rb +9 -9
  601. data/spec/unit/parser/ast/definition.rb +18 -0
  602. data/spec/unit/parser/ast/function.rb +6 -0
  603. data/spec/unit/parser/ast/ifstatement.rb +75 -0
  604. data/spec/unit/parser/ast/leaf.rb +261 -0
  605. data/spec/unit/parser/ast/match_operator.rb +50 -0
  606. data/spec/unit/parser/ast/minus.rb +1 -1
  607. data/spec/unit/parser/ast/node.rb +20 -0
  608. data/spec/unit/parser/ast/not.rb +1 -1
  609. data/spec/unit/parser/ast/resource_override.rb +5 -5
  610. data/spec/unit/parser/ast/resource_reference.rb +11 -5
  611. data/spec/unit/parser/ast/selector.rb +156 -0
  612. data/spec/unit/parser/ast/vardef.rb +11 -11
  613. data/spec/unit/parser/collector.rb +167 -48
  614. data/spec/unit/parser/compiler.rb +128 -104
  615. data/spec/unit/parser/files.rb +190 -0
  616. data/spec/unit/parser/functions/inline_template.rb +0 -0
  617. data/spec/unit/parser/functions/regsubst.rb +42 -42
  618. data/spec/unit/parser/functions/require.rb +36 -0
  619. data/spec/unit/parser/functions/shellquote.rb +92 -0
  620. data/spec/unit/parser/functions/split.rb +51 -0
  621. data/spec/unit/parser/functions/sprintf.rb +11 -11
  622. data/spec/unit/parser/functions/template.rb +0 -0
  623. data/spec/unit/parser/functions/versioncmp.rb +2 -2
  624. data/spec/unit/parser/interpreter.rb +16 -7
  625. data/spec/unit/parser/lexer.rb +72 -12
  626. data/spec/unit/parser/loaded_code.rb +198 -0
  627. data/spec/unit/parser/parser.rb +215 -28
  628. data/spec/unit/parser/resource.rb +131 -22
  629. data/spec/unit/parser/scope.rb +207 -12
  630. data/spec/unit/parser/templatewrapper.rb +8 -3
  631. data/spec/unit/property.rb +270 -16
  632. data/spec/unit/property/list.rb +12 -6
  633. data/spec/unit/provider.rb +31 -0
  634. data/spec/unit/provider/augeas/augeas.rb +61 -33
  635. data/spec/unit/provider/macauthorization.rb +29 -29
  636. data/spec/unit/provider/mcx/mcxcontent.rb +4 -4
  637. data/spec/unit/provider/mount/parsed.rb +5 -8
  638. data/spec/unit/provider/naginator.rb +0 -0
  639. data/spec/unit/provider/package/apt.rb +6 -6
  640. data/spec/unit/provider/package/pkgdmg.rb +73 -0
  641. data/spec/unit/provider/selboolean.rb +1 -1
  642. data/spec/unit/provider/selmodule.rb +2 -2
  643. data/spec/unit/provider/service/daemontools.rb +40 -15
  644. data/spec/unit/provider/service/debian.rb +89 -0
  645. data/spec/unit/provider/service/init.rb +106 -0
  646. data/spec/unit/provider/service/launchd.rb +71 -13
  647. data/spec/unit/provider/service/redhat.rb +94 -0
  648. data/spec/unit/provider/service/runit.rb +14 -2
  649. data/spec/unit/provider/ssh_authorized_key/parsed.rb +66 -2
  650. data/spec/unit/provider/user/ldap.rb +1 -1
  651. data/spec/unit/provider/user/user_role_add.rb +1 -1
  652. data/spec/unit/provider/zfs/solaris.rb +18 -6
  653. data/spec/unit/provider/zone/solaris.rb +1 -1
  654. data/spec/unit/rails.rb +16 -22
  655. data/spec/unit/rails/host.rb +163 -0
  656. data/spec/unit/rails/param_value.rb +49 -0
  657. data/spec/unit/rails/resource.rb +87 -0
  658. data/spec/unit/relationship.rb +141 -29
  659. data/spec/unit/resource.rb +504 -0
  660. data/spec/unit/resource/catalog.rb +1061 -0
  661. data/spec/unit/resource/reference.rb +111 -0
  662. data/spec/unit/simple_graph.rb +448 -191
  663. data/spec/unit/ssl/certificate.rb +124 -0
  664. data/spec/unit/ssl/certificate_authority.rb +741 -0
  665. data/spec/unit/ssl/certificate_authority/interface.rb +269 -0
  666. data/spec/unit/ssl/certificate_factory.rb +107 -0
  667. data/spec/unit/ssl/certificate_request.rb +193 -0
  668. data/spec/unit/ssl/certificate_revocation_list.rb +180 -0
  669. data/spec/unit/ssl/host.rb +704 -0
  670. data/spec/unit/ssl/inventory.rb +180 -0
  671. data/spec/unit/ssl/key.rb +198 -0
  672. data/spec/unit/transaction.rb +65 -2
  673. data/spec/unit/transaction/change.rb +1 -1
  674. data/spec/unit/transaction/report.rb +1 -1
  675. data/spec/unit/type.rb +361 -8
  676. data/spec/unit/type/augeas.rb +30 -37
  677. data/spec/unit/type/component.rb +63 -0
  678. data/spec/unit/type/computer.rb +17 -21
  679. data/spec/unit/type/exec.rb +27 -2
  680. data/spec/unit/type/file.rb +704 -83
  681. data/spec/unit/type/file/content.rb +253 -15
  682. data/spec/unit/type/file/ensure.rb +65 -2
  683. data/spec/unit/type/file/group.rb +5 -0
  684. data/spec/unit/type/file/owner.rb +5 -0
  685. data/spec/unit/type/file/selinux.rb +12 -16
  686. data/spec/unit/type/file/source.rb +264 -0
  687. data/spec/unit/type/filebucket.rb +74 -0
  688. data/spec/unit/type/group.rb +1 -5
  689. data/spec/unit/type/macauthorization.rb +59 -26
  690. data/spec/unit/type/mcx.rb +8 -16
  691. data/spec/unit/type/mount.rb +8 -16
  692. data/spec/unit/type/noop_metaparam.rb +0 -2
  693. data/spec/unit/type/package.rb +13 -23
  694. data/spec/unit/type/resources.rb +4 -7
  695. data/spec/unit/type/schedule.rb +1 -7
  696. data/spec/unit/type/selboolean.rb +4 -6
  697. data/spec/unit/type/service.rb +23 -33
  698. data/spec/unit/type/ssh_authorized_key.rb +25 -14
  699. data/spec/unit/type/tidy.rb +329 -21
  700. data/spec/unit/type/user.rb +18 -10
  701. data/spec/unit/type/zfs.rb +6 -6
  702. data/spec/unit/util/autoload.rb +94 -3
  703. data/spec/unit/util/autoload/file_cache.rb +183 -0
  704. data/spec/unit/util/backups.rb +159 -0
  705. data/spec/unit/util/cache_accumulator.rb +69 -0
  706. data/spec/unit/util/cacher.rb +185 -0
  707. data/spec/unit/util/checksums.rb +9 -1
  708. data/spec/unit/util/feature.rb +72 -0
  709. data/spec/unit/util/filetype.rb +1 -11
  710. data/spec/unit/util/json.rb +21 -0
  711. data/spec/unit/util/log.rb +45 -0
  712. data/spec/unit/util/package.rb +2 -2
  713. data/spec/unit/util/queue.rb +88 -0
  714. data/spec/unit/util/queue/stomp.rb +140 -0
  715. data/spec/unit/util/reference_serializer.rb +52 -0
  716. data/spec/unit/util/selinux.rb +5 -3
  717. data/spec/unit/util/settings.rb +413 -264
  718. data/spec/unit/util/settings/file_setting.rb +223 -0
  719. data/spec/unit/util/storage.rb +11 -11
  720. data/spec/unit/util/warnings.rb +21 -17
  721. data/test/Rakefile +6 -5
  722. data/test/certmgr/ca.rb +5 -5
  723. data/test/certmgr/certmgr.rb +4 -4
  724. data/test/data/providers/cron/crontab.allthree +2 -2
  725. data/test/data/providers/cron/crontab.envNcomment +1 -1
  726. data/test/data/providers/cron/crontab.envNname +1 -1
  727. data/test/data/providers/cron/crontab.multirecords +1 -1
  728. data/test/data/providers/cron/crontab_collections.yaml +14 -14
  729. data/test/data/providers/cron/crontab_multiple_with_env.yaml +6 -6
  730. data/test/data/providers/cron/crontab_sample_records.yaml +102 -102
  731. data/test/data/providers/mailalias/aliases/test1 +28 -0
  732. data/test/data/providers/package/testpackages.yaml +6 -6
  733. data/test/data/reports/1.yaml +17 -17
  734. data/test/data/reports/tagmail_passers.conf +2 -2
  735. data/test/data/snippets/append.pp +5 -5
  736. data/test/data/snippets/casestatement.pp +9 -2
  737. data/test/data/snippets/classincludes.pp +1 -1
  738. data/test/data/snippets/collection_override.pp +8 -0
  739. data/test/data/snippets/fqparents.pp +2 -2
  740. data/test/data/snippets/ifexpression.pp +12 -0
  741. data/test/data/snippets/multilinecomments.pp +5 -1
  742. data/test/data/snippets/selectorvalues.pp +7 -0
  743. data/test/data/types/hosts/1 +1 -1
  744. data/test/data/types/hosts/2 +3 -3
  745. data/test/data/types/hosts/solaris +2 -2
  746. data/test/data/types/mount/freebsd.fstab +7 -7
  747. data/test/data/types/mount/solaris.fstab +10 -10
  748. data/test/data/types/port/1 +472 -472
  749. data/test/data/types/port/darwin +4347 -4347
  750. data/test/language/ast.rb +3 -2
  751. data/test/language/ast/casestatement.rb +12 -12
  752. data/test/language/ast/resource.rb +4 -4
  753. data/test/language/ast/resource_reference.rb +5 -5
  754. data/test/language/ast/selector.rb +11 -11
  755. data/test/language/ast/variable.rb +4 -4
  756. data/test/language/functions.rb +16 -16
  757. data/test/language/parser.rb +89 -111
  758. data/test/language/resource.rb +3 -88
  759. data/test/language/scope.rb +14 -55
  760. data/test/language/snippets.rb +31 -31
  761. data/test/lib/puppettest.rb +12 -12
  762. data/test/lib/puppettest/certificates.rb +2 -2
  763. data/test/lib/puppettest/exetest.rb +0 -1
  764. data/test/lib/puppettest/fakes.rb +1 -1
  765. data/test/lib/puppettest/parsertesting.rb +9 -4
  766. data/test/lib/puppettest/railstesting.rb +3 -3
  767. data/test/lib/puppettest/servertest.rb +1 -1
  768. data/test/lib/puppettest/support/assertions.rb +2 -2
  769. data/test/lib/puppettest/support/collection.rb +1 -1
  770. data/test/lib/puppettest/support/resources.rb +7 -7
  771. data/test/lib/puppettest/support/utils.rb +10 -16
  772. data/test/lib/puppettest/testcase.rb +2 -1
  773. data/test/network/authconfig.rb +1 -1
  774. data/test/network/authorization.rb +1 -1
  775. data/test/network/authstore.rb +57 -14
  776. data/test/network/client/ca.rb +1 -0
  777. data/test/network/client/resource.rb +12 -50
  778. data/test/network/client_request.rb +1 -1
  779. data/test/network/handler/bucket.rb +2 -2
  780. data/test/network/handler/fileserver.rb +17 -21
  781. data/test/network/handler/master.rb +5 -5
  782. data/test/network/handler/report.rb +3 -3
  783. data/test/network/handler/resource.rb +29 -75
  784. data/test/network/handler/runner.rb +8 -58
  785. data/test/network/rights.rb +1 -1
  786. data/test/network/server/mongrel_test.rb +15 -1
  787. data/test/network/server/webrick.rb +0 -36
  788. data/test/network/xmlrpc/webrick_servlet.rb +5 -5
  789. data/test/other/dsl.rb +3 -3
  790. data/test/other/events.rb +15 -15
  791. data/test/other/puppet.rb +2 -32
  792. data/test/other/relationships.rb +21 -148
  793. data/test/other/report.rb +20 -23
  794. data/test/other/transactions.rb +110 -298
  795. data/test/puppet/defaults.rb +1 -1
  796. data/test/puppet/tc_suidmanager.rb +1 -1
  797. data/test/rails/railsparameter.rb +4 -4
  798. data/test/ral/manager/attributes.rb +12 -68
  799. data/test/ral/manager/instances.rb +3 -19
  800. data/test/ral/manager/manager.rb +7 -7
  801. data/test/ral/manager/provider.rb +7 -7
  802. data/test/ral/manager/type.rb +54 -349
  803. data/test/ral/providers/cron/crontab.rb +14 -14
  804. data/test/ral/providers/group.rb +5 -6
  805. data/test/ral/providers/host/parsed.rb +3 -3
  806. data/test/ral/providers/mailalias/aliases.rb +4 -4
  807. data/test/ral/providers/package.rb +3 -3
  808. data/test/ral/providers/package/aptitude.rb +55 -55
  809. data/test/ral/providers/package/aptrpm.rb +7 -7
  810. data/test/ral/providers/parsedfile.rb +10 -14
  811. data/test/ral/providers/port/parsed.rb +6 -6
  812. data/test/ral/providers/provider.rb +10 -10
  813. data/test/ral/providers/service/base.rb +32 -32
  814. data/test/ral/providers/sshkey/parsed.rb +14 -14
  815. data/test/ral/providers/user.rb +16 -17
  816. data/test/ral/providers/user/useradd.rb +19 -22
  817. data/test/ral/type/cron.rb +21 -28
  818. data/test/ral/type/exec.rb +57 -60
  819. data/test/ral/type/file.rb +88 -862
  820. data/test/ral/type/file/target.rb +21 -70
  821. data/test/ral/type/fileignoresource.rb +37 -44
  822. data/test/ral/type/filesources.rb +43 -473
  823. data/test/ral/type/group.rb +6 -7
  824. data/test/ral/type/host.rb +14 -30
  825. data/test/ral/type/mailalias.rb +3 -3
  826. data/test/ral/type/port.rb +5 -5
  827. data/test/ral/type/resources.rb +37 -37
  828. data/test/ral/type/service.rb +3 -3
  829. data/test/ral/type/sshkey.rb +34 -39
  830. data/test/ral/type/user.rb +15 -14
  831. data/test/ral/type/yumrepo.rb +18 -17
  832. data/test/ral/type/zone.rb +4 -6
  833. data/test/test +9 -9
  834. data/test/util/fileparsing.rb +10 -10
  835. data/test/util/inifile.rb +6 -6
  836. data/test/util/instance_loader.rb +1 -1
  837. data/test/util/log.rb +2 -2
  838. data/test/util/metrics.rb +1 -6
  839. data/test/util/package.rb +1 -1
  840. data/test/util/pidlock.rb +116 -116
  841. data/test/util/settings.rb +40 -429
  842. data/test/util/storage.rb +5 -5
  843. data/test/util/subclass_loader.rb +0 -7
  844. data/test/util/utiltest.rb +10 -29
  845. metadata +1369 -941
  846. data/bin/puppetca +0 -363
  847. data/bin/puppetd +0 -439
  848. data/bin/puppetmasterd +0 -289
  849. data/bin/puppetrun +0 -369
  850. data/conf/redhat/lsb-config.patch +0 -51
  851. data/conf/redhat/no-chuser-0.15.1.patch +0 -38
  852. data/conf/redhat/no-lockdir.patch +0 -13
  853. data/examples/mac_netinfo.pp +0 -5
  854. data/ext/passenger/README +0 -63
  855. data/ext/passenger/apache2.conf +0 -29
  856. data/ext/passenger/config.ru +0 -40
  857. data/lib/puppet/config_stores/rest.rb +0 -60
  858. data/lib/puppet/executables/client/certhandler.rb +0 -82
  859. data/lib/puppet/indirector/file_content/modules.rb +0 -11
  860. data/lib/puppet/indirector/file_metadata/modules.rb +0 -17
  861. data/lib/puppet/indirector/module_files.rb +0 -82
  862. data/lib/puppet/indirector/ssl_rsa.rb +0 -5
  863. data/lib/puppet/indirector/ssl_rsa/file.rb +0 -33
  864. data/lib/puppet/network/client/master.rb +0 -524
  865. data/lib/puppet/network/http_server/rack.rb +0 -148
  866. data/lib/puppet/pgraph.rb +0 -121
  867. data/lib/puppet/provider/group/netinfo.rb +0 -15
  868. data/lib/puppet/provider/host/netinfo.rb +0 -19
  869. data/lib/puppet/provider/mount/netinfo.rb +0 -37
  870. data/lib/puppet/provider/nameservice/netinfo.rb +0 -224
  871. data/lib/puppet/provider/user/netinfo.rb +0 -111
  872. data/lib/puppet/util/fact_store.rb +0 -59
  873. data/lib/puppet/util/uri_helper.rb +0 -22
  874. data/spec/integration/file_serving/configuration.rb +0 -43
  875. data/spec/integration/indirector/module_files.rb +0 -57
  876. data/spec/unit/executables/client/certhandler.rb +0 -135
  877. data/spec/unit/indirector/file_content/modules.rb +0 -18
  878. data/spec/unit/indirector/file_metadata/modules.rb +0 -42
  879. data/spec/unit/indirector/module_files.rb +0 -259
  880. data/spec/unit/indirector/ssl_rsa/file.rb +0 -121
  881. data/spec/unit/network/client/master.rb +0 -442
  882. data/spec/unit/node/catalog.rb +0 -865
  883. data/spec/unit/other/pgraph.rb +0 -210
  884. data/spec/unit/resource_reference.rb +0 -73
  885. data/spec/unit/util/uri_helper.rb +0 -41
  886. data/test/data/snippets/ifexpression.rb +0 -6
  887. data/test/executables/filebucket.rb +0 -51
  888. data/test/executables/puppetbin.rb +0 -104
  889. data/test/executables/puppetca.rb +0 -115
  890. data/test/executables/puppetd.rb +0 -55
  891. data/test/executables/puppetmasterd.rb +0 -147
  892. data/test/network/client/client.rb +0 -195
  893. data/test/network/client/master.rb +0 -490
  894. data/test/network/daemon.rb +0 -70
  895. data/test/network/handler/handler.rb +0 -63
  896. data/test/other/overrides.rb +0 -107
  897. data/test/puppet/conffiles.rb +0 -107
  898. data/test/rails/ast.rb +0 -73
  899. data/test/rails/configuration.rb +0 -71
  900. data/test/rails/host.rb +0 -154
  901. data/test/rails/railsresource.rb +0 -251
  902. data/test/ral/providers/host/netinfo.rb +0 -56
  903. data/test/ral/providers/mount/netinfo.rb +0 -79
  904. data/test/ral/type/basic.rb +0 -85
  905. data/test/ral/type/filebucket.rb +0 -157
  906. data/test/ral/type/parameter.rb +0 -174
  907. data/test/ral/type/property.rb +0 -388
  908. data/test/ral/type/tidy.rb +0 -291
  909. data/test/util/autoload.rb +0 -145
  910. data/test/util/features.rb +0 -95
@@ -7,7 +7,7 @@ require 'puppettest'
7
7
  # Test cron job creation, modification, and destruction
8
8
 
9
9
  class TestCron < Test::Unit::TestCase
10
- include PuppetTest
10
+ include PuppetTest
11
11
 
12
12
  def setup
13
13
  super
@@ -25,7 +25,6 @@ class TestCron < Test::Unit::TestCase
25
25
  def teardown
26
26
  super
27
27
  @crontype.defaultprovider = nil
28
- Puppet::Util::FileType.filetype(:ram).clear
29
28
  end
30
29
 
31
30
  def eachprovider
@@ -38,7 +37,7 @@ class TestCron < Test::Unit::TestCase
38
37
  def cronback
39
38
  tab = nil
40
39
  assert_nothing_raised {
41
- tab = Puppet.type(:cron).filetype.read(@me)
40
+ tab = Puppet::Type.type(:cron).filetype.read(@me)
42
41
  }
43
42
 
44
43
  if $? == 0
@@ -78,7 +77,7 @@ class TestCron < Test::Unit::TestCase
78
77
  args = {:command => command, :name => name}
79
78
  end
80
79
  assert_nothing_raised {
81
- cron = @crontype.create(args)
80
+ cron = @crontype.new(args)
82
81
  }
83
82
 
84
83
  return cron
@@ -125,7 +124,7 @@ class TestCron < Test::Unit::TestCase
125
124
  name = "yaytest"
126
125
  command = "date > /dev/null "
127
126
  assert_nothing_raised {
128
- cron = @crontype.create(
127
+ cron = @crontype.new(
129
128
  :name => name,
130
129
  :command => "date > /dev/null ",
131
130
  :month => "May",
@@ -145,22 +144,20 @@ class TestCron < Test::Unit::TestCase
145
144
  next unless prop.name.to_s == "command"
146
145
  assert(prop.insync?(value), "Property %s is not considered in sync with value %s" % [prop.name, value.inspect])
147
146
  end
148
-
149
- @crontype.clear
150
147
  end
151
148
  end
152
149
 
153
150
  def test_makeandretrievecron
154
151
  %w{storeandretrieve a-name another-name more_naming SomeName}.each do |name|
155
152
  cron = mkcron(name)
156
- comp = mk_catalog(name, cron)
157
- trans = assert_events([:cron_created], comp, name)
158
-
153
+ catalog = mk_catalog(name, cron)
154
+ trans = assert_events([:cron_created], catalog, name)
155
+
159
156
  cron.provider.class.prefetch
160
157
  cron = nil
161
158
 
162
- assert(cron = Puppet.type(:cron)[name], "Could not retrieve named cron")
163
- assert_instance_of(Puppet.type(:cron), cron)
159
+ assert(cron = catalog.resource(:cron, name), "Could not retrieve named cron")
160
+ assert_instance_of(Puppet::Type.type(:cron), cron)
164
161
  end
165
162
  end
166
163
 
@@ -174,7 +171,7 @@ class TestCron < Test::Unit::TestCase
174
171
  :weekday => {
175
172
  :valid => [ 0, 3, 6, "1", "tue", "wed",
176
173
  "Wed", "MOnday", "SaTurday" ],
177
- :invalid => [ -1, 7, "13", "tues", "teusday", "thurs" ]
174
+ :invalid => [ -1, 8, "13", "tues", "teusday", "thurs" ]
178
175
  },
179
176
  :hour => {
180
177
  :valid => [ 0, 21, 23 ],
@@ -197,7 +194,7 @@ class TestCron < Test::Unit::TestCase
197
194
  [:valid, :invalid].each { |type|
198
195
  hash[type].each { |value|
199
196
  case type
200
- when :valid:
197
+ when :valid
201
198
  assert_nothing_raised {
202
199
  cron[param] = value
203
200
  }
@@ -206,7 +203,7 @@ class TestCron < Test::Unit::TestCase
206
203
  assert_equal([value.to_s], cron.should(param),
207
204
  "Cron value was not set correctly")
208
205
  end
209
- when :invalid:
206
+ when :invalid
210
207
  assert_raise(Puppet::Error, "%s is incorrectly a valid %s" %
211
208
  [value, param]) {
212
209
  cron[param] = value
@@ -227,7 +224,7 @@ class TestCron < Test::Unit::TestCase
227
224
  eachprovider do |provider|
228
225
  cron = nil
229
226
  assert_nothing_raised {
230
- cron = @crontype.create(
227
+ cron = @crontype.new(
231
228
  :command => "/bin/date > /dev/null",
232
229
  :minute => [0, 30],
233
230
  :name => "crontest",
@@ -247,14 +244,13 @@ class TestCron < Test::Unit::TestCase
247
244
  next unless prop.name.to_s == "minute"
248
245
  assert(prop.insync?(value), "Property %s is not considered in sync with value %s" % [prop.name, value.inspect])
249
246
  end
250
- @crontype.clear
251
247
  end
252
248
  end
253
249
 
254
250
  def test_fieldremoval
255
251
  cron = nil
256
252
  assert_nothing_raised {
257
- cron = @crontype.create(
253
+ cron = @crontype.new(
258
254
  :command => "/bin/date > /dev/null",
259
255
  :minute => [0, 30],
260
256
  :name => "crontest",
@@ -286,7 +282,7 @@ class TestCron < Test::Unit::TestCase
286
282
  cleanup { provider.filetype = ft }
287
283
 
288
284
  setme
289
- cron = @crontype.create(:name => "testing",
285
+ cron = @crontype.new(:name => "testing",
290
286
  :minute => [0, 30],
291
287
  :command => "/bin/testing",
292
288
  :user => @me
@@ -294,8 +290,6 @@ class TestCron < Test::Unit::TestCase
294
290
  # Write it to our file
295
291
  assert_apply(cron)
296
292
 
297
- @crontype.clear
298
-
299
293
  crons = []
300
294
  assert_nothing_raised {
301
295
  @crontype.instances.each do |cron|
@@ -348,7 +342,7 @@ class TestCron < Test::Unit::TestCase
348
342
  unless param =~ /=$/
349
343
  param = "%s=" % param
350
344
  end
351
-
345
+
352
346
  cron.provider.send(param, value)
353
347
  end
354
348
 
@@ -430,7 +424,7 @@ class TestCron < Test::Unit::TestCase
430
424
  crons = []
431
425
  users = ["root", nonrootuser.name]
432
426
  users.each do |user|
433
- cron = Puppet::Type.type(:cron).create(
427
+ cron = Puppet::Type.type(:cron).new(
434
428
  :name => "testcron-#{user}",
435
429
  :user => user,
436
430
  :command => "/bin/echo",
@@ -461,7 +455,7 @@ class TestCron < Test::Unit::TestCase
461
455
  def test_default_user
462
456
  crontab = @crontype.provider(:crontab)
463
457
  if crontab.suitable?
464
- inst = @crontype.create(
458
+ inst = @crontype.new(
465
459
  :name => "something", :command => "/some/thing",
466
460
  :provider => :crontab)
467
461
  assert_equal(Etc.getpwuid(Process.uid).name, inst.should(:user),
@@ -471,7 +465,7 @@ class TestCron < Test::Unit::TestCase
471
465
 
472
466
  # Now make a new cron with a user, and make sure it gets copied
473
467
  # over
474
- inst = @crontype.create(:name => "yay", :command => "/some/thing",
468
+ inst = @crontype.new(:name => "yay", :command => "/some/thing",
475
469
  :user => "bin", :provider => :crontab)
476
470
  assert_equal("bin", inst.should(:target),
477
471
  "target did not default to user with crontab")
@@ -481,11 +475,10 @@ class TestCron < Test::Unit::TestCase
481
475
  # #705 - make sure extra spaces don't screw things up
482
476
  def test_spaces_in_command
483
477
  string = "echo multiple spaces"
484
- cron = @crontype.create(:name => "space testing", :command => string)
478
+ cron = @crontype.new(:name => "space testing", :command => string)
485
479
  assert_apply(cron)
486
480
 
487
- cron.class.clear
488
- cron = @crontype.create(:name => "space testing", :command => string)
481
+ cron = @crontype.new(:name => "space testing", :command => string)
489
482
 
490
483
  # Now make sure that it's correctly in sync
491
484
  cron.provider.class.prefetch("testing" => cron)
@@ -5,12 +5,12 @@ require File.dirname(__FILE__) + '/../../lib/puppettest'
5
5
  require 'puppettest'
6
6
 
7
7
  class TestExec < Test::Unit::TestCase
8
- include PuppetTest
8
+ include PuppetTest
9
9
  def test_execution
10
10
  command = nil
11
11
  output = nil
12
12
  assert_nothing_raised {
13
- command = Puppet.type(:exec).create(
13
+ command = Puppet::Type.type(:exec).new(
14
14
  :command => "/bin/echo"
15
15
  )
16
16
  }
@@ -22,12 +22,10 @@ class TestExec < Test::Unit::TestCase
22
22
 
23
23
  def test_numvsstring
24
24
  [0, "0"].each { |val|
25
- Puppet.type(:exec).clear
26
- Puppet.type(:component).clear
27
25
  command = nil
28
26
  output = nil
29
27
  assert_nothing_raised {
30
- command = Puppet.type(:exec).create(
28
+ command = Puppet::Type.type(:exec).new(
31
29
  :command => "/bin/echo",
32
30
  :returns => val
33
31
  )
@@ -40,25 +38,23 @@ class TestExec < Test::Unit::TestCase
40
38
  command = nil
41
39
  output = nil
42
40
  assert_raise(Puppet::Error) {
43
- command = Puppet.type(:exec).create(
41
+ command = Puppet::Type.type(:exec).new(
44
42
  :command => "echo"
45
43
  )
46
44
  }
47
45
  assert_nothing_raised {
48
- command = Puppet.type(:exec).create(
46
+ command = Puppet::Type.type(:exec).new(
49
47
  :command => "echo",
50
48
  :path => "/usr/bin:/bin:/usr/sbin:/sbin"
51
49
  )
52
50
  }
53
- Puppet.type(:exec).clear
54
51
  assert_nothing_raised {
55
- command = Puppet.type(:exec).create(
52
+ command = Puppet::Type.type(:exec).new(
56
53
  :command => "/bin/echo"
57
54
  )
58
55
  }
59
- Puppet.type(:exec).clear
60
56
  assert_nothing_raised {
61
- command = Puppet.type(:exec).create(
57
+ command = Puppet::Type.type(:exec).new(
62
58
  :command => "/bin/echo",
63
59
  :path => "/usr/bin:/bin:/usr/sbin:/sbin"
64
60
  )
@@ -67,21 +63,21 @@ class TestExec < Test::Unit::TestCase
67
63
 
68
64
  def test_nonzero_returns
69
65
  assert_nothing_raised {
70
- command = Puppet.type(:exec).create(
66
+ command = Puppet::Type.type(:exec).new(
71
67
  :command => "mkdir /this/directory/does/not/exist",
72
68
  :path => "/usr/bin:/bin:/usr/sbin:/sbin",
73
69
  :returns => 1
74
70
  )
75
71
  }
76
72
  assert_nothing_raised {
77
- command = Puppet.type(:exec).create(
73
+ command = Puppet::Type.type(:exec).new(
78
74
  :command => "touch /etc",
79
75
  :path => "/usr/bin:/bin:/usr/sbin:/sbin",
80
76
  :returns => 1
81
77
  )
82
78
  }
83
79
  assert_nothing_raised {
84
- command = Puppet.type(:exec).create(
80
+ command = Puppet::Type.type(:exec).new(
85
81
  :command => "thiscommanddoesnotexist",
86
82
  :path => "/usr/bin:/bin:/usr/sbin:/sbin",
87
83
  :returns => 127
@@ -96,7 +92,7 @@ class TestExec < Test::Unit::TestCase
96
92
  Dir.getwd
97
93
  }
98
94
  assert_nothing_raised {
99
- command = Puppet.type(:exec).create(
95
+ command = Puppet::Type.type(:exec).new(
100
96
  :command => "pwd",
101
97
  :cwd => dir,
102
98
  :path => "/usr/bin:/bin:/usr/sbin:/sbin",
@@ -113,7 +109,7 @@ class TestExec < Test::Unit::TestCase
113
109
  tmpfile = tempfile()
114
110
  @@tmpfiles.push tmpfile
115
111
  trans = nil
116
- file = Puppet.type(:file).create(
112
+ file = Puppet::Type.type(:file).new(
117
113
  :path => tmpfile,
118
114
  :content => "yay"
119
115
  )
@@ -123,7 +119,7 @@ class TestExec < Test::Unit::TestCase
123
119
  # Now make an exec
124
120
  maker = tempfile()
125
121
  assert_nothing_raised {
126
- cmd = Puppet.type(:exec).create(
122
+ cmd = Puppet::Type.type(:exec).new(
127
123
  :command => "touch %s" % maker,
128
124
  :path => "/usr/bin:/bin:/usr/sbin:/sbin",
129
125
  :subscribe => file,
@@ -149,7 +145,7 @@ class TestExec < Test::Unit::TestCase
149
145
  def test_refreshonly
150
146
  cmd = true
151
147
  assert_nothing_raised {
152
- cmd = Puppet.type(:exec).create(
148
+ cmd = Puppet::Type.type(:exec).new(
153
149
  :command => "pwd",
154
150
  :path => "/usr/bin:/bin:/usr/sbin:/sbin",
155
151
  :refreshonly => true
@@ -172,7 +168,7 @@ class TestExec < Test::Unit::TestCase
172
168
  exec = nil
173
169
  assert(! FileTest.exists?(file), "File already exists")
174
170
  assert_nothing_raised {
175
- exec = Puppet.type(:exec).create(
171
+ exec = Puppet::Type.type(:exec).new(
176
172
  :command => "touch %s" % file,
177
173
  :path => "/usr/bin:/bin:/usr/sbin:/sbin",
178
174
  :creates => file
@@ -191,15 +187,15 @@ class TestExec < Test::Unit::TestCase
191
187
  sh = %x{which sh}
192
188
  File.open(exe, "w") { |f| f.puts "#!#{sh}\necho yup" }
193
189
 
194
- file = Puppet.type(:file).create(
190
+ file = Puppet::Type.type(:file).new(
195
191
  :path => oexe,
196
192
  :source => exe,
197
193
  :mode => 0755
198
194
  )
199
195
 
200
- exec = Puppet.type(:exec).create(
196
+ exec = Puppet::Type.type(:exec).new(
201
197
  :command => oexe,
202
- :require => [:file, oexe]
198
+ :require => Puppet::Resource::Reference.new(:file, oexe)
203
199
  )
204
200
 
205
201
  comp = mk_catalog("Testing", file, exec)
@@ -214,35 +210,37 @@ class TestExec < Test::Unit::TestCase
214
210
  sh = %x{which sh}
215
211
  File.open(exe, "w") { |f| f.puts "#!#{sh}\necho yup" }
216
212
 
217
- file = Puppet.type(:file).create(
213
+ file = Puppet::Type.type(:file).new(
218
214
  :path => oexe,
219
215
  :source => exe,
220
216
  :mode => 755
221
217
  )
222
218
 
223
219
  basedir = File.dirname(oexe)
224
- baseobj = Puppet.type(:file).create(
220
+ baseobj = Puppet::Type.type(:file).new(
225
221
  :path => basedir,
226
222
  :source => exe,
227
223
  :mode => 755
228
224
  )
229
225
 
230
- ofile = Puppet.type(:file).create(
226
+ ofile = Puppet::Type.type(:file).new(
231
227
  :path => exe,
232
228
  :mode => 755
233
229
  )
234
230
 
235
- exec = Puppet.type(:exec).create(
231
+ exec = Puppet::Type.type(:exec).new(
236
232
  :command => oexe,
237
233
  :path => ENV["PATH"],
238
234
  :cwd => basedir
239
235
  )
240
236
 
241
- cat = Puppet.type(:exec).create(
237
+ cat = Puppet::Type.type(:exec).new(
242
238
  :command => "cat %s %s" % [exe, oexe],
243
239
  :path => ENV["PATH"]
244
240
  )
245
-
241
+
242
+ catalog = mk_catalog(file, baseobj, ofile, exec, cat)
243
+
246
244
  rels = nil
247
245
  assert_nothing_raised do
248
246
  rels = exec.autorequire
@@ -256,7 +254,6 @@ class TestExec < Test::Unit::TestCase
256
254
 
257
255
  # Verify we don't require ourselves
258
256
  assert(! rels.detect { |r| r.source == ofile }, "Exec incorrectly required mentioned file")
259
- assert(!exec.requires?(ofile), "Exec incorrectly required file")
260
257
 
261
258
  # We not longer autorequire inline files
262
259
  assert_nothing_raised do
@@ -272,7 +269,7 @@ class TestExec < Test::Unit::TestCase
272
269
 
273
270
  exec = nil
274
271
  assert_nothing_raised {
275
- exec = Puppet.type(:exec).create(
272
+ exec = Puppet::Type.type(:exec).new(
276
273
  :command => "touch %s" % bfile,
277
274
  :onlyif => "test -f %s" % afile,
278
275
  :path => ENV['PATH']
@@ -293,7 +290,7 @@ class TestExec < Test::Unit::TestCase
293
290
 
294
291
  exec = nil
295
292
  assert_nothing_raised {
296
- exec = Puppet.type(:exec).create(
293
+ exec = Puppet::Type.type(:exec).new(
297
294
  :command => "touch %s" % bfile,
298
295
  :unless => "test -f %s" % afile,
299
296
  :path => ENV['PATH']
@@ -315,7 +312,7 @@ class TestExec < Test::Unit::TestCase
315
312
  # Verify that we can execute commands as a special user
316
313
  def mknverify(file, user, group = nil, id = true)
317
314
  File.umask(0022)
318
-
315
+
319
316
  args = {
320
317
  :command => "touch %s" % file,
321
318
  :path => "/usr/bin:/bin:/usr/sbin:/sbin",
@@ -341,7 +338,7 @@ class TestExec < Test::Unit::TestCase
341
338
  end
342
339
  exec = nil
343
340
  assert_nothing_raised {
344
- exec = Puppet.type(:exec).create(args)
341
+ exec = Puppet::Type.type(:exec).new(args)
345
342
  }
346
343
 
347
344
  comp = mk_catalog("usertest", exec)
@@ -376,7 +373,7 @@ class TestExec < Test::Unit::TestCase
376
373
  def test_logoutput
377
374
  exec = nil
378
375
  assert_nothing_raised {
379
- exec = Puppet.type(:exec).create(
376
+ exec = Puppet::Type.type(:exec).new(
380
377
  :title => "logoutputesting",
381
378
  :path => "/usr/bin:/bin",
382
379
  :command => "echo logoutput is false",
@@ -407,7 +404,7 @@ class TestExec < Test::Unit::TestCase
407
404
  basedir = tempfile()
408
405
  path = File.join(basedir, "subfile")
409
406
  assert_nothing_raised {
410
- exec = Puppet.type(:exec).create(
407
+ exec = Puppet::Type.type(:exec).new(
411
408
  :title => "mkdir",
412
409
  :path => "/usr/bin:/bin",
413
410
  :creates => basedir,
@@ -417,11 +414,11 @@ class TestExec < Test::Unit::TestCase
417
414
  }
418
415
 
419
416
  assert_nothing_raised {
420
- file = Puppet.type(:file).create(
417
+ file = Puppet::Type.type(:file).new(
421
418
  :path => basedir,
422
419
  :recurse => true,
423
420
  :mode => "755",
424
- :require => ["exec", "mkdir"]
421
+ :require => Puppet::Resource::Reference.new("exec", "mkdir")
425
422
  )
426
423
  }
427
424
 
@@ -437,14 +434,14 @@ class TestExec < Test::Unit::TestCase
437
434
  def test_falsevals
438
435
  exec = nil
439
436
  assert_nothing_raised do
440
- exec = Puppet.type(:exec).create(
437
+ exec = Puppet::Type.type(:exec).new(
441
438
  :command => "/bin/touch yayness"
442
439
  )
443
440
  end
444
441
 
445
- Puppet.type(:exec).checks.each do |check|
446
- klass = Puppet.type(:exec).paramclass(check)
447
- next if klass.values.include? :false
442
+ Puppet::Type.type(:exec).checks.each do |check|
443
+ klass = Puppet::Type.type(:exec).paramclass(check)
444
+ next if klass.value_collection.values.include? :false
448
445
  assert_raise(Puppet::Error, "Check '%s' did not fail on false" % check) do
449
446
  exec[check] = false
450
447
  end
@@ -457,7 +454,7 @@ class TestExec < Test::Unit::TestCase
457
454
  file = tempfile()
458
455
 
459
456
  assert_nothing_raised {
460
- exec1 = Puppet.type(:exec).create(
457
+ exec1 = Puppet::Type.type(:exec).new(
461
458
  :title => "one",
462
459
  :path => ENV["PATH"],
463
460
  :command => "mkdir #{dir}"
@@ -465,7 +462,7 @@ class TestExec < Test::Unit::TestCase
465
462
  }
466
463
 
467
464
  assert_nothing_raised("Could not create exec w/out existing cwd") {
468
- exec2 = Puppet.type(:exec).create(
465
+ exec2 = Puppet::Type.type(:exec).new(
469
466
  :title => "two",
470
467
  :path => ENV["PATH"],
471
468
  :command => "touch #{file}",
@@ -499,7 +496,7 @@ class TestExec < Test::Unit::TestCase
499
496
  test = "test -f #{file}"
500
497
 
501
498
  assert_nothing_raised {
502
- exec = Puppet.type(:exec).create(
499
+ exec = Puppet::Type.type(:exec).new(
503
500
  :path => ENV["PATH"],
504
501
  :command => "touch #{file}"
505
502
  )
@@ -536,7 +533,7 @@ class TestExec < Test::Unit::TestCase
536
533
  def test_missing_checks_cause_failures
537
534
  # Solaris's sh exits with 1 here instead of 127
538
535
  return if Facter.value(:operatingsystem) == "Solaris"
539
- exec = Puppet::Type.type(:exec).create(
536
+ exec = Puppet::Type.type(:exec).new(
540
537
  :command => "echo true",
541
538
  :path => ENV["PATH"],
542
539
  :onlyif => "/bin/nosuchthingexists"
@@ -544,7 +541,7 @@ class TestExec < Test::Unit::TestCase
544
541
 
545
542
  assert_raise(ArgumentError, "Missing command did not raise error") {
546
543
  exec.run("/bin/nosuchthingexists")
547
- }
544
+ }
548
545
  end
549
546
 
550
547
  def test_envparam
@@ -586,7 +583,7 @@ and stuff"
586
583
  }
587
584
  assert_equal("A B\n", output)
588
585
  end
589
-
586
+
590
587
  def test_environmentparam
591
588
  exec = Puppet::Type.newexec(
592
589
  :command => "echo $environmenttest",
@@ -628,15 +625,15 @@ and stuff"
628
625
  end
629
626
 
630
627
  def test_timeout
631
- exec = Puppet::Type.type(:exec).create(:command => "sleep 1", :path => ENV["PATH"], :timeout => "0.2")
628
+ exec = Puppet::Type.type(:exec).new(:command => "sleep 1", :path => ENV["PATH"], :timeout => "0.2")
632
629
  time = Time.now
633
-
630
+
634
631
  assert_raise(Timeout::Error) {
635
632
  exec.run("sleep 1")
636
633
  }
637
634
  Puppet.info "%s seconds, vs a timeout of %s" % [Time.now.to_f - time.to_f, exec[:timeout]]
638
-
639
-
635
+
636
+
640
637
  assert_apply(exec)
641
638
  end
642
639
 
@@ -646,7 +643,7 @@ and stuff"
646
643
  if Process.uid == 0
647
644
  user = "nosuchuser"
648
645
  assert_nothing_raised("Could not create exec with non-existent user") do
649
- exec = Puppet::Type.type(:exec).create(
646
+ exec = Puppet::Type.type(:exec).new(
650
647
  :command => "/bin/echo yay",
651
648
  :user => user
652
649
  )
@@ -656,7 +653,7 @@ and stuff"
656
653
  # Now try the group
657
654
  group = "nosuchgroup"
658
655
  assert_nothing_raised("Could not create exec with non-existent user") do
659
- exec = Puppet::Type.type(:exec).create(
656
+ exec = Puppet::Type.type(:exec).new(
660
657
  :command => "/bin/echo yay",
661
658
  :group => group
662
659
  )
@@ -668,17 +665,17 @@ and stuff"
668
665
  path = %w{/usr/bin /usr/sbin /sbin}
669
666
  exec = nil
670
667
  assert_nothing_raised("Could not use an array for the path") do
671
- exec = Puppet::Type.type(:exec).create(:command => "echo yay",
668
+ exec = Puppet::Type.type(:exec).new(:command => "echo yay",
672
669
  :path => path)
673
670
  end
674
671
  assert_equal(path, exec[:path], "array-based path did not match")
675
672
  assert_nothing_raised("Could not use a string for the path") do
676
- exec = Puppet::Type.type(:exec).create(:command => "echo yay",
673
+ exec = Puppet::Type.type(:exec).new(:command => "echo yay",
677
674
  :path => path.join(":"))
678
675
  end
679
676
  assert_equal(path, exec[:path], "string-based path did not match")
680
677
  assert_nothing_raised("Could not use a colon-separated strings in an array for the path") do
681
- exec = Puppet::Type.type(:exec).create(:command => "echo yay",
678
+ exec = Puppet::Type.type(:exec).new(:command => "echo yay",
682
679
  :path => ["/usr/bin", "/usr/sbin:/sbin"])
683
680
  end
684
681
  assert_equal(path, exec[:path], "colon-separated array path did not match")
@@ -687,7 +684,7 @@ and stuff"
687
684
  def test_checks_apply_to_refresh
688
685
  file = tempfile()
689
686
  maker = tempfile()
690
- exec = Puppet::Type.type(:exec).create(
687
+ exec = Puppet::Type.type(:exec).new(
691
688
  :title => "maker",
692
689
  :command => "touch #{maker}",
693
690
  :path => ENV["PATH"]
@@ -726,7 +723,7 @@ and stuff"
726
723
  def test_explicit_refresh
727
724
  refresher = tempfile()
728
725
  maker = tempfile()
729
- exec = Puppet::Type.type(:exec).create(
726
+ exec = Puppet::Type.type(:exec).new(
730
727
  :title => "maker",
731
728
  :command => "touch #{maker}",
732
729
  :path => ENV["PATH"]
@@ -756,8 +753,8 @@ and stuff"
756
753
 
757
754
  if Puppet.features.root?
758
755
  def test_autorequire_user
759
- user = Puppet::Type.type(:user).create(:name => "yay")
760
- exec = Puppet::Type.type(:exec).create(:command => "/bin/echo fun", :user => "yay")
756
+ user = Puppet::Type.type(:user).new(:name => "yay")
757
+ exec = Puppet::Type.type(:exec).new(:command => "/bin/echo fun", :user => "yay")
761
758
 
762
759
  rels = nil
763
760
  assert_nothing_raised("Could not evaluate autorequire") do