puppet 3.8.7 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1621) hide show
  1. checksums.yaml +7 -0
  2. data/CONTRIBUTING.md +20 -0
  3. data/Gemfile +13 -25
  4. data/LICENSE +1 -1
  5. data/Rakefile +9 -0
  6. data/bin/puppet +7 -6
  7. data/conf/auth.conf +30 -26
  8. data/conf/environment.conf +18 -0
  9. data/conf/fileserver.conf +2 -2
  10. data/conf/puppet.conf +6 -0
  11. data/ext/README.environment +1 -1
  12. data/ext/build_defaults.yaml +17 -8
  13. data/ext/debian/control +6 -6
  14. data/ext/debian/puppet-common.manpages +0 -5
  15. data/ext/debian/puppet-common.postinst +3 -3
  16. data/ext/debian/puppet.init +23 -12
  17. data/ext/debian/puppet.logrotate +1 -2
  18. data/ext/debian/puppetmaster-common.postinst +6 -0
  19. data/ext/debian/puppetmaster.init +5 -5
  20. data/ext/debian/rules +4 -1
  21. data/ext/debian/vim-puppet.dirs +2 -0
  22. data/ext/debian/vim-puppet.yaml +2 -0
  23. data/ext/emacs/puppet-mode.el +0 -1
  24. data/ext/gentoo/conf.d/puppet +1 -1
  25. data/ext/gentoo/conf.d/puppetmaster +1 -1
  26. data/ext/nagios/check_puppet.rb +1 -1
  27. data/ext/project_data.yaml +6 -7
  28. data/ext/puppet-nm-dispatcher +13 -0
  29. data/ext/puppet-test +0 -66
  30. data/ext/puppetlisten/puppetlisten.rb +7 -5
  31. data/ext/rack/config.ru +13 -5
  32. data/ext/redhat/client.init +3 -3
  33. data/ext/redhat/client.sysconfig +1 -1
  34. data/ext/redhat/logrotate +1 -2
  35. data/ext/redhat/puppet.spec.erb +14 -10
  36. data/ext/redhat/server.init +1 -1
  37. data/ext/regexp_nodes/regexp_nodes.rb +1 -1
  38. data/ext/solaris/smf/svc-puppetd +1 -1
  39. data/ext/solaris/smf/svc-puppetmasterd +1 -1
  40. data/ext/suse/client.init +1 -1
  41. data/ext/suse/server.init +1 -1
  42. data/ext/systemd/puppet.service +1 -2
  43. data/ext/vim/syntax/puppet.vim +1 -1
  44. data/ext/windows/service/daemon.rb +19 -2
  45. data/install.rb +63 -7
  46. data/lib/hiera/puppet_function.rb +7 -18
  47. data/lib/hiera/scope.rb +4 -1
  48. data/lib/puppet/agent.rb +2 -6
  49. data/lib/puppet/application/agent.rb +7 -56
  50. data/lib/puppet/application/apply.rb +1 -6
  51. data/lib/puppet/application/ca.rb +5 -0
  52. data/lib/puppet/application/cert.rb +7 -3
  53. data/lib/puppet/application/certificate.rb +2 -0
  54. data/lib/puppet/application/device.rb +5 -14
  55. data/lib/puppet/application/doc.rb +16 -63
  56. data/lib/puppet/application/epp.rb +5 -0
  57. data/lib/puppet/application/face_base.rb +24 -5
  58. data/lib/puppet/application/master.rb +2 -5
  59. data/lib/puppet/application/resource.rb +17 -17
  60. data/lib/puppet/application.rb +14 -65
  61. data/lib/puppet/application_support.rb +57 -0
  62. data/lib/puppet/configurer/downloader.rb +1 -0
  63. data/lib/puppet/configurer/fact_handler.rb +1 -1
  64. data/lib/puppet/configurer.rb +3 -7
  65. data/lib/puppet/daemon.rb +6 -15
  66. data/lib/puppet/data_providers/data_adapter.rb +91 -0
  67. data/lib/puppet/data_providers/data_function_support.rb +45 -0
  68. data/lib/puppet/data_providers/function_env_data_provider.rb +28 -0
  69. data/lib/puppet/data_providers/function_module_data_provider.rb +39 -0
  70. data/lib/puppet/data_providers.rb +31 -0
  71. data/lib/puppet/defaults.rb +140 -508
  72. data/lib/puppet/environments.rb +10 -156
  73. data/lib/puppet/error.rb +5 -27
  74. data/lib/puppet/external/nagios/base.rb +2 -2
  75. data/lib/puppet/external/pson/common.rb +2 -17
  76. data/lib/puppet/external/pson/pure/generator.rb +1 -0
  77. data/lib/puppet/external/pson/pure/parser.rb +0 -11
  78. data/lib/puppet/face/catalog.rb +4 -4
  79. data/lib/puppet/face/certificate.rb +2 -3
  80. data/lib/puppet/face/certificate_request.rb +4 -3
  81. data/lib/puppet/face/certificate_revocation_list.rb +5 -9
  82. data/lib/puppet/face/config.rb +2 -2
  83. data/lib/puppet/face/epp.rb +479 -0
  84. data/lib/puppet/face/facts.rb +6 -49
  85. data/lib/puppet/face/file/download.rb +1 -2
  86. data/lib/puppet/face/file.rb +2 -2
  87. data/lib/puppet/face/help.rb +2 -3
  88. data/lib/puppet/face/module/build.rb +5 -5
  89. data/lib/puppet/face/module/changes.rb +1 -1
  90. data/lib/puppet/face/module/generate.rb +6 -6
  91. data/lib/puppet/face/module/install.rb +16 -16
  92. data/lib/puppet/face/module/list.rb +9 -9
  93. data/lib/puppet/face/module/uninstall.rb +5 -5
  94. data/lib/puppet/face/module/upgrade.rb +3 -3
  95. data/lib/puppet/face/node/clean.rb +5 -68
  96. data/lib/puppet/face/node.rb +3 -4
  97. data/lib/puppet/face/parser.rb +6 -8
  98. data/lib/puppet/face/report.rb +4 -4
  99. data/lib/puppet/face/resource.rb +1 -1
  100. data/lib/puppet/face/resource_type.rb +7 -4
  101. data/lib/puppet/face/status.rb +6 -12
  102. data/lib/puppet/feature/base.rb +0 -7
  103. data/lib/puppet/file_bucket/dipper.rb +1 -2
  104. data/lib/puppet/file_bucket/file.rb +12 -25
  105. data/lib/puppet/file_serving/base.rb +1 -11
  106. data/lib/puppet/file_serving/content.rb +5 -7
  107. data/lib/puppet/file_serving/metadata.rb +4 -61
  108. data/lib/puppet/file_serving/mount/pluginfacts.rb +1 -1
  109. data/lib/puppet/file_serving/mount/plugins.rb +1 -1
  110. data/lib/puppet/file_serving/terminus_helper.rb +16 -5
  111. data/lib/puppet/file_system/file_impl.rb +0 -4
  112. data/lib/puppet/file_system/memory_file.rb +0 -5
  113. data/lib/puppet/file_system/memory_impl.rb +0 -4
  114. data/lib/puppet/file_system/{file19.rb → posix.rb} +1 -1
  115. data/lib/puppet/file_system/{file19windows.rb → windows.rb} +2 -10
  116. data/lib/puppet/file_system.rb +6 -22
  117. data/lib/puppet/forge/repository.rb +12 -8
  118. data/lib/puppet/functions/assert_type.rb +7 -7
  119. data/lib/puppet/functions/each.rb +1 -3
  120. data/lib/puppet/functions/epp.rb +3 -3
  121. data/lib/puppet/functions/filter.rb +3 -5
  122. data/lib/puppet/functions/hiera.rb +2 -23
  123. data/lib/puppet/functions/hiera_array.rb +3 -25
  124. data/lib/puppet/functions/hiera_hash.rb +2 -26
  125. data/lib/puppet/functions/hiera_include.rb +4 -37
  126. data/lib/puppet/functions/inline_epp.rb +1 -2
  127. data/lib/puppet/functions/lookup.rb +234 -0
  128. data/lib/puppet/functions/map.rb +1 -3
  129. data/lib/puppet/functions/match.rb +5 -5
  130. data/lib/puppet/functions/reduce.rb +1 -3
  131. data/lib/puppet/functions/regsubst.rb +79 -0
  132. data/lib/puppet/functions/scanf.rb +4 -3
  133. data/lib/puppet/functions/slice.rb +1 -3
  134. data/lib/puppet/functions/split.rb +47 -0
  135. data/lib/puppet/functions/with.rb +1 -1
  136. data/lib/puppet/functions.rb +17 -51
  137. data/lib/puppet/graph/relationship_graph.rb +41 -13
  138. data/lib/puppet/graph/simple_graph.rb +6 -10
  139. data/lib/puppet/indirector/catalog/compiler.rb +0 -2
  140. data/lib/puppet/indirector/catalog/static_compiler.rb +4 -5
  141. data/lib/puppet/indirector/direct_file_server.rb +1 -3
  142. data/lib/puppet/indirector/face.rb +11 -2
  143. data/lib/puppet/indirector/facts/facter.rb +5 -1
  144. data/lib/puppet/indirector/facts/network_device.rb +5 -2
  145. data/lib/puppet/indirector/facts/store_configs.rb +3 -0
  146. data/lib/puppet/indirector/facts/yaml.rb +4 -0
  147. data/lib/puppet/indirector/file_metadata/file.rb +0 -15
  148. data/lib/puppet/indirector/file_server.rb +2 -16
  149. data/lib/puppet/indirector/hiera.rb +39 -1
  150. data/lib/puppet/indirector/indirection.rb +2 -9
  151. data/lib/puppet/indirector/node/ldap.rb +1 -1
  152. data/lib/puppet/indirector/request.rb +21 -81
  153. data/lib/puppet/indirector/resource/ral.rb +1 -2
  154. data/lib/puppet/indirector/resource/store_configs.rb +1 -2
  155. data/lib/puppet/indirector/resource_type/parser.rb +1 -1
  156. data/lib/puppet/indirector/rest.rb +21 -33
  157. data/lib/puppet/interface/action_builder.rb +1 -1
  158. data/lib/puppet/interface/action_manager.rb +9 -13
  159. data/lib/puppet/interface/face_collection.rb +2 -2
  160. data/lib/puppet/interface/option_builder.rb +1 -3
  161. data/lib/puppet/interface.rb +0 -7
  162. data/lib/puppet/metatype/manager.rb +1 -7
  163. data/lib/puppet/module.rb +42 -35
  164. data/lib/puppet/module_tool/applications/application.rb +3 -10
  165. data/lib/puppet/module_tool/applications/installer.rb +13 -15
  166. data/lib/puppet/module_tool/applications/unpacker.rb +1 -1
  167. data/lib/puppet/module_tool/applications/upgrader.rb +9 -11
  168. data/lib/puppet/module_tool/contents_description.rb +17 -13
  169. data/lib/puppet/module_tool/installed_modules.rb +4 -6
  170. data/lib/puppet/module_tool/metadata.rb +3 -14
  171. data/lib/puppet/module_tool/skeleton/templates/generator/Gemfile +3 -3
  172. data/lib/puppet/module_tool/skeleton/templates/generator/Rakefile +0 -1
  173. data/lib/puppet/module_tool/skeleton/templates/generator/manifests/init.pp.erb +1 -1
  174. data/lib/puppet/module_tool/tar/gnu.rb +1 -1
  175. data/lib/puppet/module_tool/tar/mini.rb +2 -2
  176. data/lib/puppet/module_tool.rb +5 -7
  177. data/lib/puppet/network/auth_config_parser.rb +2 -2
  178. data/lib/puppet/network/authconfig.rb +32 -16
  179. data/lib/puppet/network/format_handler.rb +7 -7
  180. data/lib/puppet/network/format_support.rb +4 -0
  181. data/lib/puppet/network/formats.rb +6 -62
  182. data/lib/puppet/network/http/api/ca/v1.rb +11 -0
  183. data/lib/puppet/network/http/api/ca.rb +2 -0
  184. data/lib/puppet/network/http/api/{v1.rb → indirected_routes.rb} +57 -29
  185. data/lib/puppet/network/http/api/indirection_type.rb +32 -0
  186. data/lib/puppet/network/http/api/master/v3/authorization.rb +18 -0
  187. data/lib/puppet/network/http/api/{v2 → master/v3}/environments.rb +2 -2
  188. data/lib/puppet/network/http/api/master/v3.rb +22 -0
  189. data/lib/puppet/network/http/api/master.rb +2 -0
  190. data/lib/puppet/network/http/api.rb +42 -0
  191. data/lib/puppet/network/http/compression.rb +3 -5
  192. data/lib/puppet/network/http/connection.rb +1 -8
  193. data/lib/puppet/network/http/factory.rb +2 -3
  194. data/lib/puppet/network/http/handler.rb +3 -11
  195. data/lib/puppet/network/http/rack/rest.rb +4 -4
  196. data/lib/puppet/network/http/request.rb +4 -4
  197. data/lib/puppet/network/http/webrick/rest.rb +15 -8
  198. data/lib/puppet/network/http/webrick.rb +1 -6
  199. data/lib/puppet/network/http.rb +12 -2
  200. data/lib/puppet/network/resolver.rb +2 -2
  201. data/lib/puppet/network/rights.rb +2 -2
  202. data/lib/puppet/node/environment.rb +92 -184
  203. data/lib/puppet/node/facts.rb +22 -44
  204. data/lib/puppet/node.rb +2 -29
  205. data/lib/puppet/parameter/value.rb +1 -3
  206. data/lib/puppet/parameter/value_collection.rb +12 -11
  207. data/lib/puppet/parameter.rb +3 -16
  208. data/lib/puppet/parser/ast/block_expression.rb +11 -36
  209. data/lib/puppet/parser/ast/branch.rb +15 -18
  210. data/lib/puppet/parser/ast/hostclass.rb +1 -3
  211. data/lib/puppet/parser/ast/leaf.rb +55 -212
  212. data/lib/puppet/parser/ast/node.rb +3 -11
  213. data/lib/puppet/parser/ast/pops_bridge.rb +2 -7
  214. data/lib/puppet/parser/ast/resource.rb +14 -20
  215. data/lib/puppet/parser/ast/resource_instance.rb +4 -7
  216. data/lib/puppet/parser/ast/resourceparam.rb +21 -22
  217. data/lib/puppet/parser/ast.rb +9 -78
  218. data/lib/puppet/parser/compiler.rb +41 -70
  219. data/lib/puppet/parser/e4_parser_adapter.rb +2 -23
  220. data/lib/puppet/parser/files.rb +22 -67
  221. data/lib/puppet/parser/functions/assert_type.rb +1 -2
  222. data/lib/puppet/parser/functions/contain.rb +5 -3
  223. data/lib/puppet/parser/functions/create_resources.rb +9 -1
  224. data/lib/puppet/parser/functions/defined.rb +33 -61
  225. data/lib/puppet/parser/functions/each.rb +1 -3
  226. data/lib/puppet/parser/functions/epp.rb +1 -2
  227. data/lib/puppet/parser/functions/file.rb +1 -3
  228. data/lib/puppet/parser/functions/filter.rb +1 -3
  229. data/lib/puppet/parser/functions/hiera.rb +4 -6
  230. data/lib/puppet/parser/functions/hiera_array.rb +4 -6
  231. data/lib/puppet/parser/functions/hiera_hash.rb +6 -8
  232. data/lib/puppet/parser/functions/hiera_include.rb +2 -10
  233. data/lib/puppet/parser/functions/include.rb +4 -2
  234. data/lib/puppet/parser/functions/lookup.rb +115 -105
  235. data/lib/puppet/parser/functions/map.rb +1 -3
  236. data/lib/puppet/parser/functions/match.rb +1 -2
  237. data/lib/puppet/parser/functions/realize.rb +1 -6
  238. data/lib/puppet/parser/functions/reduce.rb +1 -3
  239. data/lib/puppet/parser/functions/regsubst.rb +1 -57
  240. data/lib/puppet/parser/functions/require.rb +6 -4
  241. data/lib/puppet/parser/functions/scanf.rb +1 -1
  242. data/lib/puppet/parser/functions/slice.rb +1 -3
  243. data/lib/puppet/parser/functions/split.rb +1 -1
  244. data/lib/puppet/parser/functions/with.rb +1 -2
  245. data/lib/puppet/parser/functions.rb +1 -3
  246. data/lib/puppet/parser/parser_factory.rb +5 -21
  247. data/lib/puppet/parser/relationship.rb +14 -37
  248. data/lib/puppet/parser/resource.rb +11 -22
  249. data/lib/puppet/parser/scope.rb +45 -135
  250. data/lib/puppet/parser/templatewrapper.rb +1 -29
  251. data/lib/puppet/parser/type_loader.rb +12 -15
  252. data/lib/puppet/parser.rb +12 -2
  253. data/lib/{puppetx/puppet/bindings_scheme_handler.rb → puppet/plugins/binding_schemes.rb} +14 -4
  254. data/lib/puppet/plugins/configuration.rb +68 -0
  255. data/lib/puppet/plugins/data_providers.rb +90 -0
  256. data/lib/{puppetx/puppet/syntax_checker.rb → puppet/plugins/syntax_checkers.rb} +14 -2
  257. data/lib/puppet/plugins.rb +9 -0
  258. data/lib/puppet/pops/adaptable.rb +16 -5
  259. data/lib/puppet/pops/binder/binder.rb +5 -4
  260. data/lib/puppet/pops/binder/bindings_composer.rb +6 -4
  261. data/lib/puppet/pops/binder/bindings_factory.rb +4 -0
  262. data/lib/puppet/pops/binder/bindings_label_provider.rb +1 -1
  263. data/lib/puppet/pops/binder/bindings_loader.rb +3 -8
  264. data/lib/puppet/pops/binder/bindings_model_dumper.rb +36 -8
  265. data/lib/puppet/pops/binder/config/binder_config.rb +2 -2
  266. data/lib/puppet/pops/binder/config/binder_config_checker.rb +1 -1
  267. data/lib/puppet/pops/binder/config/issues.rb +4 -0
  268. data/lib/puppet/pops/binder/injector.rb +0 -1
  269. data/lib/puppet/pops/binder/scheme_handler/symbolic_scheme.rb +1 -1
  270. data/lib/puppet/pops/evaluator/access_operator.rb +18 -50
  271. data/lib/puppet/pops/evaluator/callable_mismatch_describer.rb +5 -5
  272. data/lib/puppet/pops/evaluator/callable_signature.rb +2 -2
  273. data/lib/puppet/pops/evaluator/closure.rb +16 -21
  274. data/lib/puppet/pops/evaluator/collector_transformer.rb +11 -1
  275. data/lib/puppet/pops/evaluator/compare_operator.rb +0 -43
  276. data/lib/puppet/pops/evaluator/epp_evaluator.rb +1 -1
  277. data/lib/puppet/pops/evaluator/evaluator_impl.rb +32 -119
  278. data/lib/puppet/pops/evaluator/external_syntax_support.rb +6 -3
  279. data/lib/puppet/pops/evaluator/relationship_operator.rb +1 -1
  280. data/lib/puppet/pops/evaluator/runtime3_converter.rb +1 -1
  281. data/lib/puppet/pops/evaluator/runtime3_support.rb +8 -52
  282. data/lib/puppet/pops/functions/dispatch.rb +1 -6
  283. data/lib/puppet/pops/issue_reporter.rb +16 -42
  284. data/lib/puppet/pops/issues.rb +13 -128
  285. data/lib/puppet/pops/loader/dependency_loader.rb +3 -3
  286. data/lib/puppet/pops/loader/loader.rb +21 -20
  287. data/lib/puppet/pops/loaders.rb +13 -8
  288. data/lib/puppet/pops/lookup.rb +96 -0
  289. data/lib/puppet/pops/merge_strategy.rb +283 -0
  290. data/lib/puppet/pops/model/ast_transformer.rb +4 -522
  291. data/lib/puppet/pops/model/factory.rb +20 -21
  292. data/lib/puppet/pops/model/model.rb +1 -1
  293. data/lib/puppet/pops/model/model_label_provider.rb +1 -1
  294. data/lib/puppet/pops/model/model_meta.rb +10 -7
  295. data/lib/puppet/pops/model/tree_dumper.rb +1 -1
  296. data/lib/puppet/pops/parser/egrammar.ra +1 -11
  297. data/lib/puppet/pops/parser/eparser.rb +1133 -1265
  298. data/lib/puppet/pops/parser/epp_support.rb +11 -22
  299. data/lib/puppet/pops/parser/evaluating_parser.rb +11 -10
  300. data/lib/puppet/pops/parser/heredoc_support.rb +11 -12
  301. data/lib/puppet/pops/parser/interpolation_support.rb +1 -7
  302. data/lib/puppet/pops/parser/lexer2.rb +14 -19
  303. data/lib/puppet/pops/parser/lexer_support.rb +20 -46
  304. data/lib/puppet/pops/parser/locator.rb +6 -30
  305. data/lib/puppet/pops/parser/parser_support.rb +14 -11
  306. data/lib/puppet/pops/parser/slurp_support.rb +6 -22
  307. data/lib/puppet/pops/patterns.rb +0 -3
  308. data/lib/puppet/pops/types/class_loader.rb +8 -8
  309. data/lib/puppet/pops/types/enumeration.rb +1 -1
  310. data/lib/puppet/pops/types/type_asserter.rb +45 -0
  311. data/lib/puppet/pops/types/type_assertion_error.rb +26 -0
  312. data/lib/puppet/pops/types/type_calculator.rb +110 -212
  313. data/lib/puppet/pops/types/type_factory.rb +15 -74
  314. data/lib/puppet/pops/types/type_parser.rb +15 -24
  315. data/lib/puppet/pops/types/types.rb +25 -35
  316. data/lib/puppet/pops/types/types_meta.rb +2 -13
  317. data/lib/puppet/pops/utils.rb +1 -1
  318. data/lib/puppet/pops/validation/checker4_0.rb +6 -56
  319. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -3
  320. data/lib/puppet/pops/validation.rb +3 -26
  321. data/lib/puppet/pops/visitor.rb +10 -7
  322. data/lib/puppet/pops.rb +6 -7
  323. data/lib/puppet/property.rb +44 -124
  324. data/lib/puppet/provider/aixobject.rb +2 -2
  325. data/lib/puppet/provider/augeas/augeas.rb +9 -6
  326. data/lib/puppet/provider/command.rb +1 -1
  327. data/lib/puppet/provider/cron/crontab.rb +37 -0
  328. data/lib/puppet/provider/exec.rb +2 -16
  329. data/lib/puppet/provider/file/posix.rb +1 -1
  330. data/lib/puppet/provider/file/windows.rb +1 -1
  331. data/lib/puppet/provider/group/aix.rb +1 -1
  332. data/lib/puppet/provider/group/pw.rb +0 -1
  333. data/lib/puppet/provider/group/windows_adsi.rb +4 -18
  334. data/lib/puppet/provider/host/parsed.rb +4 -2
  335. data/lib/puppet/provider/macauthorization/macauthorization.rb +1 -13
  336. data/lib/puppet/provider/mailalias/aliases.rb +23 -12
  337. data/lib/puppet/provider/mount/parsed.rb +2 -145
  338. data/lib/puppet/provider/nameservice/directoryservice.rb +58 -132
  339. data/lib/puppet/provider/network_device.rb +3 -0
  340. data/lib/puppet/provider/package/appdmg.rb +6 -3
  341. data/lib/puppet/provider/package/apt.rb +1 -1
  342. data/lib/puppet/provider/package/fink.rb +1 -1
  343. data/lib/puppet/provider/package/gem.rb +19 -6
  344. data/lib/puppet/provider/package/openbsd.rb +26 -12
  345. data/lib/puppet/provider/package/opkg.rb +6 -1
  346. data/lib/puppet/provider/package/pacman.rb +159 -127
  347. data/lib/puppet/provider/package/pip.rb +1 -11
  348. data/lib/puppet/provider/package/pkg.rb +73 -29
  349. data/lib/puppet/provider/package/pkgdmg.rb +3 -3
  350. data/lib/puppet/provider/package/pkgin.rb +1 -1
  351. data/lib/puppet/provider/package/portage.rb +5 -1
  352. data/lib/puppet/provider/package/portupgrade.rb +0 -2
  353. data/lib/puppet/provider/package/puppet_gem.rb +17 -0
  354. data/lib/puppet/provider/package/rpm.rb +109 -0
  355. data/lib/puppet/provider/package/rug.rb +0 -1
  356. data/lib/puppet/provider/package/windows/package.rb +1 -1
  357. data/lib/puppet/provider/package/yum.rb +121 -30
  358. data/lib/puppet/provider/package/zypper.rb +8 -17
  359. data/lib/puppet/provider/scheduled_task/win32_taskscheduler.rb +7 -32
  360. data/lib/puppet/provider/service/base.rb +17 -3
  361. data/lib/puppet/provider/service/bsd.rb +1 -1
  362. data/lib/puppet/provider/service/daemontools.rb +1 -1
  363. data/lib/puppet/provider/service/init.rb +0 -7
  364. data/lib/puppet/provider/service/launchd.rb +12 -90
  365. data/lib/puppet/provider/service/openbsd.rb +56 -298
  366. data/lib/puppet/provider/service/runit.rb +1 -1
  367. data/lib/puppet/provider/service/systemd.rb +1 -0
  368. data/lib/puppet/provider/service/upstart.rb +4 -2
  369. data/lib/puppet/provider/ssh_authorized_key/parsed.rb +1 -1
  370. data/lib/puppet/provider/user/aix.rb +1 -1
  371. data/lib/puppet/provider/user/directoryservice.rb +42 -72
  372. data/lib/puppet/provider/user/hpux.rb +31 -2
  373. data/lib/puppet/provider/user/openbsd.rb +74 -0
  374. data/lib/puppet/provider/user/pw.rb +0 -1
  375. data/lib/puppet/provider/user/user_role_add.rb +1 -3
  376. data/lib/puppet/provider/user/windows_adsi.rb +2 -9
  377. data/lib/puppet/provider/yumrepo/inifile.rb +1 -3
  378. data/lib/puppet/provider/zfs/zfs.rb +3 -2
  379. data/lib/puppet/provider/zone/solaris.rb +3 -3
  380. data/lib/puppet/provider.rb +0 -52
  381. data/lib/puppet/reference/configuration.rb +4 -3
  382. data/lib/puppet/reference/metaparameter.rb +0 -9
  383. data/lib/puppet/reference/providers.rb +1 -1
  384. data/lib/puppet/reference/type.rb +8 -10
  385. data/lib/puppet/relationship.rb +4 -17
  386. data/lib/puppet/resource/catalog.rb +23 -30
  387. data/lib/puppet/resource/status.rb +74 -22
  388. data/lib/puppet/resource/type.rb +12 -52
  389. data/lib/puppet/resource/type_collection.rb +26 -73
  390. data/lib/puppet/resource.rb +132 -114
  391. data/lib/puppet/settings/base_setting.rb +6 -30
  392. data/lib/puppet/settings/config_file.rb +14 -11
  393. data/lib/puppet/settings/duration_setting.rb +1 -1
  394. data/lib/puppet/settings/environment_conf.rb +14 -12
  395. data/lib/puppet/settings/file_setting.rb +9 -10
  396. data/lib/puppet/settings/ttl_setting.rb +1 -3
  397. data/lib/puppet/settings.rb +95 -154
  398. data/lib/puppet/ssl/certificate.rb +38 -8
  399. data/lib/puppet/ssl/certificate_authority/interface.rb +7 -1
  400. data/lib/puppet/ssl/certificate_factory.rb +3 -3
  401. data/lib/puppet/ssl/certificate_request.rb +36 -8
  402. data/lib/puppet/ssl/configuration.rb +2 -8
  403. data/lib/puppet/ssl/host.rb +1 -8
  404. data/lib/puppet/ssl/inventory.rb +0 -7
  405. data/lib/puppet/ssl/oids.rb +72 -3
  406. data/lib/puppet/ssl/validator/default_validator.rb +0 -1
  407. data/lib/puppet/status.rb +0 -5
  408. data/lib/{puppetx/puppetlabs → puppet}/syntax_checkers/json.rb +2 -2
  409. data/lib/puppet/syntax_checkers.rb +3 -0
  410. data/lib/puppet/test/test_helper.rb +11 -12
  411. data/lib/puppet/transaction/event.rb +4 -5
  412. data/lib/puppet/transaction/event_manager.rb +50 -5
  413. data/lib/puppet/transaction/report.rb +5 -10
  414. data/lib/puppet/transaction/resource_harness.rb +7 -2
  415. data/lib/puppet/transaction.rb +12 -9
  416. data/lib/puppet/type/augeas.rb +1 -0
  417. data/lib/puppet/type/exec.rb +2 -2
  418. data/lib/puppet/type/file/content.rb +19 -15
  419. data/lib/puppet/type/file/mode.rb +16 -11
  420. data/lib/puppet/type/file/selcontext.rb +1 -1
  421. data/lib/puppet/type/file/source.rb +15 -15
  422. data/lib/puppet/type/file.rb +8 -9
  423. data/lib/puppet/type/filebucket.rb +2 -2
  424. data/lib/puppet/type/group.rb +5 -17
  425. data/lib/puppet/type/host.rb +12 -3
  426. data/lib/puppet/type/k5login.rb +1 -1
  427. data/lib/puppet/type/mailalias.rb +20 -6
  428. data/lib/puppet/type/maillist.rb +1 -1
  429. data/lib/puppet/type/mount.rb +6 -16
  430. data/lib/puppet/type/notify.rb +1 -1
  431. data/lib/puppet/type/package.rb +91 -16
  432. data/lib/puppet/type/resources.rb +0 -7
  433. data/lib/puppet/type/router.rb +1 -1
  434. data/lib/puppet/type/schedule.rb +1 -1
  435. data/lib/puppet/type/scheduled_task.rb +0 -13
  436. data/lib/puppet/type/selboolean.rb +2 -2
  437. data/lib/puppet/type/service.rb +1 -1
  438. data/lib/puppet/type/ssh_authorized_key.rb +1 -1
  439. data/lib/puppet/type/sshkey.rb +1 -1
  440. data/lib/puppet/type/tidy.rb +4 -1
  441. data/lib/puppet/type/user.rb +16 -3
  442. data/lib/puppet/type/yumrepo.rb +26 -0
  443. data/lib/puppet/type/zfs.rb +1 -1
  444. data/lib/puppet/type/zpool.rb +1 -1
  445. data/lib/puppet/type.rb +113 -29
  446. data/lib/puppet/util/autoload.rb +3 -13
  447. data/lib/puppet/util/checksums.rb +59 -22
  448. data/lib/puppet/util/classgen.rb +1 -9
  449. data/lib/puppet/util/colors.rb +0 -117
  450. data/lib/puppet/util/command_line.rb +1 -23
  451. data/lib/puppet/util/execution.rb +19 -22
  452. data/lib/puppet/util/feature.rb +2 -4
  453. data/lib/puppet/util/fileparsing.rb +3 -2
  454. data/lib/puppet/util/log/destinations.rb +17 -36
  455. data/lib/puppet/util/log.rb +13 -56
  456. data/lib/puppet/util/logging.rb +52 -37
  457. data/lib/puppet/util/metric.rb +0 -149
  458. data/lib/puppet/util/monkey_patches.rb +1 -94
  459. data/lib/puppet/util/network_device/base.rb +1 -5
  460. data/lib/puppet/util/network_device/cisco/interface.rb +2 -2
  461. data/lib/puppet/util/network_device/transport/ssh.rb +2 -2
  462. data/lib/puppet/util/profiler/aggregate.rb +1 -1
  463. data/lib/puppet/util/profiler/around_profiler.rb +1 -1
  464. data/lib/puppet/util/profiler.rb +1 -1
  465. data/lib/puppet/util/psych_support.rb +38 -0
  466. data/lib/puppet/util/rdoc/code_objects.rb +5 -45
  467. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +1 -1
  468. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +8 -227
  469. data/lib/puppet/util/rdoc/parser.rb +5 -15
  470. data/lib/puppet/util/rdoc.rb +6 -42
  471. data/lib/puppet/util/retry_action.rb +46 -0
  472. data/lib/puppet/util/run_mode.rb +49 -8
  473. data/lib/puppet/util/selinux.rb +2 -2
  474. data/lib/puppet/util/ssl.rb +11 -11
  475. data/lib/puppet/util/suidmanager.rb +4 -31
  476. data/lib/puppet/util/tag_set.rb +0 -11
  477. data/lib/puppet/util/tagging.rb +50 -19
  478. data/lib/puppet/util/warnings.rb +1 -0
  479. data/lib/puppet/util/windows/adsi.rb +13 -60
  480. data/lib/puppet/util/windows/api_types.rb +16 -2
  481. data/lib/puppet/util/windows/file.rb +2 -8
  482. data/lib/puppet/util/windows/process.rb +58 -0
  483. data/lib/puppet/util/windows/registry.rb +319 -31
  484. data/lib/puppet/util/windows/security.rb +1 -68
  485. data/lib/puppet/util/windows/taskscheduler.rb +0 -21
  486. data/lib/puppet/util/windows/user.rb +2 -3
  487. data/lib/puppet/util.rb +2 -85
  488. data/lib/puppet/vendor/deep_merge/CHANGELOG +45 -0
  489. data/lib/puppet/vendor/deep_merge/Gemfile +3 -0
  490. data/lib/puppet/vendor/deep_merge/LICENSE +21 -0
  491. data/lib/puppet/vendor/deep_merge/PUPPET_README.md +6 -0
  492. data/lib/puppet/vendor/deep_merge/README.md +113 -0
  493. data/lib/puppet/vendor/deep_merge/Rakefile +19 -0
  494. data/lib/puppet/vendor/deep_merge/deep_merge.gemspec +35 -0
  495. data/lib/puppet/vendor/deep_merge/lib/deep_merge/core.rb +210 -0
  496. data/lib/puppet/vendor/deep_merge/lib/deep_merge/deep_merge_hash.rb +28 -0
  497. data/lib/puppet/vendor/deep_merge/lib/deep_merge/rails_compat.rb +27 -0
  498. data/lib/puppet/vendor/deep_merge/lib/deep_merge.rb +2 -0
  499. data/lib/puppet/vendor/deep_merge/test/test_deep_merge.rb +608 -0
  500. data/lib/puppet/vendor/load_deep_merge.rb +1 -0
  501. data/lib/puppet/vendor/load_plist.rb +1 -0
  502. data/lib/puppet/vendor/load_rgen.rb +1 -0
  503. data/lib/puppet/vendor/plist/CHANGELOG +82 -0
  504. data/lib/puppet/vendor/{safe_yaml/LICENSE.txt → plist/MIT-LICENSE} +7 -8
  505. data/lib/puppet/vendor/plist/PUPPET_README.md +6 -0
  506. data/lib/puppet/vendor/plist/README +36 -0
  507. data/lib/puppet/vendor/plist/Rakefile +144 -0
  508. data/lib/puppet/vendor/plist/docs/USAGE +104 -0
  509. data/lib/puppet/vendor/plist/docs/jamis-template.rb +591 -0
  510. data/lib/puppet/vendor/plist/lib/plist/generator.rb +224 -0
  511. data/lib/puppet/vendor/plist/lib/plist/parser.rb +225 -0
  512. data/lib/puppet/vendor/plist/lib/plist.rb +22 -0
  513. data/lib/puppet/vendor/plist/test/assets/AlbumData.xml +203 -0
  514. data/lib/puppet/vendor/plist/test/assets/Cookies.plist +104 -0
  515. data/lib/puppet/vendor/plist/test/assets/commented.plist +9 -0
  516. data/lib/puppet/vendor/plist/test/assets/example_data.bin +0 -0
  517. data/lib/puppet/vendor/plist/test/assets/example_data.jpg +0 -0
  518. data/lib/puppet/vendor/plist/test/assets/example_data.plist +259 -0
  519. data/lib/puppet/vendor/plist/test/assets/test_data_elements.plist +24 -0
  520. data/lib/puppet/vendor/plist/test/assets/test_empty_key.plist +13 -0
  521. data/lib/puppet/vendor/plist/test/test_data_elements.rb +115 -0
  522. data/lib/puppet/vendor/plist/test/test_generator.rb +59 -0
  523. data/lib/puppet/vendor/plist/test/test_generator_basic_types.rb +58 -0
  524. data/lib/puppet/vendor/plist/test/test_generator_collections.rb +82 -0
  525. data/lib/puppet/vendor/plist/test/test_parser.rb +90 -0
  526. data/lib/puppet/vendor/require_vendored.rb +1 -3
  527. data/lib/puppet/vendor/rgen_patch.rb +132 -0
  528. data/lib/puppet/version.rb +1 -1
  529. data/lib/puppet.rb +19 -51
  530. data/lib/puppet_x.rb +8 -0
  531. data/lib/semver.rb +0 -1
  532. data/man/man5/puppet.conf.5 +424 -287
  533. data/man/man8/extlookup2hiera.8 +2 -15
  534. data/man/man8/puppet-agent.8 +14 -14
  535. data/man/man8/puppet-apply.8 +29 -30
  536. data/man/man8/puppet-ca.8 +29 -17
  537. data/man/man8/puppet-catalog.8 +5 -34
  538. data/man/man8/puppet-cert.8 +8 -4
  539. data/man/man8/puppet-certificate.8 +15 -29
  540. data/man/man8/puppet-certificate_request.8 +9 -16
  541. data/man/man8/puppet-certificate_revocation_list.8 +5 -31
  542. data/man/man8/puppet-config.8 +52 -11
  543. data/man/man8/puppet-describe.8 +1 -1
  544. data/man/man8/puppet-device.8 +5 -16
  545. data/man/man8/puppet-doc.8 +7 -80
  546. data/man/man8/puppet-epp.8 +349 -0
  547. data/man/man8/puppet-facts.8 +5 -95
  548. data/man/man8/puppet-file.8 +2 -28
  549. data/man/man8/puppet-filebucket.8 +2 -2
  550. data/man/man8/puppet-help.8 +2 -2
  551. data/man/man8/puppet-inspect.8 +1 -1
  552. data/man/man8/puppet-key.8 +6 -3
  553. data/man/man8/puppet-man.8 +2 -2
  554. data/man/man8/puppet-master.8 +11 -7
  555. data/man/man8/puppet-module.8 +75 -49
  556. data/man/man8/puppet-node.8 +8 -56
  557. data/man/man8/puppet-parser.8 +38 -4
  558. data/man/man8/puppet-plugin.8 +2 -2
  559. data/man/man8/puppet-report.8 +8 -70
  560. data/man/man8/puppet-resource.8 +7 -3
  561. data/man/man8/puppet-resource_type.8 +2 -28
  562. data/man/man8/puppet-status.8 +5 -47
  563. data/man/man8/puppet.8 +2 -2
  564. data/spec/fixtures/integration/provider/mailalias/aliases/test1 +3 -0
  565. data/spec/fixtures/integration/provider/sshkey/sample +21 -0
  566. data/spec/fixtures/unit/data_providers/environments/production/environment.conf +2 -0
  567. data/spec/fixtures/unit/data_providers/environments/production/lib/puppet/functions/environment/data.rb +7 -0
  568. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/lib/puppet/bindings/abc/default.rb +9 -0
  569. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/lib/puppet/functions/abc/data.rb +8 -0
  570. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/manifests/init.pp +9 -0
  571. data/spec/fixtures/unit/data_providers/environments/sample/environment.conf +2 -0
  572. data/spec/fixtures/unit/data_providers/environments/sample/manifests/site.pp +6 -0
  573. data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/lib/puppet/bindings/dataprovider/default.rb +54 -0
  574. data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/lib/puppet_x/helindbe/sample_env_data.rb +31 -0
  575. data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/lib/puppet_x/helindbe/sample_module_data.rb +32 -0
  576. data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/manifests/init.pp +5 -0
  577. data/spec/fixtures/unit/functions/lookup/environments/production/environment.conf +2 -0
  578. data/spec/fixtures/unit/functions/lookup/environments/production/lib/puppet/functions/environment/data.rb +13 -0
  579. data/spec/fixtures/unit/functions/lookup/environments/production/modules/abc/lib/puppet/bindings/abc/default.rb +9 -0
  580. data/spec/fixtures/unit/functions/lookup/environments/production/modules/abc/lib/puppet/functions/abc/data.rb +9 -0
  581. data/spec/fixtures/unit/functions/lookup/environments/production/modules/abc/manifests/init.pp +8 -0
  582. data/spec/fixtures/unit/functions/lookup/environments/production/modules/bad_data/lib/puppet/bindings/bad_data/default.rb +9 -0
  583. data/spec/fixtures/unit/functions/lookup/environments/production/modules/bad_data/lib/puppet/functions/bad_data/data.rb +6 -0
  584. data/spec/fixtures/unit/functions/lookup/environments/production/modules/bad_data/manifests/init.pp +3 -0
  585. data/spec/fixtures/unit/functions/lookup/environments/production/modules/bca/lib/puppet/bindings/bca/default.rb +9 -0
  586. data/spec/fixtures/unit/functions/lookup/environments/production/modules/bca/lib/puppet/functions/bca/data.rb +9 -0
  587. data/spec/fixtures/unit/functions/lookup/environments/production/modules/bca/manifests/init.pp +2 -0
  588. data/spec/fixtures/unit/functions/lookup/environments/production/modules/no_provider/manifests/init.pp +2 -0
  589. data/spec/fixtures/unit/parser/lexer/subclass_name_duplication.pp +0 -0
  590. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/binder_config.yaml +1 -1
  591. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome2/lib/{puppetx → puppet_x}/awesome2/echo_scheme_handler.rb +3 -3
  592. data/spec/fixtures/unit/pops/binder/config/binder_config/nolayer/binder_config.yaml +6 -0
  593. data/spec/fixtures/unit/pops/parser/lexer/subclass_name_duplication.pp +0 -0
  594. data/spec/fixtures/unit/provider/mount/parsed/aix.filesystems +85 -93
  595. data/spec/fixtures/unit/provider/mount/parsed/aix.mount +7 -11
  596. data/spec/fixtures/unit/provider/package/pkg/dummy_implicit_version +3 -0
  597. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris10 +1 -1
  598. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.certificate_warning +1 -1
  599. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.ifo.installed +1 -1
  600. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.ifo.known +1 -1
  601. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.installed +1 -1
  602. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.known +1 -1
  603. data/spec/fixtures/unit/provider/package/pkg/incomplete +1 -1
  604. data/spec/fixtures/unit/provider/package/pkg/solaris11 +2 -2
  605. data/spec/fixtures/unit/provider/package/pkg/unknown_status +12 -12
  606. data/spec/fixtures/unit/provider/package/yum/yum-check-update-multiline.txt +201 -0
  607. data/spec/fixtures/unit/provider/package/yum/yum-check-update-simple.txt +12 -0
  608. data/spec/fixtures/unit/provider/parsedfile/simple.txt +3 -0
  609. data/spec/fixtures/unit/provider/service/openbsd/rcctl_getall +6 -0
  610. data/spec/fixtures/unit/ssl/certificate/old-style-cert-exts.pem +33 -0
  611. data/spec/fixtures/unit/ssl/certificate_request/old-style-cert-request.pem +28 -0
  612. data/spec/integration/agent/logging_spec.rb +1 -5
  613. data/spec/integration/application/apply_spec.rb +1 -1
  614. data/spec/integration/application/doc_spec.rb +1 -43
  615. data/spec/integration/configurer_spec.rb +5 -5
  616. data/spec/integration/data_binding.rb +4 -0
  617. data/spec/integration/defaults_spec.rb +42 -143
  618. data/spec/integration/directory_environments_spec.rb +3 -3
  619. data/spec/integration/environments/default_manifest_spec.rb +3 -51
  620. data/spec/integration/environments/setting_hooks_spec.rb +1 -1
  621. data/spec/integration/environments/settings_interpolation_spec.rb +50 -105
  622. data/spec/integration/environments/settings_spec.rb +100 -0
  623. data/spec/integration/faces/ca_spec.rb +51 -51
  624. data/spec/integration/faces/documentation_spec.rb +6 -6
  625. data/spec/integration/file_bucket/file_spec.rb +5 -16
  626. data/spec/integration/file_serving/fileset_spec.rb +1 -1
  627. data/spec/integration/file_serving/terminus_helper_spec.rb +1 -1
  628. data/spec/integration/indirector/catalog/compiler_spec.rb +6 -6
  629. data/spec/integration/indirector/direct_file_server_spec.rb +40 -12
  630. data/spec/integration/indirector/facts/facter_spec.rb +1 -1
  631. data/spec/integration/indirector/file_content/file_server_spec.rb +23 -21
  632. data/spec/integration/indirector/file_metadata/file_server_spec.rb +53 -0
  633. data/spec/integration/indirector/node/ldap_spec.rb +0 -0
  634. data/spec/integration/network/authconfig_spec.rb +26 -26
  635. data/spec/integration/network/formats_spec.rb +12 -12
  636. data/spec/integration/network/http/api/indirected_routes_spec.rb +56 -0
  637. data/spec/integration/node/environment_spec.rb +12 -15
  638. data/spec/integration/node/facts_spec.rb +3 -3
  639. data/spec/integration/node_spec.rb +8 -8
  640. data/spec/integration/parser/catalog_spec.rb +1 -32
  641. data/spec/integration/parser/class_spec.rb +0 -4
  642. data/spec/integration/parser/{collector_spec.rb → collection_spec.rb} +3 -27
  643. data/spec/integration/parser/compiler_spec.rb +769 -385
  644. data/spec/integration/parser/conditionals_spec.rb +2 -27
  645. data/spec/integration/parser/functions/require_spec.rb +8 -8
  646. data/spec/integration/parser/node_spec.rb +29 -42
  647. data/spec/integration/parser/resource_expressions_spec.rb +125 -210
  648. data/spec/integration/parser/scope_spec.rb +168 -319
  649. data/spec/integration/parser/undef_param_spec.rb +5 -5
  650. data/spec/integration/provider/cron/crontab_spec.rb +3 -3
  651. data/spec/integration/provider/mailalias/aliases_spec.rb +0 -0
  652. data/spec/integration/provider/mount_spec.rb +33 -28
  653. data/spec/integration/provider/package_spec.rb +3 -14
  654. data/spec/integration/provider/service/init_spec.rb +4 -4
  655. data/spec/integration/provider/service/systemd_spec.rb +3 -3
  656. data/spec/integration/provider/ssh_authorized_key_spec.rb +12 -12
  657. data/spec/integration/provider/sshkey_spec.rb +159 -0
  658. data/spec/integration/provider/yumrepo_spec.rb +127 -0
  659. data/spec/integration/reference/providers_spec.rb +1 -1
  660. data/spec/integration/reports_spec.rb +1 -1
  661. data/spec/integration/resource/catalog_spec.rb +3 -3
  662. data/spec/integration/resource/type_collection_spec.rb +10 -25
  663. data/spec/integration/ssl/autosign_spec.rb +1 -1
  664. data/spec/integration/ssl/certificate_authority_spec.rb +8 -8
  665. data/spec/integration/ssl/certificate_request_spec.rb +2 -2
  666. data/spec/integration/ssl/certificate_revocation_list_spec.rb +0 -0
  667. data/spec/integration/ssl/host_spec.rb +7 -7
  668. data/spec/integration/transaction/report_spec.rb +0 -0
  669. data/spec/integration/transaction_spec.rb +86 -50
  670. data/spec/integration/type/exec_spec.rb +5 -5
  671. data/spec/integration/type/file_spec.rb +277 -280
  672. data/spec/integration/type/package_spec.rb +105 -6
  673. data/spec/integration/type/tidy_spec.rb +1 -1
  674. data/spec/integration/type/user_spec.rb +4 -4
  675. data/spec/integration/type_spec.rb +2 -2
  676. data/spec/integration/util/autoload_spec.rb +7 -12
  677. data/spec/integration/util/rdoc/parser_spec.rb +13 -99
  678. data/spec/integration/util/settings_spec.rb +1 -1
  679. data/spec/integration/util/windows/process_spec.rb +6 -6
  680. data/spec/integration/util/windows/security_spec.rb +79 -105
  681. data/spec/integration/util/windows/user_spec.rb +12 -12
  682. data/spec/integration/util_spec.rb +8 -8
  683. data/spec/lib/matchers/containment_matchers.rb +1 -1
  684. data/spec/lib/matchers/include.rb +3 -3
  685. data/spec/lib/matchers/include_in_order.rb +2 -2
  686. data/spec/lib/matchers/json.rb +5 -35
  687. data/spec/lib/matchers/match_tokens2.rb +1 -1
  688. data/spec/lib/matchers/relationship_graph_matchers.rb +1 -1
  689. data/spec/lib/matchers/resource.rb +8 -23
  690. data/spec/lib/puppet/face/1.0.0/huzzah.rb +2 -2
  691. data/spec/lib/puppet/face/basetest.rb +0 -0
  692. data/spec/lib/puppet/face/huzzah.rb +2 -2
  693. data/spec/lib/puppet/face/version_matching.rb +1 -1
  694. data/spec/lib/puppet/indirector_proxy.rb +34 -0
  695. data/spec/lib/puppet/indirector_testing.rb +1 -11
  696. data/spec/lib/puppet_spec/files.rb +1 -1
  697. data/spec/lib/puppet_spec/fixtures.rb +0 -0
  698. data/spec/lib/puppet_spec/handler.rb +53 -0
  699. data/spec/lib/puppet_spec/matchers.rb +12 -5
  700. data/spec/lib/puppet_spec/module_tool/shared_functions.rb +3 -3
  701. data/spec/lib/puppet_spec/modules.rb +11 -0
  702. data/spec/lib/puppet_spec/network.rb +101 -0
  703. data/spec/lib/puppet_spec/pops.rb +2 -2
  704. data/spec/lib/puppet_spec/settings.rb +17 -0
  705. data/spec/lib/puppet_spec/verbose.rb +0 -0
  706. data/spec/shared_behaviours/all_parsedfile_providers.rb +1 -1
  707. data/spec/shared_behaviours/an_indirector_face.rb +2 -2
  708. data/spec/shared_behaviours/documentation_on_faces.rb +46 -46
  709. data/spec/shared_behaviours/file_server_terminus.rb +1 -1
  710. data/spec/shared_behaviours/file_serving.rb +0 -0
  711. data/spec/shared_behaviours/hiera_indirections.rb +10 -10
  712. data/spec/shared_behaviours/iterative_functions.rb +1 -1
  713. data/spec/shared_behaviours/memory_terminus.rb +5 -5
  714. data/spec/shared_behaviours/path_parameters.rb +8 -8
  715. data/spec/shared_behaviours/store_configs_terminus.rb +3 -3
  716. data/spec/shared_behaviours/things_that_declare_options.rb +25 -25
  717. data/spec/shared_contexts/checksum.rb +62 -0
  718. data/spec/shared_contexts/{checksums.rb → digests.rb} +2 -2
  719. data/spec/spec_helper.rb +14 -5
  720. data/spec/unit/agent/disabler_spec.rb +3 -3
  721. data/spec/unit/agent/locker_spec.rb +9 -9
  722. data/spec/unit/agent_spec.rb +18 -18
  723. data/spec/unit/application/agent_spec.rb +25 -92
  724. data/spec/unit/application/apply_spec.rb +16 -16
  725. data/spec/unit/application/cert_spec.rb +15 -15
  726. data/spec/unit/application/certificate_spec.rb +2 -2
  727. data/spec/unit/application/config_spec.rb +1 -1
  728. data/spec/unit/application/describe_spec.rb +6 -6
  729. data/spec/unit/application/device_spec.rb +11 -11
  730. data/spec/unit/application/doc_spec.rb +22 -31
  731. data/spec/unit/application/face_base_spec.rb +88 -59
  732. data/spec/unit/application/facts_spec.rb +2 -11
  733. data/spec/unit/application/filebucket_spec.rb +7 -7
  734. data/spec/unit/application/indirection_base_spec.rb +0 -4
  735. data/spec/unit/application/inspect_spec.rb +21 -21
  736. data/spec/unit/application/master_spec.rb +8 -9
  737. data/spec/unit/application/resource_spec.rb +27 -79
  738. data/spec/unit/application_spec.rb +54 -58
  739. data/spec/unit/configurer/downloader_factory_spec.rb +0 -0
  740. data/spec/unit/configurer/downloader_spec.rb +26 -20
  741. data/spec/unit/configurer/fact_handler_spec.rb +19 -12
  742. data/spec/unit/configurer/plugin_handler_spec.rb +0 -0
  743. data/spec/unit/configurer_spec.rb +44 -44
  744. data/spec/unit/confine/exists_spec.rb +10 -10
  745. data/spec/unit/confine/false_spec.rb +7 -7
  746. data/spec/unit/confine/feature_spec.rb +7 -7
  747. data/spec/unit/confine/true_spec.rb +7 -7
  748. data/spec/unit/confine/variable_spec.rb +13 -13
  749. data/spec/unit/confine_collection_spec.rb +12 -12
  750. data/spec/unit/confine_spec.rb +10 -10
  751. data/spec/unit/confiner_spec.rb +8 -8
  752. data/spec/unit/context/trusted_information_spec.rb +9 -2
  753. data/spec/unit/daemon_spec.rb +10 -21
  754. data/spec/unit/data_binding_spec.rb +1 -1
  755. data/spec/unit/data_providers/function_data_provider_spec.rb +96 -0
  756. data/spec/unit/data_providers/sample_data_provider_spec.rb +52 -0
  757. data/spec/unit/defaults_spec.rb +6 -6
  758. data/spec/unit/environments_spec.rb +4 -6
  759. data/spec/unit/{util → external}/pson_spec.rb +15 -25
  760. data/spec/unit/face/catalog_spec.rb +0 -0
  761. data/spec/unit/face/certificate_spec.rb +19 -19
  762. data/spec/unit/face/config_spec.rb +2 -7
  763. data/spec/unit/face/epp_face_spec.rb +303 -0
  764. data/spec/unit/face/facts_spec.rb +1 -15
  765. data/spec/unit/face/file_spec.rb +3 -5
  766. data/spec/unit/face/help_spec.rb +17 -16
  767. data/spec/unit/face/module/build_spec.rb +2 -2
  768. data/spec/unit/face/module/list_spec.rb +11 -11
  769. data/spec/unit/face/module/search_spec.rb +17 -17
  770. data/spec/unit/face/node_spec.rb +4 -122
  771. data/spec/unit/face/parser_spec.rb +1 -1
  772. data/spec/unit/face/plugin_spec.rb +2 -2
  773. data/spec/unit/face_spec.rb +0 -0
  774. data/spec/unit/file_bucket/dipper_spec.rb +23 -23
  775. data/spec/unit/file_bucket/file_spec.rb +12 -28
  776. data/spec/unit/file_serving/base_spec.rb +26 -26
  777. data/spec/unit/file_serving/configuration/parser_spec.rb +10 -10
  778. data/spec/unit/file_serving/configuration_spec.rb +17 -17
  779. data/spec/unit/file_serving/content_spec.rb +19 -31
  780. data/spec/unit/file_serving/fileset_spec.rb +32 -33
  781. data/spec/unit/file_serving/metadata_spec.rb +115 -71
  782. data/spec/unit/file_serving/mount/file_spec.rb +15 -15
  783. data/spec/unit/file_serving/mount/modules_spec.rb +2 -2
  784. data/spec/unit/file_serving/mount/pluginfacts_spec.rb +5 -5
  785. data/spec/unit/file_serving/mount/plugins_spec.rb +5 -5
  786. data/spec/unit/file_serving/mount_spec.rb +5 -5
  787. data/spec/unit/file_serving/terminus_helper_spec.rb +19 -0
  788. data/spec/unit/file_serving/terminus_selector_spec.rb +6 -6
  789. data/spec/unit/file_system/uniquefile_spec.rb +2 -2
  790. data/spec/unit/file_system_spec.rb +79 -117
  791. data/spec/unit/forge/errors_spec.rb +8 -8
  792. data/spec/unit/forge/module_release_spec.rb +2 -4
  793. data/spec/unit/forge/repository_spec.rb +38 -44
  794. data/spec/unit/forge_spec.rb +1 -1
  795. data/spec/unit/functions/assert_type_spec.rb +1 -1
  796. data/spec/unit/functions/each_spec.rb +19 -23
  797. data/spec/unit/functions/epp_spec.rb +9 -17
  798. data/spec/unit/functions/filter_spec.rb +0 -22
  799. data/spec/unit/functions/hiera_spec.rb +18 -24
  800. data/spec/unit/functions/inline_epp_spec.rb +8 -16
  801. data/spec/unit/functions/lookup_spec.rb +364 -0
  802. data/spec/unit/functions/map_spec.rb +1 -7
  803. data/spec/unit/functions/reduce_spec.rb +0 -11
  804. data/spec/unit/functions/regsubst_spec.rb +94 -0
  805. data/spec/unit/functions/scanf_spec.rb +0 -4
  806. data/spec/unit/functions/slice_spec.rb +0 -12
  807. data/spec/unit/functions/split_spec.rb +46 -0
  808. data/spec/unit/functions/with_spec.rb +4 -13
  809. data/spec/unit/functions4_spec.rb +57 -162
  810. data/spec/unit/graph/rb_tree_map_spec.rb +78 -78
  811. data/spec/unit/graph/relationship_graph_spec.rb +17 -17
  812. data/spec/unit/graph/{simple_graph.rb → simple_graph_spec.rb} +122 -126
  813. data/spec/unit/hiera/scope_spec.rb +13 -12
  814. data/spec/unit/hiera_puppet_spec.rb +12 -12
  815. data/spec/unit/indirector/catalog/compiler_spec.rb +10 -15
  816. data/spec/unit/indirector/catalog/json_spec.rb +2 -2
  817. data/spec/unit/indirector/catalog/msgpack_spec.rb +2 -2
  818. data/spec/unit/indirector/catalog/rest_spec.rb +1 -1
  819. data/spec/unit/indirector/catalog/static_compiler_spec.rb +14 -14
  820. data/spec/unit/indirector/catalog/store_configs_spec.rb +0 -0
  821. data/spec/unit/indirector/catalog/yaml_spec.rb +4 -4
  822. data/spec/unit/indirector/certificate/ca_spec.rb +3 -3
  823. data/spec/unit/indirector/certificate/disabled_ca_spec.rb +0 -0
  824. data/spec/unit/indirector/certificate/file_spec.rb +3 -3
  825. data/spec/unit/indirector/certificate/rest_spec.rb +6 -6
  826. data/spec/unit/indirector/certificate_request/ca_spec.rb +8 -8
  827. data/spec/unit/indirector/certificate_request/disabled_ca_spec.rb +0 -0
  828. data/spec/unit/indirector/certificate_request/file_spec.rb +2 -2
  829. data/spec/unit/indirector/certificate_request/rest_spec.rb +4 -4
  830. data/spec/unit/indirector/certificate_revocation_list/ca_spec.rb +2 -2
  831. data/spec/unit/indirector/certificate_revocation_list/disabled_ca_spec.rb +0 -0
  832. data/spec/unit/indirector/certificate_revocation_list/file_spec.rb +2 -2
  833. data/spec/unit/indirector/certificate_revocation_list/rest_spec.rb +4 -4
  834. data/spec/unit/indirector/certificate_status/file_spec.rb +18 -18
  835. data/spec/unit/indirector/certificate_status/rest_spec.rb +2 -2
  836. data/spec/unit/indirector/code_spec.rb +3 -3
  837. data/spec/unit/indirector/data_binding/hiera_spec.rb +3 -3
  838. data/spec/unit/indirector/data_binding/none_spec.rb +5 -5
  839. data/spec/unit/indirector/direct_file_server_spec.rb +14 -4
  840. data/spec/unit/indirector/envelope_spec.rb +4 -4
  841. data/spec/unit/indirector/exec_spec.rb +4 -4
  842. data/spec/unit/indirector/face_spec.rb +13 -8
  843. data/spec/unit/indirector/facts/facter_spec.rb +10 -20
  844. data/spec/unit/indirector/facts/network_device_spec.rb +10 -20
  845. data/spec/unit/indirector/facts/store_configs_spec.rb +0 -0
  846. data/spec/unit/indirector/facts/yaml_spec.rb +6 -6
  847. data/spec/unit/indirector/file_bucket_file/file_spec.rb +34 -34
  848. data/spec/unit/indirector/file_bucket_file/rest_spec.rb +1 -1
  849. data/spec/unit/indirector/file_content/file_server_spec.rb +2 -2
  850. data/spec/unit/indirector/file_content/file_spec.rb +2 -2
  851. data/spec/unit/indirector/file_content/rest_spec.rb +1 -1
  852. data/spec/unit/indirector/file_metadata/file_server_spec.rb +2 -2
  853. data/spec/unit/indirector/file_metadata/file_spec.rb +13 -5
  854. data/spec/unit/indirector/file_metadata/rest_spec.rb +1 -1
  855. data/spec/unit/indirector/file_server_spec.rb +35 -17
  856. data/spec/unit/indirector/indirection_spec.rb +56 -56
  857. data/spec/unit/indirector/json_spec.rb +15 -16
  858. data/spec/unit/indirector/key/ca_spec.rb +3 -3
  859. data/spec/unit/indirector/key/disabled_ca_spec.rb +0 -0
  860. data/spec/unit/indirector/key/file_spec.rb +5 -5
  861. data/spec/unit/indirector/ldap_spec.rb +13 -13
  862. data/spec/unit/indirector/memory_spec.rb +0 -0
  863. data/spec/unit/indirector/msgpack_spec.rb +15 -15
  864. data/spec/unit/indirector/node/exec_spec.rb +20 -9
  865. data/spec/unit/indirector/node/ldap_spec.rb +48 -48
  866. data/spec/unit/indirector/node/memory_spec.rb +0 -0
  867. data/spec/unit/indirector/node/msgpack_spec.rb +4 -4
  868. data/spec/unit/indirector/node/plain_spec.rb +2 -2
  869. data/spec/unit/indirector/node/rest_spec.rb +0 -0
  870. data/spec/unit/indirector/node/store_configs_spec.rb +0 -0
  871. data/spec/unit/indirector/node/yaml_spec.rb +4 -4
  872. data/spec/unit/indirector/none_spec.rb +2 -2
  873. data/spec/unit/indirector/plain_spec.rb +1 -1
  874. data/spec/unit/indirector/report/msgpack_spec.rb +5 -5
  875. data/spec/unit/indirector/report/processor_spec.rb +4 -4
  876. data/spec/unit/indirector/report/rest_spec.rb +8 -8
  877. data/spec/unit/indirector/report/yaml_spec.rb +5 -5
  878. data/spec/unit/indirector/request_spec.rb +103 -206
  879. data/spec/unit/indirector/resource/ral_spec.rb +8 -10
  880. data/spec/unit/indirector/resource/store_configs_spec.rb +2 -4
  881. data/spec/unit/indirector/resource_type/parser_spec.rb +37 -37
  882. data/spec/unit/indirector/resource_type/rest_spec.rb +2 -2
  883. data/spec/unit/indirector/rest_spec.rb +70 -55
  884. data/spec/unit/indirector/ssl_file_spec.rb +13 -13
  885. data/spec/unit/indirector/status/rest_spec.rb +1 -1
  886. data/spec/unit/indirector/store_configs_spec.rb +0 -0
  887. data/spec/unit/indirector/terminus_spec.rb +17 -17
  888. data/spec/unit/indirector/yaml_spec.rb +12 -12
  889. data/spec/unit/indirector_spec.rb +7 -7
  890. data/spec/unit/interface/action_builder_spec.rb +15 -15
  891. data/spec/unit/interface/action_manager_spec.rb +31 -56
  892. data/spec/unit/interface/action_spec.rb +62 -65
  893. data/spec/unit/interface/documentation_spec.rb +2 -2
  894. data/spec/unit/interface/face_collection_spec.rb +33 -33
  895. data/spec/unit/interface/option_builder_spec.rb +8 -8
  896. data/spec/unit/interface/option_spec.rb +23 -23
  897. data/spec/unit/interface_spec.rb +19 -24
  898. data/spec/unit/man_spec.rb +0 -0
  899. data/spec/unit/module_spec.rb +163 -115
  900. data/spec/unit/module_tool/applications/builder_spec.rb +0 -19
  901. data/spec/unit/module_tool/applications/installer_spec.rb +29 -29
  902. data/spec/unit/module_tool/applications/searcher_spec.rb +4 -4
  903. data/spec/unit/module_tool/applications/uninstaller_spec.rb +15 -15
  904. data/spec/unit/module_tool/applications/unpacker_spec.rb +3 -3
  905. data/spec/unit/module_tool/applications/upgrader_spec.rb +28 -28
  906. data/spec/unit/module_tool/install_directory_spec.rb +3 -3
  907. data/spec/unit/module_tool/metadata_spec.rb +26 -26
  908. data/spec/unit/module_tool/tar/gnu_spec.rb +1 -1
  909. data/spec/unit/module_tool/tar/mini_spec.rb +2 -2
  910. data/spec/unit/module_tool/tar_spec.rb +2 -2
  911. data/spec/unit/module_tool_spec.rb +13 -34
  912. data/spec/unit/network/auth_config_parser_spec.rb +7 -7
  913. data/spec/unit/network/authconfig_spec.rb +9 -9
  914. data/spec/unit/network/authstore_spec.rb +38 -39
  915. data/spec/unit/network/format_handler_spec.rb +14 -14
  916. data/spec/unit/network/format_spec.rb +34 -34
  917. data/spec/unit/network/format_support_spec.rb +10 -10
  918. data/spec/unit/network/formats_spec.rb +50 -136
  919. data/spec/unit/network/http/api/ca/v1_spec.rb +26 -0
  920. data/spec/unit/network/http/api/{v1_spec.rb → indirected_routes_spec.rb} +128 -184
  921. data/spec/unit/network/http/api/{v2 → master/v3}/authorization_spec.rb +23 -21
  922. data/spec/unit/network/http/api/{v2 → master/v3}/environments_spec.rb +5 -5
  923. data/spec/unit/network/http/api/master/v3_spec.rb +39 -0
  924. data/spec/unit/network/http/api_spec.rb +127 -0
  925. data/spec/unit/network/http/compression_spec.rb +20 -26
  926. data/spec/unit/network/http/connection_spec.rb +2 -5
  927. data/spec/unit/network/http/factory_spec.rb +6 -8
  928. data/spec/unit/network/http/handler_spec.rb +31 -84
  929. data/spec/unit/network/http/nocache_pool_spec.rb +0 -0
  930. data/spec/unit/network/http/pool_spec.rb +0 -0
  931. data/spec/unit/network/http/rack/rest_spec.rb +38 -39
  932. data/spec/unit/network/http/rack_spec.rb +1 -1
  933. data/spec/unit/network/http/route_spec.rb +3 -3
  934. data/spec/unit/network/http/session_spec.rb +4 -4
  935. data/spec/unit/network/http/site_spec.rb +1 -1
  936. data/spec/unit/network/http/webrick/rest_spec.rb +36 -55
  937. data/spec/unit/network/http/webrick_spec.rb +16 -27
  938. data/spec/unit/network/http_pool_spec.rb +11 -11
  939. data/spec/unit/network/http_spec.rb +0 -0
  940. data/spec/unit/network/resolver_spec.rb +10 -10
  941. data/spec/unit/network/rights_spec.rb +67 -67
  942. data/spec/unit/network/server_spec.rb +3 -3
  943. data/spec/unit/node/environment_spec.rb +177 -273
  944. data/spec/unit/node/facts_spec.rb +71 -33
  945. data/spec/unit/node_spec.rb +150 -158
  946. data/spec/unit/other/selinux_spec.rb +6 -6
  947. data/spec/unit/parameter/boolean_spec.rb +4 -3
  948. data/spec/unit/parameter/package_options_spec.rb +5 -5
  949. data/spec/unit/parameter/path_spec.rb +1 -1
  950. data/spec/unit/parameter/value_collection_spec.rb +23 -28
  951. data/spec/unit/parameter/value_spec.rb +20 -24
  952. data/spec/unit/parameter_spec.rb +26 -26
  953. data/spec/unit/parser/ast/block_expression_spec.rb +3 -2
  954. data/spec/unit/parser/ast/leaf_spec.rb +5 -378
  955. data/spec/unit/parser/compiler_spec.rb +84 -74
  956. data/spec/unit/parser/files_spec.rb +55 -121
  957. data/spec/unit/parser/functions/contain_spec.rb +8 -11
  958. data/spec/unit/parser/functions/create_resources_spec.rb +28 -28
  959. data/spec/unit/parser/functions/defined_spec.rb +52 -51
  960. data/spec/unit/parser/functions/digest_spec.rb +2 -2
  961. data/spec/unit/parser/functions/fail_spec.rb +1 -1
  962. data/spec/unit/parser/functions/file_spec.rb +7 -13
  963. data/spec/unit/parser/functions/fqdn_rand_spec.rb +5 -5
  964. data/spec/unit/parser/functions/generate_spec.rb +20 -20
  965. data/spec/unit/parser/functions/hiera_array_spec.rb +2 -16
  966. data/spec/unit/parser/functions/hiera_hash_spec.rb +2 -12
  967. data/spec/unit/parser/functions/hiera_include_spec.rb +2 -29
  968. data/spec/unit/parser/functions/hiera_spec.rb +2 -12
  969. data/spec/unit/parser/functions/include_spec.rb +9 -19
  970. data/spec/unit/parser/functions/inline_template_spec.rb +3 -3
  971. data/spec/unit/parser/functions/lookup_spec.rb +3 -140
  972. data/spec/unit/parser/functions/realize_spec.rb +0 -0
  973. data/spec/unit/parser/functions/regsubst_spec.rb +7 -179
  974. data/spec/unit/parser/functions/require_spec.rb +14 -21
  975. data/spec/unit/parser/functions/scanf_spec.rb +0 -0
  976. data/spec/unit/parser/functions/shellquote_spec.rb +20 -20
  977. data/spec/unit/parser/functions/split_spec.rb +2 -37
  978. data/spec/unit/parser/functions/sprintf_spec.rb +7 -11
  979. data/spec/unit/parser/functions/tag_spec.rb +3 -3
  980. data/spec/unit/parser/functions/template_spec.rb +10 -10
  981. data/spec/unit/parser/functions/versioncmp_spec.rb +3 -3
  982. data/spec/unit/parser/functions_spec.rb +8 -8
  983. data/spec/unit/parser/relationship_spec.rb +14 -32
  984. data/spec/unit/parser/resource/param_spec.rb +0 -0
  985. data/spec/unit/parser/resource_spec.rb +57 -57
  986. data/spec/unit/parser/scope_spec.rb +89 -101
  987. data/spec/unit/parser/templatewrapper_spec.rb +15 -32
  988. data/spec/unit/parser/type_loader_spec.rb +53 -73
  989. data/spec/unit/pops/adaptable_spec.rb +22 -22
  990. data/spec/unit/pops/binder/bindings_checker_spec.rb +14 -14
  991. data/spec/unit/pops/binder/bindings_composer_spec.rb +4 -6
  992. data/spec/unit/pops/binder/bindings_validator_factory_spec.rb +3 -3
  993. data/spec/unit/pops/binder/config/binder_config_spec.rb +8 -1
  994. data/spec/unit/pops/binder/injector_spec.rb +91 -109
  995. data/spec/unit/pops/containment_spec.rb +4 -4
  996. data/spec/unit/pops/evaluator/access_ops_spec.rb +5 -24
  997. data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +23 -23
  998. data/spec/unit/pops/evaluator/basic_expressions_spec.rb +22 -22
  999. data/spec/unit/pops/evaluator/collections_ops_spec.rb +1 -3
  1000. data/spec/unit/pops/evaluator/comparison_ops_spec.rb +104 -107
  1001. data/spec/unit/pops/evaluator/conditionals_spec.rb +39 -39
  1002. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +75 -143
  1003. data/spec/unit/pops/evaluator/evaluator_rspec_helper.rb +1 -5
  1004. data/spec/unit/pops/evaluator/logical_ops_spec.rb +15 -15
  1005. data/spec/unit/pops/evaluator/string_interpolation_spec.rb +5 -5
  1006. data/spec/unit/pops/evaluator/variables_spec.rb +18 -18
  1007. data/spec/unit/pops/factory_rspec_helper.rb +0 -8
  1008. data/spec/unit/pops/factory_spec.rb +104 -104
  1009. data/spec/unit/pops/issues_spec.rb +21 -21
  1010. data/spec/unit/pops/label_provider_spec.rb +6 -6
  1011. data/spec/unit/pops/loaders/loaders_spec.rb +3 -3
  1012. data/spec/unit/pops/model/model_spec.rb +10 -10
  1013. data/spec/unit/pops/parser/epp_parser_spec.rb +20 -20
  1014. data/spec/unit/pops/parser/evaluating_parser_spec.rb +2 -2
  1015. data/spec/unit/pops/parser/lexer2_spec.rb +50 -251
  1016. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +91 -91
  1017. data/spec/unit/pops/parser/parse_calls_spec.rb +19 -19
  1018. data/spec/unit/pops/parser/parse_conditionals_spec.rb +38 -22
  1019. data/spec/unit/pops/parser/parse_containers_spec.rb +47 -47
  1020. data/spec/unit/pops/parser/parse_heredoc_spec.rb +16 -42
  1021. data/spec/unit/pops/parser/parse_resource_spec.rb +75 -70
  1022. data/spec/unit/pops/parser/parser_rspec_helper.rb +0 -5
  1023. data/spec/unit/pops/parser/parser_spec.rb +7 -7
  1024. data/spec/unit/pops/parser/parsing_typed_parameters_spec.rb +0 -7
  1025. data/spec/unit/pops/parser/rgen_sanitycheck_spec.rb +2 -2
  1026. data/spec/unit/pops/types/class_loader_spec.rb +10 -0
  1027. data/spec/unit/pops/types/type_calculator_spec.rb +456 -651
  1028. data/spec/unit/pops/types/type_factory_spec.rb +59 -59
  1029. data/spec/unit/pops/types/type_parser_spec.rb +2 -10
  1030. data/spec/unit/pops/validator/validator_spec.rb +0 -55
  1031. data/spec/unit/pops/visitor_spec.rb +4 -4
  1032. data/spec/unit/property/boolean_spec.rb +2 -2
  1033. data/spec/unit/property/ensure_spec.rb +1 -1
  1034. data/spec/unit/property/keyvalue_spec.rb +16 -16
  1035. data/spec/unit/property/list_spec.rb +18 -18
  1036. data/spec/unit/property/ordered_list_spec.rb +7 -7
  1037. data/spec/unit/property_spec.rb +72 -96
  1038. data/spec/unit/provider/aixobject_spec.rb +12 -12
  1039. data/spec/unit/provider/augeas/augeas_spec.rb +171 -149
  1040. data/spec/unit/provider/cisco_spec.rb +2 -2
  1041. data/spec/unit/provider/command_spec.rb +1 -1
  1042. data/spec/unit/provider/cron/crontab_spec.rb +9 -9
  1043. data/spec/unit/provider/cron/parsed_spec.rb +59 -38
  1044. data/spec/unit/provider/exec/posix_spec.rb +9 -19
  1045. data/spec/unit/provider/exec/shell_spec.rb +13 -13
  1046. data/spec/unit/provider/exec/windows_spec.rb +10 -10
  1047. data/spec/unit/provider/exec_spec.rb +2 -2
  1048. data/spec/unit/provider/file/posix_spec.rb +27 -27
  1049. data/spec/unit/provider/file/windows_spec.rb +15 -15
  1050. data/spec/unit/provider/group/groupadd_spec.rb +1 -1
  1051. data/spec/unit/provider/group/ldap_spec.rb +11 -11
  1052. data/spec/unit/provider/group/pw_spec.rb +3 -3
  1053. data/spec/unit/provider/group/windows_adsi_spec.rb +48 -62
  1054. data/spec/unit/provider/host/parsed_spec.rb +58 -22
  1055. data/spec/unit/provider/interface/cisco_spec.rb +3 -3
  1056. data/spec/unit/provider/ldap_spec.rb +23 -23
  1057. data/spec/unit/provider/macauthorization_spec.rb +7 -7
  1058. data/spec/unit/provider/mcx/mcxcontent_spec.rb +6 -6
  1059. data/spec/unit/provider/mount/parsed_spec.rb +101 -119
  1060. data/spec/unit/provider/mount_spec.rb +0 -0
  1061. data/spec/unit/provider/naginator_spec.rb +8 -8
  1062. data/spec/unit/provider/nameservice/directoryservice_spec.rb +5 -27
  1063. data/spec/unit/provider/nameservice_spec.rb +26 -26
  1064. data/spec/unit/provider/network_device_spec.rb +11 -11
  1065. data/spec/unit/provider/package/aix_spec.rb +3 -3
  1066. data/spec/unit/provider/package/appdmg_spec.rb +1 -1
  1067. data/spec/unit/provider/package/apt_spec.rb +4 -4
  1068. data/spec/unit/provider/package/aptitude_spec.rb +1 -1
  1069. data/spec/unit/provider/package/aptrpm_spec.rb +3 -3
  1070. data/spec/unit/provider/package/dpkg_spec.rb +0 -0
  1071. data/spec/unit/provider/package/freebsd_spec.rb +1 -1
  1072. data/spec/unit/provider/package/gem_spec.rb +201 -139
  1073. data/spec/unit/provider/package/hpux_spec.rb +3 -3
  1074. data/spec/unit/provider/package/macports_spec.rb +15 -15
  1075. data/spec/unit/provider/package/nim_spec.rb +11 -11
  1076. data/spec/unit/provider/package/openbsd_spec.rb +72 -37
  1077. data/spec/unit/provider/package/opkg_spec.rb +14 -11
  1078. data/spec/unit/provider/package/pacman_spec.rb +185 -86
  1079. data/spec/unit/provider/package/pip_spec.rb +25 -54
  1080. data/spec/unit/provider/package/pkg_spec.rb +145 -71
  1081. data/spec/unit/provider/package/pkgdmg_spec.rb +9 -9
  1082. data/spec/unit/provider/package/pkgin_spec.rb +18 -18
  1083. data/spec/unit/provider/package/pkgutil_spec.rb +19 -19
  1084. data/spec/unit/provider/package/portage_spec.rb +8 -4
  1085. data/spec/unit/provider/package/puppet_gem_spec.rb +67 -0
  1086. data/spec/unit/provider/package/rpm_spec.rb +103 -9
  1087. data/spec/unit/provider/package/sun_spec.rb +14 -14
  1088. data/spec/unit/provider/package/up2date_spec.rb +1 -1
  1089. data/spec/unit/provider/package/{urpmi.rb → urpmi_spec.rb} +3 -3
  1090. data/spec/unit/provider/package/windows/exe_package_spec.rb +15 -13
  1091. data/spec/unit/provider/package/windows/msi_package_spec.rb +16 -16
  1092. data/spec/unit/provider/package/windows/package_spec.rb +14 -14
  1093. data/spec/unit/provider/package/windows_spec.rb +26 -26
  1094. data/spec/unit/provider/package/yum_spec.rb +292 -98
  1095. data/spec/unit/provider/package/zypper_spec.rb +20 -31
  1096. data/spec/unit/provider/parsedfile_spec.rb +9 -9
  1097. data/spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb +192 -434
  1098. data/spec/unit/provider/selboolean_spec.rb +2 -2
  1099. data/spec/unit/provider/selmodule_spec.rb +8 -8
  1100. data/spec/unit/provider/service/base_spec.rb +27 -38
  1101. data/spec/unit/provider/service/daemontools_spec.rb +11 -11
  1102. data/spec/unit/provider/service/debian_spec.rb +8 -8
  1103. data/spec/unit/provider/service/freebsd_spec.rb +7 -8
  1104. data/spec/unit/provider/service/gentoo_spec.rb +12 -13
  1105. data/spec/unit/provider/service/init_spec.rb +25 -38
  1106. data/spec/unit/provider/service/launchd_spec.rb +19 -125
  1107. data/spec/unit/provider/service/openbsd_spec.rb +90 -144
  1108. data/spec/unit/provider/service/openrc_spec.rb +14 -14
  1109. data/spec/unit/provider/service/openwrt_spec.rb +9 -9
  1110. data/spec/unit/provider/service/redhat_spec.rb +14 -15
  1111. data/spec/unit/provider/service/runit_spec.rb +11 -11
  1112. data/spec/unit/provider/service/smf_spec.rb +19 -19
  1113. data/spec/unit/provider/service/src_spec.rb +9 -9
  1114. data/spec/unit/provider/service/systemd_spec.rb +33 -15
  1115. data/spec/unit/provider/service/upstart_spec.rb +59 -59
  1116. data/spec/unit/provider/service/windows_spec.rb +6 -6
  1117. data/spec/unit/provider/ssh_authorized_key/parsed_spec.rb +18 -18
  1118. data/spec/unit/provider/sshkey/parsed_spec.rb +11 -11
  1119. data/spec/unit/provider/user/aix_spec.rb +19 -19
  1120. data/spec/unit/provider/user/directoryservice_spec.rb +52 -96
  1121. data/spec/unit/provider/user/hpux_spec.rb +24 -3
  1122. data/spec/unit/provider/user/ldap_spec.rb +12 -12
  1123. data/spec/unit/provider/user/openbsd_spec.rb +77 -0
  1124. data/spec/unit/provider/user/pw_spec.rb +5 -5
  1125. data/spec/unit/provider/user/user_role_add_spec.rb +20 -20
  1126. data/spec/unit/provider/user/useradd_spec.rb +48 -32
  1127. data/spec/unit/provider/user/windows_adsi_spec.rb +9 -31
  1128. data/spec/unit/provider/vlan/cisco_spec.rb +3 -3
  1129. data/spec/unit/provider/yumrepo/inifile_spec.rb +3 -3
  1130. data/spec/unit/provider/zfs/zfs_spec.rb +11 -11
  1131. data/spec/unit/provider/zone/solaris_spec.rb +22 -55
  1132. data/spec/unit/provider/zpool/zpool_spec.rb +22 -22
  1133. data/spec/unit/provider_spec.rb +110 -102
  1134. data/spec/unit/puppet_spec.rb +15 -8
  1135. data/spec/unit/relationship_spec.rb +37 -41
  1136. data/spec/unit/reports/http_spec.rb +0 -0
  1137. data/spec/unit/reports/store_spec.rb +3 -3
  1138. data/spec/unit/reports_spec.rb +5 -5
  1139. data/spec/unit/resource/catalog_spec.rb +93 -111
  1140. data/spec/unit/resource/status_spec.rb +49 -75
  1141. data/spec/unit/resource/type_collection_helper_spec.rb +1 -1
  1142. data/spec/unit/resource/type_collection_spec.rb +59 -164
  1143. data/spec/unit/resource/type_spec.rb +115 -120
  1144. data/spec/unit/resource_spec.rb +176 -159
  1145. data/spec/unit/scheduler/job_spec.rb +12 -12
  1146. data/spec/unit/scheduler/scheduler_spec.rb +8 -8
  1147. data/spec/unit/scheduler/splay_job_spec.rb +4 -4
  1148. data/spec/unit/semver_spec.rb +66 -64
  1149. data/spec/unit/settings/autosign_setting_spec.rb +1 -0
  1150. data/spec/unit/settings/config_file_spec.rb +13 -40
  1151. data/spec/unit/settings/directory_setting_spec.rb +1 -1
  1152. data/spec/unit/settings/duration_setting_spec.rb +9 -5
  1153. data/spec/unit/settings/environment_conf_spec.rb +0 -11
  1154. data/spec/unit/settings/file_setting_spec.rb +38 -69
  1155. data/spec/unit/settings/ini_file_spec.rb +2 -2
  1156. data/spec/unit/settings/path_setting_spec.rb +5 -5
  1157. data/spec/unit/settings/priority_setting_spec.rb +7 -7
  1158. data/spec/unit/settings/string_setting_spec.rb +7 -7
  1159. data/spec/unit/settings/terminus_setting_spec.rb +4 -4
  1160. data/spec/unit/settings/value_translator_spec.rb +22 -22
  1161. data/spec/unit/settings_spec.rb +189 -338
  1162. data/spec/unit/ssl/base_spec.rb +5 -5
  1163. data/spec/unit/ssl/certificate_authority/autosign_command_spec.rb +2 -2
  1164. data/spec/unit/ssl/certificate_authority/interface_spec.rb +40 -13
  1165. data/spec/unit/ssl/certificate_authority_spec.rb +23 -23
  1166. data/spec/unit/ssl/certificate_factory_spec.rb +39 -26
  1167. data/spec/unit/ssl/certificate_request_attributes_spec.rb +2 -2
  1168. data/spec/unit/ssl/certificate_request_spec.rb +52 -40
  1169. data/spec/unit/ssl/certificate_revocation_list_spec.rb +10 -10
  1170. data/spec/unit/ssl/certificate_spec.rb +35 -38
  1171. data/spec/unit/ssl/configuration_spec.rb +12 -14
  1172. data/spec/unit/ssl/digest_spec.rb +5 -5
  1173. data/spec/unit/ssl/host_spec.rb +91 -91
  1174. data/spec/unit/ssl/inventory_spec.rb +11 -34
  1175. data/spec/unit/ssl/key_spec.rb +23 -23
  1176. data/spec/unit/ssl/oids_spec.rb +28 -15
  1177. data/spec/unit/ssl/validator_spec.rb +16 -17
  1178. data/spec/unit/status_spec.rb +6 -12
  1179. data/spec/unit/transaction/additional_resource_generator_spec.rb +2 -2
  1180. data/spec/unit/transaction/event_manager_spec.rb +38 -8
  1181. data/spec/unit/transaction/event_spec.rb +29 -29
  1182. data/spec/unit/transaction/report_spec.rb +76 -90
  1183. data/spec/unit/transaction/resource_harness_spec.rb +42 -42
  1184. data/spec/unit/transaction_spec.rb +66 -59
  1185. data/spec/unit/type/augeas_spec.rb +20 -20
  1186. data/spec/unit/type/component_spec.rb +10 -10
  1187. data/spec/unit/type/computer_spec.rb +10 -10
  1188. data/spec/unit/type/cron_spec.rb +21 -21
  1189. data/spec/unit/type/exec_spec.rb +65 -73
  1190. data/spec/unit/type/file/checksum_spec.rb +8 -8
  1191. data/spec/unit/type/file/content_spec.rb +144 -85
  1192. data/spec/unit/type/file/ctime_spec.rb +4 -4
  1193. data/spec/unit/type/file/ensure_spec.rb +11 -11
  1194. data/spec/unit/type/file/group_spec.rb +5 -5
  1195. data/spec/unit/type/file/mode_spec.rb +30 -28
  1196. data/spec/unit/type/file/mtime_spec.rb +4 -4
  1197. data/spec/unit/type/file/owner_spec.rb +5 -5
  1198. data/spec/unit/type/file/selinux_spec.rb +8 -8
  1199. data/spec/unit/type/file/source_spec.rb +118 -135
  1200. data/spec/unit/type/file/type_spec.rb +2 -2
  1201. data/spec/unit/type/file_spec.rb +161 -160
  1202. data/spec/unit/type/filebucket_spec.rb +8 -8
  1203. data/spec/unit/type/group_spec.rb +12 -12
  1204. data/spec/unit/type/host_spec.rb +41 -25
  1205. data/spec/unit/type/interface_spec.rb +6 -6
  1206. data/spec/unit/type/k5login_spec.rb +18 -18
  1207. data/spec/unit/type/macauthorization_spec.rb +17 -17
  1208. data/spec/unit/type/mailalias_spec.rb +34 -6
  1209. data/spec/unit/type/maillist_spec.rb +2 -2
  1210. data/spec/unit/type/mcx_spec.rb +13 -13
  1211. data/spec/unit/type/mount_spec.rb +40 -40
  1212. data/spec/unit/type/nagios_spec.rb +23 -23
  1213. data/spec/unit/type/noop_metaparam_spec.rb +5 -5
  1214. data/spec/unit/type/package/package_settings_spec.rb +9 -9
  1215. data/spec/unit/type/package_spec.rb +87 -18
  1216. data/spec/unit/type/resources_spec.rb +46 -46
  1217. data/spec/unit/type/schedule_spec.rb +83 -83
  1218. data/spec/unit/type/scheduled_task_spec.rb +15 -15
  1219. data/spec/unit/type/selboolean_spec.rb +2 -2
  1220. data/spec/unit/type/selmodule_spec.rb +2 -2
  1221. data/spec/unit/type/service_spec.rb +24 -24
  1222. data/spec/unit/type/ssh_authorized_key_spec.rb +2 -2
  1223. data/spec/unit/type/sshkey_spec.rb +0 -0
  1224. data/spec/unit/type/stage_spec.rb +1 -1
  1225. data/spec/unit/type/tidy_spec.rb +58 -39
  1226. data/spec/unit/type/user_spec.rb +56 -56
  1227. data/spec/unit/type/vlan_spec.rb +6 -6
  1228. data/spec/unit/type/whit_spec.rb +1 -1
  1229. data/spec/unit/type/yumrepo_spec.rb +15 -0
  1230. data/spec/unit/type/zfs_spec.rb +3 -3
  1231. data/spec/unit/type/zone_spec.rb +19 -19
  1232. data/spec/unit/type/zpool_spec.rb +15 -15
  1233. data/spec/unit/type_spec.rb +236 -163
  1234. data/spec/unit/util/autoload_spec.rb +31 -25
  1235. data/spec/unit/util/backups_spec.rb +4 -4
  1236. data/spec/unit/util/checksums_spec.rb +55 -27
  1237. data/spec/unit/util/colors_spec.rb +6 -50
  1238. data/spec/unit/util/command_line_spec.rb +13 -41
  1239. data/spec/unit/util/command_line_utils/puppet_option_parser_spec.rb +2 -2
  1240. data/spec/unit/util/constant_inflector_spec.rb +12 -12
  1241. data/spec/unit/util/diff_spec.rb +4 -4
  1242. data/spec/unit/util/errors_spec.rb +5 -5
  1243. data/spec/unit/util/execution_spec.rb +74 -29
  1244. data/spec/unit/util/execution_stub_spec.rb +10 -10
  1245. data/spec/unit/util/feature_spec.rb +15 -19
  1246. data/spec/unit/util/filetype_spec.rb +9 -9
  1247. data/spec/unit/util/http_proxy_spec.rb +18 -18
  1248. data/spec/unit/util/inifile_spec.rb +2 -2
  1249. data/spec/unit/util/json_lockfile_spec.rb +1 -1
  1250. data/spec/unit/util/ldap/connection_spec.rb +6 -6
  1251. data/spec/unit/util/ldap/generator_spec.rb +8 -8
  1252. data/spec/unit/util/ldap/manager_spec.rb +40 -40
  1253. data/spec/unit/util/lockfile_spec.rb +13 -13
  1254. data/spec/unit/util/log/destinations_spec.rb +52 -49
  1255. data/spec/unit/util/log_spec.rb +48 -173
  1256. data/spec/unit/util/logging_spec.rb +120 -3
  1257. data/spec/unit/util/metric_spec.rb +18 -33
  1258. data/spec/unit/util/monkey_patches_spec.rb +18 -139
  1259. data/spec/unit/util/nagios_maker_spec.rb +2 -2
  1260. data/spec/unit/util/network_device/cisco/device_spec.rb +23 -23
  1261. data/spec/unit/util/network_device/cisco/facts_spec.rb +3 -3
  1262. data/spec/unit/util/network_device/cisco/interface_spec.rb +0 -0
  1263. data/spec/unit/util/network_device/config_spec.rb +10 -10
  1264. data/spec/unit/util/network_device/ipcalc_spec.rb +10 -10
  1265. data/spec/unit/util/network_device/transport/base_spec.rb +2 -2
  1266. data/spec/unit/util/network_device/transport/ssh_spec.rb +10 -10
  1267. data/spec/unit/util/network_device/transport/telnet_spec.rb +3 -3
  1268. data/spec/unit/util/network_device_spec.rb +2 -2
  1269. data/spec/unit/util/package_spec.rb +2 -2
  1270. data/spec/unit/util/pidlock_spec.rb +38 -38
  1271. data/spec/unit/util/posix_spec.rb +25 -25
  1272. data/spec/unit/util/profiler/aggregate_spec.rb +14 -18
  1273. data/spec/unit/util/profiler/around_profiler_spec.rb +6 -6
  1274. data/spec/unit/util/profiler/logging_spec.rb +8 -8
  1275. data/spec/unit/util/profiler/object_counts_spec.rb +3 -5
  1276. data/spec/unit/util/profiler/wall_clock_spec.rb +1 -1
  1277. data/spec/unit/util/profiler_spec.rb +6 -14
  1278. data/spec/unit/util/rdoc_spec.rb +0 -85
  1279. data/spec/unit/util/reference_spec.rb +1 -1
  1280. data/spec/unit/util/resource_template_spec.rb +2 -2
  1281. data/spec/unit/util/{retryaction_spec.rb → retry_action_spec.rb} +25 -2
  1282. data/spec/unit/util/rubygems_spec.rb +8 -8
  1283. data/spec/unit/util/run_mode_spec.rb +164 -22
  1284. data/spec/unit/util/selinux_spec.rb +61 -39
  1285. data/spec/unit/util/ssl_spec.rb +13 -13
  1286. data/spec/unit/util/storage_spec.rb +27 -27
  1287. data/spec/unit/util/suidmanager_spec.rb +56 -67
  1288. data/spec/unit/util/symbolic_file_mode_spec.rb +15 -16
  1289. data/spec/unit/util/tag_set_spec.rb +5 -5
  1290. data/spec/unit/util/tagging_spec.rb +0 -0
  1291. data/spec/unit/util/terminal_spec.rb +5 -5
  1292. data/spec/unit/util/user_attr_spec.rb +6 -6
  1293. data/spec/unit/util/warnings_spec.rb +9 -1
  1294. data/spec/unit/util/watcher_spec.rb +1 -1
  1295. data/spec/unit/util/windows/access_control_entry_spec.rb +9 -9
  1296. data/spec/unit/util/windows/access_control_list_spec.rb +21 -21
  1297. data/spec/unit/util/windows/adsi_spec.rb +71 -209
  1298. data/spec/unit/util/windows/api_types_spec.rb +3 -3
  1299. data/spec/unit/util/windows/registry_spec.rb +72 -46
  1300. data/spec/unit/util/windows/root_certs_spec.rb +1 -1
  1301. data/spec/unit/util/windows/security_descriptor_spec.rb +18 -18
  1302. data/spec/unit/util/windows/sid_spec.rb +40 -20
  1303. data/spec/unit/util/windows/string_spec.rb +4 -4
  1304. data/spec/unit/util/yaml_spec.rb +1 -1
  1305. data/spec/unit/util_spec.rb +73 -124
  1306. data/spec/unit/version_spec.rb +4 -4
  1307. data/spec/watchr.rb +1 -5
  1308. data/tasks/benchmark.rake +1 -6
  1309. data/tasks/ci.rake +1 -1
  1310. data/tasks/manpages.rake +0 -9
  1311. data/tasks/parallel.rake +4 -7
  1312. data/tasks/parser.rake +0 -5
  1313. metadata +3163 -3413
  1314. data/conf/tagmail.conf +0 -16
  1315. data/ext/debian/puppet.conf +0 -14
  1316. data/ext/debian/puppetmaster-common.puppetqd.default +0 -27
  1317. data/ext/debian/puppetmaster-common.puppetqd.init +0 -84
  1318. data/ext/gentoo/puppet/puppet.conf +0 -25
  1319. data/ext/ips/puppet.conf +0 -29
  1320. data/ext/nagios/naggen +0 -309
  1321. data/ext/puppet-load.rb +0 -393
  1322. data/ext/redhat/puppet.conf +0 -25
  1323. data/ext/redhat/queue.init +0 -105
  1324. data/lib/hiera/backend/puppet_backend.rb +0 -103
  1325. data/lib/puppet/application/instrumentation_data.rb +0 -7
  1326. data/lib/puppet/application/instrumentation_listener.rb +0 -7
  1327. data/lib/puppet/application/instrumentation_probe.rb +0 -7
  1328. data/lib/puppet/application/kick.rb +0 -351
  1329. data/lib/puppet/application/queue.rb +0 -161
  1330. data/lib/puppet/application/secret_agent.rb +0 -9
  1331. data/lib/puppet/dsl/resource_api.rb +0 -120
  1332. data/lib/puppet/dsl/resource_type_api.rb +0 -34
  1333. data/lib/puppet/dsl.rb +0 -7
  1334. data/lib/puppet/face/instrumentation_data.rb +0 -30
  1335. data/lib/puppet/face/instrumentation_listener.rb +0 -98
  1336. data/lib/puppet/face/instrumentation_probe.rb +0 -79
  1337. data/lib/puppet/face/secret_agent.rb +0 -54
  1338. data/lib/puppet/feature/pson.rb +0 -4
  1339. data/lib/puppet/feature/rails.rb +0 -47
  1340. data/lib/puppet/feature/rdoc1.rb +0 -16
  1341. data/lib/puppet/feature/rubygems.rb +0 -7
  1342. data/lib/puppet/feature/stomp.rb +0 -5
  1343. data/lib/puppet/file_collection/lookup.rb +0 -10
  1344. data/lib/puppet/file_collection.rb +0 -19
  1345. data/lib/puppet/file_system/file18.rb +0 -5
  1346. data/lib/puppet/functions/defined.rb +0 -130
  1347. data/lib/puppet/indirector/active_record.rb +0 -29
  1348. data/lib/puppet/indirector/catalog/active_record.rb +0 -39
  1349. data/lib/puppet/indirector/catalog/queue.rb +0 -9
  1350. data/lib/puppet/indirector/couch.rb +0 -78
  1351. data/lib/puppet/indirector/facts/active_record.rb +0 -44
  1352. data/lib/puppet/indirector/facts/couch.rb +0 -36
  1353. data/lib/puppet/indirector/facts/inventory_active_record.rb +0 -110
  1354. data/lib/puppet/indirector/facts/inventory_service.rb +0 -20
  1355. data/lib/puppet/indirector/facts/rest.rb +0 -8
  1356. data/lib/puppet/indirector/instrumentation_data/local.rb +0 -22
  1357. data/lib/puppet/indirector/instrumentation_data/rest.rb +0 -8
  1358. data/lib/puppet/indirector/instrumentation_data.rb +0 -3
  1359. data/lib/puppet/indirector/instrumentation_listener/local.rb +0 -26
  1360. data/lib/puppet/indirector/instrumentation_listener/rest.rb +0 -8
  1361. data/lib/puppet/indirector/instrumentation_listener.rb +0 -3
  1362. data/lib/puppet/indirector/instrumentation_probe/local.rb +0 -27
  1363. data/lib/puppet/indirector/instrumentation_probe/rest.rb +0 -8
  1364. data/lib/puppet/indirector/instrumentation_probe.rb +0 -3
  1365. data/lib/puppet/indirector/node/active_record.rb +0 -22
  1366. data/lib/puppet/indirector/queue.rb +0 -80
  1367. data/lib/puppet/indirector/resource/active_record.rb +0 -104
  1368. data/lib/puppet/indirector/resource/rest.rb +0 -17
  1369. data/lib/puppet/indirector/run/local.rb +0 -15
  1370. data/lib/puppet/indirector/run/rest.rb +0 -12
  1371. data/lib/puppet/module_tool/modulefile.rb +0 -78
  1372. data/lib/puppet/network/authentication.rb +0 -35
  1373. data/lib/puppet/network/http/api/v2/authorization.rb +0 -15
  1374. data/lib/puppet/network/http/api/v2.rb +0 -32
  1375. data/lib/puppet/parser/ast/arithmetic_operator.rb +0 -91
  1376. data/lib/puppet/parser/ast/astarray.rb +0 -50
  1377. data/lib/puppet/parser/ast/asthash.rb +0 -37
  1378. data/lib/puppet/parser/ast/boolean_operator.rb +0 -46
  1379. data/lib/puppet/parser/ast/caseopt.rb +0 -52
  1380. data/lib/puppet/parser/ast/casestatement.rb +0 -41
  1381. data/lib/puppet/parser/ast/collection.rb +0 -53
  1382. data/lib/puppet/parser/ast/collexpr.rb +0 -109
  1383. data/lib/puppet/parser/ast/comparison_operator.rb +0 -38
  1384. data/lib/puppet/parser/ast/definition.rb +0 -17
  1385. data/lib/puppet/parser/ast/else.rb +0 -22
  1386. data/lib/puppet/parser/ast/function.rb +0 -59
  1387. data/lib/puppet/parser/ast/ifstatement.rb +0 -34
  1388. data/lib/puppet/parser/ast/in_operator.rb +0 -24
  1389. data/lib/puppet/parser/ast/lambda.rb +0 -135
  1390. data/lib/puppet/parser/ast/match_operator.rb +0 -28
  1391. data/lib/puppet/parser/ast/method_call.rb +0 -77
  1392. data/lib/puppet/parser/ast/minus.rb +0 -23
  1393. data/lib/puppet/parser/ast/nop.rb +0 -11
  1394. data/lib/puppet/parser/ast/not.rb +0 -19
  1395. data/lib/puppet/parser/ast/relationship.rb +0 -47
  1396. data/lib/puppet/parser/ast/resource_defaults.rb +0 -24
  1397. data/lib/puppet/parser/ast/resource_override.rb +0 -62
  1398. data/lib/puppet/parser/ast/resource_reference.rb +0 -28
  1399. data/lib/puppet/parser/ast/selector.rb +0 -50
  1400. data/lib/puppet/parser/ast/vardef.rb +0 -38
  1401. data/lib/puppet/parser/code_merger.rb +0 -13
  1402. data/lib/puppet/parser/collector.rb +0 -177
  1403. data/lib/puppet/parser/functions/extlookup.rb +0 -153
  1404. data/lib/puppet/parser/functions/search.rb +0 -12
  1405. data/lib/puppet/parser/grammar.ra +0 -806
  1406. data/lib/puppet/parser/lexer.rb +0 -608
  1407. data/lib/puppet/parser/makefile +0 -8
  1408. data/lib/puppet/parser/methods.rb +0 -69
  1409. data/lib/puppet/parser/parser.rb +0 -2559
  1410. data/lib/puppet/parser/parser_support.rb +0 -195
  1411. data/lib/puppet/pops/binder/lookup.rb +0 -216
  1412. data/lib/puppet/pops/migration/migration_checker.rb +0 -45
  1413. data/lib/puppet/pops/model/ast_tree_dumper.rb +0 -386
  1414. data/lib/puppet/provider/package/msi.rb +0 -125
  1415. data/lib/puppet/provider/package/yumhelper.py +0 -159
  1416. data/lib/puppet/rails/benchmark.rb +0 -63
  1417. data/lib/puppet/rails/database/001_add_created_at_to_all_tables.rb +0 -13
  1418. data/lib/puppet/rails/database/002_remove_duplicated_index_on_all_tables.rb +0 -13
  1419. data/lib/puppet/rails/database/003_add_environment_to_host.rb +0 -9
  1420. data/lib/puppet/rails/database/004_add_inventory_service_tables.rb +0 -36
  1421. data/lib/puppet/rails/database/schema.rb +0 -136
  1422. data/lib/puppet/rails/fact_name.rb +0 -7
  1423. data/lib/puppet/rails/fact_value.rb +0 -10
  1424. data/lib/puppet/rails/host.rb +0 -258
  1425. data/lib/puppet/rails/inventory_fact.rb +0 -5
  1426. data/lib/puppet/rails/inventory_node.rb +0 -43
  1427. data/lib/puppet/rails/param_name.rb +0 -25
  1428. data/lib/puppet/rails/param_value.rb +0 -74
  1429. data/lib/puppet/rails/puppet_tag.rb +0 -10
  1430. data/lib/puppet/rails/resource.rb +0 -235
  1431. data/lib/puppet/rails/resource_tag.rb +0 -26
  1432. data/lib/puppet/rails/source_file.rb +0 -8
  1433. data/lib/puppet/rails.rb +0 -139
  1434. data/lib/puppet/reports/rrdgraph.rb +0 -128
  1435. data/lib/puppet/reports/tagmail.rb +0 -179
  1436. data/lib/puppet/run.rb +0 -109
  1437. data/lib/puppet/util/cacher.rb +0 -74
  1438. data/lib/puppet/util/inline_docs.rb +0 -26
  1439. data/lib/puppet/util/instrumentation/data.rb +0 -46
  1440. data/lib/puppet/util/instrumentation/indirection_probe.rb +0 -41
  1441. data/lib/puppet/util/instrumentation/instrumentable.rb +0 -136
  1442. data/lib/puppet/util/instrumentation/listener.rb +0 -72
  1443. data/lib/puppet/util/instrumentation/listeners/log.rb +0 -23
  1444. data/lib/puppet/util/instrumentation/listeners/performance.rb +0 -24
  1445. data/lib/puppet/util/instrumentation.rb +0 -152
  1446. data/lib/puppet/util/log/rate_limited_logger.rb +0 -40
  1447. data/lib/puppet/util/monkey_patches/lines.rb +0 -13
  1448. data/lib/puppet/util/plugins.rb +0 -82
  1449. data/lib/puppet/util/pson.rb +0 -13
  1450. data/lib/puppet/util/queue/stomp.rb +0 -60
  1451. data/lib/puppet/util/queue.rb +0 -96
  1452. data/lib/puppet/util/rails/cache_accumulator.rb +0 -65
  1453. data/lib/puppet/util/rails/collection_merger.rb +0 -17
  1454. data/lib/puppet/util/rails/reference_serializer.rb +0 -32
  1455. data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc1.rb +0 -19
  1456. data/lib/puppet/util/retryaction.rb +0 -47
  1457. data/lib/puppet/util/zaml.rb +0 -419
  1458. data/lib/puppet/vendor/load_safe_yaml.rb +0 -1
  1459. data/lib/puppet/vendor/safe_yaml/CHANGES.md +0 -104
  1460. data/lib/puppet/vendor/safe_yaml/Gemfile +0 -11
  1461. data/lib/puppet/vendor/safe_yaml/PUPPET_README.md +0 -6
  1462. data/lib/puppet/vendor/safe_yaml/README.md +0 -179
  1463. data/lib/puppet/vendor/safe_yaml/Rakefile +0 -6
  1464. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/deep.rb +0 -34
  1465. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/parse/date.rb +0 -27
  1466. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/parse/hexadecimal.rb +0 -12
  1467. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/parse/sexagesimal.rb +0 -26
  1468. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/psych_handler.rb +0 -92
  1469. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/psych_resolver.rb +0 -52
  1470. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/resolver.rb +0 -94
  1471. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/safe_to_ruby_visitor.rb +0 -17
  1472. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/syck_hack.rb +0 -36
  1473. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/syck_node_monkeypatch.rb +0 -43
  1474. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/syck_resolver.rb +0 -38
  1475. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_boolean.rb +0 -21
  1476. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_date.rb +0 -11
  1477. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_float.rb +0 -33
  1478. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_integer.rb +0 -25
  1479. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_nil.rb +0 -18
  1480. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_symbol.rb +0 -13
  1481. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/transformation_map.rb +0 -47
  1482. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform.rb +0 -41
  1483. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/version.rb +0 -3
  1484. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml.rb +0 -253
  1485. data/lib/puppet/vendor/safe_yaml/run_specs_all_ruby_versions.sh +0 -21
  1486. data/lib/puppet/vendor/safe_yaml/safe_yaml.gemspec +0 -18
  1487. data/lib/puppet/vendor/safe_yaml/spec/exploit.1.9.2.yaml +0 -2
  1488. data/lib/puppet/vendor/safe_yaml/spec/exploit.1.9.3.yaml +0 -2
  1489. data/lib/puppet/vendor/safe_yaml/spec/psych_resolver_spec.rb +0 -10
  1490. data/lib/puppet/vendor/safe_yaml/spec/resolver_specs.rb +0 -250
  1491. data/lib/puppet/vendor/safe_yaml/spec/safe_yaml_spec.rb +0 -702
  1492. data/lib/puppet/vendor/safe_yaml/spec/spec_helper.rb +0 -18
  1493. data/lib/puppet/vendor/safe_yaml/spec/support/exploitable_back_door.rb +0 -29
  1494. data/lib/puppet/vendor/safe_yaml/spec/syck_resolver_spec.rb +0 -10
  1495. data/lib/puppet/vendor/safe_yaml/spec/transform/base64_spec.rb +0 -11
  1496. data/lib/puppet/vendor/safe_yaml/spec/transform/to_date_spec.rb +0 -34
  1497. data/lib/puppet/vendor/safe_yaml/spec/transform/to_float_spec.rb +0 -42
  1498. data/lib/puppet/vendor/safe_yaml/spec/transform/to_integer_spec.rb +0 -59
  1499. data/lib/puppet/vendor/safe_yaml/spec/transform/to_symbol_spec.rb +0 -49
  1500. data/lib/puppet/vendor/safe_yaml_patches.rb +0 -9
  1501. data/lib/puppetx.rb +0 -89
  1502. data/man/man8/puppet-instrumentation_data.8 +0 -141
  1503. data/man/man8/puppet-instrumentation_listener.8 +0 -218
  1504. data/man/man8/puppet-instrumentation_probe.8 +0 -203
  1505. data/man/man8/puppet-kick.8 +0 -131
  1506. data/man/man8/puppet-queue.8 +0 -55
  1507. data/man/man8/puppet-secret_agent.8 +0 -70
  1508. data/spec/fixtures/module.tar.gz +0 -0
  1509. data/spec/fixtures/unit/provider/package/pkg/publisher +0 -2
  1510. data/spec/fixtures/unit/provider/package/pkg/simple +0 -2
  1511. data/spec/fixtures/yaml/report0.25.x.yaml +0 -64
  1512. data/spec/integration/indirector/catalog/queue_spec.rb +0 -55
  1513. data/spec/integration/module_tool/tar/mini_spec.rb +0 -28
  1514. data/spec/integration/parser/dynamic_scoping_spec.rb +0 -131
  1515. data/spec/integration/parser/future_compiler_spec.rb +0 -822
  1516. data/spec/integration/parser/parser_spec.rb +0 -207
  1517. data/spec/integration/parser/ruby_manifest_spec.rb +0 -119
  1518. data/spec/integration/type/sshkey_spec.rb +0 -22
  1519. data/spec/integration/util/feature_spec.rb +0 -53
  1520. data/spec/lib/puppet_spec/database.rb +0 -29
  1521. data/spec/monkey_patches/alias_should_to_must.rb +0 -21
  1522. data/spec/shared_contexts/platform.rb +0 -52
  1523. data/spec/unit/application/kick_spec.rb +0 -296
  1524. data/spec/unit/application/queue_spec.rb +0 -168
  1525. data/spec/unit/application/secret_agent_spec.rb +0 -34
  1526. data/spec/unit/dsl/resource_api_spec.rb +0 -180
  1527. data/spec/unit/dsl/resource_type_api_spec.rb +0 -53
  1528. data/spec/unit/face/instrumentation_data_spec.rb +0 -7
  1529. data/spec/unit/face/instrumentation_listener_spec.rb +0 -38
  1530. data/spec/unit/face/instrumentation_probe_spec.rb +0 -21
  1531. data/spec/unit/face/secret_agent_spec.rb +0 -27
  1532. data/spec/unit/functions/defined_spec.rb +0 -291
  1533. data/spec/unit/hiera/backend/puppet_backend_spec.rb +0 -148
  1534. data/spec/unit/indirector/active_record_spec.rb +0 -75
  1535. data/spec/unit/indirector/catalog/active_record_spec.rb +0 -107
  1536. data/spec/unit/indirector/catalog/queue_spec.rb +0 -19
  1537. data/spec/unit/indirector/facts/active_record_spec.rb +0 -113
  1538. data/spec/unit/indirector/facts/couch_spec.rb +0 -102
  1539. data/spec/unit/indirector/facts/inventory_active_record_spec.rb +0 -175
  1540. data/spec/unit/indirector/facts/inventory_service_spec.rb +0 -21
  1541. data/spec/unit/indirector/facts/rest_spec.rb +0 -10
  1542. data/spec/unit/indirector/instrumentation_data/local_spec.rb +0 -52
  1543. data/spec/unit/indirector/instrumentation_data/rest_spec.rb +0 -11
  1544. data/spec/unit/indirector/instrumentation_listener/local_spec.rb +0 -65
  1545. data/spec/unit/indirector/instrumentation_listener/rest_spec.rb +0 -11
  1546. data/spec/unit/indirector/instrumentation_probe/local_spec.rb +0 -65
  1547. data/spec/unit/indirector/instrumentation_probe/rest_spec.rb +0 -11
  1548. data/spec/unit/indirector/node/active_record_spec.rb +0 -48
  1549. data/spec/unit/indirector/queue_spec.rb +0 -115
  1550. data/spec/unit/indirector/resource/active_record_spec.rb +0 -166
  1551. data/spec/unit/indirector/resource/rest_spec.rb +0 -10
  1552. data/spec/unit/indirector/run/local_spec.rb +0 -21
  1553. data/spec/unit/indirector/run/rest_spec.rb +0 -10
  1554. data/spec/unit/network/authentication_spec.rb +0 -104
  1555. data/spec/unit/network/http/api/v2_spec.rb +0 -14
  1556. data/spec/unit/parser/ast/arithmetic_operator_spec.rb +0 -160
  1557. data/spec/unit/parser/ast/astarray_spec.rb +0 -56
  1558. data/spec/unit/parser/ast/asthash_spec.rb +0 -98
  1559. data/spec/unit/parser/ast/boolean_operator_spec.rb +0 -54
  1560. data/spec/unit/parser/ast/casestatement_spec.rb +0 -168
  1561. data/spec/unit/parser/ast/collection_spec.rb +0 -70
  1562. data/spec/unit/parser/ast/collexpr_spec.rb +0 -120
  1563. data/spec/unit/parser/ast/comparison_operator_spec.rb +0 -118
  1564. data/spec/unit/parser/ast/definition_spec.rb +0 -21
  1565. data/spec/unit/parser/ast/function_spec.rb +0 -92
  1566. data/spec/unit/parser/ast/hostclass_spec.rb +0 -72
  1567. data/spec/unit/parser/ast/ifstatement_spec.rb +0 -77
  1568. data/spec/unit/parser/ast/in_operator_spec.rb +0 -61
  1569. data/spec/unit/parser/ast/match_operator_spec.rb +0 -51
  1570. data/spec/unit/parser/ast/minus_spec.rb +0 -37
  1571. data/spec/unit/parser/ast/node_spec.rb +0 -30
  1572. data/spec/unit/parser/ast/nop_spec.rb +0 -19
  1573. data/spec/unit/parser/ast/not_spec.rb +0 -31
  1574. data/spec/unit/parser/ast/relationship_spec.rb +0 -87
  1575. data/spec/unit/parser/ast/resource_defaults_spec.rb +0 -21
  1576. data/spec/unit/parser/ast/resource_override_spec.rb +0 -50
  1577. data/spec/unit/parser/ast/resource_reference_spec.rb +0 -56
  1578. data/spec/unit/parser/ast/resource_spec.rb +0 -183
  1579. data/spec/unit/parser/ast/resourceparam_spec.rb +0 -51
  1580. data/spec/unit/parser/ast/selector_spec.rb +0 -88
  1581. data/spec/unit/parser/ast/vardef_spec.rb +0 -68
  1582. data/spec/unit/parser/ast_spec.rb +0 -76
  1583. data/spec/unit/parser/collector_spec.rb +0 -438
  1584. data/spec/unit/parser/functions/extlookup_spec.rb +0 -102
  1585. data/spec/unit/parser/functions/search_spec.rb +0 -28
  1586. data/spec/unit/parser/lexer_spec.rb +0 -877
  1587. data/spec/unit/parser/parser_spec.rb +0 -535
  1588. data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +0 -19
  1589. data/spec/unit/pops/migration_spec.rb +0 -180
  1590. data/spec/unit/pops/model/ast_transformer_spec.rb +0 -76
  1591. data/spec/unit/pops/transformer/transform_basic_expressions_spec.rb +0 -243
  1592. data/spec/unit/pops/transformer/transform_calls_spec.rb +0 -115
  1593. data/spec/unit/pops/transformer/transform_conditionals_spec.rb +0 -123
  1594. data/spec/unit/pops/transformer/transform_containers_spec.rb +0 -190
  1595. data/spec/unit/pops/transformer/transformer_rspec_helper.rb +0 -27
  1596. data/spec/unit/pops/validation_spec.rb +0 -66
  1597. data/spec/unit/provider/package/msi_spec.rb +0 -229
  1598. data/spec/unit/rails/host_spec.rb +0 -162
  1599. data/spec/unit/rails/param_value_spec.rb +0 -46
  1600. data/spec/unit/rails/resource_spec.rb +0 -115
  1601. data/spec/unit/rails_spec.rb +0 -244
  1602. data/spec/unit/reports/rrdgraph_spec.rb +0 -29
  1603. data/spec/unit/reports/tagmail_spec.rb +0 -218
  1604. data/spec/unit/run_spec.rb +0 -175
  1605. data/spec/unit/util/cache_accumulator_spec.rb +0 -74
  1606. data/spec/unit/util/cacher_spec.rb +0 -107
  1607. data/spec/unit/util/inline_docs_spec.rb +0 -31
  1608. data/spec/unit/util/instrumentation/data_spec.rb +0 -46
  1609. data/spec/unit/util/instrumentation/indirection_probe_spec.rb +0 -21
  1610. data/spec/unit/util/instrumentation/instrumentable_spec.rb +0 -186
  1611. data/spec/unit/util/instrumentation/listener_spec.rb +0 -101
  1612. data/spec/unit/util/instrumentation/listeners/log_spec.rb +0 -34
  1613. data/spec/unit/util/instrumentation/listeners/performance_spec.rb +0 -36
  1614. data/spec/unit/util/instrumentation_spec.rb +0 -181
  1615. data/spec/unit/util/log/rate_limited_logger_spec.rb +0 -51
  1616. data/spec/unit/util/monkey_patches/lines_spec.rb +0 -83
  1617. data/spec/unit/util/queue/stomp_spec.rb +0 -137
  1618. data/spec/unit/util/queue_spec.rb +0 -94
  1619. data/spec/unit/util/rdoc/parser_spec.rb +0 -608
  1620. data/spec/unit/util/reference_serializer_spec.rb +0 -51
  1621. data/spec/unit/util/zaml_spec.rb +0 -308
