puppet 2.7.26 → 3.0.0.rc4

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 (1472) hide show
  1. data/CHANGELOG +533 -204
  2. data/Gemfile +8 -24
  3. data/Gemfile.lock +44 -0
  4. data/LICENSE +1 -1
  5. data/README.md +2 -2
  6. data/README_DEVELOPER.md +18 -210
  7. data/Rakefile +30 -47
  8. data/bin/puppet +5 -3
  9. data/conf/auth.conf +3 -3
  10. data/{ext → conf}/osx/PackageInfo.plist +0 -0
  11. data/{ext → conf}/osx/createpackage.sh +0 -0
  12. data/conf/osx/preflight +24 -0
  13. data/conf/redhat/client.init +8 -8
  14. data/{ext/redhat/puppet.spec.erb → conf/redhat/puppet.spec} +29 -46
  15. data/conf/redhat/queue.init +105 -0
  16. data/conf/redhat/rundir-perms.patch +13 -13
  17. data/conf/redhat/server.init +4 -4
  18. data/conf/solaris/pkginfo +1 -1
  19. data/conf/suse/puppet.spec +8 -3
  20. data/conf/windows/eventlog/puppetres.dll +0 -0
  21. data/ext/emacs/puppet-mode.el +204 -150
  22. data/ext/nagios/naggen +1 -1
  23. data/ext/puppet-test +1 -1
  24. data/ext/puppetlisten/puppetlisten.rb +1 -2
  25. data/ext/puppetlisten/puppetrun.rb +1 -2
  26. data/ext/rack/files/config.ru +21 -3
  27. data/ext/regexp_nodes/environment/development +2 -0
  28. data/ext/regexp_nodes/parameters/{environment → service}/prod +0 -0
  29. data/ext/regexp_nodes/parameters/{environment → service}/qa +0 -0
  30. data/ext/regexp_nodes/parameters/service/sandbox +1 -0
  31. data/ext/regexp_nodes/regexp_nodes.rb +115 -59
  32. data/ext/upload_facts.rb +0 -1
  33. data/install.rb +10 -10
  34. data/lib/puppet.rb +49 -24
  35. data/lib/puppet/agent.rb +40 -16
  36. data/lib/puppet/agent/disabler.rb +53 -0
  37. data/lib/puppet/agent/locker.rb +18 -24
  38. data/lib/puppet/application.rb +93 -72
  39. data/lib/puppet/application/agent.rb +29 -47
  40. data/lib/puppet/application/apply.rb +40 -39
  41. data/lib/puppet/application/cert.rb +9 -11
  42. data/lib/puppet/application/certificate.rb +7 -2
  43. data/lib/puppet/application/certificate_request.rb +3 -0
  44. data/lib/puppet/application/certificate_revocation_list.rb +3 -0
  45. data/lib/puppet/application/describe.rb +1 -3
  46. data/lib/puppet/application/device.rb +15 -16
  47. data/lib/puppet/application/doc.rb +12 -11
  48. data/lib/puppet/application/face_base.rb +9 -13
  49. data/lib/puppet/application/filebucket.rb +2 -8
  50. data/lib/puppet/application/inspect.rb +3 -6
  51. data/lib/puppet/application/instrumentation_data.rb +3 -0
  52. data/lib/puppet/application/instrumentation_listener.rb +3 -0
  53. data/lib/puppet/application/instrumentation_probe.rb +3 -0
  54. data/lib/puppet/application/kick.rb +2 -8
  55. data/lib/puppet/application/master.rb +9 -15
  56. data/lib/puppet/application/module.rb +0 -7
  57. data/lib/puppet/application/queue.rb +7 -6
  58. data/lib/puppet/application/resource.rb +1 -5
  59. data/lib/puppet/application/resource_type.rb +3 -0
  60. data/lib/puppet/application/secret_agent.rb +3 -0
  61. data/lib/puppet/configurer.rb +87 -88
  62. data/lib/puppet/configurer/downloader.rb +8 -23
  63. data/lib/puppet/configurer/fact_handler.rb +5 -17
  64. data/lib/puppet/configurer/plugin_handler.rb +4 -23
  65. data/lib/puppet/daemon.rb +24 -6
  66. data/lib/puppet/data_binding.rb +11 -0
  67. data/lib/puppet/defaults.rb +1058 -518
  68. data/lib/puppet/error.rb +31 -25
  69. data/lib/puppet/external/dot.rb +1 -1
  70. data/lib/puppet/external/nagios/base.rb +8 -4
  71. data/lib/puppet/face/ca.rb +1 -1
  72. data/lib/puppet/face/catalog.rb +1 -2
  73. data/lib/puppet/face/certificate.rb +12 -0
  74. data/lib/puppet/face/config.rb +3 -0
  75. data/lib/puppet/face/help.rb +92 -28
  76. data/lib/puppet/face/help/action.erb +36 -3
  77. data/lib/puppet/face/help/face.erb +35 -3
  78. data/lib/puppet/face/help/global.erb +8 -12
  79. data/lib/puppet/face/help/man.erb +20 -2
  80. data/lib/puppet/face/instrumentation_data.rb +1 -0
  81. data/lib/puppet/face/instrumentation_listener.rb +1 -0
  82. data/lib/puppet/face/instrumentation_probe.rb +1 -0
  83. data/lib/puppet/face/module.rb +2 -0
  84. data/lib/puppet/face/module/build.rb +32 -6
  85. data/lib/puppet/face/module/changes.rb +1 -0
  86. data/lib/puppet/face/module/generate.rb +1 -0
  87. data/lib/puppet/face/module/install.rb +10 -41
  88. data/lib/puppet/face/module/list.rb +2 -19
  89. data/lib/puppet/face/module/search.rb +12 -6
  90. data/lib/puppet/face/module/uninstall.rb +3 -18
  91. data/lib/puppet/face/module/upgrade.rb +2 -9
  92. data/lib/puppet/face/node/clean.rb +25 -27
  93. data/lib/puppet/face/report.rb +2 -4
  94. data/lib/puppet/face/resource.rb +1 -1
  95. data/lib/puppet/feature/base.rb +9 -3
  96. data/lib/puppet/feature/rails.rb +18 -0
  97. data/lib/puppet/feature/rdoc1.rb +16 -0
  98. data/lib/puppet/file_bucket/dipper.rb +3 -2
  99. data/lib/puppet/file_serving/base.rb +4 -8
  100. data/lib/puppet/file_serving/configuration.rb +1 -12
  101. data/lib/puppet/file_serving/configuration/parser.rb +1 -1
  102. data/lib/puppet/file_serving/metadata.rb +0 -14
  103. data/lib/puppet/file_serving/mount/plugins.rb +10 -1
  104. data/lib/puppet/file_serving/terminus_selector.rb +15 -13
  105. data/lib/puppet/forge.rb +29 -13
  106. data/lib/puppet/forge/cache.rb +1 -1
  107. data/lib/puppet/forge/errors.rb +69 -0
  108. data/lib/puppet/forge/repository.rb +84 -21
  109. data/lib/puppet/indirector/catalog/active_record.rb +2 -12
  110. data/lib/puppet/indirector/catalog/compiler.rb +8 -18
  111. data/lib/puppet/indirector/catalog/json.rb +6 -0
  112. data/lib/puppet/indirector/catalog/static_compiler.rb +3 -2
  113. data/lib/puppet/indirector/certificate/rest.rb +1 -0
  114. data/lib/puppet/indirector/certificate_status/file.rb +0 -5
  115. data/lib/puppet/indirector/data_binding/hiera.rb +6 -0
  116. data/lib/puppet/indirector/data_binding/none.rb +5 -0
  117. data/lib/puppet/indirector/exec.rb +8 -18
  118. data/lib/puppet/indirector/face.rb +5 -4
  119. data/lib/puppet/indirector/facts/facter.rb +6 -33
  120. data/lib/puppet/indirector/facts/network_device.rb +0 -1
  121. data/lib/puppet/indirector/file_bucket_file/file.rb +0 -4
  122. data/lib/puppet/indirector/file_bucket_file/selector.rb +0 -4
  123. data/lib/puppet/indirector/file_content/rest.rb +2 -0
  124. data/lib/puppet/indirector/hiera.rb +69 -0
  125. data/lib/puppet/indirector/indirection.rb +20 -26
  126. data/lib/puppet/indirector/json.rb +76 -0
  127. data/lib/puppet/indirector/ldap.rb +3 -2
  128. data/lib/puppet/indirector/node/active_record.rb +1 -0
  129. data/lib/puppet/indirector/node/exec.rb +9 -0
  130. data/lib/puppet/indirector/node/ldap.rb +6 -3
  131. data/lib/puppet/indirector/node/plain.rb +1 -0
  132. data/lib/puppet/indirector/none.rb +9 -0
  133. data/lib/puppet/indirector/queue.rb +1 -2
  134. data/lib/puppet/indirector/report/processor.rb +2 -3
  135. data/lib/puppet/indirector/report/rest.rb +1 -7
  136. data/lib/puppet/indirector/request.rb +80 -18
  137. data/lib/puppet/indirector/resource/active_record.rb +0 -3
  138. data/lib/puppet/indirector/resource/ral.rb +0 -4
  139. data/lib/puppet/indirector/resource/rest.rb +0 -9
  140. data/lib/puppet/indirector/resource/store_configs.rb +0 -3
  141. data/lib/puppet/indirector/resource_type/parser.rb +30 -1
  142. data/lib/puppet/indirector/rest.rb +103 -126
  143. data/lib/puppet/indirector/run/local.rb +0 -4
  144. data/lib/puppet/indirector/run/rest.rb +0 -6
  145. data/lib/puppet/indirector/terminus.rb +0 -20
  146. data/lib/puppet/indirector/yaml.rb +11 -5
  147. data/lib/puppet/interface.rb +6 -14
  148. data/lib/puppet/interface/action.rb +21 -3
  149. data/lib/puppet/interface/action_builder.rb +5 -0
  150. data/lib/puppet/interface/action_manager.rb +1 -1
  151. data/lib/puppet/interface/documentation.rb +12 -0
  152. data/lib/puppet/interface/face_collection.rb +1 -1
  153. data/lib/puppet/interface/option.rb +19 -3
  154. data/lib/puppet/interface/option_manager.rb +27 -9
  155. data/lib/puppet/metatype/manager.rb +1 -0
  156. data/lib/puppet/module.rb +40 -83
  157. data/lib/puppet/module_tool.rb +42 -5
  158. data/lib/puppet/module_tool/applications/builder.rb +1 -1
  159. data/lib/puppet/module_tool/applications/installer.rb +11 -11
  160. data/lib/puppet/module_tool/applications/searcher.rb +15 -2
  161. data/lib/puppet/module_tool/applications/unpacker.rb +4 -8
  162. data/lib/puppet/module_tool/applications/upgrader.rb +6 -5
  163. data/lib/puppet/module_tool/errors/base.rb +1 -1
  164. data/lib/puppet/module_tool/errors/installer.rb +24 -4
  165. data/lib/puppet/module_tool/install_directory.rb +41 -0
  166. data/lib/puppet/module_tool/metadata.rb +4 -4
  167. data/lib/puppet/module_tool/shared_behaviors.rb +6 -6
  168. data/lib/puppet/network/auth_config_parser.rb +81 -0
  169. data/lib/puppet/network/authconfig.rb +49 -147
  170. data/lib/puppet/network/authorization.rb +20 -62
  171. data/lib/puppet/network/authstore.rb +43 -27
  172. data/lib/puppet/network/formats.rb +10 -20
  173. data/lib/puppet/network/http/api/v1.rb +1 -1
  174. data/lib/puppet/network/http/connection.rb +184 -0
  175. data/lib/puppet/network/http/handler.rb +4 -14
  176. data/lib/puppet/network/http/mongrel.rb +5 -25
  177. data/lib/puppet/network/http/rack.rb +2 -34
  178. data/lib/puppet/network/http/rack/httphandler.rb +0 -3
  179. data/lib/puppet/network/http/rack/rest.rb +2 -7
  180. data/lib/puppet/network/http/webrick.rb +9 -32
  181. data/lib/puppet/network/http_pool.rb +10 -48
  182. data/lib/puppet/network/resolver.rb +85 -0
  183. data/lib/puppet/network/rights.rb +33 -89
  184. data/lib/puppet/network/server.rb +14 -43
  185. data/lib/puppet/node.rb +13 -11
  186. data/lib/puppet/node/environment.rb +29 -12
  187. data/lib/puppet/node/facts.rb +13 -38
  188. data/lib/puppet/parameter.rb +0 -21
  189. data/lib/puppet/parameter/package_options.rb +26 -0
  190. data/lib/puppet/parser/ast.rb +2 -13
  191. data/lib/puppet/parser/ast/function.rb +0 -2
  192. data/lib/puppet/parser/ast/leaf.rb +12 -22
  193. data/lib/puppet/parser/ast/resource.rb +3 -10
  194. data/lib/puppet/parser/ast/resource_defaults.rb +1 -1
  195. data/lib/puppet/parser/ast/resource_override.rb +1 -4
  196. data/lib/puppet/parser/ast/resourceparam.rb +4 -7
  197. data/lib/puppet/parser/ast/selector.rb +7 -1
  198. data/lib/puppet/parser/ast/vardef.rb +0 -2
  199. data/lib/puppet/parser/collector.rb +2 -1
  200. data/lib/puppet/parser/compiler.rb +43 -46
  201. data/lib/puppet/parser/files.rb +15 -20
  202. data/lib/puppet/parser/functions.rb +8 -39
  203. data/lib/puppet/parser/functions/extlookup.rb +8 -8
  204. data/lib/puppet/parser/functions/file.rb +18 -18
  205. data/lib/puppet/parser/functions/fqdn_rand.rb +2 -2
  206. data/lib/puppet/parser/functions/generate.rb +3 -3
  207. data/lib/puppet/parser/functions/include.rb +6 -1
  208. data/lib/puppet/parser/functions/require.rb +16 -21
  209. data/lib/puppet/parser/functions/shellquote.rb +29 -21
  210. data/lib/puppet/parser/functions/versioncmp.rb +2 -5
  211. data/lib/puppet/parser/grammar.ra +44 -14
  212. data/lib/puppet/parser/lexer.rb +101 -169
  213. data/lib/puppet/parser/parser.rb +1103 -1014
  214. data/lib/puppet/parser/parser_support.rb +10 -61
  215. data/lib/puppet/parser/relationship.rb +1 -3
  216. data/lib/puppet/parser/resource.rb +21 -56
  217. data/lib/puppet/parser/scope.rb +138 -165
  218. data/lib/puppet/parser/templatewrapper.rb +25 -20
  219. data/lib/puppet/parser/type_loader.rb +33 -67
  220. data/lib/puppet/parser/yaml_trimmer.rb +1 -1
  221. data/lib/puppet/property.rb +5 -4
  222. data/lib/puppet/provider.rb +133 -28
  223. data/lib/puppet/provider/augeas/augeas.rb +66 -6
  224. data/lib/puppet/provider/command.rb +25 -0
  225. data/lib/puppet/provider/cron/crontab.rb +1 -1
  226. data/lib/puppet/provider/exec.rb +14 -9
  227. data/lib/puppet/provider/exec/posix.rb +1 -1
  228. data/lib/puppet/provider/exec/windows.rb +2 -3
  229. data/lib/puppet/provider/file/windows.rb +29 -10
  230. data/lib/puppet/provider/group/groupadd.rb +3 -2
  231. data/lib/puppet/provider/group/ldap.rb +1 -1
  232. data/lib/puppet/provider/group/windows_adsi.rb +1 -1
  233. data/lib/puppet/provider/host/parsed.rb +1 -1
  234. data/lib/puppet/provider/ldap.rb +1 -5
  235. data/lib/puppet/provider/mount/parsed.rb +3 -3
  236. data/lib/puppet/provider/nameservice.rb +22 -22
  237. data/lib/puppet/provider/nameservice/directoryservice.rb +58 -121
  238. data/lib/puppet/provider/package/apt.rb +8 -11
  239. data/lib/puppet/provider/package/blastwave.rb +3 -3
  240. data/lib/puppet/provider/package/dpkg.rb +1 -1
  241. data/lib/puppet/provider/package/freebsd.rb +2 -2
  242. data/lib/puppet/provider/package/gem.rb +1 -1
  243. data/lib/puppet/provider/package/macports.rb +11 -9
  244. data/lib/puppet/provider/package/msi.rb +37 -32
  245. data/lib/puppet/provider/package/openbsd.rb +1 -1
  246. data/lib/puppet/provider/package/pacman.rb +69 -6
  247. data/lib/puppet/provider/package/pkg.rb +126 -75
  248. data/lib/puppet/provider/package/pkgin.rb +60 -0
  249. data/lib/puppet/provider/package/pkgutil.rb +32 -20
  250. data/lib/puppet/provider/package/portage.rb +2 -2
  251. data/lib/puppet/provider/package/sun.rb +83 -116
  252. data/lib/puppet/provider/package/sunfreeware.rb +1 -1
  253. data/lib/puppet/provider/package/up2date.rb +2 -3
  254. data/lib/puppet/provider/package/windows.rb +130 -0
  255. data/lib/puppet/provider/package/windows/exe_package.rb +70 -0
  256. data/lib/puppet/provider/package/windows/msi_package.rb +62 -0
  257. data/lib/puppet/provider/package/windows/package.rb +79 -0
  258. data/lib/puppet/provider/scheduled_task/win32_taskscheduler.rb +2 -2
  259. data/lib/puppet/provider/service/base.rb +1 -0
  260. data/lib/puppet/provider/service/bsd.rb +7 -5
  261. data/lib/puppet/provider/service/daemontools.rb +1 -1
  262. data/lib/puppet/provider/service/debian.rb +1 -1
  263. data/lib/puppet/provider/service/freebsd.rb +9 -9
  264. data/lib/puppet/provider/service/launchd.rb +7 -11
  265. data/lib/puppet/provider/service/redhat.rb +2 -2
  266. data/lib/puppet/provider/service/runit.rb +9 -2
  267. data/lib/puppet/provider/service/smf.rb +14 -2
  268. data/lib/puppet/provider/service/systemd.rb +3 -3
  269. data/lib/puppet/provider/service/upstart.rb +6 -6
  270. data/lib/puppet/provider/ssh_authorized_key/parsed.rb +1 -0
  271. data/lib/puppet/provider/user/user_role_add.rb +1 -1
  272. data/lib/puppet/provider/user/useradd.rb +3 -8
  273. data/lib/puppet/provider/user/windows_adsi.rb +1 -12
  274. data/lib/puppet/provider/zfs/{solaris.rb → zfs.rb} +16 -5
  275. data/lib/puppet/provider/zone/solaris.rb +10 -13
  276. data/lib/puppet/provider/zpool/{solaris.rb → zpool.rb} +11 -4
  277. data/lib/puppet/rails.rb +6 -4
  278. data/lib/puppet/rails/database/schema.rb +9 -4
  279. data/lib/puppet/rails/inventory_node.rb +13 -26
  280. data/lib/puppet/reference/configuration.rb +1 -2
  281. data/lib/puppet/reference/metaparameter.rb +1 -2
  282. data/lib/puppet/reports/http.rb +9 -10
  283. data/lib/puppet/reports/rrdgraph.rb +2 -2
  284. data/lib/puppet/reports/store.rb +1 -2
  285. data/lib/puppet/reports/tagmail.rb +6 -6
  286. data/lib/puppet/resource.rb +69 -64
  287. data/lib/puppet/resource/catalog.rb +11 -60
  288. data/lib/puppet/resource/status.rb +6 -32
  289. data/lib/puppet/resource/type.rb +94 -34
  290. data/lib/puppet/resource/type_collection.rb +17 -8
  291. data/lib/puppet/run.rb +4 -26
  292. data/lib/puppet/settings.rb +1315 -0
  293. data/lib/puppet/settings/base_setting.rb +163 -0
  294. data/lib/puppet/{util/settings → settings}/boolean_setting.rb +7 -3
  295. data/lib/puppet/settings/directory_setting.rb +7 -0
  296. data/lib/puppet/settings/errors.rb +11 -0
  297. data/lib/puppet/{util/settings → settings}/file_setting.rb +4 -20
  298. data/lib/puppet/settings/path_setting.rb +10 -0
  299. data/lib/puppet/settings/string_setting.rb +12 -0
  300. data/lib/puppet/simple_graph.rb +2 -5
  301. data/lib/puppet/ssl/base.rb +2 -2
  302. data/lib/puppet/ssl/certificate_authority.rb +4 -5
  303. data/lib/puppet/ssl/certificate_authority/interface.rb +5 -7
  304. data/lib/puppet/ssl/certificate_factory.rb +1 -2
  305. data/lib/puppet/ssl/certificate_request.rb +2 -2
  306. data/lib/puppet/ssl/certificate_revocation_list.rb +53 -30
  307. data/lib/puppet/ssl/configuration.rb +32 -0
  308. data/lib/puppet/ssl/host.rb +9 -37
  309. data/lib/puppet/status.rb +2 -6
  310. data/lib/puppet/test/test_helper.rb +58 -25
  311. data/lib/puppet/transaction.rb +6 -9
  312. data/lib/puppet/transaction/event.rb +13 -24
  313. data/lib/puppet/transaction/event_manager.rb +1 -1
  314. data/lib/puppet/transaction/report.rb +2 -41
  315. data/lib/puppet/transaction/resource_harness.rb +2 -3
  316. data/lib/puppet/type.rb +18 -191
  317. data/lib/puppet/type/augeas.rb +1 -1
  318. data/lib/puppet/type/cron.rb +1 -1
  319. data/lib/puppet/type/exec.rb +6 -4
  320. data/lib/puppet/type/file.rb +33 -44
  321. data/lib/puppet/type/file/content.rb +13 -9
  322. data/lib/puppet/type/file/ensure.rb +1 -1
  323. data/lib/puppet/type/file/mode.rb +1 -1
  324. data/lib/puppet/type/file/selcontext.rb +2 -6
  325. data/lib/puppet/type/file/source.rb +8 -4
  326. data/lib/puppet/type/filebucket.rb +3 -2
  327. data/lib/puppet/type/mount.rb +1 -11
  328. data/lib/puppet/type/package.rb +40 -23
  329. data/lib/puppet/type/schedule.rb +127 -21
  330. data/lib/puppet/type/scheduled_task.rb +1 -1
  331. data/lib/puppet/type/service.rb +2 -3
  332. data/lib/puppet/type/tidy.rb +8 -17
  333. data/lib/puppet/type/yumrepo.rb +35 -7
  334. data/lib/puppet/type/zfs.rb +4 -0
  335. data/lib/puppet/type/zone.rb +48 -38
  336. data/lib/puppet/util.rb +178 -249
  337. data/lib/puppet/util/adsi.rb +23 -25
  338. data/lib/puppet/util/autoload.rb +184 -114
  339. data/lib/puppet/util/backups.rb +3 -2
  340. data/lib/puppet/util/colors.rb +0 -1
  341. data/lib/puppet/util/command_line.rb +42 -104
  342. data/lib/puppet/util/command_line/puppet_option_parser.rb +89 -0
  343. data/lib/puppet/util/command_line/trollop.rb +824 -0
  344. data/lib/puppet/util/config_timeout.rb +24 -0
  345. data/lib/puppet/util/constant_inflector.rb +15 -7
  346. data/lib/puppet/util/diff.rb +2 -2
  347. data/lib/puppet/util/docs.rb +1 -2
  348. data/lib/puppet/util/errors.rb +3 -4
  349. data/lib/puppet/util/execution.rb +239 -14
  350. data/lib/puppet/util/execution_stub.rb +2 -2
  351. data/lib/puppet/util/feature.rb +2 -4
  352. data/lib/puppet/util/fileparsing.rb +1 -1
  353. data/lib/puppet/util/filetype.rb +12 -10
  354. data/lib/puppet/util/json_lockfile.rb +41 -0
  355. data/lib/puppet/util/ldap/connection.rb +4 -7
  356. data/lib/puppet/util/lockfile.rb +62 -0
  357. data/lib/puppet/util/log.rb +16 -20
  358. data/lib/puppet/util/log/destinations.rb +12 -27
  359. data/lib/puppet/util/logging.rb +95 -3
  360. data/lib/puppet/util/metric.rb +0 -6
  361. data/lib/puppet/util/monkey_patches.rb +101 -82
  362. data/lib/puppet/util/monkey_patches/lines.rb +13 -0
  363. data/lib/puppet/util/network_device/cisco/device.rb +2 -2
  364. data/lib/puppet/util/network_device/config.rb +1 -0
  365. data/lib/puppet/util/network_device/transport.rb +2 -0
  366. data/lib/puppet/util/pidlock.rb +13 -77
  367. data/lib/puppet/util/platform.rb +0 -7
  368. data/lib/puppet/util/posix.rb +10 -0
  369. data/lib/puppet/util/rdoc.rb +12 -8
  370. data/lib/puppet/util/reference.rb +3 -3
  371. data/lib/puppet/util/rubygems.rb +55 -0
  372. data/lib/puppet/util/run_mode.rb +7 -16
  373. data/lib/puppet/util/selinux.rb +36 -31
  374. data/lib/puppet/util/storage.rb +14 -19
  375. data/lib/puppet/util/suidmanager.rb +27 -2
  376. data/lib/puppet/util/windows.rb +9 -6
  377. data/lib/puppet/util/windows/error.rb +1 -1
  378. data/lib/puppet/util/windows/process.rb +3 -3
  379. data/lib/puppet/util/windows/registry.rb +36 -0
  380. data/lib/puppet/util/windows/security.rb +46 -9
  381. data/lib/puppet/util/windows/user.rb +2 -65
  382. data/lib/puppet/util/zaml.rb +47 -91
  383. data/lib/puppet/version.rb +1 -1
  384. data/man/man5/puppet.conf.5 +97 -69
  385. data/man/man8/puppet-agent.8 +5 -6
  386. data/man/man8/puppet-apply.8 +7 -3
  387. data/man/man8/puppet-ca.8 +5 -17
  388. data/man/man8/puppet-catalog.8 +1 -1
  389. data/man/man8/puppet-cert.8 +1 -1
  390. data/man/man8/puppet-certificate.8 +3 -9
  391. data/man/man8/puppet-certificate_request.8 +1 -1
  392. data/man/man8/puppet-certificate_revocation_list.8 +1 -1
  393. data/man/man8/puppet-config.8 +1 -1
  394. data/man/man8/puppet-describe.8 +1 -1
  395. data/man/man8/puppet-device.8 +1 -1
  396. data/man/man8/puppet-doc.8 +7 -1
  397. data/man/man8/puppet-facts.8 +1 -1
  398. data/man/man8/puppet-file.8 +1 -1
  399. data/man/man8/puppet-filebucket.8 +1 -1
  400. data/man/man8/puppet-help.8 +2 -5
  401. data/man/man8/puppet-inspect.8 +1 -1
  402. data/man/man8/puppet-instrumentation_data.8 +1 -1
  403. data/man/man8/puppet-instrumentation_listener.8 +1 -1
  404. data/man/man8/puppet-instrumentation_probe.8 +1 -1
  405. data/man/man8/puppet-key.8 +1 -1
  406. data/man/man8/puppet-kick.8 +1 -1
  407. data/man/man8/puppet-man.8 +1 -1
  408. data/man/man8/puppet-master.8 +1 -1
  409. data/man/man8/puppet-module.8 +19 -50
  410. data/man/man8/puppet-node.8 +2 -5
  411. data/man/man8/puppet-parser.8 +7 -1
  412. data/man/man8/puppet-plugin.8 +1 -1
  413. data/man/man8/puppet-queue.8 +1 -1
  414. data/man/man8/puppet-report.8 +2 -3
  415. data/man/man8/puppet-resource.8 +1 -1
  416. data/man/man8/puppet-resource_type.8 +1 -1
  417. data/man/man8/puppet-secret_agent.8 +1 -1
  418. data/man/man8/puppet-status.8 +1 -1
  419. data/man/man8/puppet.8 +1 -1
  420. data/spec/fixtures/unit/indirector/hiera/global.yaml +10 -0
  421. data/{test/data/providers/cron/crontab_sample_records.yaml → spec/fixtures/unit/provider/cron/crontab/single_line.yaml} +0 -0
  422. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris10 +1 -1
  423. data/spec/fixtures/unit/provider/package/pkg/{dummy_solaris11 → dummy_solaris11.ifo.installed} +0 -0
  424. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.ifo.known +1 -0
  425. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.installed +1 -0
  426. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.known +1 -0
  427. data/spec/fixtures/unit/provider/package/pkg/publisher +2 -2
  428. data/spec/fixtures/unit/provider/package/pkg/simple +2 -4
  429. data/spec/fixtures/unit/provider/package/pkg/solaris11 +2 -12
  430. data/spec/fixtures/unit/provider/package/sun/dummy.server +12 -0
  431. data/spec/fixtures/unit/provider/package/sun/simple +24 -0
  432. data/spec/fixtures/unit/provider/service/smf/svcs.out +3 -0
  433. data/{test/data/types/sshkey/1 → spec/fixtures/unit/provider/sshkey/parsed/sample} +0 -0
  434. data/spec/fixtures/unit/provider/zfs/zfs/zfs-list.out +2 -0
  435. data/spec/fixtures/unit/provider/zpool/zpool/zpool-list.out +2 -0
  436. data/spec/integration/application/apply_spec.rb +1 -1
  437. data/spec/integration/application/doc_spec.rb +3 -2
  438. data/spec/integration/configurer_spec.rb +1 -1
  439. data/spec/integration/defaults_spec.rb +21 -51
  440. data/spec/{unit/face → integration/faces}/ca_spec.rb +89 -130
  441. data/spec/integration/faces/documentation_spec.rb +36 -29
  442. data/spec/integration/file_serving/content_spec.rb +1 -2
  443. data/spec/integration/file_serving/fileset_spec.rb +1 -1
  444. data/spec/integration/file_serving/metadata_spec.rb +1 -2
  445. data/spec/integration/file_serving/terminus_helper_spec.rb +1 -1
  446. data/spec/integration/indirector/catalog/compiler_spec.rb +1 -2
  447. data/spec/integration/indirector/catalog/queue_spec.rb +3 -3
  448. data/spec/integration/indirector/direct_file_server_spec.rb +14 -10
  449. data/spec/integration/indirector/facts/facter_spec.rb +22 -0
  450. data/spec/integration/indirector/file_content/file_server_spec.rb +1 -1
  451. data/spec/integration/indirector/file_metadata/file_server_spec.rb +1 -1
  452. data/spec/integration/indirector/node/ldap_spec.rb +1 -1
  453. data/spec/integration/network/authconfig_spec.rb +238 -0
  454. data/spec/integration/network/formats_spec.rb +2 -4
  455. data/spec/integration/network/server/mongrel_spec.rb +2 -10
  456. data/spec/integration/network/server/webrick_spec.rb +1 -1
  457. data/spec/integration/node/environment_spec.rb +1 -1
  458. data/spec/integration/node/facts_spec.rb +2 -2
  459. data/spec/integration/node_spec.rb +2 -15
  460. data/spec/integration/parser/collector_spec.rb +2 -2
  461. data/spec/integration/parser/compiler_spec.rb +38 -10
  462. data/spec/integration/parser/functions/require_spec.rb +1 -1
  463. data/spec/integration/parser/functions_spec.rb +1 -1
  464. data/spec/integration/parser/parser_spec.rb +1 -1
  465. data/spec/integration/parser/ruby_manifest_spec.rb +1 -1
  466. data/spec/integration/parser/scope_spec.rb +608 -0
  467. data/spec/integration/provider/mailalias/aliases_spec.rb +1 -1
  468. data/spec/integration/provider/mount_spec.rb +1 -0
  469. data/spec/integration/provider/package_spec.rb +3 -3
  470. data/spec/integration/provider/service/init_spec.rb +2 -2
  471. data/spec/integration/provider/ssh_authorized_key_spec.rb +1 -1
  472. data/spec/integration/reference/providers_spec.rb +1 -1
  473. data/spec/integration/reports_spec.rb +1 -1
  474. data/spec/integration/resource/catalog_spec.rb +1 -2
  475. data/spec/integration/resource/type_collection_spec.rb +1 -1
  476. data/spec/integration/ssl/certificate_authority_spec.rb +1 -1
  477. data/spec/integration/ssl/certificate_request_spec.rb +1 -1
  478. data/spec/integration/ssl/certificate_revocation_list_spec.rb +1 -1
  479. data/spec/integration/ssl/host_spec.rb +1 -1
  480. data/spec/integration/transaction/report_spec.rb +1 -1
  481. data/spec/integration/transaction_spec.rb +2 -2
  482. data/spec/integration/type/exec_spec.rb +1 -1
  483. data/spec/integration/type/file_spec.rb +140 -158
  484. data/spec/integration/type/package_spec.rb +6 -2
  485. data/spec/integration/type/tidy_spec.rb +1 -1
  486. data/spec/integration/type_spec.rb +1 -1
  487. data/spec/integration/util/autoload_spec.rb +8 -14
  488. data/spec/integration/util/feature_spec.rb +1 -1
  489. data/spec/integration/util/rdoc/parser_spec.rb +11 -9
  490. data/spec/integration/util/settings_spec.rb +19 -6
  491. data/spec/integration/util/windows/security_spec.rb +23 -3
  492. data/spec/integration/util_spec.rb +3 -3
  493. data/spec/lib/puppet/indirector/indirector_testing/json.rb +6 -0
  494. data/spec/lib/puppet/indirector_testing.rb +27 -0
  495. data/spec/lib/puppet_spec/compiler.rb +2 -2
  496. data/spec/lib/puppet_spec/database.rb +1 -1
  497. data/spec/lib/puppet_spec/files.rb +4 -4
  498. data/spec/lib/puppet_spec/matchers.rb +26 -24
  499. data/spec/lib/puppet_spec/modules.rb +1 -1
  500. data/spec/lib/puppet_spec/settings.rb +16 -0
  501. data/spec/shared_behaviours/file_server_terminus.rb +2 -2
  502. data/spec/shared_behaviours/file_serving.rb +10 -15
  503. data/spec/shared_behaviours/file_serving_model.rb +2 -6
  504. data/spec/shared_contexts/platform.rb +0 -8
  505. data/spec/spec_helper.rb +14 -15
  506. data/spec/unit/agent/disabler_spec.rb +64 -0
  507. data/spec/unit/agent/locker_spec.rb +31 -36
  508. data/spec/unit/agent_spec.rb +79 -26
  509. data/spec/unit/application/agent_spec.rb +66 -39
  510. data/spec/unit/application/apply_spec.rb +46 -36
  511. data/spec/unit/application/cert_spec.rb +1 -5
  512. data/spec/unit/application/certificate_spec.rb +1 -1
  513. data/spec/unit/application/config_spec.rb +1 -1
  514. data/spec/unit/application/describe_spec.rb +1 -5
  515. data/spec/unit/application/device_spec.rb +22 -12
  516. data/spec/unit/application/doc_spec.rb +37 -69
  517. data/spec/unit/application/face_base_spec.rb +10 -6
  518. data/spec/unit/application/facts_spec.rb +3 -3
  519. data/spec/unit/application/filebucket_spec.rb +7 -18
  520. data/spec/unit/application/indirection_base_spec.rb +11 -5
  521. data/spec/unit/application/inspect_spec.rb +3 -2
  522. data/spec/unit/application/kick_spec.rb +6 -22
  523. data/spec/unit/application/master_spec.rb +15 -39
  524. data/spec/unit/application/queue_spec.rb +2 -6
  525. data/spec/unit/application/resource_spec.rb +15 -12
  526. data/spec/unit/application/secret_agent_spec.rb +1 -1
  527. data/spec/unit/application_spec.rb +110 -123
  528. data/spec/unit/configurer/downloader_spec.rb +5 -5
  529. data/spec/unit/configurer/fact_handler_spec.rb +1 -40
  530. data/spec/unit/configurer/plugin_handler_spec.rb +11 -96
  531. data/spec/unit/configurer_spec.rb +61 -59
  532. data/spec/unit/daemon_spec.rb +26 -19
  533. data/spec/unit/data_binding_spec.rb +11 -0
  534. data/spec/unit/dsl/resource_api_spec.rb +2 -2
  535. data/spec/unit/dsl/resource_type_api_spec.rb +1 -1
  536. data/spec/unit/face/catalog_spec.rb +1 -1
  537. data/spec/unit/face/certificate_request_spec.rb +1 -1
  538. data/spec/unit/face/certificate_revocation_list_spec.rb +1 -1
  539. data/spec/unit/face/certificate_spec.rb +18 -1
  540. data/spec/unit/face/config_spec.rb +8 -1
  541. data/spec/unit/face/facts_spec.rb +1 -1
  542. data/spec/unit/face/file_spec.rb +1 -1
  543. data/spec/unit/face/help_spec.rb +39 -22
  544. data/spec/unit/face/instrumentation_data_spec.rb +1 -1
  545. data/spec/unit/face/instrumentation_listener_spec.rb +1 -1
  546. data/spec/unit/face/instrumentation_probe_spec.rb +1 -1
  547. data/spec/unit/face/key_spec.rb +1 -1
  548. data/spec/unit/face/module/build_spec.rb +68 -0
  549. data/spec/unit/face/module/install_spec.rb +46 -31
  550. data/spec/unit/face/module/list_spec.rb +18 -21
  551. data/spec/unit/face/module/search_spec.rb +87 -49
  552. data/spec/unit/face/module/uninstall_spec.rb +4 -4
  553. data/spec/unit/face/node_spec.rb +3 -3
  554. data/spec/unit/face/plugin_spec.rb +1 -1
  555. data/spec/unit/face/report_spec.rb +1 -1
  556. data/spec/unit/face/resource_spec.rb +1 -1
  557. data/spec/unit/face/resource_type_spec.rb +1 -1
  558. data/spec/unit/face/secret_agent_spec.rb +1 -1
  559. data/spec/unit/file_bucket/dipper_spec.rb +1 -1
  560. data/spec/unit/file_bucket/file_spec.rb +1 -1
  561. data/spec/unit/file_serving/base_spec.rb +1 -1
  562. data/spec/unit/file_serving/configuration/parser_spec.rb +1 -1
  563. data/spec/unit/file_serving/configuration_spec.rb +7 -21
  564. data/spec/unit/file_serving/content_spec.rb +1 -1
  565. data/spec/unit/file_serving/fileset_spec.rb +13 -13
  566. data/spec/unit/file_serving/metadata_spec.rb +29 -47
  567. data/spec/unit/file_serving/mount/file_spec.rb +1 -1
  568. data/spec/unit/file_serving/mount/modules_spec.rb +1 -1
  569. data/spec/unit/file_serving/mount/plugins_spec.rb +17 -4
  570. data/spec/unit/file_serving/mount_spec.rb +1 -1
  571. data/spec/unit/file_serving/terminus_helper_spec.rb +1 -1
  572. data/spec/unit/file_serving/terminus_selector_spec.rb +5 -5
  573. data/spec/unit/forge/errors_spec.rb +42 -0
  574. data/spec/unit/forge/repository_spec.rb +108 -31
  575. data/spec/unit/forge_spec.rb +17 -23
  576. data/spec/unit/indirector/active_record_spec.rb +1 -1
  577. data/spec/unit/indirector/catalog/active_record_spec.rb +11 -49
  578. data/spec/unit/indirector/catalog/compiler_spec.rb +18 -45
  579. data/spec/unit/indirector/catalog/json_spec.rb +12 -0
  580. data/spec/unit/indirector/catalog/queue_spec.rb +1 -1
  581. data/spec/unit/indirector/catalog/rest_spec.rb +1 -1
  582. data/spec/unit/indirector/catalog/store_configs_spec.rb +1 -1
  583. data/spec/unit/indirector/catalog/yaml_spec.rb +1 -1
  584. data/spec/unit/indirector/certificate/ca_spec.rb +5 -6
  585. data/spec/unit/indirector/certificate/file_spec.rb +5 -6
  586. data/spec/unit/indirector/certificate/rest_spec.rb +6 -2
  587. data/spec/unit/indirector/certificate_request/ca_spec.rb +3 -3
  588. data/spec/unit/indirector/certificate_request/file_spec.rb +3 -3
  589. data/spec/unit/indirector/certificate_request/rest_spec.rb +1 -1
  590. data/spec/unit/indirector/certificate_revocation_list/ca_spec.rb +3 -4
  591. data/spec/unit/indirector/certificate_revocation_list/file_spec.rb +4 -3
  592. data/spec/unit/indirector/certificate_revocation_list/rest_spec.rb +1 -1
  593. data/spec/unit/indirector/certificate_status/file_spec.rb +41 -31
  594. data/spec/unit/indirector/certificate_status/rest_spec.rb +1 -1
  595. data/spec/unit/indirector/code_spec.rb +1 -1
  596. data/spec/unit/indirector/data_binding/hiera_spec.rb +21 -0
  597. data/spec/unit/indirector/data_binding/none_spec.rb +28 -0
  598. data/spec/unit/indirector/direct_file_server_spec.rb +2 -2
  599. data/spec/unit/indirector/envelope_spec.rb +1 -1
  600. data/spec/unit/indirector/exec_spec.rb +1 -1
  601. data/spec/unit/indirector/face_spec.rb +1 -1
  602. data/spec/unit/indirector/facts/active_record_spec.rb +1 -1
  603. data/spec/unit/indirector/facts/couch_spec.rb +3 -3
  604. data/spec/unit/indirector/facts/facter_spec.rb +13 -20
  605. data/spec/unit/indirector/facts/inventory_active_record_spec.rb +2 -2
  606. data/spec/unit/indirector/facts/inventory_service_spec.rb +2 -3
  607. data/spec/unit/indirector/facts/network_device_spec.rb +2 -9
  608. data/spec/unit/indirector/facts/rest_spec.rb +1 -1
  609. data/spec/unit/indirector/facts/store_configs_spec.rb +1 -1
  610. data/spec/unit/indirector/facts/yaml_spec.rb +2 -2
  611. data/spec/unit/indirector/file_bucket_file/file_spec.rb +2 -2
  612. data/spec/unit/indirector/file_bucket_file/rest_spec.rb +1 -1
  613. data/spec/unit/indirector/file_content/file_server_spec.rb +1 -1
  614. data/spec/unit/indirector/file_content/file_spec.rb +1 -1
  615. data/spec/unit/indirector/file_content/rest_spec.rb +7 -3
  616. data/spec/unit/indirector/file_metadata/file_server_spec.rb +1 -1
  617. data/spec/unit/indirector/file_metadata/file_spec.rb +3 -3
  618. data/spec/unit/indirector/file_metadata/rest_spec.rb +1 -1
  619. data/spec/unit/indirector/file_server_spec.rb +1 -1
  620. data/spec/unit/indirector/hiera_spec.rb +149 -0
  621. data/spec/unit/indirector/indirection_spec.rb +10 -29
  622. data/spec/unit/indirector/instrumentation_data/local_spec.rb +1 -1
  623. data/spec/unit/indirector/instrumentation_data/rest_spec.rb +1 -1
  624. data/spec/unit/indirector/instrumentation_listener/local_spec.rb +1 -1
  625. data/spec/unit/indirector/instrumentation_listener/rest_spec.rb +1 -1
  626. data/spec/unit/indirector/instrumentation_probe/local_spec.rb +1 -1
  627. data/spec/unit/indirector/instrumentation_probe/rest_spec.rb +1 -1
  628. data/spec/unit/indirector/json_spec.rb +193 -0
  629. data/spec/unit/indirector/key/ca_spec.rb +5 -6
  630. data/spec/unit/indirector/key/file_spec.rb +10 -12
  631. data/spec/unit/indirector/ldap_spec.rb +3 -3
  632. data/spec/unit/indirector/memory_spec.rb +1 -1
  633. data/spec/unit/indirector/node/active_record_spec.rb +11 -7
  634. data/spec/unit/indirector/node/exec_spec.rb +12 -5
  635. data/spec/unit/indirector/node/ldap_spec.rb +173 -194
  636. data/spec/unit/indirector/node/memory_spec.rb +1 -1
  637. data/spec/unit/indirector/node/plain_spec.rb +16 -8
  638. data/spec/unit/indirector/node/rest_spec.rb +1 -1
  639. data/spec/unit/indirector/node/store_configs_spec.rb +1 -1
  640. data/spec/unit/indirector/node/yaml_spec.rb +1 -1
  641. data/spec/unit/indirector/none_spec.rb +33 -0
  642. data/spec/unit/indirector/plain_spec.rb +1 -1
  643. data/spec/unit/indirector/queue_spec.rb +1 -1
  644. data/spec/unit/indirector/report/processor_spec.rb +4 -4
  645. data/spec/unit/indirector/report/rest_spec.rb +3 -46
  646. data/spec/unit/indirector/report/yaml_spec.rb +3 -12
  647. data/spec/unit/indirector/request_spec.rb +238 -61
  648. data/spec/unit/indirector/resource/active_record_spec.rb +2 -2
  649. data/spec/unit/indirector/resource/ral_spec.rb +2 -2
  650. data/spec/unit/indirector/resource/rest_spec.rb +1 -1
  651. data/spec/unit/indirector/resource/store_configs_spec.rb +1 -1
  652. data/spec/unit/indirector/resource_type/parser_spec.rb +153 -53
  653. data/spec/unit/indirector/resource_type/rest_spec.rb +1 -1
  654. data/spec/unit/indirector/rest_spec.rb +350 -361
  655. data/spec/unit/indirector/run/local_spec.rb +2 -2
  656. data/spec/unit/indirector/run/rest_spec.rb +1 -1
  657. data/spec/unit/indirector/ssl_file_spec.rb +12 -10
  658. data/spec/unit/indirector/status/rest_spec.rb +1 -1
  659. data/spec/unit/indirector/store_configs_spec.rb +1 -1
  660. data/spec/unit/indirector/terminus_spec.rb +1 -46
  661. data/spec/unit/indirector/yaml_spec.rb +36 -36
  662. data/spec/unit/indirector_spec.rb +1 -1
  663. data/spec/unit/interface/action_builder_spec.rb +1 -1
  664. data/spec/unit/interface/action_manager_spec.rb +1 -1
  665. data/spec/unit/interface/action_spec.rb +1 -1
  666. data/spec/unit/interface/documentation_spec.rb +3 -2
  667. data/spec/unit/interface/face_collection_spec.rb +19 -9
  668. data/spec/unit/interface/option_builder_spec.rb +9 -1
  669. data/spec/unit/interface/option_spec.rb +8 -0
  670. data/spec/unit/interface_spec.rb +49 -11
  671. data/spec/unit/module_spec.rb +95 -303
  672. data/spec/unit/module_tool/application_spec.rb +6 -6
  673. data/spec/unit/module_tool/applications/installer_spec.rb +131 -69
  674. data/spec/unit/module_tool/applications/searcher_spec.rb +37 -0
  675. data/spec/unit/module_tool/applications/uninstaller_spec.rb +27 -19
  676. data/spec/unit/module_tool/applications/unpacker_spec.rb +4 -10
  677. data/spec/unit/module_tool/applications/upgrader_spec.rb +1 -4
  678. data/spec/unit/module_tool/install_directory_spec.rb +70 -0
  679. data/spec/unit/module_tool_spec.rb +132 -1
  680. data/spec/unit/network/auth_config_parser_spec.rb +101 -0
  681. data/spec/unit/network/authconfig_spec.rb +54 -272
  682. data/spec/unit/network/authorization_spec.rb +20 -0
  683. data/spec/unit/network/authstore_spec.rb +17 -15
  684. data/spec/unit/network/format_handler_spec.rb +3 -3
  685. data/spec/unit/network/format_spec.rb +1 -1
  686. data/spec/unit/network/formats_spec.rb +28 -37
  687. data/spec/unit/network/http/api/v1_spec.rb +3 -3
  688. data/spec/unit/network/http/compression_spec.rb +3 -3
  689. data/spec/unit/network/http/connection_spec.rb +244 -0
  690. data/spec/unit/network/http/handler_spec.rb +4 -20
  691. data/spec/unit/network/http/mongrel/rest_spec.rb +12 -31
  692. data/spec/unit/network/http/mongrel_spec.rb +7 -37
  693. data/spec/unit/network/http/rack/rest_spec.rb +10 -44
  694. data/spec/unit/network/http/rack_spec.rb +2 -59
  695. data/spec/unit/network/http/webrick/rest_spec.rb +14 -4
  696. data/spec/unit/network/http/webrick_spec.rb +129 -193
  697. data/spec/unit/network/http_pool_spec.rb +6 -115
  698. data/spec/unit/network/http_spec.rb +1 -1
  699. data/spec/unit/network/resolver_spec.rb +207 -0
  700. data/spec/unit/network/rights_spec.rb +15 -115
  701. data/spec/unit/network/server_spec.rb +58 -166
  702. data/spec/unit/node/environment_spec.rb +7 -7
  703. data/spec/unit/node/facts_spec.rb +15 -30
  704. data/spec/unit/node_spec.rb +14 -26
  705. data/spec/unit/other/selinux_spec.rb +1 -1
  706. data/spec/unit/parameter/package_options_spec.rb +44 -0
  707. data/spec/unit/parameter/path_spec.rb +1 -1
  708. data/spec/unit/parameter/value_collection_spec.rb +1 -1
  709. data/spec/unit/parameter/value_spec.rb +1 -1
  710. data/spec/unit/parameter_spec.rb +1 -1
  711. data/spec/unit/parser/ast/arithmetic_operator_spec.rb +4 -2
  712. data/spec/unit/parser/ast/astarray_spec.rb +4 -2
  713. data/spec/unit/parser/ast/asthash_spec.rb +4 -2
  714. data/spec/unit/parser/ast/boolean_operator_spec.rb +4 -2
  715. data/spec/unit/parser/ast/casestatement_spec.rb +9 -5
  716. data/spec/unit/parser/ast/collection_spec.rb +2 -2
  717. data/spec/unit/parser/ast/collexpr_spec.rb +4 -2
  718. data/spec/unit/parser/ast/comparison_operator_spec.rb +5 -2
  719. data/spec/unit/parser/ast/definition_spec.rb +1 -1
  720. data/spec/unit/parser/ast/function_spec.rb +3 -3
  721. data/spec/unit/parser/ast/hostclass_spec.rb +1 -1
  722. data/spec/unit/parser/ast/ifstatement_spec.rb +4 -2
  723. data/spec/unit/parser/ast/in_operator_spec.rb +4 -2
  724. data/spec/unit/parser/ast/leaf_spec.rb +66 -39
  725. data/spec/unit/parser/ast/match_operator_spec.rb +4 -2
  726. data/spec/unit/parser/ast/minus_spec.rb +4 -2
  727. data/spec/unit/parser/ast/node_spec.rb +1 -1
  728. data/spec/unit/parser/ast/nop_spec.rb +1 -1
  729. data/spec/unit/parser/ast/not_spec.rb +4 -2
  730. data/spec/unit/parser/ast/relationship_spec.rb +2 -2
  731. data/spec/unit/parser/ast/resource_defaults_spec.rb +2 -2
  732. data/spec/unit/parser/ast/resource_override_spec.rb +2 -2
  733. data/spec/unit/parser/ast/resource_reference_spec.rb +5 -3
  734. data/spec/unit/parser/ast/resource_spec.rb +5 -32
  735. data/spec/unit/parser/ast/selector_spec.rb +56 -106
  736. data/spec/unit/parser/ast/vardef_spec.rb +4 -2
  737. data/spec/unit/parser/ast_spec.rb +22 -51
  738. data/spec/unit/parser/collector_spec.rb +2 -2
  739. data/spec/unit/parser/compiler_spec.rb +89 -42
  740. data/spec/unit/parser/files_spec.rb +81 -10
  741. data/spec/unit/parser/functions/create_resources_spec.rb +5 -4
  742. data/spec/unit/parser/functions/defined_spec.rb +2 -2
  743. data/spec/unit/parser/functions/extlookup_spec.rb +9 -8
  744. data/spec/unit/parser/functions/fail_spec.rb +28 -0
  745. data/spec/unit/parser/functions/file_spec.rb +55 -0
  746. data/spec/unit/parser/functions/fqdn_rand_spec.rb +6 -12
  747. data/spec/unit/parser/functions/generate_spec.rb +54 -3
  748. data/spec/unit/parser/functions/include_spec.rb +19 -2
  749. data/spec/unit/parser/functions/inline_template_spec.rb +9 -20
  750. data/spec/unit/parser/functions/realize_spec.rb +4 -4
  751. data/spec/unit/parser/functions/regsubst_spec.rb +4 -2
  752. data/spec/unit/parser/functions/require_spec.rb +5 -14
  753. data/spec/unit/parser/functions/search_spec.rb +23 -0
  754. data/spec/unit/parser/functions/shellquote_spec.rb +31 -38
  755. data/spec/unit/parser/functions/split_spec.rb +4 -2
  756. data/spec/unit/parser/functions/sprintf_spec.rb +4 -2
  757. data/spec/unit/parser/functions/tag_spec.rb +4 -3
  758. data/spec/unit/parser/functions/template_spec.rb +45 -27
  759. data/spec/unit/parser/functions/versioncmp_spec.rb +4 -2
  760. data/spec/unit/parser/functions_spec.rb +14 -22
  761. data/spec/unit/parser/lexer_spec.rb +10 -134
  762. data/spec/unit/parser/parser_spec.rb +126 -35
  763. data/spec/unit/parser/relationship_spec.rb +1 -25
  764. data/spec/unit/parser/resource_spec.rb +15 -79
  765. data/spec/unit/parser/scope_spec.rb +175 -602
  766. data/spec/unit/parser/templatewrapper_spec.rb +8 -25
  767. data/spec/unit/parser/type_loader_spec.rb +37 -21
  768. data/spec/unit/property/ensure_spec.rb +1 -1
  769. data/spec/unit/property/keyvalue_spec.rb +1 -1
  770. data/spec/unit/property/list_spec.rb +1 -1
  771. data/spec/unit/property/ordered_list_spec.rb +1 -1
  772. data/spec/unit/property_spec.rb +1 -1
  773. data/spec/unit/{puppet/provider → provider}/README.markdown +0 -0
  774. data/spec/unit/provider/augeas/augeas_spec.rb +88 -1
  775. data/spec/unit/provider/cisco_spec.rb +1 -1
  776. data/spec/unit/provider/command_spec.rb +62 -0
  777. data/spec/unit/provider/confine/exists_spec.rb +8 -1
  778. data/spec/unit/provider/confine/false_spec.rb +1 -1
  779. data/spec/unit/provider/confine/feature_spec.rb +1 -1
  780. data/spec/unit/provider/confine/true_spec.rb +1 -1
  781. data/spec/unit/provider/confine/variable_spec.rb +1 -1
  782. data/spec/unit/provider/confine_collection_spec.rb +1 -1
  783. data/spec/unit/provider/confine_spec.rb +1 -1
  784. data/spec/unit/provider/confiner_spec.rb +1 -1
  785. data/spec/unit/provider/cron/crontab_spec.rb +116 -0
  786. data/spec/unit/provider/exec/posix_spec.rb +99 -12
  787. data/spec/unit/provider/exec/shell_spec.rb +1 -1
  788. data/spec/unit/provider/exec/windows_spec.rb +1 -1
  789. data/spec/unit/provider/exec_spec.rb +1 -1
  790. data/spec/unit/provider/file/posix_spec.rb +1 -1
  791. data/spec/unit/provider/file/windows_spec.rb +30 -30
  792. data/spec/unit/provider/group/groupadd_spec.rb +31 -37
  793. data/spec/unit/provider/group/ldap_spec.rb +1 -1
  794. data/spec/unit/provider/group/pw_spec.rb +1 -1
  795. data/spec/unit/provider/group/windows_adsi_spec.rb +2 -2
  796. data/spec/unit/provider/host/parsed_spec.rb +1 -1
  797. data/spec/unit/provider/interface/cisco_spec.rb +1 -1
  798. data/spec/unit/provider/ldap_spec.rb +1 -1
  799. data/spec/unit/provider/macauthorization_spec.rb +1 -1
  800. data/spec/unit/provider/mcx/mcxcontent_spec.rb +1 -1
  801. data/spec/unit/provider/mount/parsed_spec.rb +18 -12
  802. data/spec/unit/provider/mount_spec.rb +1 -1
  803. data/spec/unit/provider/naginator_spec.rb +1 -1
  804. data/spec/unit/provider/nameservice/directoryservice_spec.rb +9 -29
  805. data/spec/unit/provider/network_device_spec.rb +1 -1
  806. data/spec/unit/provider/package/aix_spec.rb +1 -1
  807. data/spec/unit/provider/package/appdmg_spec.rb +1 -1
  808. data/spec/unit/provider/package/apt_spec.rb +1 -1
  809. data/spec/unit/provider/package/aptitude_spec.rb +38 -0
  810. data/spec/unit/provider/package/aptrpm_spec.rb +39 -0
  811. data/spec/unit/provider/package/dpkg_spec.rb +4 -4
  812. data/spec/unit/provider/package/freebsd_spec.rb +3 -3
  813. data/spec/unit/provider/package/gem_spec.rb +1 -1
  814. data/spec/unit/provider/package/hpux_spec.rb +1 -1
  815. data/spec/unit/provider/package/macports_spec.rb +27 -10
  816. data/spec/unit/provider/package/msi_spec.rb +29 -14
  817. data/spec/unit/provider/package/nim_spec.rb +1 -1
  818. data/spec/unit/provider/package/openbsd_spec.rb +3 -3
  819. data/spec/unit/provider/package/pacman_spec.rb +109 -81
  820. data/spec/unit/provider/package/pip_spec.rb +1 -1
  821. data/spec/unit/provider/package/pkg_spec.rb +205 -97
  822. data/spec/unit/provider/package/pkgdmg_spec.rb +1 -1
  823. data/spec/unit/provider/package/pkgin_spec.rb +176 -0
  824. data/spec/unit/provider/package/pkgutil_spec.rb +64 -10
  825. data/spec/unit/provider/package/rpm_spec.rb +58 -0
  826. data/spec/unit/provider/package/sun_spec.rb +122 -0
  827. data/spec/unit/provider/package/up2date_spec.rb +24 -0
  828. data/spec/unit/provider/package/windows/exe_package_spec.rb +99 -0
  829. data/spec/unit/provider/package/windows/msi_package_spec.rb +115 -0
  830. data/spec/unit/provider/package/windows/package_spec.rb +126 -0
  831. data/spec/unit/provider/package/windows_spec.rb +255 -0
  832. data/spec/unit/provider/package/yum_spec.rb +1 -1
  833. data/spec/unit/provider/package/zypper_spec.rb +1 -1
  834. data/spec/unit/provider/parsedfile_spec.rb +1 -1
  835. data/spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb +12 -15
  836. data/spec/unit/provider/selboolean_spec.rb +1 -1
  837. data/spec/unit/provider/selmodule-example.pp +0 -0
  838. data/spec/unit/provider/selmodule_spec.rb +1 -1
  839. data/spec/unit/provider/service/base_spec.rb +77 -0
  840. data/spec/unit/provider/service/daemontools_spec.rb +1 -1
  841. data/spec/unit/provider/service/debian_spec.rb +1 -1
  842. data/spec/unit/provider/service/freebsd_spec.rb +1 -1
  843. data/spec/unit/provider/service/gentoo_spec.rb +1 -1
  844. data/spec/unit/provider/service/init_spec.rb +1 -1
  845. data/spec/unit/provider/service/launchd_spec.rb +0 -17
  846. data/spec/unit/provider/service/redhat_spec.rb +12 -3
  847. data/spec/unit/provider/service/runit_spec.rb +2 -1
  848. data/spec/unit/provider/service/smf_spec.rb +16 -1
  849. data/spec/unit/provider/service/src_spec.rb +6 -6
  850. data/spec/unit/provider/service/systemd_spec.rb +18 -1
  851. data/spec/unit/provider/service/upstart_spec.rb +12 -7
  852. data/spec/unit/provider/service/windows_spec.rb +1 -1
  853. data/spec/unit/provider/ssh_authorized_key/parsed_spec.rb +1 -1
  854. data/spec/unit/provider/sshkey/parsed_spec.rb +42 -12
  855. data/spec/unit/provider/user/hpux_spec.rb +1 -1
  856. data/spec/unit/provider/user/ldap_spec.rb +9 -23
  857. data/spec/unit/provider/user/pw_spec.rb +1 -1
  858. data/spec/unit/provider/user/user_role_add_spec.rb +5 -2
  859. data/spec/unit/provider/user/useradd_spec.rb +118 -146
  860. data/spec/unit/provider/user/windows_adsi_spec.rb +2 -24
  861. data/spec/unit/provider/vlan/cisco_spec.rb +1 -1
  862. data/spec/unit/provider/zfs/zfs_spec.rb +106 -0
  863. data/spec/unit/provider/zone/solaris_spec.rb +56 -34
  864. data/spec/unit/provider/zpool/zpool_spec.rb +213 -0
  865. data/spec/unit/provider_spec.rb +621 -16
  866. data/spec/unit/puppet_spec.rb +21 -9
  867. data/spec/unit/rails/host_spec.rb +1 -1
  868. data/spec/unit/rails/param_value_spec.rb +1 -1
  869. data/spec/unit/rails/resource_spec.rb +1 -1
  870. data/spec/unit/rails_spec.rb +70 -70
  871. data/spec/unit/relationship_spec.rb +1 -1
  872. data/spec/unit/reports/http_spec.rb +48 -15
  873. data/spec/unit/reports/rrdgraph_spec.rb +1 -1
  874. data/spec/unit/reports/store_spec.rb +1 -1
  875. data/spec/unit/reports/tagmail_spec.rb +1 -1
  876. data/spec/unit/reports_spec.rb +1 -1
  877. data/spec/unit/resource/catalog_spec.rb +8 -175
  878. data/spec/unit/resource/status_spec.rb +2 -2
  879. data/spec/unit/resource/type_collection_helper_spec.rb +1 -1
  880. data/spec/unit/resource/type_collection_spec.rb +72 -45
  881. data/spec/unit/resource/type_spec.rb +31 -33
  882. data/spec/unit/resource_spec.rb +163 -98
  883. data/spec/unit/run_spec.rb +7 -23
  884. data/spec/unit/settings/directory_setting_spec.rb +32 -0
  885. data/spec/unit/{util/settings → settings}/file_setting_spec.rb +14 -23
  886. data/spec/unit/settings/path_setting_spec.rb +30 -0
  887. data/spec/unit/settings/string_setting_spec.rb +75 -0
  888. data/spec/unit/settings_spec.rb +1583 -0
  889. data/spec/unit/simple_graph_spec.rb +19 -5
  890. data/spec/unit/ssl/base_spec.rb +2 -2
  891. data/spec/unit/ssl/certificate_authority/interface_spec.rb +7 -7
  892. data/spec/unit/ssl/certificate_authority_spec.rb +27 -53
  893. data/spec/unit/ssl/certificate_factory_spec.rb +1 -1
  894. data/spec/unit/ssl/certificate_request_spec.rb +2 -4
  895. data/spec/unit/ssl/certificate_revocation_list_spec.rb +3 -3
  896. data/spec/unit/ssl/certificate_spec.rb +1 -1
  897. data/spec/unit/ssl/configuration_spec.rb +60 -0
  898. data/spec/unit/ssl/host_spec.rb +37 -89
  899. data/spec/unit/ssl/inventory_spec.rb +13 -20
  900. data/spec/unit/ssl/key_spec.rb +11 -9
  901. data/spec/unit/status_spec.rb +1 -7
  902. data/spec/unit/transaction/event_manager_spec.rb +1 -1
  903. data/spec/unit/transaction/event_spec.rb +6 -6
  904. data/spec/unit/transaction/report_spec.rb +1 -1
  905. data/spec/unit/transaction/resource_harness_spec.rb +2 -2
  906. data/spec/unit/transaction_spec.rb +8 -8
  907. data/spec/unit/{puppet/type → type}/README.markdown +0 -0
  908. data/spec/unit/type/augeas_spec.rb +2 -2
  909. data/spec/unit/type/component_spec.rb +1 -1
  910. data/spec/unit/type/computer_spec.rb +1 -1
  911. data/spec/unit/type/cron_spec.rb +1 -1
  912. data/spec/unit/type/exec_spec.rb +40 -12
  913. data/spec/unit/type/file/checksum_spec.rb +1 -1
  914. data/spec/unit/type/file/content_spec.rb +9 -6
  915. data/spec/unit/type/file/ctime_spec.rb +1 -1
  916. data/spec/unit/type/file/ensure_spec.rb +1 -1
  917. data/spec/unit/type/file/group_spec.rb +1 -1
  918. data/spec/unit/type/file/mode_spec.rb +1 -1
  919. data/spec/unit/type/file/mtime_spec.rb +1 -1
  920. data/spec/unit/type/file/owner_spec.rb +1 -1
  921. data/spec/unit/type/file/selinux_spec.rb +1 -1
  922. data/spec/unit/type/file/source_spec.rb +14 -13
  923. data/spec/unit/type/file/type_spec.rb +1 -1
  924. data/spec/unit/type/file_spec.rb +39 -87
  925. data/spec/unit/type/filebucket_spec.rb +1 -1
  926. data/spec/unit/type/group_spec.rb +5 -5
  927. data/spec/unit/type/host_spec.rb +1 -1
  928. data/spec/unit/type/interface_spec.rb +1 -1
  929. data/spec/unit/type/macauthorization_spec.rb +1 -1
  930. data/spec/unit/type/mailalias_spec.rb +21 -0
  931. data/spec/unit/type/maillist_spec.rb +1 -1
  932. data/spec/unit/type/mcx_spec.rb +1 -1
  933. data/spec/unit/type/mount_spec.rb +2 -2
  934. data/spec/unit/type/nagios_spec.rb +1 -1
  935. data/spec/unit/type/noop_metaparam_spec.rb +3 -3
  936. data/spec/unit/type/package_spec.rb +1 -1
  937. data/spec/unit/type/resources_spec.rb +2 -2
  938. data/spec/unit/type/schedule_spec.rb +297 -39
  939. data/spec/unit/type/scheduled_task_spec.rb +3 -3
  940. data/spec/unit/type/selboolean_spec.rb +1 -1
  941. data/spec/unit/type/selmodule_spec.rb +1 -1
  942. data/spec/unit/type/service_spec.rb +1 -1
  943. data/spec/unit/type/ssh_authorized_key_spec.rb +3 -3
  944. data/spec/unit/type/sshkey_spec.rb +1 -1
  945. data/spec/unit/type/stage_spec.rb +1 -1
  946. data/spec/unit/type/tidy_spec.rb +1 -1
  947. data/spec/unit/type/user_spec.rb +1 -1
  948. data/spec/unit/type/vlan_spec.rb +1 -1
  949. data/spec/unit/type/whit_spec.rb +1 -1
  950. data/spec/unit/type/yumrepo_spec.rb +243 -0
  951. data/spec/unit/type/zfs_spec.rb +8 -6
  952. data/spec/unit/type/zone_spec.rb +41 -36
  953. data/spec/unit/type/zpool_spec.rb +1 -1
  954. data/spec/unit/type_spec.rb +180 -31
  955. data/spec/unit/util/adsi_spec.rb +8 -23
  956. data/spec/unit/util/autoload_spec.rb +181 -45
  957. data/spec/unit/util/backups_spec.rb +1 -1
  958. data/spec/unit/util/cache_accumulator_spec.rb +1 -1
  959. data/spec/unit/util/cacher_spec.rb +1 -1
  960. data/spec/unit/util/checksums_spec.rb +1 -1
  961. data/spec/unit/util/command_line_spec.rb +114 -108
  962. data/spec/unit/util/command_line_utils/puppet_option_parser_spec.rb +129 -0
  963. data/spec/unit/util/config_timeout_spec.rb +57 -0
  964. data/spec/unit/util/constant_inflector_spec.rb +13 -23
  965. data/spec/unit/util/diff_spec.rb +5 -4
  966. data/spec/unit/util/errors_spec.rb +1 -1
  967. data/spec/unit/util/execution_spec.rb +532 -28
  968. data/spec/unit/util/execution_stub_spec.rb +4 -4
  969. data/spec/unit/util/feature_spec.rb +12 -13
  970. data/spec/unit/util/filetype_spec.rb +9 -9
  971. data/spec/unit/util/inline_docs_spec.rb +1 -1
  972. data/spec/unit/util/instrumentation/data_spec.rb +1 -1
  973. data/spec/unit/util/instrumentation/indirection_probe_spec.rb +1 -1
  974. data/spec/unit/util/instrumentation/instrumentable_spec.rb +1 -1
  975. data/spec/unit/util/instrumentation/listener_spec.rb +1 -1
  976. data/spec/unit/util/instrumentation_spec.rb +1 -1
  977. data/spec/unit/util/json_lockfile_spec.rb +29 -0
  978. data/spec/unit/util/ldap/connection_spec.rb +11 -15
  979. data/spec/unit/util/ldap/generator_spec.rb +1 -1
  980. data/spec/unit/util/ldap/manager_spec.rb +14 -23
  981. data/spec/unit/util/loadedfile_spec.rb +1 -1
  982. data/spec/unit/util/lockfile_spec.rb +76 -0
  983. data/spec/unit/util/log/destinations_spec.rb +11 -28
  984. data/spec/unit/util/log_spec.rb +6 -6
  985. data/spec/unit/util/logging_spec.rb +43 -11
  986. data/spec/unit/util/metric_spec.rb +4 -3
  987. data/spec/unit/util/monkey_patches/lines_spec.rb +83 -0
  988. data/spec/unit/util/monkey_patches_spec.rb +91 -28
  989. data/spec/unit/util/nagios_maker_spec.rb +1 -1
  990. data/spec/unit/util/network_device/cisco/device_spec.rb +3 -3
  991. data/spec/unit/util/network_device/cisco/facts_spec.rb +1 -1
  992. data/spec/unit/util/network_device/cisco/interface_spec.rb +1 -1
  993. data/spec/unit/util/network_device/config_spec.rb +1 -1
  994. data/spec/unit/util/network_device/ipcalc_spec.rb +1 -1
  995. data/spec/unit/util/network_device/transport/base_spec.rb +1 -1
  996. data/spec/unit/util/network_device/transport/ssh_spec.rb +2 -2
  997. data/spec/unit/util/network_device/transport/telnet_spec.rb +1 -1
  998. data/spec/unit/util/network_device_spec.rb +1 -1
  999. data/spec/unit/util/package_spec.rb +1 -1
  1000. data/spec/unit/util/pidlock_spec.rb +179 -0
  1001. data/spec/unit/util/posix_spec.rb +2 -2
  1002. data/spec/unit/util/pson_spec.rb +23 -9
  1003. data/spec/unit/util/queue/stomp_spec.rb +10 -13
  1004. data/spec/unit/util/queue_spec.rb +2 -2
  1005. data/spec/unit/util/rdoc/parser_spec.rb +11 -9
  1006. data/spec/unit/util/rdoc_spec.rb +9 -3
  1007. data/spec/unit/util/reference_serializer_spec.rb +1 -1
  1008. data/spec/unit/util/reference_spec.rb +1 -1
  1009. data/spec/unit/util/resource_template_spec.rb +1 -1
  1010. data/spec/unit/util/retryaction_spec.rb +1 -1
  1011. data/spec/unit/util/rubygems_spec.rb +66 -0
  1012. data/spec/unit/util/run_mode_spec.rb +4 -9
  1013. data/spec/unit/util/selinux_spec.rb +33 -25
  1014. data/spec/unit/util/storage_spec.rb +2 -18
  1015. data/spec/unit/util/suidmanager_spec.rb +11 -4
  1016. data/spec/unit/util/symbolic_file_mode_spec.rb +1 -1
  1017. data/spec/unit/util/tagging_spec.rb +1 -1
  1018. data/spec/unit/util/terminal_spec.rb +1 -1
  1019. data/spec/unit/util/user_attr_spec.rb +1 -1
  1020. data/spec/unit/util/warnings_spec.rb +1 -1
  1021. data/spec/unit/util/windows/registry_spec.rb +86 -0
  1022. data/spec/unit/util/zaml_spec.rb +30 -146
  1023. data/spec/unit/util_spec.rb +148 -440
  1024. data/spec/watchr.rb +6 -2
  1025. data/tasks/rake/apple.rake +176 -0
  1026. data/tasks/rake/gem.rake +6 -5
  1027. data/tasks/rake/manpages.rake +8 -1
  1028. data/tasks/rake/metrics.rake +11 -3
  1029. data/tasks/rake/parser.rake +5 -0
  1030. data/{ext/osx → tasks/rake/templates}/prototype.plist.erb +0 -0
  1031. metadata +293 -580
  1032. data/bin/filebucket +0 -7
  1033. data/bin/pi +0 -5
  1034. data/bin/puppetca +0 -4
  1035. data/bin/puppetd +0 -4
  1036. data/bin/puppetdoc +0 -4
  1037. data/bin/puppetmasterd +0 -4
  1038. data/bin/puppetqd +0 -4
  1039. data/bin/puppetrun +0 -5
  1040. data/bin/ralsh +0 -4
  1041. data/ext/build_defaults.yaml +0 -19
  1042. data/ext/debian/README.Debian +0 -8
  1043. data/ext/debian/README.source +0 -2
  1044. data/ext/debian/TODO.Debian +0 -1
  1045. data/ext/debian/changelog.erb +0 -1104
  1046. data/ext/debian/compat +0 -1
  1047. data/ext/debian/control +0 -142
  1048. data/ext/debian/copyright +0 -361
  1049. data/ext/debian/docs +0 -1
  1050. data/ext/debian/fileserver.conf +0 -17
  1051. data/ext/debian/puppet-common.dirs +0 -8
  1052. data/ext/debian/puppet-common.install +0 -3
  1053. data/ext/debian/puppet-common.lintian-overrides +0 -7
  1054. data/ext/debian/puppet-common.manpages +0 -2
  1055. data/ext/debian/puppet-common.postinst +0 -35
  1056. data/ext/debian/puppet-common.postrm +0 -32
  1057. data/ext/debian/puppet-el.dirs +0 -1
  1058. data/ext/debian/puppet-el.emacsen-install +0 -25
  1059. data/ext/debian/puppet-el.emacsen-remove +0 -11
  1060. data/ext/debian/puppet-el.emacsen-startup +0 -9
  1061. data/ext/debian/puppet-el.install +0 -1
  1062. data/ext/debian/puppet-testsuite.install +0 -3
  1063. data/ext/debian/puppet-testsuite.lintian-overrides +0 -4
  1064. data/ext/debian/puppet.NEWS +0 -86
  1065. data/ext/debian/puppet.conf +0 -14
  1066. data/ext/debian/puppet.default +0 -7
  1067. data/ext/debian/puppet.dirs +0 -1
  1068. data/ext/debian/puppet.init +0 -118
  1069. data/ext/debian/puppet.install +0 -4
  1070. data/ext/debian/puppet.lintian-overrides +0 -3
  1071. data/ext/debian/puppet.logrotate +0 -11
  1072. data/ext/debian/puppet.manpages +0 -36
  1073. data/ext/debian/puppet.postinst +0 -20
  1074. data/ext/debian/puppet.postrm +0 -20
  1075. data/ext/debian/puppet.preinst +0 -20
  1076. data/ext/debian/puppetmaster-common.install +0 -5
  1077. data/ext/debian/puppetmaster-common.manpages +0 -5
  1078. data/ext/debian/puppetmaster-common.puppetqd.default +0 -27
  1079. data/ext/debian/puppetmaster-common.puppetqd.init +0 -84
  1080. data/ext/debian/puppetmaster-passenger.dirs +0 -4
  1081. data/ext/debian/puppetmaster-passenger.postinst +0 -66
  1082. data/ext/debian/puppetmaster-passenger.postrm +0 -33
  1083. data/ext/debian/puppetmaster.NEWS +0 -13
  1084. data/ext/debian/puppetmaster.README.debian +0 -16
  1085. data/ext/debian/puppetmaster.default +0 -38
  1086. data/ext/debian/puppetmaster.dirs +0 -1
  1087. data/ext/debian/puppetmaster.init +0 -158
  1088. data/ext/debian/puppetmaster.install +0 -1
  1089. data/ext/debian/puppetmaster.lintian-overrides +0 -3
  1090. data/ext/debian/puppetmaster.manpages +0 -1
  1091. data/ext/debian/puppetmaster.postinst +0 -20
  1092. data/ext/debian/puppetmaster.postrm +0 -5
  1093. data/ext/debian/puppetmaster.preinst +0 -22
  1094. data/ext/debian/rules +0 -127
  1095. data/ext/debian/source/format +0 -1
  1096. data/ext/debian/source/options +0 -1
  1097. data/ext/debian/vim-puppet.README.Debian +0 -13
  1098. data/ext/debian/vim-puppet.dirs +0 -3
  1099. data/ext/debian/vim-puppet.yaml +0 -5
  1100. data/ext/debian/watch +0 -2
  1101. data/ext/osx/file_mapping.yaml +0 -38
  1102. data/ext/osx/preflight.erb +0 -37
  1103. data/ext/packaging/Gemfile +0 -8
  1104. data/ext/packaging/Gemfile.lock +0 -28
  1105. data/ext/packaging/LICENSE +0 -17
  1106. data/ext/packaging/README-Solaris.md +0 -117
  1107. data/ext/packaging/README.md +0 -1074
  1108. data/ext/packaging/lib/packaging.rb +0 -21
  1109. data/ext/packaging/lib/packaging/config.rb +0 -277
  1110. data/ext/packaging/lib/packaging/config/params.rb +0 -175
  1111. data/ext/packaging/lib/packaging/tar.rb +0 -186
  1112. data/ext/packaging/lib/packaging/util.rb +0 -44
  1113. data/ext/packaging/lib/packaging/util/date.rb +0 -15
  1114. data/ext/packaging/lib/packaging/util/file.rb +0 -60
  1115. data/ext/packaging/lib/packaging/util/jira.rb +0 -83
  1116. data/ext/packaging/lib/packaging/util/net.rb +0 -16
  1117. data/ext/packaging/lib/packaging/util/rake_utils.rb +0 -57
  1118. data/ext/packaging/lib/packaging/util/serialization.rb +0 -19
  1119. data/ext/packaging/lib/packaging/util/tool.rb +0 -30
  1120. data/ext/packaging/lib/packaging/util/version.rb +0 -300
  1121. data/ext/packaging/packaging.rake +0 -50
  1122. data/ext/packaging/spec/fixtures/config/ext/build_defaults.yaml +0 -2
  1123. data/ext/packaging/spec/fixtures/config/ext/project_data.yaml +0 -2
  1124. data/ext/packaging/spec/fixtures/config/params.yaml +0 -2
  1125. data/ext/packaging/spec/fixtures/util/pre_tasks.yaml +0 -4
  1126. data/ext/packaging/spec/lib/packaging/config_spec.rb +0 -330
  1127. data/ext/packaging/spec/lib/packaging/tar_spec.rb +0 -122
  1128. data/ext/packaging/spec/lib/packaging/util/file_spec.rb +0 -48
  1129. data/ext/packaging/spec/lib/packaging/util/jira_spec.rb +0 -50
  1130. data/ext/packaging/spec/lib/packaging/util/net_spec.rb +0 -23
  1131. data/ext/packaging/spec/lib/packaging/util/rake_utils_spec.rb +0 -70
  1132. data/ext/packaging/spec/lib/packaging/util/version_spec.rb +0 -67
  1133. data/ext/packaging/spec/lib/packaging_spec.rb +0 -19
  1134. data/ext/packaging/spec/spec_helper.rb +0 -22
  1135. data/ext/packaging/spec/tasks/00_utils_spec.rb +0 -248
  1136. data/ext/packaging/static_artifacts/PackageInfo.plist +0 -3
  1137. data/ext/packaging/tasks/00_utils.rake +0 -402
  1138. data/ext/packaging/tasks/30_metrics.rake +0 -33
  1139. data/ext/packaging/tasks/apple.rake +0 -267
  1140. data/ext/packaging/tasks/build.rake +0 -12
  1141. data/ext/packaging/tasks/clean.rake +0 -5
  1142. data/ext/packaging/tasks/deb.rake +0 -127
  1143. data/ext/packaging/tasks/deb_repos.rake +0 -128
  1144. data/ext/packaging/tasks/doc.rake +0 -20
  1145. data/ext/packaging/tasks/fetch.rake +0 -58
  1146. data/ext/packaging/tasks/gem.rake +0 -158
  1147. data/ext/packaging/tasks/ips.rake +0 -122
  1148. data/ext/packaging/tasks/jenkins.rake +0 -360
  1149. data/ext/packaging/tasks/jenkins_dynamic.rake +0 -123
  1150. data/ext/packaging/tasks/load_extras.rake +0 -21
  1151. data/ext/packaging/tasks/mock.rake +0 -290
  1152. data/ext/packaging/tasks/pe_deb.rake +0 -12
  1153. data/ext/packaging/tasks/pe_remote.rake +0 -41
  1154. data/ext/packaging/tasks/pe_rpm.rake +0 -13
  1155. data/ext/packaging/tasks/pe_ship.rake +0 -179
  1156. data/ext/packaging/tasks/pe_sign.rake +0 -47
  1157. data/ext/packaging/tasks/pe_tar.rake +0 -5
  1158. data/ext/packaging/tasks/release.rake +0 -91
  1159. data/ext/packaging/tasks/remote_build.rake +0 -158
  1160. data/ext/packaging/tasks/retrieve.rake +0 -45
  1161. data/ext/packaging/tasks/rpm.rake +0 -71
  1162. data/ext/packaging/tasks/rpm_repos.rake +0 -139
  1163. data/ext/packaging/tasks/ship.rake +0 -192
  1164. data/ext/packaging/tasks/sign.rake +0 -164
  1165. data/ext/packaging/tasks/tag.rake +0 -8
  1166. data/ext/packaging/tasks/tar.rake +0 -34
  1167. data/ext/packaging/tasks/tickets.rake +0 -449
  1168. data/ext/packaging/tasks/update.rake +0 -16
  1169. data/ext/packaging/tasks/vendor_gems.rake +0 -110
  1170. data/ext/packaging/tasks/version.rake +0 -33
  1171. data/ext/packaging/tasks/z_data_dump.rake +0 -65
  1172. data/ext/packaging/templates/README +0 -1
  1173. data/ext/packaging/templates/downstream.xml.erb +0 -45
  1174. data/ext/packaging/templates/packaging.xml.erb +0 -330
  1175. data/ext/packaging/templates/repo.xml.erb +0 -106
  1176. data/ext/project_data.yaml +0 -24
  1177. data/lib/puppet/file_system.rb +0 -3
  1178. data/lib/puppet/file_system/path_pattern.rb +0 -97
  1179. data/lib/puppet/indirector/certificate/disabled_ca.rb +0 -22
  1180. data/lib/puppet/indirector/certificate_request/disabled_ca.rb +0 -22
  1181. data/lib/puppet/indirector/certificate_revocation_list/disabled_ca.rb +0 -22
  1182. data/lib/puppet/indirector/errors.rb +0 -5
  1183. data/lib/puppet/indirector/inventory/yaml.rb +0 -81
  1184. data/lib/puppet/indirector/key/disabled_ca.rb +0 -22
  1185. data/lib/puppet/indirector/resource/validator.rb +0 -8
  1186. data/lib/puppet/network/handler.rb +0 -50
  1187. data/lib/puppet/network/handler/ca.rb +0 -61
  1188. data/lib/puppet/network/handler/filebucket.rb +0 -53
  1189. data/lib/puppet/network/handler/fileserver.rb +0 -732
  1190. data/lib/puppet/network/handler/master.rb +0 -87
  1191. data/lib/puppet/network/handler/report.rb +0 -82
  1192. data/lib/puppet/network/handler/runner.rb +0 -33
  1193. data/lib/puppet/network/handler/status.rb +0 -18
  1194. data/lib/puppet/network/http/rack/xmlrpc.rb +0 -65
  1195. data/lib/puppet/network/http_server.rb +0 -3
  1196. data/lib/puppet/network/http_server/mongrel.rb +0 -129
  1197. data/lib/puppet/network/rest_authconfig.rb +0 -102
  1198. data/lib/puppet/network/rest_authorization.rb +0 -23
  1199. data/lib/puppet/network/xmlrpc/processor.rb +0 -86
  1200. data/lib/puppet/network/xmlrpc/server.rb +0 -19
  1201. data/lib/puppet/network/xmlrpc/webrick_servlet.rb +0 -114
  1202. data/lib/puppet/node/inventory.rb +0 -7
  1203. data/lib/puppet/reference/network.rb +0 -39
  1204. data/lib/puppet/transportable.rb +0 -248
  1205. data/lib/puppet/util/autoload/file_cache.rb +0 -92
  1206. data/lib/puppet/util/file_locking.rb +0 -47
  1207. data/lib/puppet/util/settings.rb +0 -926
  1208. data/lib/puppet/util/settings/setting.rb +0 -94
  1209. data/lib/puppet/util/windows/sid.rb +0 -96
  1210. data/lib/puppet/vendor.rb +0 -55
  1211. data/lib/puppet/vendor/load_safe_yaml.rb +0 -1
  1212. data/lib/puppet/vendor/require_vendored.rb +0 -4
  1213. data/lib/puppet/vendor/safe_yaml/CHANGES.md +0 -104
  1214. data/lib/puppet/vendor/safe_yaml/Gemfile +0 -11
  1215. data/lib/puppet/vendor/safe_yaml/LICENSE.txt +0 -22
  1216. data/lib/puppet/vendor/safe_yaml/README.md +0 -179
  1217. data/lib/puppet/vendor/safe_yaml/Rakefile +0 -6
  1218. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml.rb +0 -253
  1219. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/deep.rb +0 -34
  1220. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/parse/date.rb +0 -27
  1221. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/parse/hexadecimal.rb +0 -12
  1222. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/parse/sexagesimal.rb +0 -26
  1223. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/psych_handler.rb +0 -92
  1224. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/psych_resolver.rb +0 -52
  1225. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/resolver.rb +0 -94
  1226. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/safe_to_ruby_visitor.rb +0 -17
  1227. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/syck_hack.rb +0 -36
  1228. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/syck_node_monkeypatch.rb +0 -43
  1229. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/syck_resolver.rb +0 -38
  1230. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform.rb +0 -41
  1231. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_boolean.rb +0 -21
  1232. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_date.rb +0 -11
  1233. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_float.rb +0 -33
  1234. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_integer.rb +0 -25
  1235. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_nil.rb +0 -18
  1236. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_symbol.rb +0 -13
  1237. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/transformation_map.rb +0 -47
  1238. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/version.rb +0 -3
  1239. data/lib/puppet/vendor/safe_yaml/run_specs_all_ruby_versions.sh +0 -21
  1240. data/lib/puppet/vendor/safe_yaml/safe_yaml.gemspec +0 -18
  1241. data/lib/puppet/vendor/safe_yaml/spec/exploit.1.9.2.yaml +0 -2
  1242. data/lib/puppet/vendor/safe_yaml/spec/exploit.1.9.3.yaml +0 -2
  1243. data/lib/puppet/vendor/safe_yaml/spec/psych_resolver_spec.rb +0 -10
  1244. data/lib/puppet/vendor/safe_yaml/spec/resolver_specs.rb +0 -250
  1245. data/lib/puppet/vendor/safe_yaml/spec/safe_yaml_spec.rb +0 -702
  1246. data/lib/puppet/vendor/safe_yaml/spec/spec_helper.rb +0 -18
  1247. data/lib/puppet/vendor/safe_yaml/spec/support/exploitable_back_door.rb +0 -29
  1248. data/lib/puppet/vendor/safe_yaml/spec/syck_resolver_spec.rb +0 -10
  1249. data/lib/puppet/vendor/safe_yaml/spec/transform/base64_spec.rb +0 -11
  1250. data/lib/puppet/vendor/safe_yaml/spec/transform/to_date_spec.rb +0 -34
  1251. data/lib/puppet/vendor/safe_yaml/spec/transform/to_float_spec.rb +0 -42
  1252. data/lib/puppet/vendor/safe_yaml/spec/transform/to_integer_spec.rb +0 -59
  1253. data/lib/puppet/vendor/safe_yaml/spec/transform/to_symbol_spec.rb +0 -49
  1254. data/man/man8/filebucket.8 +0 -81
  1255. data/man/man8/pi.8 +0 -51
  1256. data/man/man8/puppetca.8 +0 -97
  1257. data/man/man8/puppetd.8 +0 -154
  1258. data/man/man8/puppetdoc.8 +0 -113
  1259. data/man/man8/puppetmasterd.8 +0 -78
  1260. data/man/man8/puppetqd.8 +0 -55
  1261. data/man/man8/puppetrun.8 +0 -127
  1262. data/man/man8/ralsh.8 +0 -84
  1263. data/spec/integration/network/handler_spec.rb +0 -24
  1264. data/spec/integration/network/rest_authconfig_spec.rb +0 -164
  1265. data/spec/integration/util/file_locking_spec.rb +0 -56
  1266. data/spec/unit/agent_backward_compatibility_spec.rb +0 -152
  1267. data/spec/unit/file_system/path_pattern_spec.rb +0 -139
  1268. data/spec/unit/indirector/catalog/static_compiler_spec.rb +0 -194
  1269. data/spec/unit/indirector/certificate/disabled_ca_spec.rb +0 -33
  1270. data/spec/unit/indirector/certificate_request/disabled_ca_spec.rb +0 -33
  1271. data/spec/unit/indirector/certificate_revocation_list/disabled_ca_spec.rb +0 -33
  1272. data/spec/unit/indirector/inventory/yaml_spec.rb +0 -220
  1273. data/spec/unit/indirector/key/disabled_ca_spec.rb +0 -33
  1274. data/spec/unit/network/handler/ca_spec.rb +0 -87
  1275. data/spec/unit/network/handler/fileserver_spec.rb +0 -201
  1276. data/spec/unit/network/http/mongrel/xmlrpc_spec.rb +0 -0
  1277. data/spec/unit/network/http/rack/xmlrpc_spec.rb +0 -155
  1278. data/spec/unit/network/http/webrick/xmlrpc_spec.rb +0 -0
  1279. data/spec/unit/network/rest_authconfig_spec.rb +0 -142
  1280. data/spec/unit/other/transbucket_spec.rb +0 -184
  1281. data/spec/unit/other/transobject_spec.rb +0 -111
  1282. data/spec/unit/provider/zfs/solaris_spec.rb +0 -99
  1283. data/spec/unit/provider/zpool/solaris_spec.rb +0 -208
  1284. data/spec/unit/transportable_spec.rb +0 -0
  1285. data/spec/unit/util/autoload/file_cache_spec.rb +0 -158
  1286. data/spec/unit/util/file_locking_spec.rb +0 -159
  1287. data/spec/unit/util/settings_spec.rb +0 -1088
  1288. data/spec/unit/util/windows/sid_spec.rb +0 -100
  1289. data/test/README +0 -24
  1290. data/test/Rakefile +0 -96
  1291. data/test/data/failers/badclassnoparam +0 -10
  1292. data/test/data/failers/badclassparam +0 -10
  1293. data/test/data/failers/badcompnoparam +0 -9
  1294. data/test/data/failers/badcompparam +0 -9
  1295. data/test/data/failers/badtypeparam +0 -3
  1296. data/test/data/failers/noobjectrvalue +0 -1
  1297. data/test/data/providers/cron/crontab.allthree +0 -17
  1298. data/test/data/providers/cron/crontab.envNcomment +0 -12
  1299. data/test/data/providers/cron/crontab.envNname +0 -11
  1300. data/test/data/providers/cron/crontab.multirecords +0 -12
  1301. data/test/data/providers/cron/crontab_collections.yaml +0 -44
  1302. data/test/data/providers/cron/crontab_multiple_with_env.yaml +0 -54
  1303. data/test/data/providers/cron/examples/freebsd +0 -2
  1304. data/test/data/providers/cron/examples/one +0 -14
  1305. data/test/data/providers/cron/examples/openbsd +0 -20
  1306. data/test/data/providers/host/parsed/valid_hosts +0 -19
  1307. data/test/data/providers/mailalias/aliases/test1 +0 -28
  1308. data/test/data/providers/mount/parsed/aix.mount +0 -7
  1309. data/test/data/providers/mount/parsed/darwin.mount +0 -6
  1310. data/test/data/providers/mount/parsed/hpux.mount +0 -17
  1311. data/test/data/providers/mount/parsed/linux.mount +0 -5
  1312. data/test/data/providers/mount/parsed/solaris.mount +0 -6
  1313. data/test/data/providers/package/testpackages.yaml +0 -65
  1314. data/test/data/providers/ssh_authorized_key/parsed/authorized_keys +0 -7
  1315. data/test/data/providers/ssh_authorized_key/parsed/authorized_keys1 +0 -3
  1316. data/test/data/providers/ssh_authorized_key/parsed/authorized_keys2 +0 -1
  1317. data/test/data/reports/1.yaml +0 -108
  1318. data/test/data/reports/2.yaml +0 -108
  1319. data/test/data/reports/tagmail_failers.conf +0 -3
  1320. data/test/data/reports/tagmail_passers.conf +0 -30
  1321. data/test/data/snippets/aliastest.pp +0 -16
  1322. data/test/data/snippets/append.pp +0 -11
  1323. data/test/data/snippets/argumentdefaults +0 -14
  1324. data/test/data/snippets/arithmetic_expression.pp +0 -8
  1325. data/test/data/snippets/arraytrailingcomma.pp +0 -3
  1326. data/test/data/snippets/casestatement.pp +0 -65
  1327. data/test/data/snippets/classheirarchy.pp +0 -15
  1328. data/test/data/snippets/classincludes.pp +0 -17
  1329. data/test/data/snippets/classpathtest +0 -11
  1330. data/test/data/snippets/collection.pp +0 -10
  1331. data/test/data/snippets/collection_override.pp +0 -8
  1332. data/test/data/snippets/collection_within_virtual_definitions.pp +0 -20
  1333. data/test/data/snippets/componentmetaparams.pp +0 -11
  1334. data/test/data/snippets/componentrequire.pp +0 -8
  1335. data/test/data/snippets/deepclassheirarchy.pp +0 -23
  1336. data/test/data/snippets/defineoverrides.pp +0 -17
  1337. data/test/data/snippets/emptyclass.pp +0 -9
  1338. data/test/data/snippets/emptyexec.pp +0 -3
  1339. data/test/data/snippets/emptyifelse.pp +0 -9
  1340. data/test/data/snippets/falsevalues.pp +0 -3
  1341. data/test/data/snippets/filecreate +0 -11
  1342. data/test/data/snippets/fqdefinition.pp +0 -5
  1343. data/test/data/snippets/fqparents.pp +0 -11
  1344. data/test/data/snippets/funccomma.pp +0 -5
  1345. data/test/data/snippets/hash.pp +0 -33
  1346. data/test/data/snippets/ifexpression.pp +0 -12
  1347. data/test/data/snippets/implicititeration +0 -15
  1348. data/test/data/snippets/multilinecomments.pp +0 -10
  1349. data/test/data/snippets/multipleclass.pp +0 -9
  1350. data/test/data/snippets/multipleinstances +0 -7
  1351. data/test/data/snippets/multisubs.pp +0 -13
  1352. data/test/data/snippets/namevartest +0 -9
  1353. data/test/data/snippets/scopetest +0 -13
  1354. data/test/data/snippets/selectorvalues.pp +0 -49
  1355. data/test/data/snippets/simpledefaults +0 -5
  1356. data/test/data/snippets/simpleselector +0 -38
  1357. data/test/data/snippets/singleary.pp +0 -19
  1358. data/test/data/snippets/singlequote.pp +0 -11
  1359. data/test/data/snippets/singleselector.pp +0 -22
  1360. data/test/data/snippets/subclass_name_duplication.pp +0 -11
  1361. data/test/data/snippets/tag.pp +0 -9
  1362. data/test/data/snippets/tagged.pp +0 -35
  1363. data/test/data/snippets/virtualresources.pp +0 -14
  1364. data/test/data/types/hosts/1 +0 -3
  1365. data/test/data/types/hosts/2 +0 -13
  1366. data/test/data/types/hosts/solaris +0 -5
  1367. data/test/data/types/mailalias/file1 +0 -183
  1368. data/test/data/types/mount/freebsd.fstab +0 -7
  1369. data/test/data/types/mount/linux.fstab +0 -12
  1370. data/test/data/types/mount/solaris.fstab +0 -12
  1371. data/test/data/types/port/1 +0 -533
  1372. data/test/data/types/port/darwin +0 -11866
  1373. data/test/data/types/ssh_authorized_key/1 +0 -2
  1374. data/test/data/types/yumrepos/fedora-devel.repo +0 -26
  1375. data/test/data/types/yumrepos/fedora.repo +0 -9
  1376. data/test/language/ast.rb +0 -90
  1377. data/test/language/ast/variable.rb +0 -25
  1378. data/test/language/functions.rb +0 -540
  1379. data/test/language/parser.rb +0 -739
  1380. data/test/language/scope.rb +0 -261
  1381. data/test/language/snippets.rb +0 -512
  1382. data/test/language/transportable.rb +0 -87
  1383. data/test/lib/puppettest.rb +0 -307
  1384. data/test/lib/puppettest/certificates.rb +0 -74
  1385. data/test/lib/puppettest/exetest.rb +0 -125
  1386. data/test/lib/puppettest/fakes.rb +0 -199
  1387. data/test/lib/puppettest/fileparsing.rb +0 -28
  1388. data/test/lib/puppettest/filetesting.rb +0 -221
  1389. data/test/lib/puppettest/parsertesting.rb +0 -424
  1390. data/test/lib/puppettest/railstesting.rb +0 -18
  1391. data/test/lib/puppettest/reporttesting.rb +0 -16
  1392. data/test/lib/puppettest/resourcetesting.rb +0 -54
  1393. data/test/lib/puppettest/runnable_test.rb +0 -43
  1394. data/test/lib/puppettest/servertest.rb +0 -77
  1395. data/test/lib/puppettest/support.rb +0 -8
  1396. data/test/lib/puppettest/support/assertions.rb +0 -69
  1397. data/test/lib/puppettest/support/helpers.rb +0 -18
  1398. data/test/lib/puppettest/support/resources.rb +0 -31
  1399. data/test/lib/puppettest/support/utils.rb +0 -141
  1400. data/test/lib/puppettest/testcase.rb +0 -24
  1401. data/test/lib/rake/puppet_test_loader.rb +0 -14
  1402. data/test/lib/rake/puppet_testtask.rb +0 -19
  1403. data/test/lib/stubba.rb +0 -2
  1404. data/test/network/authconfig.rb +0 -69
  1405. data/test/network/authorization.rb +0 -138
  1406. data/test/network/authstore.rb +0 -538
  1407. data/test/network/client_request.rb +0 -38
  1408. data/test/network/handler/fileserver.rb +0 -1266
  1409. data/test/network/handler/master.rb +0 -93
  1410. data/test/network/handler/report.rb +0 -47
  1411. data/test/network/handler/runner.rb +0 -20
  1412. data/test/network/rights.rb +0 -40
  1413. data/test/network/xmlrpc/processor.rb +0 -79
  1414. data/test/network/xmlrpc/server.rb +0 -26
  1415. data/test/network/xmlrpc/webrick_servlet.rb +0 -35
  1416. data/test/other/provider.rb +0 -90
  1417. data/test/other/puppet.rb +0 -85
  1418. data/test/other/relationships.rb +0 -91
  1419. data/test/other/report.rb +0 -135
  1420. data/test/other/transactions.rb +0 -395
  1421. data/test/puppet/defaults.rb +0 -65
  1422. data/test/rails/rails.rb +0 -24
  1423. data/test/rails/railsparameter.rb +0 -80
  1424. data/test/ral/manager/attributes.rb +0 -296
  1425. data/test/ral/manager/instances.rb +0 -88
  1426. data/test/ral/manager/manager.rb +0 -50
  1427. data/test/ral/manager/provider.rb +0 -84
  1428. data/test/ral/manager/type.rb +0 -361
  1429. data/test/ral/providers/cron/crontab.rb +0 -652
  1430. data/test/ral/providers/group.rb +0 -242
  1431. data/test/ral/providers/host/parsed.rb +0 -32
  1432. data/test/ral/providers/mailalias/aliases.rb +0 -55
  1433. data/test/ral/providers/nameservice.rb +0 -32
  1434. data/test/ral/providers/package.rb +0 -245
  1435. data/test/ral/providers/package/aptitude.rb +0 -83
  1436. data/test/ral/providers/package/aptrpm.rb +0 -100
  1437. data/test/ral/providers/parsedfile.rb +0 -695
  1438. data/test/ral/providers/port/parsed.rb +0 -232
  1439. data/test/ral/providers/provider.rb +0 -529
  1440. data/test/ral/providers/service/base.rb +0 -76
  1441. data/test/ral/providers/sshkey/parsed.rb +0 -112
  1442. data/test/ral/providers/user.rb +0 -586
  1443. data/test/ral/providers/user/useradd.rb +0 -233
  1444. data/test/ral/type/cron.rb +0 -505
  1445. data/test/ral/type/exec.rb +0 -717
  1446. data/test/ral/type/file.rb +0 -912
  1447. data/test/ral/type/file/target.rb +0 -346
  1448. data/test/ral/type/fileignoresource.rb +0 -265
  1449. data/test/ral/type/filesources.rb +0 -446
  1450. data/test/ral/type/host.rb +0 -180
  1451. data/test/ral/type/mailalias.rb +0 -45
  1452. data/test/ral/type/port.rb +0 -147
  1453. data/test/ral/type/resources.rb +0 -104
  1454. data/test/ral/type/service.rb +0 -38
  1455. data/test/ral/type/sshkey.rb +0 -148
  1456. data/test/ral/type/user.rb +0 -167
  1457. data/test/ral/type/yumrepo.rb +0 -116
  1458. data/test/ral/type/zone.rb +0 -447
  1459. data/test/test +0 -241
  1460. data/test/util/classgen.rb +0 -241
  1461. data/test/util/execution.rb +0 -33
  1462. data/test/util/fileparsing.rb +0 -721
  1463. data/test/util/inifile.rb +0 -138
  1464. data/test/util/instance_loader.rb +0 -52
  1465. data/test/util/log.rb +0 -219
  1466. data/test/util/metrics.rb +0 -72
  1467. data/test/util/package.rb +0 -25
  1468. data/test/util/pidlock.rb +0 -125
  1469. data/test/util/settings.rb +0 -773
  1470. data/test/util/storage.rb +0 -81
  1471. data/test/util/subclass_loader.rb +0 -89
  1472. data/test/util/utiltest.rb +0 -223
@@ -1,6 +1,10 @@
1
1
  # I pulled this into a separate file, because I got
2
2
  # tired of rebuilding the parser.rb file all the time.
3
+ require 'forwardable'
4
+
3
5
  class Puppet::Parser::Parser
6
+ extend Forwardable
7
+
4
8
  require 'puppet/parser/functions'
5
9
  require 'puppet/parser/files'
6
10
  require 'puppet/resource/type_collection'
@@ -70,9 +74,7 @@ class Puppet::Parser::Parser
70
74
  raise except
71
75
  end
72
76
 
73
- def file
74
- @lexer.file
75
- end
77
+ def_delegators :@lexer, :file, :string=
76
78
 
77
79
  def file=(file)
78
80
  unless FileTest.exist?(file)
@@ -86,31 +88,12 @@ class Puppet::Parser::Parser
86
88
  @lexer.file = file
87
89
  end
88
90
 
89
- [:hostclass, :definition, :node, :nodes?].each do |method|
90
- define_method(method) do |*args|
91
- known_resource_types.send(method, *args)
92
- end
93
- end
94
-
95
- def find_hostclass(namespace, name)
96
- known_resource_types.find_hostclass(namespace, name)
97
- end
98
-
99
- def find_definition(namespace, name)
100
- known_resource_types.find_definition(namespace, name)
101
- end
91
+ def_delegators :known_resource_types, :hostclass, :definition, :node, :nodes?
92
+ def_delegators :known_resource_types, :find_hostclass, :find_definition
93
+ def_delegators :known_resource_types, :watch_file, :version
102
94
 