@@ -38,11 +38,6 @@ module Puppet::Environments
38
38
  raise EnvironmentNotFound, name
39
39
  end
40
40
  end
41
-
42
- def clear_all
43
- root = Puppet.lookup(:root_environment) { nil }
44
- root.instance_variable_set(:@future_parser, nil) unless root.nil?
45
- end
46
41
  end
47
42
 
48
43
  # @!macro [new] loader_search_paths
@@ -112,7 +107,7 @@ module Puppet::Environments
112
107
  def get_conf(name)
113
108
  env = get(name)
114
109
  if env
115
- Puppet::Settings::EnvironmentConf.static_for(env, Puppet[:parser])
110
+ Puppet::Settings::EnvironmentConf.static_for(env)
116
111
  else
117
112
  nil
118
113
  end
@@ -135,61 +130,6 @@ module Puppet::Environments
135
130
  end
136
131
  end
137
132
 
138
- # Old-style environments that come either from explicit stanzas in
139
- # puppet.conf or from dynamic environments created from use of `$environment`
140
- # in puppet.conf.
141
- #
142
- # @example Explicit Stanza
143
- # [environment_name]
144
- # modulepath=/var/my_env/modules
145
- #
146
- # @example Dynamic Environments
147
- # [master]
148
- # modulepath=/var/$environment/modules
149
- #
150
- # @api private
151
- class Legacy
152
- include EnvironmentCreator
153
-
154
- # @!macro loader_search_paths
155
- def search_paths
156
- ["file://#{Puppet[:config]}"]
157
- end
158
-
159
- # @note The list of environments for the Legacy environments is always
160
- # empty.
161
- #
162
- # @!macro loader_list
163
- def list
164
- []
165
- end
166
-
167
- # @note Because the Legacy system cannot list out all of its environments,
168
- # get is able to return environments that are not returned by a call to
169
- # {#list}.
170
- #
171
- # @!macro loader_get
172
- def get(name)
173
- Puppet::Node::Environment.new(name)
174
- end
175
-
176
- # @note Because the Legacy system cannot list out all of its environments,
177
- # this method will never fail and is only calling get directly.
178
- #
179
- # @!macro loader_get_or_fail
180
- def get!(name)
181
- get(name)
182
- end
183
-
184
- # @note we could return something here, but since legacy environments
185
- # are deprecated, there is no point.
186
- #
187
- # @!macro loader_get_conf
188
- def get_conf(name)
189
- nil
190
- end
191
- end
192
-
193
133
  # Reads environments from a directory on disk. Each environment is