103
95
  def import(file)
104
- if @lexer.file
105
- # use a path relative to the file doing the importing
106
- dir = File.dirname(@lexer.file)
107
- else
108
- # otherwise assume that everything needs to be from where the user is
109
- # executing this command. Normally, this would be in a "puppet apply -e"
110
- dir = Dir.pwd
111
- end
112
-
113
- known_resource_types.loader.import(file, dir)
96
+ known_resource_types.loader.import(file, @lexer.file)
114
97
  end
115
98
 
116
99
  def initialize(env)
@@ -160,31 +143,12 @@ class Puppet::Parser::Parser
160
143
  begin
161
144
  @yydebug = false
162
145
  main = yyparse(@lexer,:scan)
163
- rescue Racc::ParseError => except
164
- error = Puppet::ParseError.new(except)
165
- error.line = @lexer.line
166
- error.file = @lexer.file
167
- error.set_backtrace except.backtrace
168
- raise error
169
146
  rescue Puppet::ParseError => except
170
147
  except.line ||= @lexer.line
171
148
  except.file ||= @lexer.file
172
149
  raise except
173
- rescue Puppet::Error => except
174
- # and this is a framework error
175
- except.line ||= @lexer.line
176
- except.file ||= @lexer.file
177
- raise except
178
- rescue Puppet::DevError => except
179
- except.line ||= @lexer.line
180
- except.file ||= @lexer.file
181
- raise except
182
150
  rescue => except
183
- error = Puppet::DevError.new(except.message)
184
- error.line = @lexer.line
185
- error.file = @lexer.file
186
- error.set_backtrace except.backtrace
187
- raise error
151
+ raise Puppet::ParseError.new(except.message, @lexer.file, @lexer.line, except)
188
152
  end
189
153
  end
190
154
  # Store the results as the top-level class.
@@ -202,19 +166,4 @@ class Puppet::Parser::Parser
202
166
  # Then extract any types that were created.
203
167
  Puppet::Parser::AST::ASTArray.new :children => main_object.instance_eval { @__created_ast_objects__ }
204
168
  end
205
-
206
- def string=(string)
207
- @lexer.string = string
208
- end
209
-
210
- def version
211
- known_resource_types.version
212
- end
213
-
214
- # Add a new file to be checked when we're checking to see if we should be
215
- # reparsed. This is basically only used by the TemplateWrapper to let the
216
- # parser know about templates that should be parsed.
217
- def watch_file(filename)
218
- known_resource_types.watch_file(filename)
219
- end
220
169
  end
@@ -54,9 +54,7 @@ class Puppet::Parser::Relationship
54
54
  raise ArgumentError, "Could not find resource '#{target}' for relationship from '#{source}'"
55
55
  end
56
56
  Puppet.debug "Adding relationship from #{source} to #{target} with '#{param_name}'"