194
134
  # represented as a sub-directory. The environment's manifest setting is the
195
135
  # `manifest` directory of the environment directory. The environment's
@@ -227,6 +167,7 @@ module Puppet::Environments
227
167
  def list
228
168
  valid_directories.collect do |envdir|
229
169
  name = Puppet::FileSystem.basename_string(envdir).intern
170
+
230
171
  create_environment(name)
231
172
  end
232
173
  end
@@ -252,14 +193,12 @@ module Puppet::Environments
252
193
  def create_environment(name, setting_values = nil)
253
194
  env_symbol = name.intern
254
195
  setting_values = Puppet.settings.values(env_symbol, Puppet.settings.preferred_run_mode)
255
- env = Puppet::Node::Environment.create(
196
+ Puppet::Node::Environment.create(
256
197
  env_symbol,
257
198
  Puppet::Node::Environment.split_path(setting_values.interpolate(:modulepath)),
258
199
  setting_values.interpolate(:manifest),
259
200
  setting_values.interpolate(:config_version)
260
201
  )
261
- env.watching = false
262
- env
263
202
  end
264
203
 
265
204
  def valid_directory?(envdir)
@@ -318,16 +257,11 @@ module Puppet::Environments
318
257
  nil
319
258
  end
320
259
 
321
- def clear_all
322
- @loaders.each {|loader| loader.clear_all}
323
- end
324
260
  end
325
261
 
326
262
  class Cached
327
263
  include EnvironmentLoader
328
264
 
329
- INFINITY = 1.0 / 0.0
330
-
331
265
  class DefaultCacheExpirationService
332
266
  def created(env)
333
267
  end
@@ -348,29 +282,10 @@ module Puppet::Environments
348
282
  @cache_expiration_service || DefaultCacheExpirationService.new
349
283
  end
350
284
 
351
- # Returns the end of time (the next Mesoamerican Long Count cycle-end after 2012 (5125+2012) = 7137,
352
- # of for a 32 bit machine using Ruby < 1.9.3, the year 2038.
353
- def self.end_of_time
354
- begin
355
- Time.gm(7137)
356
- rescue ArgumentError
357
- Time.gm(2038)
358
- end
359
- end
360
-
361
- END_OF_TIME = end_of_time
362
- START_OF_TIME = Time.gm(1)
363
-
364
285
  def initialize(loader)
365
286
  @loader = loader
366
- @cache_expiration_service = Puppet::Environments::Cached.cache_expiration_service
367
287
  @cache = {}
368
-
369
- # Holds expiration times in sorted order - next to expire is first
370
- @expirations = SortedSet.new
371
-
372
- # Infinity since it there are no entries, this is a cache of the first to expire time
373
- @next_expiration = END_OF_TIME
288
+ @cache_expiration_service = Puppet::Environments::Cached.cache_expiration_service
374
289
  end
375
290
 
376
291
  # @!macro loader_list
@@ -385,34 +300,15 @@ module Puppet::Environments
385
300
 
386
301
  # @!macro loader_get
387
302
  def get(name)
388
- # Aggressively evict all that has expired
389
- # This strategy favors smaller memory footprint over environment
390
- # retrieval time.
391
- clear_all_expired
303
+ evict_if_expired(name)
392
304
  if result = @cache[name]
393
- # found in cache
394
305
  return result.value
395
306
  elsif (result = @loader.get(name))
396
- # environment loaded, cache it
397
- cache_entry = entry(result)
398
- @cache_expiration_service.created(result)
399
- add_entry(name, cache_entry)
307
+ @cache[name] = entry(result)
400
308
  result
401
309
  end
402
310
  end
403
311
 
404
- # Adds a cache entry to the cache
405
- def add_entry(name, cache_entry)
406
- Puppet.debug("Caching environment '#{name}' #{cache_entry.label}")
407
- @cache[name] = cache_entry
408
- expires = cache_entry.expires
409
- @expirations.add(expires)
410
- if @next_expiration > expires
411
- @next_expiration = expires
412
- end
413
- end
414
- private :add_entry
415
-
416
312
  # Clears the cache of the environment with the given name.
417
313
  # (The intention is that this could be used from a MANUAL cache eviction command (TBD)
418
314
  def clear(name)
@@ -422,27 +318,7 @@ module Puppet::Environments
422
318
  # Clears all cached environments.
423
319
  # (The intention is that this could be used from a MANUAL cache eviction command (TBD)
424
320
  def clear_all()
425
- super
426
321
  @cache = {}
427
- @expirations.clear
428
- @next_expiration = END_OF_TIME
429
- end
430
-
431
- # Clears all environments that have expired, either by exceeding their time to live, or
432
- # through an explicit eviction determined by the cache expiration service.
433
- #
434
- def clear_all_expired()
435
- t = Time.now
436
- return if t < @next_expiration && ! @cache.any? {|name, _| @cache_expiration_service.expired?(name.to_sym) }
437
- to_expire = @cache.select { |name, entry| entry.expires < t || @cache_expiration_service.expired?(name.to_sym) }
438
- to_expire.each do |name, entry|
439
- Puppet.debug("Evicting cache entry for environment '#{name}'")
440
- @cache_expiration_service.evicted(name)
441
- clear(name)
442
- @expirations.delete(entry.expires)
443
- Puppet.settings.clear_environment_settings(name)
444
- end
445
- @next_expiration = @expirations.first || END_OF_TIME
446
322
  end
447
323
 
448
324
  # This implementation evicts the cache, and always gets the current
@@ -461,11 +337,13 @@ module Puppet::Environments
461
337
  # Creates a suitable cache entry given the time to live for one environment
462
338
  #
463
339
  def entry(env)
340
+ @cache_expiration_service.created(env)
464
341
  ttl = (conf = get_conf(env.name)) ? conf.environment_timeout : Puppet.settings.value(:environment_timeout)
342
+ Puppet.debug {"Caching environment '#{env.name}' (cache ttl: #{ttl})"}
465
343
  case ttl
466
344
  when 0
467
345
  NotCachedEntry.new(env) # Entry that is always expired (avoids syscall to get time)
468
- when INFINITY
346
+ when Float::INFINITY
469
347
  Entry.new(env) # Entry that never expires (avoids syscall to get time)
470
348
  else
471
349
  TTLEntry.new(env, ttl)
@@ -476,6 +354,7 @@ module Puppet::Environments
476
354
  # Also clears caches in Settings that may prevent the entry from being updated
477
355
  def evict_if_expired(name)
478
356
  if (result = @cache[name]) && (result.expired? || @cache_expiration_service.expired?(name))
357
+ Puppet.debug {"Evicting cache entry for environment '#{name}'"}
479
358
  @cache.delete(name)
480
359
  @cache_expiration_service.evicted(name)
481
360
 
@@ -494,14 +373,6 @@ module Puppet::Environments
494
373
  def expired?
495
374
  false
496
375
  end
497
-
498
- def label
499
- ""
500
- end
501
-
502
- def expires
503
- END_OF_TIME
504
- end
505
376
  end
506
377
 
507
378
  # Always evicting entry
@@ -509,14 +380,6 @@ module Puppet::Environments
509
380
  def expired?
510
381
  true
511
382
  end
512
-
513
- def label
514
- "(ttl = 0 sec)"
515
- end
516
-
517
- def expires
518
- START_OF_TIME
519
- end
520
383
  end
521
384
 
522
385
  # Time to Live eviction policy entry
@@ -524,20 +387,11 @@ module Puppet::Environments
524
387
  def initialize(value, ttl_seconds)
525
388
  super value
526
389
  @ttl = Time.now + ttl_seconds
527
- @ttl_seconds = ttl_seconds
528
390
  end
529
391
 
530
392
  def expired?
531
393
  Time.now > @ttl
532
394
  end
533
-
534
- def label
535
- "(ttl = #{@ttl_seconds} sec)"
536
- end
537
-
538
- def expires
539
- @ttl
540
- end
541
395
  end
542
396
  end
543
397
  end
data/lib/puppet/error.rb CHANGED
@@ -54,34 +54,8 @@ module Puppet
54
54
  include ExternalFileError
55
55
  end
56
56
 
57
- # Contains an issue code and can be annotated with an environment and a node
58
- class ParseErrorWithIssue < Puppet::ParseError
59
- attr_reader :issue_code, :basic_message
60
- attr_accessor :environment, :node
61
-
62
- # @param message [String] The error message
63
- # @param file [String] The path to the file where the error was found
64
- # @param line [Integer] The line in the file
65
- # @param pos [Integer] The position on the line
66
- # @param original [Exception] Original exception
67
- # @param issue_code [Symbol] The issue code
68
- #
69
- def initialize(message, file=nil, line=nil, pos=nil, original=nil, issue_code= nil)
70
- super(message, file, line, pos, original)
71
- @issue_code = issue_code
72
- @basic_message = message
73
- end
74
-
75
- def to_s
76
- msg = super
77
- msg = "Could not parse for environment #{environment}: #{msg}" if environment
78
- msg = "#{msg} on node #{node}" if node
79
- msg
80
- end
81
- end
82
-
83
57
  # An error that already contains location information in the message text
84
- class PreformattedError < Puppet::ParseErrorWithIssue
58
+ class PreformattedError < Puppet::ParseError
85
59
  end
86
60
 
87
61
  # An error class for when I don't know what happened. Automatically
@@ -89,4 +63,8 @@ module Puppet
89
63
  class DevError < Puppet::Error
90
64
  include ExternalFileError
91
65
  end
66
+
67
+ class MissingCommand < Puppet::Error
68
+ end
69
+
92
70
  end
@@ -283,8 +283,8 @@ class Nagios::Base
283
283
  oc.sub!(/Nagios/,'nagios')
284
284
  oc.sub!(/::/,'')
285
285
  ocs.push oc
286
- ocs.each { |oc|
287
- str += "objectclass: #{oc}\n"
286
+ ocs.each { |objclass|
287
+ str += "objectclass: #{objclass}\n"
288
288
  }
289
289
  @parameters.each { |name,value|
290
290
  next if self.class.suppress.include?(name)
@@ -27,15 +27,6 @@ module PSON
27
27
  const_set :Parser, parser
28
28
  end
29
29
 
30
- def registered_document_types
31
- @registered_document_types ||= {}
32
- end
33
-
34
- # Register a class-constant for deserializaion.
35
- def register_document_type(name,klass)
36
- registered_document_types[name.to_s] = klass
37
- end
38
-
39
30
  # Return the constant located at _path_.
40
31
  # Anything may be registered as a path by calling register_path, above.
41
32
  # Otherwise, the format of _path_ has to be either ::A::B::C or A::B::C.
@@ -44,7 +35,7 @@ module PSON
44
35
  # the given path, an ArgumentError is raised.
45
36
  def deep_const_get(path) # :nodoc:
46
37
  path = path.to_s
47
- registered_document_types[path] || path.split(/::/).inject(Object) do |p, c|
38
+ path.split(/::/).inject(Object) do |p, c|
48
39
  case
49
40
  when c.empty? then p
50
41
  when p.const_defined?(c) then p.const_get(c)
@@ -126,9 +117,6 @@ module PSON
126
117
  # * *allow_nan*: If set to true, allow NaN, Infinity and -Infinity in
127
118
  # defiance of RFC 4627 to be parsed by the Parser. This option defaults
128
119
  # to false.
129
- # * *create_additions*: If set to false, the Parser doesn't create
130
- # additions even if a matching class and create_id was found. This option
131
- # defaults to true.
132
120
  def parse(source, opts = {})
133
121
  PSON.parser.new(source, opts).parse
134
122
  end
@@ -145,9 +133,6 @@ module PSON
145
133
  # * *allow_nan*: If set to true, allow NaN, Infinity, and -Infinity in
146
134
  # defiance of RFC 4627 to be parsed by the Parser. This option defaults
147
135
  # to true.
148
- # * *create_additions*: If set to false, the Parser doesn't create
149
- # additions even if a matching class and create_id was found. This option
150
- # defaults to true.
151
136
  def parse!(source, opts = {})
152
137
  opts = {
153
138
  :max_nesting => false,
@@ -350,7 +335,7 @@ module ::Kernel
350
335
  nil
351
336
  end
352
337
 
353
- # Ouputs _objs_ to STDOUT as PSON strings in a pretty format, with
338
+ # Outputs _objs_ to STDOUT as PSON strings in a pretty format, with
354
339
  # indentation and over many lines.
355
340
  def jj(*objs)
356
341
  objs.each do |obj|
@@ -361,6 +361,7 @@ module PSON
361
361
  # method should be used, if you want to convert raw strings to PSON
362
362
  # instead of UTF-8 strings, e.g. binary data.
363
363
  def to_pson_raw_object
364
+ # create_id will be ignored during deserialization
364
365
  {
365
366
  PSON.create_id => self.class.name,
366
367
  'raw' => self.unpack('C*'),
@@ -60,9 +60,6 @@ module PSON
60
60
  # * *allow_nan*: If set to true, allow NaN, Infinity and -Infinity in
61
61
  # defiance of RFC 4627 to be parsed by the Parser. This option defaults
62
62
  # to false.
63
- # * *create_additions*: If set to false, the Parser doesn't create
64
- # additions even if a matching class and create_id was found. This option
65
- # defaults to true.
66
63
  # * *object_class*: Defaults to Hash
67
64
  # * *array_class*: Defaults to Array
68
65
  def initialize(source, opts = {})
@@ -76,9 +73,6 @@ module PSON
76
73
  @max_nesting = 0
77
74
  end
78
75
  @allow_nan = !!opts[:allow_nan]
79
- ca = true
80
- ca = opts[:create_additions] if opts.key?(:create_additions)
81
- @create_id = ca ? PSON.create_id : nil
82
76
  @object_class = opts[:object_class] || Hash
83
77
  @array_class = opts[:array_class] || Array
84
78
  end
@@ -299,11 +293,6 @@ module PSON
299
293
  end
300
294
  when scan(OBJECT_CLOSE)
301
295
  raise ParserError, "expected next name, value pair in object at '#{peek(20)}'!" if delim
302
- if @create_id and klassname = result[@create_id]
303
- klass = PSON.deep_const_get klassname
304
- break unless klass and klass.pson_creatable?
305
- result = klass.pson_create(result)
306
- end
307
296
  break
308
297
  when skip(IGNORE)
309
298
  ;
@@ -21,8 +21,8 @@ Puppet::Indirector::Face.define(:catalog, '0.0.1') do
21
21
  `certname`; use the `--terminus` option to change the source of the catalog.
22
22
  EOT
23
23
 
24
- get_action(:destroy).summary "Invalid for this subcommand."
25
- get_action(:search).summary "Invalid for this subcommand."
24
+ deactivate_action(:destroy)
25
+ deactivate_action(:search)
26
26
  find = get_action(:find)
27
27
  find.summary "Retrieve the catalog for a node."
28
28
  find.arguments "<certname>"
@@ -50,7 +50,7 @@ Puppet::Indirector::Face.define(:catalog, '0.0.1') do
50
50
 
51
51
  $ puppet catalog apply --terminus rest
52
52
 
53
- From `secret_agent.rb` (API example):
53
+ API example:
54
54
 
55
55
  # ...
56
56
  Puppet::Face[:catalog, '0.0.1'].download
@@ -104,7 +104,7 @@ Puppet::Indirector::Face.define(:catalog, '0.0.1') do
104
104
 
105
105
  $ puppet catalog download
106
106
 
107
- From `secret_agent.rb` (API example):
107
+ API example:
108
108
 
109
109
  Puppet::Face[:plugin, '0.0.1'].download
110
110
  Puppet::Face[:facts, '0.0.1'].upload
@@ -154,7 +154,6 @@ Puppet::Indirector::Face.define(:certificate, '0.0.1') do
154
154
  Deletes a certificate. This action currently only works on the local CA.
155
155
  EOT
156
156
 
157
- get_action(:search).summary "Invalid for this subcommand."
158
- get_action(:save).summary "Invalid for this subcommand."
159
- get_action(:save).description "Invalid for this subcommand."
157
+ deactivate_action(:search)
158
+ deactivate_action(:save)
160
159
  end
@@ -9,16 +9,17 @@ Puppet::Indirector::Face.define(:certificate_request, '0.0.1') do
9
9
  This subcommand retrieves and submits certificate signing requests (CSRs).
10
10
  EOT
11
11
 
12
- # Per-action doc overrides
13
- get_action(:destroy).summary "Invalid for this subcommand."
12
+ deactivate_action(:destroy)
14
13
 
15
14
  find = get_action(:find)
16
15
  find.summary "Retrieve a single CSR."
17
- find.arguments "<host>"
16
+ find.arguments "[<host>]"
18
17
  find.render_as = :s
19
18
  find.returns <<-EOT
20
19
  A single certificate request. When used from the Ruby API, returns a
21
20
  Puppet::SSL::CertificateRequest object.
21
+
22
+ Defaults to the current nodes certname.
22
23
  EOT
23
24
  find.examples <<-EOT
24
25
  Retrieve a single CSR from the puppet master's CA:
@@ -12,24 +12,21 @@ Puppet::Indirector::Face.define(:certificate_revocation_list, '0.0.1') do
12
12
 
13
13
  find = get_action(:find)
14
14
  find.summary "Retrieve the certificate revocation list."
15
- find.arguments "<dummy_text>"
16
15
  find.render_as = :s
17
16
  find.returns <<-EOT
18
17
  The certificate revocation list. When used from the Ruby API: returns an
19
18
  OpenSSL::X509::CRL object.
20
19
  EOT
21
20
  find.short_description <<-EOT
22
- Retrieves the certificate revocation list. Due to a known bug, this action
23
- requires a dummy argument, the content of which is irrelevant.
21
+ Retrieves the certificate revocation list.
24
22
  EOT
25
23
  find.notes <<-EOT
26
- Although this action always returns the CRL from the specified terminus, it
27
- requires a dummy argument; this is a known bug.
24
+ Although this action always returns the CRL from the specified terminus.
28
25
  EOT
29
26
  find.examples <<-EXAMPLES
30
27
  Retrieve a copy of the puppet master's CRL:
31
28
 
32
- $ puppet certificate_revocation_list find crl --terminus rest
29
+ $ puppet certificate_revocation_list find --terminus rest
33
30
  EXAMPLES
34
31
 
35
32
  destroy = get_action(:destroy)
@@ -52,7 +49,6 @@ Puppet::Indirector::Face.define(:certificate_revocation_list, '0.0.1') do
52
49
  requires a dummy argument; this is a known bug.
53
50
  EOT
54
51
 
55
- get_action(:search).summary "Invalid for this subcommand."
56
- get_action(:save).summary "Invalid for this subcommand."
57
- get_action(:save).description "Invalid for this subcommand."
52
+ deactivate_action(:search)
53
+ deactivate_action(:save)
58
54
  end
@@ -98,11 +98,11 @@ Puppet::Face.define(:config, '0.0.1') do
98
98
  examples <<-'EOT'
99
99
  Set puppet's runfile directory:
100
100
 
101
- $ puppet config set rundir /var/run/puppet
101
+ $ puppet config set rundir /var/run/puppetlabs
102
102
 
103
103
  Set the vardir for only the agent:
104
104
 
105
- $ puppet config set vardir /var/lib/puppetagent --section agent
105
+ $ puppet config set vardir /opt/puppetlabs/puppet/cache --section agent
106
106
  EOT
107
107
 
108
108
  when_invoked do |name, value, options|