57
- if source_resource[param_name].class != Array
58
- source_resource[param_name] = [source_resource[param_name]].compact
59
- end
57
+ source_resource[param_name] ||= []
60
58
  source_resource[param_name] << target
61
59
  end
62
60
  end
@@ -1,9 +1,12 @@
1
+ require 'forwardable'
1
2
  require 'puppet/resource'
2
3
 
3
4
  # The primary difference between this class and its
4
5
  # parent is that this class has rules on who can set
5
6
  # parameters
6
7
  class Puppet::Parser::Resource < Puppet::Resource
8
+ extend Forwardable
9
+
7
10
  require 'puppet/parser/resource/param'
8
11
  require 'puppet/util/tagging'
9
12
  require 'puppet/parser/yaml_trimmer'
@@ -47,25 +50,19 @@ class Puppet::Parser::Resource < Puppet::Resource
47
50
  end
48
51
  end
49
52
 
50
- def []=(param, value)
51
- set_parameter(param, value)
52
- end
53
-
54
53
  def eachparam
55
54
  @parameters.each do |name, param|
56
55
  yield param
57
56
  end
58
57
  end
59
58
 
60
- def environment
61
- scope.environment
62
- end
59
+ def_delegator :scope, :environment
63
60
 
64
61
  # Process the stage metaparameter for a class. A containment edge
65
62
  # is drawn from the class to the stage. The stage for containment
66
63
  # defaults to main, if none is specified.
67
64
  def add_edge_to_stage
68
- return unless self.type.to_s.downcase == "class"
65
+ return unless self.class?
69
66
 
70
67
  unless stage = catalog.resource(:stage, self[:stage] || (scope && scope.resource && scope.resource[:stage]) || :main)
71
68
  raise ArgumentError, "Could not find stage #{self[:stage] || :main} specified by #{self}"
@@ -108,7 +105,6 @@ class Puppet::Parser::Resource < Puppet::Resource
108
105
  return if finished?
109
106
  @finished = true
110
107
  add_defaults
111
- add_metaparams
112
108
  add_scope_tags
113
109
  validate
114
110
  end
@@ -119,6 +115,7 @@ class Puppet::Parser::Resource < Puppet::Resource
119
115
  end
120
116
 
121
117
  def initialize(*args)
118
+ raise ArgumentError, "Resources require a hash as last argument" unless args.last.is_a? Hash
122
119
  raise ArgumentError, "Resources require a scope" unless args.last[:scope]
123
120
  super
124
121
 
@@ -148,9 +145,12 @@ class Puppet::Parser::Resource < Puppet::Resource
148
145
  end
149
146
  end
150
147
 
151
- # Unless we're running >= 0.25, we're in compat mode.
148
+ # This only mattered for clients < 0.25, which we don't support any longer.
149
+ # ...but, since this hasn't been deprecated, and at least some functions
150
+ # used it, deprecate now rather than just eliminate. --daniel 2012-07-15
152
151
  def metaparam_compatibility_mode?
153
- ! (catalog and ver = (catalog.client_version||'0.0.0').split(".") and (ver[0] > "0" or ver[1].to_i >= 25))
152
+ Puppet.deprecation_warning "metaparam_compatibility_mode? is obsolete since < 0.25 clients are really, really not supported any more"
153
+ false
154
154
  end
155
155
 
156
156
  def name
@@ -158,9 +158,7 @@ class Puppet::Parser::Resource < Puppet::Resource
158
158
  end
159
159
 
160
160
  # A temporary occasion, until I get paths in the scopes figured out.
161
- def path
162
- to_s
163
- end
161
+ alias path to_s
164
162
 
165
163
  # Define a parameter in our resource.
166
164
  # if we ever receive a parameter named 'tag', set
@@ -171,7 +169,7 @@ class Puppet::Parser::Resource < Puppet::Resource
171
169
  :name => param, :value => value, :source => self.source
172
170
  )
173
171
  elsif ! param.is_a?(Puppet::Parser::Resource::Param)
174
- raise ArgumentError, "Must pass a parameter or all necessary values"
172
+ raise ArgumentError, "Received incomplete information - no value provided for parameter #{param}"
175
173
  end
176
174
 
177
175
  tag(*param.value) if param.name == :tag
@@ -179,6 +177,7 @@ class Puppet::Parser::Resource < Puppet::Resource
179
177
  # And store it in our parameter hash.
180
178
  @parameters[param.name] = param
181
179
  end
180
+ alias []= set_parameter
182
181
 
183
182
  def to_hash
184
183
  @parameters.inject({}) do |hash, ary|
@@ -213,10 +212,10 @@ class Puppet::Parser::Resource < Puppet::Resource
213
212
  # the database interaction doesn't have to worry about
214
213
  # whether it returns an array or a string.
215
214
  result[p] = if v.is_a?(Array) and v.length == 1
216
- v[0]
217
- else
218
- v
219
- end
215
+ v[0]
216
+ else
217
+ v
218
+ end
220
219
  end
221
220
 
222
221
  result.file = self.file
@@ -228,18 +227,8 @@ class Puppet::Parser::Resource < Puppet::Resource
228
227
  result
229
228
  end
230
229
 
231
- # Translate our object to a transportable object.
232
- def to_trans
233
- return nil if virtual?
234
-
235
- to_resource.to_trans
236
- end
237
-
238
- # Convert this resource to a RAL resource. We hackishly go via the
239
- # transportable stuff.
240
- def to_ral
241
- to_resource.to_ral
242
- end
230
+ # Convert this resource to a RAL resource.
231
+ def_delegator :to_resource, :to_ral
243
232
 
244
233
  private
245
234
 
@@ -254,28 +243,6 @@ class Puppet::Parser::Resource < Puppet::Resource
254
243
  end
255
244
  end
256
245
 
257
- def add_backward_compatible_relationship_param(name)
258
- # Skip metaparams for which we get no value.
259
- return unless val = scope.lookupvar(name.to_s) and val != :undefined
260
-
261
- # The default case: just set the value
262
- set_parameter(name, val) and return unless @parameters[name]
263
-
264
- # For relationship params, though, join the values (a la #446).
265
- @parameters[name].value = [@parameters[name].value, val].flatten
266
- end
267
-
268
- # Add any metaparams defined in our scope. This actually adds any metaparams
269
- # from any parent scope, and there's currently no way to turn that off.
270
- def add_metaparams
271
- compat_mode = metaparam_compatibility_mode?
272
-
273
- Puppet::Type.eachmetaparam do |name|
274
- next unless self.class.relationship_parameter?(name)
275
- add_backward_compatible_relationship_param(name) if compat_mode
276
- end
277
- end
278
-
279
246
  def add_scope_tags
280
247
  if scope_resource = scope.resource
281
248
  tag(*scope_resource.tags)
@@ -290,7 +257,6 @@ class Puppet::Parser::Resource < Puppet::Resource
290
257
 
291
258
  # The parameter is already set. Fail if they're not allowed to override it.
292
259
  unless param.source.child_of?(current.source)
293
- puts caller if Puppet[:trace]
294
260
  msg = "Parameter '#{param.name}' is already set on #{self}"
295
261
  msg += " by #{current.source}" if current.source.to_s != ""
296
262
  if current.file or current.line
@@ -300,6 +266,7 @@ class Puppet::Parser::Resource < Puppet::Resource
300
266
  msg += " at #{fields.join(":")}"
301
267
  end
302
268
  msg += "; cannot redefine"
269
+ Puppet.log_exception(ArgumentError.new(), msg)
303
270
  raise Puppet::ParseError.new(msg, param.line, param.file)
304
271
  end
305
272
 
@@ -328,8 +295,6 @@ class Puppet::Parser::Resource < Puppet::Resource
328
295
  fail Puppet::ParseError, detail.to_s
329
296
  end
330
297
 
331
- private
332
-
333
298
  def extract_parameters(params)
334
299
  params.each do |param|
335
300
  # Don't set the same parameter twice
@@ -1,14 +1,17 @@
1
1
  # The scope class, which handles storing and retrieving variables and types and
2
2
  # such.
3
+ require 'forwardable'
3
4
 
4
5
  require 'puppet/parser/parser'
5
6
  require 'puppet/parser/templatewrapper'
6
- require 'puppet/transportable'
7
- require 'strscan'
8
7
 
9
8
  require 'puppet/resource/type_collection_helper'
9
+ require 'puppet/util/methodhelper'
10
10
 
11
11
  class Puppet::Parser::Scope
12
+ extend Forwardable
13
+ include Puppet::Util::MethodHelper
14
+
12
15
  include Puppet::Resource::TypeCollectionHelper
13
16
  require 'puppet/parser/resource'
14
17
 
@@ -24,69 +27,90 @@ class Puppet::Parser::Scope
24
27
  attr_accessor :parent
25
28
  attr_reader :namespaces
26
29
 
30
+ # Add some alias methods that forward to the compiler, since we reference
31
+ # them frequently enough to justify the extra method call.
32
+ def_delegators :compiler, :catalog, :environment
33
+
27
34
  # thin wrapper around an ephemeral
28
35
  # symbol table.
29
36
  # when a symbol
30
37
  class Ephemeral
38
+ extend Forwardable
39
+
31
40
  def initialize(parent=nil)
32
41
  @symbols = {}
33
42
  @parent = parent
34
43
  end
35
44
 
36
- [:include?, :delete, :[]=].each do |m|
37
- define_method(m) do |*args|
38
- @symbols.send(m, *args)
39
- end
40
- end
45
+ def_delegators :@symbols, :include?, :delete, :[]=
41
46
 
42
47
  def [](name)
43
- unless @symbols.include?(name) or @parent.nil?
44
- @parent[name]
45
- else
48
+ if @symbols.include?(name) or @parent.nil?
46
49
  @symbols[name]
50
+ else
51
+ @parent[name]
47
52
  end
48
53
  end
49
54
  end
50
55
 
51
- # A demeterific shortcut to the catalog.
52
- def catalog
53
- compiler.catalog
56
+ # Initialize a new scope suitable for parser function testing. This method
57
+ # should be considered a public API for external modules. A shared spec
58
+ # helper should consume this API method.
59
+ def self.new_for_test_harness(node_name)
60
+ node = Puppet::Node.new(node_name)
61
+ compiler = Puppet::Parser::Compiler.new(node)
62
+ scope = new(compiler)
63
+ scope.source = Puppet::Resource::Type.new(:node, node_name)
64
+ scope.parent = compiler.topscope
65
+ scope
54
66
  end
55
67
 
56
- def environment
57
- compiler.environment
68
+ def each
69
+ to_hash.each { |name, value| yield(name, value) }
58
70
  end
59
71
 
60
72
  # Proxy accessors
61
73
  def host
62
- @compiler.node.name
74
+ compiler.node.name
75
+ end
76
+
77
+ def facts
78
+ compiler.node.facts
79
+ end
80
+
81
+ def include?(name)
82
+ ! self[name].nil?
63
83
  end
64
84
 
65
85
  # Is the value true? This allows us to control the definition of truth
66
86
  # in one place.
67
87
  def self.true?(value)
68
- (value != false and value != "" and value != :undef)
88
+ case value
89
+ when ''
90
+ false
91
+ when :undef
92
+ false
93
+ else
94
+ !!value
95
+ end
69
96
  end
70
97
 
71
- # Is the value a number?, return the correct object or nil if not a number
98
+ # Coerce value to a number, or return `nil` if it isn't one.
72
99
  def self.number?(value)
73
- return nil unless value.is_a?(Fixnum) or value.is_a?(Bignum) or value.is_a?(Float) or value.is_a?(String)
74
-
75
- if value.is_a?(String)
76
- if value =~ /^-?\d+(:?\.\d+|(:?\.\d+)?e\d+)$/
77
- return value.to_f
78
- elsif value =~ /^0x[0-9a-f]+$/i
79
- return value.to_i(16)
80
- elsif value =~ /^0[0-7]+$/
81
- return value.to_i(8)
82
- elsif value =~ /^-?\d+$/
83
- return value.to_i
84
- else
85
- return nil
86
- end
100
+ case value
101
+ when Numeric
102
+ value
103
+ when /^-?\d+(:?\.\d+|(:?\.\d+)?e\d+)$/
104
+ value.to_f
105
+ when /^0x[0-9a-f]+$/i
106
+ value.to_i(16)
107
+ when /^0[0-7]+$/
108
+ value.to_i(8)
109
+ when /^-?\d+$/
110
+ value.to_i
111
+ else
112
+ nil
87
113
  end
88
- # it is one of Fixnum,Bignum or Float
89
- value
90
114
  end
91
115
 
92
116
  # Add to our list of namespaces.
@@ -99,41 +123,33 @@ class Puppet::Parser::Scope
99
123
  end
100
124
  end
101
125
 
102
- # Remove this when rebasing
103
- def environment
104
- compiler ? compiler.environment : nil
105
- end
106
-
107
- def find_hostclass(name)
108
- known_resource_types.find_hostclass(namespaces, name)
126
+ def find_hostclass(name, options = {})
127
+ known_resource_types.find_hostclass(namespaces, name, options)
109
128
  end
110
129
 
111
130
  def find_definition(name)
112
131
  known_resource_types.find_definition(namespaces, name)
113
132
  end
114
133
 
115
- def findresource(string, name = nil)
116
- compiler.findresource(string, name)
117
- end
134
+ # This just delegates directly.
135
+ def_delegator :compiler, :findresource
118
136
 
119
137
  # Initialize our new scope. Defaults to having no parent.
120
- def initialize(hash = {})
121
- if hash.include?(:namespace)
122
- if n = hash[:namespace]
123
- @namespaces = [n]
124
- end
125
- hash.delete(:namespace)
138
+ def initialize(compiler, options = {})
139
+ if compiler.is_a? Puppet::Parser::Compiler
140
+ self.compiler = compiler
141
+ else
142
+ raise Puppet::DevError, "you must pass a compiler instance to a new scope object"
143
+ end
144
+
145
+ if n = options.delete(:namespace)
146
+ @namespaces = [n]
126
147
  else
127
148
  @namespaces = [""]
128
149
  end
129
- hash.each { |name, val|
130
- method = name.to_s + "="
131
- if self.respond_to? method
132
- self.send(method, val)
133
- else
134
- raise Puppet::DevError, "Invalid scope argument #{name}"
135
- end
136
- }
150
+
151
+ raise Puppet::DevError, "compiler passed in options" if options.include? :compiler
152
+ set_options(options)
137
153
 
138
154
  extend_with_functions_module
139
155
 
@@ -164,8 +180,11 @@ class Puppet::Parser::Scope
164
180
  # Store the fact that we've evaluated a class, and store a reference to
165
181
  # the scope in which it was evaluated, so that we can look it up later.
166
182
  def class_set(name, scope)
167
- return parent.class_set(name,scope) if parent
168
- @class_scopes[name] = scope
183
+ if parent
184
+ parent.class_set(name, scope)
185
+ else
186
+ @class_scopes[name] = scope
187
+ end
169
188
  end
170
189
 
171
190
  # Return the scope associated with a class. This is just here so
@@ -186,7 +205,7 @@ class Puppet::Parser::Scope
186
205
  values = {}
187
206
 
188
207
  # first collect the values from the parents
189
- unless parent.nil?
208
+ if parent
190
209
  parent.lookupdefaults(type).each { |var,value|
191
210
  values[var] = value
192
211
  }
@@ -200,8 +219,6 @@ class Puppet::Parser::Scope
200
219
  }
201
220
  end
202
221
 
203
- #Puppet.debug "Got defaults for %s: %s" %
204
- # [type,values.inspect]
205
222
  values
206
223
  end
207
224
 
@@ -211,93 +228,64 @@ class Puppet::Parser::Scope
211
228
  end
212
229
 
213
230
  def undef_as(x,v)
214
- (v == :undefined) ? x : (v == :undef) ? x : v
215
- end
216
-
217
- def qualified_scope(classname)
218
- raise "class #{classname} could not be found" unless klass = find_hostclass(classname)
219
- raise "class #{classname} has not been evaluated" unless kscope = class_scope(klass)
220
- kscope
221
- end
222
-
223
- private :qualified_scope
224
-
225
- # Look up a variable with traditional scoping and then with new scoping. If
226
- # the answers differ then print a deprecation warning.
227
- def lookupvar(name, options = {})
228
- dynamic_value = dynamic_lookupvar(name,options)
229
- twoscope_value = twoscope_lookupvar(name,options)
230
- if dynamic_value != twoscope_value
231
- location = (options[:file] && options[:line]) ? " at #{options[:file]}:#{options[:line]}" : ''
232
- Puppet.deprecation_warning("Dynamic lookup of $#{name}#{location} is deprecated. For more information, see http://docs.puppetlabs.com/guides/scope_and_puppet.html. To see the change in behavior, use the --debug flag.")
233
- Puppet.debug("Currently $#{name} is #{dynamic_value.inspect}")
234
- Puppet.debug("In the future $#{name} will be #{twoscope_value == :undefined ? "undefined" : twoscope_value.inspect}")
231
+ if v.nil? or v == :undef
232
+ x
233
+ else
234
+ v
235
235
  end
236
- dynamic_value
237
236
  end
238
237
 
239
- # Look up a variable. The simplest value search we do.
240
- def twoscope_lookupvar(name, options = {})
238
+ def lookupvar(name, options = {})
241
239
  # Save the originating scope for the request
242
240
  options[:origin] = self unless options[:origin]
243
241
  table = ephemeral?(name) ? @ephemeral.last : @symtable
244
242
 
245
243
  if name =~ /^(.*)::(.+)$/
246
244
  begin
247
- qualified_scope($1).twoscope_lookupvar($2, options.merge({:origin => nil}))
245
+ qualified_scope($1).lookupvar($2, options.merge({:origin => nil}))
248
246
  rescue RuntimeError => e
249
- location = (options[:file] && options[:line]) ? " at #{options[:file]}:#{options[:line]}" : ''
247
+ location = (options[:file] && (options[:line] || options[:lineproc])) ? " at #{options[:file]}:#{options[:line]|| options[:lineproc].call}" : ''
250
248
  warning "Could not look up qualified variable '#{name}'; #{e.message}#{location}"
251
- :undefined
249
+ nil
252
250
  end
253
251
  # If the value is present and either we are top/node scope or originating scope...
254
252
  elsif (ephemeral_include?(name) or table.include?(name)) and (compiler and self == compiler.topscope or (resource and resource.type == "Node") or self == options[:origin])
255
253
  table[name]
256
254
  elsif resource and resource.type == "Class" and parent_type = resource.resource_type.parent
257
- qualified_scope(parent_type).twoscope_lookupvar(name,options.merge({:origin => nil}))
255
+ qualified_scope(parent_type).lookupvar(name, options.merge({:origin => nil}))
258
256
  elsif parent
259
- parent.twoscope_lookupvar(name, options)
257
+ parent.lookupvar(name, options)
260
258
  else
261
- :undefined
259
+ nil
262
260
  end
263
261
  end
262
+ alias [] lookupvar
264
263
 
265
- # Look up a variable. The simplest value search we do.
266
- def dynamic_lookupvar(name, options = {})
267
- table = ephemeral?(name) ? @ephemeral.last : @symtable
268
- # If the variable is qualified, then find the specified scope and look the variable up there instead.
269
- if name =~ /^(.*)::(.+)$/
270
- begin
271
- qualified_scope($1).dynamic_lookupvar($2,options)
272
- rescue RuntimeError => e
273
- location = (options[:file] && options[:line]) ? " at #{options[:file]}:#{options[:line]}" : ''
274
- warning "Could not look up qualified variable '#{name}'; #{e.message}#{location}"
275
- :undefined
276
- end
277
- elsif ephemeral_include?(name) or table.include?(name)
278
- # We can't use "if table[name]" here because the value might be false
279
- table[name]
280
- elsif parent
281
- parent.dynamic_lookupvar(name,options)
282
- else
283
- :undefined
284
- end
264
+ def qualified_scope(classname)
265
+ raise "class #{classname} could not be found" unless klass = find_hostclass(classname)
266
+ raise "class #{classname} has not been evaluated" unless kscope = class_scope(klass)
267
+ kscope
285
268
  end
269
+ private :qualified_scope
286
270
 
287
271
  # Return a hash containing our variables and their values, optionally (and
288
272
  # by default) including the values defined in our parent. Local values
289
273
  # shadow parent values.
290
274
  def to_hash(recursive = true)
291
- target = parent.to_hash(recursive) if recursive and parent
292
- target ||= Hash.new
293
- @symtable.keys.each { |name|
294
- value = @symtable[name]
275
+ if recursive and parent
276
+ target = parent.to_hash(recursive)
277
+ else
278
+ target = Hash.new
279
+ end
280
+
281
+ @symtable.each do |name, value|
295
282
  if value == :undef
296
283
  target.delete(name)
297
284
  else
298
285
  target[name] = value
299
286
  end
300
- }
287
+ end
288
+
301
289
  target
302
290
  end
303
291
 
@@ -316,28 +304,16 @@ class Puppet::Parser::Scope
316
304
  @parent.source.module_name
317
305
  end
318
306
 
319
- # Return the list of scopes up to the top scope, ordered with our own first.
320
- # This is used for looking up variables and defaults.
321
- def scope_path
322
- if parent
323
- [self, parent.scope_path].flatten.compact
324
- else
325
- [self]
326
- end
327
- end
328
-
329
307
  # Set defaults for a type. The typename should already be downcased,
330
308
  # so that the syntax is isolated. We don't do any kind of type-checking
331
309
  # here; instead we let the resource do it when the defaults are used.
332
- def setdefaults(type, params)
310
+ def define_settings(type, params)
333
311
  table = @defaults[type]
334
312
 
335
313
  # if we got a single param, it'll be in its own array
336
314
  params = [params] unless params.is_a?(Array)
337
315
 
338
316
  params.each { |param|
339
- #Puppet.debug "Default for %s is %s => %s" %
340
- # [type,ary[0].inspect,ary[1].inspect]
341
317
  if table.include?(param.name)
342
318
  raise Puppet::ParseError.new("Default already defined for #{type} { #{param.name} }; cannot redefine", param.line, param.file)
343
319
  end
@@ -348,60 +324,60 @@ class Puppet::Parser::Scope
348
324
  # Set a variable in the current scope. This will override settings
349
325
  # in scopes above, but will not allow variables in the current scope
350
326
  # to be reassigned.
351
- def setvar(name,value, options = {})
327
+ # It's preferred that you use self[]= instead of this; only use this
328
+ # when you need to set options.
329
+ def setvar(name, value, options = {})
352
330
  table = options[:ephemeral] ? @ephemeral.last : @symtable
353
331
  if table.include?(name)
354
- unless options[:append]
355
- error = Puppet::ParseError.new("Cannot reassign variable #{name}")
356
- else
332
+ if options[:append]
357
333
  error = Puppet::ParseError.new("Cannot append, variable #{name} is defined in this scope")
334
+ else
335
+ error = Puppet::ParseError.new("Cannot reassign variable #{name}")
358
336
  end
359
337
  error.file = options[:file] if options[:file]
360
338
  error.line = options[:line] if options[:line]
361
339
  raise error
362
340
  end
363
341
 
364
- unless options[:append]
342
+ if options[:append]
343
+ table[name] = append_value(undef_as('', self[name]), value)
344
+ else
365
345
  table[name] = value
366
- else # append case
367
- # lookup the value in the scope if it exists and insert the var
368
- table[name] = undef_as('',lookupvar(name))
369
- # concatenate if string, append if array, nothing for other types
370
- case value
371
- when Array
372
- table[name] += value
373
- when Hash
374
- raise ArgumentError, "Trying to append to a hash with something which is not a hash is unsupported" unless value.is_a?(Hash)
375
- table[name].merge!(value)
376
- else
377
- table[name] << value
378
- end
379
346
  end
380
347
  end
348
+ alias []= setvar
381
349
 
382
- # Return the tags associated with this scope. It's basically
383
- # just our parents' tags, plus our type. We don't cache this value
384
- # because our parent tags might change between calls.
385
- def tags
386
- resource.tags
350
+ def append_value(bound_value, new_value)
351
+ case new_value
352
+ when Array
353
+ bound_value + new_value
354
+ when Hash
355
+ bound_value.merge(new_value)
356
+ else
357
+ if bound_value.is_a?(Hash)
358
+ raise ArgumentError, "Trying to append to a hash with something which is not a hash is unsupported"
359
+ end
360
+ bound_value + new_value
361
+ end
387
362
  end
363
+ private :append_value
364
+
365
+ # Return the tags associated with this scope.
366
+ def_delegator :resource, :tags
388
367
 
389
368
  # Used mainly for logging
390
369
  def to_s
391
370
  "Scope(#{@resource})"
392
371
  end
393
372
 
394
- # Undefine a variable; only used for testing.
395
- def unsetvar(var)
396
- table = ephemeral?(var) ? @ephemeral.last : @symtable
397
- table.delete(var) if table.include?(var)
398
- end
399
-
400
373
  # remove ephemeral scope up to level
401
374
  def unset_ephemeral_var(level=:all)
402
375
  if level == :all
403
376
  @ephemeral = [ Ephemeral.new ]
404
377
  else
378
+ # If we ever drop 1.8.6 and lower, this should be replaced by a single
379
+ # pop-with-a-count - or if someone more ambitious wants to monkey-patch
380
+ # that feature into older rubies. --daniel 2012-07-16
405
381
  (@ephemeral.size - level).times do
406
382
  @ephemeral.pop
407
383
  end
@@ -410,10 +386,7 @@ class Puppet::Parser::Scope
410
386
 
411
387
  # check if name exists in one of the ephemeral scope.
412
388
  def ephemeral_include?(name)
413
- @ephemeral.reverse_each do |eph|
414
- return true if eph.include?(name)
415
- end
416
- false
389
+ @ephemeral.any? {|eph| eph.include?(name) }
417
390
  end
418
391
 
419
392
  # is name an ephemeral variable?
@@ -492,6 +465,6 @@ class Puppet::Parser::Scope
492
465
 
493
466
  def extend_with_functions_module
494
467
  extend Puppet::Parser::Functions.environment_module(Puppet::Node::Environment.root)
495
- extend Puppet::Parser::Functions.environment_module(environment)
468
+ extend Puppet::Parser::Functions.environment_module(environment) if environment != Puppet::Node::Environment.root
496
469
  end
497
470
  end