puppet 3.8.7-x64-mingw32 → 4.0.0.rc1-x64-mingw32

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.

Potentially problematic release.


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

Files changed (1586) hide show
  1. data/CONTRIBUTING.md +26 -11
  2. data/Gemfile +13 -25
  3. data/LICENSE +1 -1
  4. data/Rakefile +9 -0
  5. data/bin/puppet +7 -6
  6. data/conf/auth.conf +30 -26
  7. data/conf/environment.conf +16 -0
  8. data/conf/fileserver.conf +2 -2
  9. data/conf/puppet.conf +6 -0
  10. data/ext/README.environment +1 -1
  11. data/ext/build_defaults.yaml +16 -7
  12. data/ext/debian/control +5 -5
  13. data/ext/debian/puppet-common.manpages +0 -5
  14. data/ext/debian/puppet-common.postinst +3 -3
  15. data/ext/debian/puppet.init +23 -12
  16. data/ext/debian/puppet.logrotate +1 -2
  17. data/ext/debian/puppetmaster-common.postinst +6 -0
  18. data/ext/debian/puppetmaster.init +5 -5
  19. data/ext/debian/rules +4 -1
  20. data/ext/debian/vim-puppet.dirs +2 -0
  21. data/ext/debian/vim-puppet.yaml +2 -0
  22. data/ext/emacs/puppet-mode.el +0 -1
  23. data/ext/gentoo/conf.d/puppet +1 -1
  24. data/ext/gentoo/conf.d/puppetmaster +1 -1
  25. data/ext/nagios/check_puppet.rb +1 -1
  26. data/ext/project_data.yaml +6 -7
  27. data/ext/puppet-nm-dispatcher +13 -0
  28. data/ext/puppet-test +0 -66
  29. data/ext/puppetlisten/puppetlisten.rb +7 -5
  30. data/ext/rack/config.ru +12 -5
  31. data/ext/redhat/client.init +3 -3
  32. data/ext/redhat/logrotate +1 -2
  33. data/ext/redhat/puppet.spec.erb +12 -8
  34. data/ext/redhat/server.init +1 -1
  35. data/ext/regexp_nodes/regexp_nodes.rb +1 -1
  36. data/ext/solaris/smf/svc-puppetd +1 -1
  37. data/ext/solaris/smf/svc-puppetmasterd +1 -1
  38. data/ext/suse/client.init +1 -1
  39. data/ext/suse/server.init +1 -1
  40. data/ext/systemd/puppet.service +1 -3
  41. data/ext/vim/syntax/puppet.vim +1 -1
  42. data/ext/windows/service/daemon.rb +19 -2
  43. data/install.rb +63 -7
  44. data/lib/hiera/puppet_function.rb +7 -18
  45. data/lib/hiera/scope.rb +4 -1
  46. data/lib/puppet.rb +19 -51
  47. data/lib/puppet/agent.rb +2 -6
  48. data/lib/puppet/application.rb +14 -65
  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 +10 -36
  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_support.rb +57 -0
  61. data/lib/puppet/configurer.rb +3 -7
  62. data/lib/puppet/configurer/downloader.rb +1 -0
  63. data/lib/puppet/configurer/fact_handler.rb +1 -1
  64. data/lib/puppet/daemon.rb +6 -15
  65. data/lib/puppet/data_providers.rb +28 -0
  66. data/lib/puppet/data_providers/data_adapter.rb +86 -0
  67. data/lib/puppet/data_providers/data_function_support.rb +32 -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 +44 -0
  70. data/lib/puppet/defaults.rb +135 -530
  71. data/lib/puppet/environments.rb +10 -156
  72. data/lib/puppet/error.rb +4 -30
  73. data/lib/puppet/external/nagios/base.rb +2 -2
  74. data/lib/puppet/external/pson/common.rb +2 -17
  75. data/lib/puppet/external/pson/pure/generator.rb +1 -0
  76. data/lib/puppet/external/pson/pure/parser.rb +0 -11
  77. data/lib/puppet/face/catalog.rb +4 -4
  78. data/lib/puppet/face/certificate.rb +2 -3
  79. data/lib/puppet/face/certificate_request.rb +4 -3
  80. data/lib/puppet/face/certificate_revocation_list.rb +5 -9
  81. data/lib/puppet/face/config.rb +2 -2
  82. data/lib/puppet/face/epp.rb +479 -0
  83. data/lib/puppet/face/facts.rb +6 -49
  84. data/lib/puppet/face/file.rb +2 -2
  85. data/lib/puppet/face/file/download.rb +1 -2
  86. data/lib/puppet/face/help.rb +2 -3
  87. data/lib/puppet/face/module/build.rb +5 -5
  88. data/lib/puppet/face/module/changes.rb +1 -1
  89. data/lib/puppet/face/module/generate.rb +6 -6
  90. data/lib/puppet/face/module/install.rb +16 -16
  91. data/lib/puppet/face/module/list.rb +9 -9
  92. data/lib/puppet/face/module/uninstall.rb +5 -5
  93. data/lib/puppet/face/module/upgrade.rb +3 -3
  94. data/lib/puppet/face/node.rb +3 -4
  95. data/lib/puppet/face/node/clean.rb +5 -68
  96. data/lib/puppet/face/parser.rb +6 -8
  97. data/lib/puppet/face/report.rb +4 -4
  98. data/lib/puppet/face/resource.rb +1 -1
  99. data/lib/puppet/face/resource_type.rb +7 -4
  100. data/lib/puppet/face/status.rb +6 -12
  101. data/lib/puppet/feature/base.rb +0 -7
  102. data/lib/puppet/file_bucket/dipper.rb +1 -2
  103. data/lib/puppet/file_bucket/file.rb +12 -25
  104. data/lib/puppet/file_serving/base.rb +1 -11
  105. data/lib/puppet/file_serving/content.rb +5 -7
  106. data/lib/puppet/file_serving/metadata.rb +4 -61
  107. data/lib/puppet/file_serving/mount/pluginfacts.rb +1 -1
  108. data/lib/puppet/file_serving/mount/plugins.rb +1 -1
  109. data/lib/puppet/file_serving/terminus_helper.rb +16 -5
  110. data/lib/puppet/file_system.rb +6 -22
  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/forge/repository.rb +12 -8
  117. data/lib/puppet/functions.rb +17 -51
  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/graph/relationship_graph.rb +41 -13
  137. data/lib/puppet/graph/simple_graph.rb +6 -10
  138. data/lib/puppet/indirector/catalog/compiler.rb +0 -2
  139. data/lib/puppet/indirector/catalog/static_compiler.rb +4 -5
  140. data/lib/puppet/indirector/direct_file_server.rb +1 -3
  141. data/lib/puppet/indirector/face.rb +11 -2
  142. data/lib/puppet/indirector/facts/facter.rb +5 -1
  143. data/lib/puppet/indirector/facts/network_device.rb +5 -2
  144. data/lib/puppet/indirector/facts/store_configs.rb +3 -0
  145. data/lib/puppet/indirector/facts/yaml.rb +4 -0
  146. data/lib/puppet/indirector/file_metadata/file.rb +0 -15
  147. data/lib/puppet/indirector/file_server.rb +2 -16
  148. data/lib/puppet/indirector/hiera.rb +39 -1
  149. data/lib/puppet/indirector/indirection.rb +2 -9
  150. data/lib/puppet/indirector/node/ldap.rb +1 -1
  151. data/lib/puppet/indirector/request.rb +21 -81
  152. data/lib/puppet/indirector/resource/ral.rb +1 -2
  153. data/lib/puppet/indirector/resource/store_configs.rb +1 -2
  154. data/lib/puppet/indirector/resource_type/parser.rb +1 -1
  155. data/lib/puppet/indirector/rest.rb +21 -33
  156. data/lib/puppet/interface.rb +0 -7
  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/metatype/manager.rb +1 -7
  162. data/lib/puppet/module.rb +42 -35
  163. data/lib/puppet/module_tool.rb +5 -7
  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/network/auth_config_parser.rb +2 -2
  177. data/lib/puppet/network/authconfig.rb +32 -16
  178. data/lib/puppet/network/format_handler.rb +7 -7
  179. data/lib/puppet/network/format_support.rb +4 -0
  180. data/lib/puppet/network/formats.rb +6 -62
  181. data/lib/puppet/network/http.rb +12 -2
  182. data/lib/puppet/network/http/api.rb +42 -0
  183. data/lib/puppet/network/http/api/ca.rb +2 -0
  184. data/lib/puppet/network/http/api/ca/v1.rb +11 -0
  185. data/lib/puppet/network/http/api/{v1.rb → indirected_routes.rb} +57 -29
  186. data/lib/puppet/network/http/api/indirection_type.rb +32 -0
  187. data/lib/puppet/network/http/api/master.rb +2 -0
  188. data/lib/puppet/network/http/api/master/v3.rb +22 -0
  189. data/lib/puppet/network/http/api/master/v3/authorization.rb +18 -0
  190. data/lib/puppet/network/http/api/{v2 → master/v3}/environments.rb +2 -2
  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.rb +1 -6
  198. data/lib/puppet/network/http/webrick/rest.rb +15 -8
  199. data/lib/puppet/network/resolver.rb +2 -2
  200. data/lib/puppet/network/rights.rb +2 -2
  201. data/lib/puppet/node.rb +2 -29
  202. data/lib/puppet/node/environment.rb +92 -184
  203. data/lib/puppet/node/facts.rb +22 -44
  204. data/lib/puppet/parameter.rb +3 -16
  205. data/lib/puppet/parameter/value.rb +1 -3
  206. data/lib/puppet/parameter/value_collection.rb +12 -11
  207. data/lib/puppet/parser.rb +12 -2
  208. data/lib/puppet/parser/ast.rb +9 -78
  209. data/lib/puppet/parser/ast/block_expression.rb +11 -36
  210. data/lib/puppet/parser/ast/branch.rb +15 -18
  211. data/lib/puppet/parser/ast/hostclass.rb +1 -3
  212. data/lib/puppet/parser/ast/leaf.rb +55 -212
  213. data/lib/puppet/parser/ast/node.rb +3 -11
  214. data/lib/puppet/parser/ast/pops_bridge.rb +2 -7
  215. data/lib/puppet/parser/ast/resource.rb +14 -20
  216. data/lib/puppet/parser/ast/resource_instance.rb +4 -7
  217. data/lib/puppet/parser/ast/resourceparam.rb +21 -22
  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.rb +1 -3
  222. data/lib/puppet/parser/functions/assert_type.rb +1 -2
  223. data/lib/puppet/parser/functions/contain.rb +5 -3
  224. data/lib/puppet/parser/functions/create_resources.rb +9 -1
  225. data/lib/puppet/parser/functions/defined.rb +33 -61
  226. data/lib/puppet/parser/functions/each.rb +1 -3
  227. data/lib/puppet/parser/functions/epp.rb +1 -2
  228. data/lib/puppet/parser/functions/file.rb +1 -3
  229. data/lib/puppet/parser/functions/filter.rb +1 -3
  230. data/lib/puppet/parser/functions/hiera.rb +4 -6
  231. data/lib/puppet/parser/functions/hiera_array.rb +4 -6
  232. data/lib/puppet/parser/functions/hiera_hash.rb +6 -8
  233. data/lib/puppet/parser/functions/hiera_include.rb +2 -10
  234. data/lib/puppet/parser/functions/include.rb +4 -2
  235. data/lib/puppet/parser/functions/lookup.rb +115 -105
  236. data/lib/puppet/parser/functions/map.rb +1 -3
  237. data/lib/puppet/parser/functions/match.rb +1 -2
  238. data/lib/puppet/parser/functions/realize.rb +1 -6
  239. data/lib/puppet/parser/functions/reduce.rb +1 -3
  240. data/lib/puppet/parser/functions/regsubst.rb +1 -57
  241. data/lib/puppet/parser/functions/require.rb +6 -4
  242. data/lib/puppet/parser/functions/scanf.rb +1 -1
  243. data/lib/puppet/parser/functions/slice.rb +1 -3
  244. data/lib/puppet/parser/functions/split.rb +1 -1
  245. data/lib/puppet/parser/functions/with.rb +1 -2
  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/plugins.rb +9 -0
  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/pops.rb +6 -7
  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 +36 -152
  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 +9 -57
  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 -13
  297. data/lib/puppet/pops/parser/eparser.rb +1132 -1272
  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 +12 -13
  301. data/lib/puppet/pops/parser/interpolation_support.rb +1 -7
  302. data/lib/puppet/pops/parser/lexer2.rb +33 -36
  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.rb +3 -26
  319. data/lib/puppet/pops/validation/checker4_0.rb +6 -56
  320. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -3
  321. data/lib/puppet/pops/visitor.rb +10 -7
  322. data/lib/puppet/property.rb +44 -124
  323. data/lib/puppet/provider.rb +0 -52
  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 +0 -12
  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 +57 -131
  339. data/lib/puppet/provider/network_device.rb +3 -0
  340. data/lib/puppet/provider/package/appdmg.rb +5 -2
  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/openbsd.rb +26 -12
  344. data/lib/puppet/provider/package/opkg.rb +6 -1
  345. data/lib/puppet/provider/package/pacman.rb +159 -127
  346. data/lib/puppet/provider/package/pip.rb +1 -11
  347. data/lib/puppet/provider/package/pkg.rb +73 -29
  348. data/lib/puppet/provider/package/pkgdmg.rb +2 -2
  349. data/lib/puppet/provider/package/pkgin.rb +1 -1
  350. data/lib/puppet/provider/package/portage.rb +5 -1
  351. data/lib/puppet/provider/package/portupgrade.rb +0 -2
  352. data/lib/puppet/provider/package/rpm.rb +109 -0
  353. data/lib/puppet/provider/package/rug.rb +0 -1
  354. data/lib/puppet/provider/package/windows/package.rb +1 -1
  355. data/lib/puppet/provider/package/yum.rb +121 -30
  356. data/lib/puppet/provider/package/zypper.rb +8 -17
  357. data/lib/puppet/provider/scheduled_task/win32_taskscheduler.rb +7 -32
  358. data/lib/puppet/provider/service/base.rb +17 -3
  359. data/lib/puppet/provider/service/bsd.rb +1 -1
  360. data/lib/puppet/provider/service/daemontools.rb +1 -1
  361. data/lib/puppet/provider/service/init.rb +0 -7
  362. data/lib/puppet/provider/service/launchd.rb +11 -89
  363. data/lib/puppet/provider/service/openbsd.rb +56 -298
  364. data/lib/puppet/provider/service/runit.rb +1 -1
  365. data/lib/puppet/provider/service/systemd.rb +1 -0
  366. data/lib/puppet/provider/service/upstart.rb +4 -2
  367. data/lib/puppet/provider/ssh_authorized_key/parsed.rb +1 -1
  368. data/lib/puppet/provider/user/aix.rb +1 -1
  369. data/lib/puppet/provider/user/directoryservice.rb +40 -70
  370. data/lib/puppet/provider/user/hpux.rb +31 -2
  371. data/lib/puppet/provider/user/openbsd.rb +74 -0
  372. data/lib/puppet/provider/user/pw.rb +0 -1
  373. data/lib/puppet/provider/user/user_role_add.rb +1 -3
  374. data/lib/puppet/provider/user/windows_adsi.rb +2 -9
  375. data/lib/puppet/provider/yumrepo/inifile.rb +1 -3
  376. data/lib/puppet/provider/zfs/zfs.rb +3 -2
  377. data/lib/puppet/provider/zone/solaris.rb +3 -3
  378. data/lib/puppet/reference/configuration.rb +4 -3
  379. data/lib/puppet/reference/metaparameter.rb +0 -9
  380. data/lib/puppet/reference/providers.rb +1 -1
  381. data/lib/puppet/reference/type.rb +8 -10
  382. data/lib/puppet/relationship.rb +4 -17
  383. data/lib/puppet/resource.rb +132 -114
  384. data/lib/puppet/resource/catalog.rb +23 -30
  385. data/lib/puppet/resource/status.rb +74 -22
  386. data/lib/puppet/resource/type.rb +12 -52
  387. data/lib/puppet/resource/type_collection.rb +26 -73
  388. data/lib/puppet/settings.rb +94 -153
  389. data/lib/puppet/settings/base_setting.rb +6 -30
  390. data/lib/puppet/settings/config_file.rb +14 -11
  391. data/lib/puppet/settings/duration_setting.rb +1 -1
  392. data/lib/puppet/settings/environment_conf.rb +14 -12
  393. data/lib/puppet/settings/file_setting.rb +9 -10
  394. data/lib/puppet/settings/ttl_setting.rb +1 -3
  395. data/lib/puppet/ssl/certificate.rb +38 -8
  396. data/lib/puppet/ssl/certificate_authority/interface.rb +7 -1
  397. data/lib/puppet/ssl/certificate_factory.rb +3 -3
  398. data/lib/puppet/ssl/certificate_request.rb +36 -8
  399. data/lib/puppet/ssl/configuration.rb +2 -8
  400. data/lib/puppet/ssl/host.rb +1 -8
  401. data/lib/puppet/ssl/inventory.rb +0 -7
  402. data/lib/puppet/ssl/oids.rb +72 -3
  403. data/lib/puppet/ssl/validator/default_validator.rb +0 -1
  404. data/lib/puppet/status.rb +0 -5
  405. data/lib/puppet/syntax_checkers.rb +3 -0
  406. data/lib/{puppetx/puppetlabs → puppet}/syntax_checkers/json.rb +2 -2
  407. data/lib/puppet/test/test_helper.rb +11 -12
  408. data/lib/puppet/transaction.rb +12 -9
  409. data/lib/puppet/transaction/event.rb +4 -5
  410. data/lib/puppet/transaction/event_manager.rb +50 -5
  411. data/lib/puppet/transaction/report.rb +5 -10
  412. data/lib/puppet/transaction/resource_harness.rb +7 -2
  413. data/lib/puppet/type.rb +113 -29
  414. data/lib/puppet/type/augeas.rb +1 -0
  415. data/lib/puppet/type/exec.rb +2 -2
  416. data/lib/puppet/type/file.rb +8 -9
  417. data/lib/puppet/type/file/content.rb +19 -15
  418. data/lib/puppet/type/file/mode.rb +16 -11
  419. data/lib/puppet/type/file/selcontext.rb +1 -1
  420. data/lib/puppet/type/file/source.rb +15 -15
  421. data/lib/puppet/type/filebucket.rb +2 -2
  422. data/lib/puppet/type/group.rb +5 -17
  423. data/lib/puppet/type/host.rb +12 -3
  424. data/lib/puppet/type/k5login.rb +1 -1
  425. data/lib/puppet/type/mailalias.rb +20 -6
  426. data/lib/puppet/type/maillist.rb +1 -1
  427. data/lib/puppet/type/mount.rb +6 -16
  428. data/lib/puppet/type/notify.rb +1 -1
  429. data/lib/puppet/type/package.rb +91 -16
  430. data/lib/puppet/type/resources.rb +0 -7
  431. data/lib/puppet/type/router.rb +1 -1
  432. data/lib/puppet/type/schedule.rb +1 -1
  433. data/lib/puppet/type/scheduled_task.rb +0 -13
  434. data/lib/puppet/type/selboolean.rb +2 -2
  435. data/lib/puppet/type/service.rb +1 -1
  436. data/lib/puppet/type/ssh_authorized_key.rb +1 -1
  437. data/lib/puppet/type/sshkey.rb +1 -1
  438. data/lib/puppet/type/tidy.rb +4 -1
  439. data/lib/puppet/type/user.rb +16 -3
  440. data/lib/puppet/type/yumrepo.rb +26 -0
  441. data/lib/puppet/type/zfs.rb +1 -1
  442. data/lib/puppet/type/zpool.rb +1 -1
  443. data/lib/puppet/util.rb +2 -85
  444. data/lib/puppet/util/autoload.rb +3 -13
  445. data/lib/puppet/util/checksums.rb +59 -22
  446. data/lib/puppet/util/classgen.rb +1 -9
  447. data/lib/puppet/util/colors.rb +0 -117
  448. data/lib/puppet/util/command_line.rb +1 -23
  449. data/lib/puppet/util/errors.rb +2 -4
  450. data/lib/puppet/util/execution.rb +19 -22
  451. data/lib/puppet/util/feature.rb +2 -4
  452. data/lib/puppet/util/fileparsing.rb +3 -2
  453. data/lib/puppet/util/log.rb +13 -56
  454. data/lib/puppet/util/log/destinations.rb +17 -36
  455. data/lib/puppet/util/logging.rb +52 -37
  456. data/lib/puppet/util/metric.rb +0 -149
  457. data/lib/puppet/util/monkey_patches.rb +1 -94
  458. data/lib/puppet/util/network_device/base.rb +1 -5
  459. data/lib/puppet/util/network_device/cisco/interface.rb +2 -2
  460. data/lib/puppet/util/network_device/config.rb +0 -5
  461. data/lib/puppet/util/network_device/transport/ssh.rb +2 -2
  462. data/lib/puppet/util/profiler.rb +1 -1
  463. data/lib/puppet/util/profiler/aggregate.rb +1 -1
  464. data/lib/puppet/util/profiler/around_profiler.rb +1 -1
  465. data/lib/puppet/util/psych_support.rb +38 -0
  466. data/lib/puppet/util/rdoc.rb +6 -42
  467. data/lib/puppet/util/rdoc/code_objects.rb +5 -45
  468. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +1 -1
  469. data/lib/puppet/util/rdoc/parser.rb +5 -15
  470. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +8 -227
  471. data/lib/puppet/util/retry_action.rb +46 -0
  472. data/lib/puppet/util/run_mode.rb +31 -7
  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/vendor/deep_merge/CHANGELOG +45 -0
  488. data/lib/puppet/vendor/deep_merge/Gemfile +3 -0
  489. data/lib/puppet/vendor/deep_merge/LICENSE +21 -0
  490. data/lib/puppet/vendor/deep_merge/README.md +113 -0
  491. data/lib/puppet/vendor/deep_merge/Rakefile +19 -0
  492. data/lib/puppet/vendor/deep_merge/deep_merge.gemspec +35 -0
  493. data/lib/puppet/vendor/deep_merge/lib/deep_merge.rb +2 -0
  494. data/lib/puppet/vendor/deep_merge/lib/deep_merge/core.rb +210 -0
  495. data/lib/puppet/vendor/deep_merge/lib/deep_merge/deep_merge_hash.rb +28 -0
  496. data/lib/puppet/vendor/deep_merge/lib/deep_merge/rails_compat.rb +27 -0
  497. data/lib/puppet/vendor/deep_merge/test/test_deep_merge.rb +608 -0
  498. data/lib/puppet/vendor/load_deep_merge.rb +1 -0
  499. data/lib/puppet/vendor/load_rgen.rb +1 -0
  500. data/lib/puppet/vendor/require_vendored.rb +1 -3
  501. data/lib/puppet/vendor/rgen_patch.rb +132 -0
  502. data/lib/puppet/version.rb +1 -1
  503. data/lib/puppet_x.rb +8 -0
  504. data/lib/semver.rb +0 -1
  505. data/man/man5/puppet.conf.5 +432 -287
  506. data/man/man8/extlookup2hiera.8 +2 -15
  507. data/man/man8/puppet-agent.8 +14 -14
  508. data/man/man8/puppet-apply.8 +29 -30
  509. data/man/man8/puppet-ca.8 +29 -17
  510. data/man/man8/puppet-catalog.8 +5 -34
  511. data/man/man8/puppet-cert.8 +8 -4
  512. data/man/man8/puppet-certificate.8 +15 -29
  513. data/man/man8/puppet-certificate_request.8 +9 -16
  514. data/man/man8/puppet-certificate_revocation_list.8 +5 -31
  515. data/man/man8/puppet-config.8 +52 -11
  516. data/man/man8/puppet-describe.8 +1 -1
  517. data/man/man8/puppet-device.8 +5 -16
  518. data/man/man8/puppet-doc.8 +7 -80
  519. data/man/man8/puppet-epp.8 +349 -0
  520. data/man/man8/puppet-facts.8 +5 -95
  521. data/man/man8/puppet-file.8 +2 -28
  522. data/man/man8/puppet-filebucket.8 +2 -2
  523. data/man/man8/puppet-help.8 +2 -2
  524. data/man/man8/puppet-inspect.8 +1 -1
  525. data/man/man8/puppet-key.8 +6 -3
  526. data/man/man8/puppet-man.8 +2 -2
  527. data/man/man8/puppet-master.8 +11 -7
  528. data/man/man8/puppet-module.8 +75 -49
  529. data/man/man8/puppet-node.8 +8 -56
  530. data/man/man8/puppet-parser.8 +38 -4
  531. data/man/man8/puppet-plugin.8 +2 -2
  532. data/man/man8/puppet-report.8 +8 -70
  533. data/man/man8/puppet-resource.8 +7 -3
  534. data/man/man8/puppet-resource_type.8 +2 -28
  535. data/man/man8/puppet-status.8 +5 -47
  536. data/man/man8/puppet.8 +2 -2
  537. data/spec/fixtures/integration/provider/mailalias/aliases/test1 +3 -0
  538. data/spec/fixtures/integration/provider/sshkey/sample +21 -0
  539. data/spec/fixtures/unit/data_providers/environments/production/environment.conf +2 -0
  540. data/spec/fixtures/unit/data_providers/environments/production/lib/puppet/functions/environment/data.rb +7 -0
  541. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/lib/puppet/bindings/abc/default.rb +9 -0
  542. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/lib/puppet/functions/abc/data.rb +8 -0
  543. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/manifests/init.pp +9 -0
  544. data/spec/fixtures/unit/data_providers/environments/sample/environment.conf +2 -0
  545. data/spec/fixtures/unit/data_providers/environments/sample/manifests/site.pp +6 -0
  546. data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/lib/puppet/bindings/dataprovider/default.rb +54 -0
  547. data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/lib/puppet_x/helindbe/sample_env_data.rb +31 -0
  548. data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/lib/puppet_x/helindbe/sample_module_data.rb +32 -0
  549. data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/manifests/init.pp +5 -0
  550. data/spec/fixtures/unit/functions/lookup/environments/production/environment.conf +2 -0
  551. data/spec/fixtures/unit/functions/lookup/environments/production/lib/puppet/functions/environment/data.rb +11 -0
  552. data/spec/fixtures/unit/functions/lookup/environments/production/modules/abc/lib/puppet/bindings/abc/default.rb +9 -0
  553. data/spec/fixtures/unit/functions/lookup/environments/production/modules/abc/lib/puppet/functions/abc/data.rb +9 -0
  554. data/spec/fixtures/unit/functions/lookup/environments/production/modules/abc/manifests/init.pp +8 -0
  555. data/spec/fixtures/unit/parser/lexer/subclass_name_duplication.pp +0 -0
  556. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/binder_config.yaml +1 -1
  557. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome2/lib/{puppetx → puppet_x}/awesome2/echo_scheme_handler.rb +3 -3
  558. data/spec/fixtures/unit/pops/binder/config/binder_config/nolayer/binder_config.yaml +6 -0
  559. data/spec/fixtures/unit/pops/parser/lexer/subclass_name_duplication.pp +0 -0
  560. data/spec/fixtures/unit/provider/mount/parsed/aix.filesystems +85 -93
  561. data/spec/fixtures/unit/provider/mount/parsed/aix.mount +7 -11
  562. data/spec/fixtures/unit/provider/package/pkg/dummy_implicit_version +3 -0
  563. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris10 +1 -1
  564. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.certificate_warning +1 -1
  565. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.ifo.installed +1 -1
  566. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.ifo.known +1 -1
  567. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.installed +1 -1
  568. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.known +1 -1
  569. data/spec/fixtures/unit/provider/package/pkg/incomplete +1 -1
  570. data/spec/fixtures/unit/provider/package/pkg/solaris11 +2 -2
  571. data/spec/fixtures/unit/provider/package/pkg/unknown_status +12 -12
  572. data/spec/fixtures/unit/provider/package/yum/yum-check-update-multiline.txt +201 -0
  573. data/spec/fixtures/unit/provider/package/yum/yum-check-update-simple.txt +12 -0
  574. data/spec/fixtures/unit/provider/parsedfile/simple.txt +3 -0
  575. data/spec/fixtures/unit/provider/service/openbsd/rcctl_getall +6 -0
  576. data/spec/fixtures/unit/ssl/certificate/old-style-cert-exts.pem +33 -0
  577. data/spec/fixtures/unit/ssl/certificate_request/old-style-cert-request.pem +28 -0
  578. data/spec/integration/agent/logging_spec.rb +1 -5
  579. data/spec/integration/application/apply_spec.rb +1 -1
  580. data/spec/integration/application/doc_spec.rb +1 -43
  581. data/spec/integration/configurer_spec.rb +5 -5
  582. data/spec/integration/data_binding.rb +4 -0
  583. data/spec/integration/defaults_spec.rb +42 -143
  584. data/spec/integration/directory_environments_spec.rb +3 -3
  585. data/spec/integration/environments/default_manifest_spec.rb +3 -51
  586. data/spec/integration/environments/setting_hooks_spec.rb +1 -1
  587. data/spec/integration/environments/settings_interpolation_spec.rb +50 -105
  588. data/spec/integration/environments/settings_spec.rb +100 -0
  589. data/spec/integration/faces/ca_spec.rb +51 -51
  590. data/spec/integration/faces/documentation_spec.rb +6 -6
  591. data/spec/integration/file_bucket/file_spec.rb +5 -16
  592. data/spec/integration/file_serving/fileset_spec.rb +1 -1
  593. data/spec/integration/file_serving/terminus_helper_spec.rb +1 -1
  594. data/spec/integration/indirector/catalog/compiler_spec.rb +6 -6
  595. data/spec/integration/indirector/direct_file_server_spec.rb +40 -12
  596. data/spec/integration/indirector/facts/facter_spec.rb +1 -1
  597. data/spec/integration/indirector/file_content/file_server_spec.rb +23 -21
  598. data/spec/integration/indirector/file_metadata/file_server_spec.rb +53 -0
  599. data/spec/integration/indirector/node/ldap_spec.rb +0 -0
  600. data/spec/integration/network/authconfig_spec.rb +26 -26
  601. data/spec/integration/network/formats_spec.rb +12 -12
  602. data/spec/integration/network/http/api/indirected_routes_spec.rb +56 -0
  603. data/spec/integration/node/environment_spec.rb +12 -15
  604. data/spec/integration/node/facts_spec.rb +3 -3
  605. data/spec/integration/node_spec.rb +8 -8
  606. data/spec/integration/parser/catalog_spec.rb +1 -32
  607. data/spec/integration/parser/class_spec.rb +0 -4
  608. data/spec/integration/parser/{collector_spec.rb → collection_spec.rb} +3 -27
  609. data/spec/integration/parser/compiler_spec.rb +769 -385
  610. data/spec/integration/parser/conditionals_spec.rb +2 -27
  611. data/spec/integration/parser/functions/require_spec.rb +8 -8
  612. data/spec/integration/parser/node_spec.rb +29 -42
  613. data/spec/integration/parser/resource_expressions_spec.rb +125 -210
  614. data/spec/integration/parser/scope_spec.rb +168 -319
  615. data/spec/integration/parser/undef_param_spec.rb +5 -5
  616. data/spec/integration/provider/cron/crontab_spec.rb +3 -3
  617. data/spec/integration/provider/mailalias/aliases_spec.rb +0 -0
  618. data/spec/integration/provider/mount_spec.rb +33 -28
  619. data/spec/integration/provider/package_spec.rb +3 -14
  620. data/spec/integration/provider/service/init_spec.rb +4 -4
  621. data/spec/integration/provider/service/systemd_spec.rb +3 -3
  622. data/spec/integration/provider/ssh_authorized_key_spec.rb +12 -12
  623. data/spec/integration/provider/sshkey_spec.rb +159 -0
  624. data/spec/integration/reference/providers_spec.rb +1 -1
  625. data/spec/integration/reports_spec.rb +1 -1
  626. data/spec/integration/resource/catalog_spec.rb +3 -3
  627. data/spec/integration/resource/type_collection_spec.rb +10 -25
  628. data/spec/integration/ssl/autosign_spec.rb +1 -1
  629. data/spec/integration/ssl/certificate_authority_spec.rb +8 -8
  630. data/spec/integration/ssl/certificate_request_spec.rb +2 -2
  631. data/spec/integration/ssl/certificate_revocation_list_spec.rb +0 -0
  632. data/spec/integration/ssl/host_spec.rb +7 -7
  633. data/spec/integration/transaction/report_spec.rb +0 -0
  634. data/spec/integration/transaction_spec.rb +86 -50
  635. data/spec/integration/type/exec_spec.rb +5 -5
  636. data/spec/integration/type/file_spec.rb +277 -280
  637. data/spec/integration/type/package_spec.rb +105 -6
  638. data/spec/integration/type/tidy_spec.rb +1 -1
  639. data/spec/integration/type/user_spec.rb +4 -4
  640. data/spec/integration/type_spec.rb +2 -2
  641. data/spec/integration/util/autoload_spec.rb +7 -12
  642. data/spec/integration/util/rdoc/parser_spec.rb +13 -99
  643. data/spec/integration/util/settings_spec.rb +1 -1
  644. data/spec/integration/util/windows/process_spec.rb +6 -6
  645. data/spec/integration/util/windows/security_spec.rb +79 -105
  646. data/spec/integration/util/windows/user_spec.rb +12 -12
  647. data/spec/integration/util_spec.rb +8 -8
  648. data/spec/lib/matchers/containment_matchers.rb +1 -1
  649. data/spec/lib/matchers/include.rb +3 -3
  650. data/spec/lib/matchers/include_in_order.rb +2 -2
  651. data/spec/lib/matchers/json.rb +5 -35
  652. data/spec/lib/matchers/match_tokens2.rb +1 -1
  653. data/spec/lib/matchers/relationship_graph_matchers.rb +1 -1
  654. data/spec/lib/matchers/resource.rb +8 -23
  655. data/spec/lib/puppet/face/1.0.0/huzzah.rb +2 -2
  656. data/spec/lib/puppet/face/basetest.rb +0 -0
  657. data/spec/lib/puppet/face/huzzah.rb +2 -2
  658. data/spec/lib/puppet/face/version_matching.rb +1 -1
  659. data/spec/lib/puppet/indirector_proxy.rb +34 -0
  660. data/spec/lib/puppet/indirector_testing.rb +1 -11
  661. data/spec/lib/puppet_spec/files.rb +1 -1
  662. data/spec/lib/puppet_spec/fixtures.rb +0 -0
  663. data/spec/lib/puppet_spec/handler.rb +53 -0
  664. data/spec/lib/puppet_spec/matchers.rb +12 -5
  665. data/spec/lib/puppet_spec/module_tool/shared_functions.rb +3 -3
  666. data/spec/lib/puppet_spec/modules.rb +11 -0
  667. data/spec/lib/puppet_spec/network.rb +101 -0
  668. data/spec/lib/puppet_spec/pops.rb +2 -2
  669. data/spec/lib/puppet_spec/settings.rb +17 -0
  670. data/spec/lib/puppet_spec/verbose.rb +0 -0
  671. data/spec/shared_behaviours/all_parsedfile_providers.rb +1 -1
  672. data/spec/shared_behaviours/an_indirector_face.rb +2 -2
  673. data/spec/shared_behaviours/documentation_on_faces.rb +46 -46
  674. data/spec/shared_behaviours/file_server_terminus.rb +1 -1
  675. data/spec/shared_behaviours/file_serving.rb +0 -0
  676. data/spec/shared_behaviours/hiera_indirections.rb +10 -10
  677. data/spec/shared_behaviours/iterative_functions.rb +1 -1
  678. data/spec/shared_behaviours/memory_terminus.rb +5 -5
  679. data/spec/shared_behaviours/path_parameters.rb +8 -8
  680. data/spec/shared_behaviours/store_configs_terminus.rb +3 -3
  681. data/spec/shared_behaviours/things_that_declare_options.rb +25 -25
  682. data/spec/shared_contexts/checksum.rb +62 -0
  683. data/spec/shared_contexts/{checksums.rb → digests.rb} +2 -2
  684. data/spec/spec_helper.rb +14 -5
  685. data/spec/unit/agent/disabler_spec.rb +3 -3
  686. data/spec/unit/agent/locker_spec.rb +9 -9
  687. data/spec/unit/agent_spec.rb +18 -18
  688. data/spec/unit/application/agent_spec.rb +25 -92
  689. data/spec/unit/application/apply_spec.rb +16 -16
  690. data/spec/unit/application/cert_spec.rb +15 -15
  691. data/spec/unit/application/certificate_spec.rb +2 -2
  692. data/spec/unit/application/config_spec.rb +1 -1
  693. data/spec/unit/application/describe_spec.rb +6 -6
  694. data/spec/unit/application/device_spec.rb +25 -63
  695. data/spec/unit/application/doc_spec.rb +22 -31
  696. data/spec/unit/application/face_base_spec.rb +88 -59
  697. data/spec/unit/application/facts_spec.rb +2 -11
  698. data/spec/unit/application/filebucket_spec.rb +7 -7
  699. data/spec/unit/application/indirection_base_spec.rb +0 -4
  700. data/spec/unit/application/inspect_spec.rb +21 -21
  701. data/spec/unit/application/master_spec.rb +8 -9
  702. data/spec/unit/application/resource_spec.rb +27 -79
  703. data/spec/unit/application_spec.rb +54 -58
  704. data/spec/unit/configurer/downloader_factory_spec.rb +0 -0
  705. data/spec/unit/configurer/downloader_spec.rb +26 -20
  706. data/spec/unit/configurer/fact_handler_spec.rb +19 -12
  707. data/spec/unit/configurer/plugin_handler_spec.rb +0 -0
  708. data/spec/unit/configurer_spec.rb +44 -44
  709. data/spec/unit/confine/exists_spec.rb +10 -10
  710. data/spec/unit/confine/false_spec.rb +7 -7
  711. data/spec/unit/confine/feature_spec.rb +7 -7
  712. data/spec/unit/confine/true_spec.rb +7 -7
  713. data/spec/unit/confine/variable_spec.rb +13 -13
  714. data/spec/unit/confine_collection_spec.rb +12 -12
  715. data/spec/unit/confine_spec.rb +10 -10
  716. data/spec/unit/confiner_spec.rb +8 -8
  717. data/spec/unit/context/trusted_information_spec.rb +9 -2
  718. data/spec/unit/daemon_spec.rb +10 -21
  719. data/spec/unit/data_binding_spec.rb +1 -1
  720. data/spec/unit/data_providers/function_data_provider_spec.rb +96 -0
  721. data/spec/unit/data_providers/sample_data_provider_spec.rb +52 -0
  722. data/spec/unit/defaults_spec.rb +6 -6
  723. data/spec/unit/environments_spec.rb +4 -6
  724. data/spec/unit/{util → external}/pson_spec.rb +15 -25
  725. data/spec/unit/face/catalog_spec.rb +0 -0
  726. data/spec/unit/face/certificate_spec.rb +19 -19
  727. data/spec/unit/face/config_spec.rb +2 -7
  728. data/spec/unit/face/epp_face_spec.rb +303 -0
  729. data/spec/unit/face/facts_spec.rb +1 -15
  730. data/spec/unit/face/file_spec.rb +3 -5
  731. data/spec/unit/face/help_spec.rb +17 -16
  732. data/spec/unit/face/module/build_spec.rb +2 -2
  733. data/spec/unit/face/module/list_spec.rb +11 -11
  734. data/spec/unit/face/module/search_spec.rb +17 -17
  735. data/spec/unit/face/node_spec.rb +4 -122
  736. data/spec/unit/face/parser_spec.rb +1 -1
  737. data/spec/unit/face/plugin_spec.rb +2 -2
  738. data/spec/unit/face_spec.rb +0 -0
  739. data/spec/unit/file_bucket/dipper_spec.rb +23 -23
  740. data/spec/unit/file_bucket/file_spec.rb +12 -28
  741. data/spec/unit/file_serving/base_spec.rb +26 -26
  742. data/spec/unit/file_serving/configuration/parser_spec.rb +10 -10
  743. data/spec/unit/file_serving/configuration_spec.rb +17 -17
  744. data/spec/unit/file_serving/content_spec.rb +19 -31
  745. data/spec/unit/file_serving/fileset_spec.rb +32 -33
  746. data/spec/unit/file_serving/metadata_spec.rb +115 -71
  747. data/spec/unit/file_serving/mount/file_spec.rb +15 -15
  748. data/spec/unit/file_serving/mount/modules_spec.rb +2 -2
  749. data/spec/unit/file_serving/mount/pluginfacts_spec.rb +5 -5
  750. data/spec/unit/file_serving/mount/plugins_spec.rb +5 -5
  751. data/spec/unit/file_serving/mount_spec.rb +5 -5
  752. data/spec/unit/file_serving/terminus_helper_spec.rb +19 -0
  753. data/spec/unit/file_serving/terminus_selector_spec.rb +6 -6
  754. data/spec/unit/file_system/uniquefile_spec.rb +2 -2
  755. data/spec/unit/file_system_spec.rb +79 -117
  756. data/spec/unit/forge/errors_spec.rb +8 -8
  757. data/spec/unit/forge/module_release_spec.rb +2 -4
  758. data/spec/unit/forge/repository_spec.rb +38 -44
  759. data/spec/unit/forge_spec.rb +1 -1
  760. data/spec/unit/functions/assert_type_spec.rb +1 -1
  761. data/spec/unit/functions/each_spec.rb +19 -23
  762. data/spec/unit/functions/epp_spec.rb +9 -17
  763. data/spec/unit/functions/filter_spec.rb +0 -22
  764. data/spec/unit/functions/hiera_spec.rb +18 -24
  765. data/spec/unit/functions/inline_epp_spec.rb +8 -16
  766. data/spec/unit/functions/lookup_spec.rb +324 -0
  767. data/spec/unit/functions/map_spec.rb +1 -7
  768. data/spec/unit/functions/reduce_spec.rb +0 -11
  769. data/spec/unit/functions/regsubst_spec.rb +94 -0
  770. data/spec/unit/functions/scanf_spec.rb +0 -4
  771. data/spec/unit/functions/slice_spec.rb +0 -12
  772. data/spec/unit/functions/split_spec.rb +46 -0
  773. data/spec/unit/functions/with_spec.rb +4 -13
  774. data/spec/unit/functions4_spec.rb +57 -162
  775. data/spec/unit/graph/rb_tree_map_spec.rb +78 -78
  776. data/spec/unit/graph/relationship_graph_spec.rb +17 -17
  777. data/spec/unit/graph/{simple_graph.rb → simple_graph_spec.rb} +122 -126
  778. data/spec/unit/hiera/scope_spec.rb +13 -12
  779. data/spec/unit/hiera_puppet_spec.rb +12 -12
  780. data/spec/unit/indirector/catalog/compiler_spec.rb +10 -15
  781. data/spec/unit/indirector/catalog/json_spec.rb +2 -2
  782. data/spec/unit/indirector/catalog/msgpack_spec.rb +2 -2
  783. data/spec/unit/indirector/catalog/rest_spec.rb +1 -1
  784. data/spec/unit/indirector/catalog/static_compiler_spec.rb +14 -14
  785. data/spec/unit/indirector/catalog/store_configs_spec.rb +0 -0
  786. data/spec/unit/indirector/catalog/yaml_spec.rb +4 -4
  787. data/spec/unit/indirector/certificate/ca_spec.rb +3 -3
  788. data/spec/unit/indirector/certificate/disabled_ca_spec.rb +0 -0
  789. data/spec/unit/indirector/certificate/file_spec.rb +3 -3
  790. data/spec/unit/indirector/certificate/rest_spec.rb +6 -6
  791. data/spec/unit/indirector/certificate_request/ca_spec.rb +8 -8
  792. data/spec/unit/indirector/certificate_request/disabled_ca_spec.rb +0 -0
  793. data/spec/unit/indirector/certificate_request/file_spec.rb +2 -2
  794. data/spec/unit/indirector/certificate_request/rest_spec.rb +4 -4
  795. data/spec/unit/indirector/certificate_revocation_list/ca_spec.rb +2 -2
  796. data/spec/unit/indirector/certificate_revocation_list/disabled_ca_spec.rb +0 -0
  797. data/spec/unit/indirector/certificate_revocation_list/file_spec.rb +2 -2
  798. data/spec/unit/indirector/certificate_revocation_list/rest_spec.rb +4 -4
  799. data/spec/unit/indirector/certificate_status/file_spec.rb +18 -18
  800. data/spec/unit/indirector/certificate_status/rest_spec.rb +2 -2
  801. data/spec/unit/indirector/code_spec.rb +3 -3
  802. data/spec/unit/indirector/data_binding/hiera_spec.rb +3 -3
  803. data/spec/unit/indirector/data_binding/none_spec.rb +5 -5
  804. data/spec/unit/indirector/direct_file_server_spec.rb +14 -4
  805. data/spec/unit/indirector/envelope_spec.rb +4 -4
  806. data/spec/unit/indirector/exec_spec.rb +4 -4
  807. data/spec/unit/indirector/face_spec.rb +13 -8
  808. data/spec/unit/indirector/facts/facter_spec.rb +10 -20
  809. data/spec/unit/indirector/facts/network_device_spec.rb +10 -20
  810. data/spec/unit/indirector/facts/store_configs_spec.rb +0 -0
  811. data/spec/unit/indirector/facts/yaml_spec.rb +6 -6
  812. data/spec/unit/indirector/file_bucket_file/file_spec.rb +34 -34
  813. data/spec/unit/indirector/file_bucket_file/rest_spec.rb +1 -1
  814. data/spec/unit/indirector/file_content/file_server_spec.rb +2 -2
  815. data/spec/unit/indirector/file_content/file_spec.rb +2 -2
  816. data/spec/unit/indirector/file_content/rest_spec.rb +1 -1
  817. data/spec/unit/indirector/file_metadata/file_server_spec.rb +2 -2
  818. data/spec/unit/indirector/file_metadata/file_spec.rb +13 -5
  819. data/spec/unit/indirector/file_metadata/rest_spec.rb +1 -1
  820. data/spec/unit/indirector/file_server_spec.rb +35 -17
  821. data/spec/unit/indirector/indirection_spec.rb +56 -56
  822. data/spec/unit/indirector/json_spec.rb +15 -16
  823. data/spec/unit/indirector/key/ca_spec.rb +3 -3
  824. data/spec/unit/indirector/key/disabled_ca_spec.rb +0 -0
  825. data/spec/unit/indirector/key/file_spec.rb +5 -5
  826. data/spec/unit/indirector/ldap_spec.rb +13 -13
  827. data/spec/unit/indirector/memory_spec.rb +0 -0
  828. data/spec/unit/indirector/msgpack_spec.rb +15 -15
  829. data/spec/unit/indirector/node/exec_spec.rb +20 -9
  830. data/spec/unit/indirector/node/ldap_spec.rb +48 -48
  831. data/spec/unit/indirector/node/memory_spec.rb +0 -0
  832. data/spec/unit/indirector/node/msgpack_spec.rb +4 -4
  833. data/spec/unit/indirector/node/plain_spec.rb +2 -2
  834. data/spec/unit/indirector/node/rest_spec.rb +0 -0
  835. data/spec/unit/indirector/node/store_configs_spec.rb +0 -0
  836. data/spec/unit/indirector/node/yaml_spec.rb +4 -4
  837. data/spec/unit/indirector/none_spec.rb +2 -2
  838. data/spec/unit/indirector/plain_spec.rb +1 -1
  839. data/spec/unit/indirector/report/msgpack_spec.rb +5 -5
  840. data/spec/unit/indirector/report/processor_spec.rb +4 -4
  841. data/spec/unit/indirector/report/rest_spec.rb +8 -8
  842. data/spec/unit/indirector/report/yaml_spec.rb +5 -5
  843. data/spec/unit/indirector/request_spec.rb +103 -206
  844. data/spec/unit/indirector/resource/ral_spec.rb +8 -10
  845. data/spec/unit/indirector/resource/store_configs_spec.rb +2 -4
  846. data/spec/unit/indirector/resource_type/parser_spec.rb +37 -37
  847. data/spec/unit/indirector/resource_type/rest_spec.rb +2 -2
  848. data/spec/unit/indirector/rest_spec.rb +70 -55
  849. data/spec/unit/indirector/ssl_file_spec.rb +13 -13
  850. data/spec/unit/indirector/status/rest_spec.rb +1 -1
  851. data/spec/unit/indirector/store_configs_spec.rb +0 -0
  852. data/spec/unit/indirector/terminus_spec.rb +17 -17
  853. data/spec/unit/indirector/yaml_spec.rb +12 -12
  854. data/spec/unit/indirector_spec.rb +7 -7
  855. data/spec/unit/interface/action_builder_spec.rb +15 -15
  856. data/spec/unit/interface/action_manager_spec.rb +31 -56
  857. data/spec/unit/interface/action_spec.rb +62 -65
  858. data/spec/unit/interface/documentation_spec.rb +2 -2
  859. data/spec/unit/interface/face_collection_spec.rb +33 -33
  860. data/spec/unit/interface/option_builder_spec.rb +8 -8
  861. data/spec/unit/interface/option_spec.rb +23 -23
  862. data/spec/unit/interface_spec.rb +19 -24
  863. data/spec/unit/man_spec.rb +0 -0
  864. data/spec/unit/module_spec.rb +163 -115
  865. data/spec/unit/module_tool/applications/builder_spec.rb +0 -19
  866. data/spec/unit/module_tool/applications/installer_spec.rb +29 -29
  867. data/spec/unit/module_tool/applications/searcher_spec.rb +4 -4
  868. data/spec/unit/module_tool/applications/uninstaller_spec.rb +15 -15
  869. data/spec/unit/module_tool/applications/unpacker_spec.rb +3 -3
  870. data/spec/unit/module_tool/applications/upgrader_spec.rb +28 -28
  871. data/spec/unit/module_tool/install_directory_spec.rb +3 -3
  872. data/spec/unit/module_tool/metadata_spec.rb +26 -26
  873. data/spec/unit/module_tool/tar/gnu_spec.rb +1 -1
  874. data/spec/unit/module_tool/tar/mini_spec.rb +2 -2
  875. data/spec/unit/module_tool/tar_spec.rb +2 -2
  876. data/spec/unit/module_tool_spec.rb +13 -34
  877. data/spec/unit/network/auth_config_parser_spec.rb +7 -7
  878. data/spec/unit/network/authconfig_spec.rb +9 -9
  879. data/spec/unit/network/authstore_spec.rb +38 -39
  880. data/spec/unit/network/format_handler_spec.rb +14 -14
  881. data/spec/unit/network/format_spec.rb +34 -34
  882. data/spec/unit/network/format_support_spec.rb +10 -10
  883. data/spec/unit/network/formats_spec.rb +50 -136
  884. data/spec/unit/network/http/api/ca/v1_spec.rb +26 -0
  885. data/spec/unit/network/http/api/{v1_spec.rb → indirected_routes_spec.rb} +128 -184
  886. data/spec/unit/network/http/api/{v2 → master/v3}/authorization_spec.rb +23 -21
  887. data/spec/unit/network/http/api/{v2 → master/v3}/environments_spec.rb +5 -5
  888. data/spec/unit/network/http/api/master/v3_spec.rb +39 -0
  889. data/spec/unit/network/http/api_spec.rb +127 -0
  890. data/spec/unit/network/http/compression_spec.rb +20 -26
  891. data/spec/unit/network/http/connection_spec.rb +2 -5
  892. data/spec/unit/network/http/factory_spec.rb +6 -8
  893. data/spec/unit/network/http/handler_spec.rb +31 -84
  894. data/spec/unit/network/http/nocache_pool_spec.rb +0 -0
  895. data/spec/unit/network/http/pool_spec.rb +0 -0
  896. data/spec/unit/network/http/rack/rest_spec.rb +38 -39
  897. data/spec/unit/network/http/rack_spec.rb +1 -1
  898. data/spec/unit/network/http/route_spec.rb +3 -3
  899. data/spec/unit/network/http/session_spec.rb +4 -4
  900. data/spec/unit/network/http/site_spec.rb +1 -1
  901. data/spec/unit/network/http/webrick/rest_spec.rb +36 -55
  902. data/spec/unit/network/http/webrick_spec.rb +16 -27
  903. data/spec/unit/network/http_pool_spec.rb +11 -11
  904. data/spec/unit/network/http_spec.rb +0 -0
  905. data/spec/unit/network/resolver_spec.rb +10 -10
  906. data/spec/unit/network/rights_spec.rb +67 -67
  907. data/spec/unit/network/server_spec.rb +3 -3
  908. data/spec/unit/node/environment_spec.rb +177 -273
  909. data/spec/unit/node/facts_spec.rb +71 -33
  910. data/spec/unit/node_spec.rb +150 -158
  911. data/spec/unit/other/selinux_spec.rb +6 -6
  912. data/spec/unit/parameter/boolean_spec.rb +4 -3
  913. data/spec/unit/parameter/package_options_spec.rb +5 -5
  914. data/spec/unit/parameter/path_spec.rb +1 -1
  915. data/spec/unit/parameter/value_collection_spec.rb +23 -28
  916. data/spec/unit/parameter/value_spec.rb +20 -24
  917. data/spec/unit/parameter_spec.rb +26 -26
  918. data/spec/unit/parser/ast/block_expression_spec.rb +3 -2
  919. data/spec/unit/parser/ast/leaf_spec.rb +5 -378
  920. data/spec/unit/parser/compiler_spec.rb +84 -74
  921. data/spec/unit/parser/files_spec.rb +55 -121
  922. data/spec/unit/parser/functions/contain_spec.rb +8 -11
  923. data/spec/unit/parser/functions/create_resources_spec.rb +29 -29
  924. data/spec/unit/parser/functions/defined_spec.rb +52 -51
  925. data/spec/unit/parser/functions/digest_spec.rb +2 -2
  926. data/spec/unit/parser/functions/fail_spec.rb +1 -1
  927. data/spec/unit/parser/functions/file_spec.rb +7 -13
  928. data/spec/unit/parser/functions/fqdn_rand_spec.rb +5 -5
  929. data/spec/unit/parser/functions/generate_spec.rb +20 -20
  930. data/spec/unit/parser/functions/hiera_array_spec.rb +2 -16
  931. data/spec/unit/parser/functions/hiera_hash_spec.rb +2 -12
  932. data/spec/unit/parser/functions/hiera_include_spec.rb +2 -29
  933. data/spec/unit/parser/functions/hiera_spec.rb +2 -12
  934. data/spec/unit/parser/functions/include_spec.rb +9 -19
  935. data/spec/unit/parser/functions/inline_template_spec.rb +3 -3
  936. data/spec/unit/parser/functions/lookup_spec.rb +3 -140
  937. data/spec/unit/parser/functions/realize_spec.rb +0 -0
  938. data/spec/unit/parser/functions/regsubst_spec.rb +7 -179
  939. data/spec/unit/parser/functions/require_spec.rb +14 -21
  940. data/spec/unit/parser/functions/scanf_spec.rb +0 -0
  941. data/spec/unit/parser/functions/shellquote_spec.rb +20 -20
  942. data/spec/unit/parser/functions/split_spec.rb +2 -37
  943. data/spec/unit/parser/functions/sprintf_spec.rb +7 -11
  944. data/spec/unit/parser/functions/tag_spec.rb +3 -3
  945. data/spec/unit/parser/functions/template_spec.rb +10 -10
  946. data/spec/unit/parser/functions/versioncmp_spec.rb +3 -3
  947. data/spec/unit/parser/functions_spec.rb +8 -8
  948. data/spec/unit/parser/relationship_spec.rb +14 -32
  949. data/spec/unit/parser/resource/param_spec.rb +0 -0
  950. data/spec/unit/parser/resource_spec.rb +57 -57
  951. data/spec/unit/parser/scope_spec.rb +89 -101
  952. data/spec/unit/parser/templatewrapper_spec.rb +15 -32
  953. data/spec/unit/parser/type_loader_spec.rb +53 -73
  954. data/spec/unit/pops/adaptable_spec.rb +22 -22
  955. data/spec/unit/pops/binder/bindings_checker_spec.rb +14 -14
  956. data/spec/unit/pops/binder/bindings_composer_spec.rb +4 -6
  957. data/spec/unit/pops/binder/bindings_validator_factory_spec.rb +3 -3
  958. data/spec/unit/pops/binder/config/binder_config_spec.rb +8 -1
  959. data/spec/unit/pops/binder/injector_spec.rb +92 -92
  960. data/spec/unit/pops/containment_spec.rb +4 -4
  961. data/spec/unit/pops/evaluator/access_ops_spec.rb +5 -24
  962. data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +23 -23
  963. data/spec/unit/pops/evaluator/basic_expressions_spec.rb +22 -22
  964. data/spec/unit/pops/evaluator/collections_ops_spec.rb +1 -3
  965. data/spec/unit/pops/evaluator/comparison_ops_spec.rb +104 -107
  966. data/spec/unit/pops/evaluator/conditionals_spec.rb +39 -39
  967. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +75 -143
  968. data/spec/unit/pops/evaluator/evaluator_rspec_helper.rb +1 -5
  969. data/spec/unit/pops/evaluator/logical_ops_spec.rb +15 -15
  970. data/spec/unit/pops/evaluator/string_interpolation_spec.rb +5 -5
  971. data/spec/unit/pops/evaluator/variables_spec.rb +18 -18
  972. data/spec/unit/pops/factory_rspec_helper.rb +0 -8
  973. data/spec/unit/pops/factory_spec.rb +104 -104
  974. data/spec/unit/pops/issues_spec.rb +21 -21
  975. data/spec/unit/pops/label_provider_spec.rb +6 -6
  976. data/spec/unit/pops/loaders/loaders_spec.rb +3 -3
  977. data/spec/unit/pops/model/model_spec.rb +10 -10
  978. data/spec/unit/pops/parser/epp_parser_spec.rb +20 -20
  979. data/spec/unit/pops/parser/evaluating_parser_spec.rb +2 -2
  980. data/spec/unit/pops/parser/lexer2_spec.rb +65 -276
  981. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +91 -91
  982. data/spec/unit/pops/parser/parse_calls_spec.rb +19 -19
  983. data/spec/unit/pops/parser/parse_conditionals_spec.rb +38 -22
  984. data/spec/unit/pops/parser/parse_containers_spec.rb +47 -47
  985. data/spec/unit/pops/parser/parse_heredoc_spec.rb +15 -62
  986. data/spec/unit/pops/parser/parse_resource_spec.rb +75 -70
  987. data/spec/unit/pops/parser/parser_rspec_helper.rb +0 -5
  988. data/spec/unit/pops/parser/parser_spec.rb +7 -7
  989. data/spec/unit/pops/parser/parsing_typed_parameters_spec.rb +0 -7
  990. data/spec/unit/pops/parser/rgen_sanitycheck_spec.rb +2 -2
  991. data/spec/unit/pops/types/class_loader_spec.rb +10 -0
  992. data/spec/unit/pops/types/type_calculator_spec.rb +456 -651
  993. data/spec/unit/pops/types/type_factory_spec.rb +59 -59
  994. data/spec/unit/pops/types/type_parser_spec.rb +2 -10
  995. data/spec/unit/pops/validator/validator_spec.rb +3 -57
  996. data/spec/unit/pops/visitor_spec.rb +4 -4
  997. data/spec/unit/property/boolean_spec.rb +2 -2
  998. data/spec/unit/property/ensure_spec.rb +1 -1
  999. data/spec/unit/property/keyvalue_spec.rb +16 -16
  1000. data/spec/unit/property/list_spec.rb +18 -18
  1001. data/spec/unit/property/ordered_list_spec.rb +7 -7
  1002. data/spec/unit/property_spec.rb +72 -96
  1003. data/spec/unit/provider/aixobject_spec.rb +12 -12
  1004. data/spec/unit/provider/augeas/augeas_spec.rb +171 -149
  1005. data/spec/unit/provider/cisco_spec.rb +2 -2
  1006. data/spec/unit/provider/command_spec.rb +1 -1
  1007. data/spec/unit/provider/cron/crontab_spec.rb +9 -9
  1008. data/spec/unit/provider/cron/parsed_spec.rb +59 -38
  1009. data/spec/unit/provider/exec/posix_spec.rb +9 -19
  1010. data/spec/unit/provider/exec/shell_spec.rb +13 -13
  1011. data/spec/unit/provider/exec/windows_spec.rb +10 -10
  1012. data/spec/unit/provider/exec_spec.rb +2 -2
  1013. data/spec/unit/provider/file/posix_spec.rb +27 -27
  1014. data/spec/unit/provider/file/windows_spec.rb +15 -15
  1015. data/spec/unit/provider/group/groupadd_spec.rb +1 -1
  1016. data/spec/unit/provider/group/ldap_spec.rb +11 -11
  1017. data/spec/unit/provider/group/pw_spec.rb +3 -3
  1018. data/spec/unit/provider/group/windows_adsi_spec.rb +48 -62
  1019. data/spec/unit/provider/host/parsed_spec.rb +58 -22
  1020. data/spec/unit/provider/interface/cisco_spec.rb +3 -3
  1021. data/spec/unit/provider/ldap_spec.rb +23 -23
  1022. data/spec/unit/provider/macauthorization_spec.rb +6 -6
  1023. data/spec/unit/provider/mcx/mcxcontent_spec.rb +6 -6
  1024. data/spec/unit/provider/mount/parsed_spec.rb +101 -119
  1025. data/spec/unit/provider/mount_spec.rb +0 -0
  1026. data/spec/unit/provider/naginator_spec.rb +8 -8
  1027. data/spec/unit/provider/nameservice/directoryservice_spec.rb +5 -27
  1028. data/spec/unit/provider/nameservice_spec.rb +26 -26
  1029. data/spec/unit/provider/network_device_spec.rb +11 -11
  1030. data/spec/unit/provider/package/aix_spec.rb +3 -3
  1031. data/spec/unit/provider/package/appdmg_spec.rb +1 -1
  1032. data/spec/unit/provider/package/apt_spec.rb +4 -4
  1033. data/spec/unit/provider/package/aptitude_spec.rb +1 -1
  1034. data/spec/unit/provider/package/aptrpm_spec.rb +3 -3
  1035. data/spec/unit/provider/package/dpkg_spec.rb +0 -0
  1036. data/spec/unit/provider/package/freebsd_spec.rb +1 -1
  1037. data/spec/unit/provider/package/gem_spec.rb +12 -12
  1038. data/spec/unit/provider/package/hpux_spec.rb +3 -3
  1039. data/spec/unit/provider/package/macports_spec.rb +15 -15
  1040. data/spec/unit/provider/package/nim_spec.rb +11 -11
  1041. data/spec/unit/provider/package/openbsd_spec.rb +72 -37
  1042. data/spec/unit/provider/package/opkg_spec.rb +14 -11
  1043. data/spec/unit/provider/package/pacman_spec.rb +185 -86
  1044. data/spec/unit/provider/package/pip_spec.rb +25 -54
  1045. data/spec/unit/provider/package/pkg_spec.rb +145 -71
  1046. data/spec/unit/provider/package/pkgdmg_spec.rb +9 -9
  1047. data/spec/unit/provider/package/pkgin_spec.rb +18 -18
  1048. data/spec/unit/provider/package/pkgutil_spec.rb +19 -19
  1049. data/spec/unit/provider/package/portage_spec.rb +8 -4
  1050. data/spec/unit/provider/package/rpm_spec.rb +103 -9
  1051. data/spec/unit/provider/package/sun_spec.rb +14 -14
  1052. data/spec/unit/provider/package/up2date_spec.rb +1 -1
  1053. data/spec/unit/provider/package/{urpmi.rb → urpmi_spec.rb} +3 -3
  1054. data/spec/unit/provider/package/windows/exe_package_spec.rb +15 -13
  1055. data/spec/unit/provider/package/windows/msi_package_spec.rb +16 -16
  1056. data/spec/unit/provider/package/windows/package_spec.rb +14 -14
  1057. data/spec/unit/provider/package/windows_spec.rb +26 -26
  1058. data/spec/unit/provider/package/yum_spec.rb +292 -98
  1059. data/spec/unit/provider/package/zypper_spec.rb +20 -31
  1060. data/spec/unit/provider/parsedfile_spec.rb +9 -9
  1061. data/spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb +192 -434
  1062. data/spec/unit/provider/selboolean_spec.rb +2 -2
  1063. data/spec/unit/provider/selmodule_spec.rb +8 -8
  1064. data/spec/unit/provider/service/base_spec.rb +27 -38
  1065. data/spec/unit/provider/service/daemontools_spec.rb +11 -11
  1066. data/spec/unit/provider/service/debian_spec.rb +8 -8
  1067. data/spec/unit/provider/service/freebsd_spec.rb +7 -8
  1068. data/spec/unit/provider/service/gentoo_spec.rb +12 -13
  1069. data/spec/unit/provider/service/init_spec.rb +25 -38
  1070. data/spec/unit/provider/service/launchd_spec.rb +19 -125
  1071. data/spec/unit/provider/service/openbsd_spec.rb +90 -144
  1072. data/spec/unit/provider/service/openrc_spec.rb +14 -14
  1073. data/spec/unit/provider/service/openwrt_spec.rb +9 -9
  1074. data/spec/unit/provider/service/redhat_spec.rb +14 -15
  1075. data/spec/unit/provider/service/runit_spec.rb +11 -11
  1076. data/spec/unit/provider/service/smf_spec.rb +19 -19
  1077. data/spec/unit/provider/service/src_spec.rb +9 -9
  1078. data/spec/unit/provider/service/systemd_spec.rb +33 -15
  1079. data/spec/unit/provider/service/upstart_spec.rb +59 -59
  1080. data/spec/unit/provider/service/windows_spec.rb +6 -6
  1081. data/spec/unit/provider/ssh_authorized_key/parsed_spec.rb +18 -18
  1082. data/spec/unit/provider/sshkey/parsed_spec.rb +11 -11
  1083. data/spec/unit/provider/user/aix_spec.rb +19 -19
  1084. data/spec/unit/provider/user/directoryservice_spec.rb +51 -95
  1085. data/spec/unit/provider/user/hpux_spec.rb +24 -3
  1086. data/spec/unit/provider/user/ldap_spec.rb +12 -12
  1087. data/spec/unit/provider/user/openbsd_spec.rb +77 -0
  1088. data/spec/unit/provider/user/pw_spec.rb +5 -5
  1089. data/spec/unit/provider/user/user_role_add_spec.rb +20 -20
  1090. data/spec/unit/provider/user/useradd_spec.rb +48 -32
  1091. data/spec/unit/provider/user/windows_adsi_spec.rb +9 -31
  1092. data/spec/unit/provider/vlan/cisco_spec.rb +3 -3
  1093. data/spec/unit/provider/yumrepo/inifile_spec.rb +3 -3
  1094. data/spec/unit/provider/zfs/zfs_spec.rb +11 -11
  1095. data/spec/unit/provider/zone/solaris_spec.rb +22 -55
  1096. data/spec/unit/provider/zpool/zpool_spec.rb +22 -22
  1097. data/spec/unit/provider_spec.rb +110 -102
  1098. data/spec/unit/puppet_spec.rb +15 -8
  1099. data/spec/unit/relationship_spec.rb +37 -41
  1100. data/spec/unit/reports/http_spec.rb +0 -0
  1101. data/spec/unit/reports/store_spec.rb +3 -3
  1102. data/spec/unit/reports_spec.rb +5 -5
  1103. data/spec/unit/resource/catalog_spec.rb +93 -111
  1104. data/spec/unit/resource/status_spec.rb +49 -75
  1105. data/spec/unit/resource/type_collection_helper_spec.rb +1 -1
  1106. data/spec/unit/resource/type_collection_spec.rb +59 -164
  1107. data/spec/unit/resource/type_spec.rb +115 -120
  1108. data/spec/unit/resource_spec.rb +176 -159
  1109. data/spec/unit/scheduler/job_spec.rb +12 -12
  1110. data/spec/unit/scheduler/scheduler_spec.rb +8 -8
  1111. data/spec/unit/scheduler/splay_job_spec.rb +4 -4
  1112. data/spec/unit/semver_spec.rb +66 -64
  1113. data/spec/unit/settings/autosign_setting_spec.rb +1 -0
  1114. data/spec/unit/settings/config_file_spec.rb +13 -40
  1115. data/spec/unit/settings/directory_setting_spec.rb +1 -1
  1116. data/spec/unit/settings/duration_setting_spec.rb +9 -5
  1117. data/spec/unit/settings/environment_conf_spec.rb +0 -11
  1118. data/spec/unit/settings/file_setting_spec.rb +38 -69
  1119. data/spec/unit/settings/ini_file_spec.rb +2 -2
  1120. data/spec/unit/settings/path_setting_spec.rb +5 -5
  1121. data/spec/unit/settings/priority_setting_spec.rb +7 -7
  1122. data/spec/unit/settings/string_setting_spec.rb +7 -7
  1123. data/spec/unit/settings/terminus_setting_spec.rb +4 -4
  1124. data/spec/unit/settings/value_translator_spec.rb +22 -22
  1125. data/spec/unit/settings_spec.rb +189 -338
  1126. data/spec/unit/ssl/base_spec.rb +5 -5
  1127. data/spec/unit/ssl/certificate_authority/autosign_command_spec.rb +2 -2
  1128. data/spec/unit/ssl/certificate_authority/interface_spec.rb +40 -13
  1129. data/spec/unit/ssl/certificate_authority_spec.rb +23 -23
  1130. data/spec/unit/ssl/certificate_factory_spec.rb +39 -26
  1131. data/spec/unit/ssl/certificate_request_attributes_spec.rb +2 -2
  1132. data/spec/unit/ssl/certificate_request_spec.rb +52 -40
  1133. data/spec/unit/ssl/certificate_revocation_list_spec.rb +10 -10
  1134. data/spec/unit/ssl/certificate_spec.rb +35 -38
  1135. data/spec/unit/ssl/configuration_spec.rb +12 -14
  1136. data/spec/unit/ssl/digest_spec.rb +5 -5
  1137. data/spec/unit/ssl/host_spec.rb +91 -91
  1138. data/spec/unit/ssl/inventory_spec.rb +11 -34
  1139. data/spec/unit/ssl/key_spec.rb +23 -23
  1140. data/spec/unit/ssl/oids_spec.rb +28 -15
  1141. data/spec/unit/ssl/validator_spec.rb +16 -17
  1142. data/spec/unit/status_spec.rb +6 -12
  1143. data/spec/unit/transaction/additional_resource_generator_spec.rb +2 -2
  1144. data/spec/unit/transaction/event_manager_spec.rb +38 -8
  1145. data/spec/unit/transaction/event_spec.rb +29 -29
  1146. data/spec/unit/transaction/report_spec.rb +76 -90
  1147. data/spec/unit/transaction/resource_harness_spec.rb +42 -42
  1148. data/spec/unit/transaction_spec.rb +66 -59
  1149. data/spec/unit/type/augeas_spec.rb +20 -20
  1150. data/spec/unit/type/component_spec.rb +10 -10
  1151. data/spec/unit/type/computer_spec.rb +10 -10
  1152. data/spec/unit/type/cron_spec.rb +21 -21
  1153. data/spec/unit/type/exec_spec.rb +65 -73
  1154. data/spec/unit/type/file/checksum_spec.rb +8 -8
  1155. data/spec/unit/type/file/content_spec.rb +144 -85
  1156. data/spec/unit/type/file/ctime_spec.rb +4 -4
  1157. data/spec/unit/type/file/ensure_spec.rb +11 -11
  1158. data/spec/unit/type/file/group_spec.rb +5 -5
  1159. data/spec/unit/type/file/mode_spec.rb +30 -28
  1160. data/spec/unit/type/file/mtime_spec.rb +4 -4
  1161. data/spec/unit/type/file/owner_spec.rb +5 -5
  1162. data/spec/unit/type/file/selinux_spec.rb +8 -8
  1163. data/spec/unit/type/file/source_spec.rb +118 -135
  1164. data/spec/unit/type/file/type_spec.rb +2 -2
  1165. data/spec/unit/type/file_spec.rb +161 -160
  1166. data/spec/unit/type/filebucket_spec.rb +8 -8
  1167. data/spec/unit/type/group_spec.rb +12 -12
  1168. data/spec/unit/type/host_spec.rb +41 -25
  1169. data/spec/unit/type/interface_spec.rb +6 -6
  1170. data/spec/unit/type/k5login_spec.rb +18 -18
  1171. data/spec/unit/type/macauthorization_spec.rb +17 -17
  1172. data/spec/unit/type/mailalias_spec.rb +34 -6
  1173. data/spec/unit/type/maillist_spec.rb +2 -2
  1174. data/spec/unit/type/mcx_spec.rb +13 -13
  1175. data/spec/unit/type/mount_spec.rb +40 -40
  1176. data/spec/unit/type/nagios_spec.rb +23 -23
  1177. data/spec/unit/type/noop_metaparam_spec.rb +5 -5
  1178. data/spec/unit/type/package/package_settings_spec.rb +9 -9
  1179. data/spec/unit/type/package_spec.rb +87 -18
  1180. data/spec/unit/type/resources_spec.rb +46 -46
  1181. data/spec/unit/type/schedule_spec.rb +83 -83
  1182. data/spec/unit/type/scheduled_task_spec.rb +15 -15
  1183. data/spec/unit/type/selboolean_spec.rb +2 -2
  1184. data/spec/unit/type/selmodule_spec.rb +2 -2
  1185. data/spec/unit/type/service_spec.rb +24 -24
  1186. data/spec/unit/type/ssh_authorized_key_spec.rb +2 -2
  1187. data/spec/unit/type/sshkey_spec.rb +0 -0
  1188. data/spec/unit/type/stage_spec.rb +1 -1
  1189. data/spec/unit/type/tidy_spec.rb +58 -39
  1190. data/spec/unit/type/user_spec.rb +56 -56
  1191. data/spec/unit/type/vlan_spec.rb +6 -6
  1192. data/spec/unit/type/whit_spec.rb +1 -1
  1193. data/spec/unit/type/yumrepo_spec.rb +15 -0
  1194. data/spec/unit/type/zfs_spec.rb +3 -3
  1195. data/spec/unit/type/zone_spec.rb +19 -19
  1196. data/spec/unit/type/zpool_spec.rb +15 -15
  1197. data/spec/unit/type_spec.rb +236 -163
  1198. data/spec/unit/util/autoload_spec.rb +31 -25
  1199. data/spec/unit/util/backups_spec.rb +4 -4
  1200. data/spec/unit/util/checksums_spec.rb +55 -27
  1201. data/spec/unit/util/colors_spec.rb +6 -50
  1202. data/spec/unit/util/command_line_spec.rb +13 -41
  1203. data/spec/unit/util/command_line_utils/puppet_option_parser_spec.rb +2 -2
  1204. data/spec/unit/util/constant_inflector_spec.rb +12 -12
  1205. data/spec/unit/util/diff_spec.rb +4 -4
  1206. data/spec/unit/util/errors_spec.rb +5 -5
  1207. data/spec/unit/util/execution_spec.rb +74 -29
  1208. data/spec/unit/util/execution_stub_spec.rb +10 -10
  1209. data/spec/unit/util/feature_spec.rb +15 -19
  1210. data/spec/unit/util/filetype_spec.rb +9 -9
  1211. data/spec/unit/util/http_proxy_spec.rb +18 -18
  1212. data/spec/unit/util/inifile_spec.rb +2 -2
  1213. data/spec/unit/util/json_lockfile_spec.rb +1 -1
  1214. data/spec/unit/util/ldap/connection_spec.rb +6 -6
  1215. data/spec/unit/util/ldap/generator_spec.rb +8 -8
  1216. data/spec/unit/util/ldap/manager_spec.rb +40 -40
  1217. data/spec/unit/util/lockfile_spec.rb +13 -13
  1218. data/spec/unit/util/log/destinations_spec.rb +52 -49
  1219. data/spec/unit/util/log_spec.rb +48 -173
  1220. data/spec/unit/util/logging_spec.rb +120 -3
  1221. data/spec/unit/util/metric_spec.rb +18 -33
  1222. data/spec/unit/util/monkey_patches_spec.rb +18 -139
  1223. data/spec/unit/util/nagios_maker_spec.rb +2 -2
  1224. data/spec/unit/util/network_device/cisco/device_spec.rb +23 -23
  1225. data/spec/unit/util/network_device/cisco/facts_spec.rb +3 -3
  1226. data/spec/unit/util/network_device/cisco/interface_spec.rb +0 -0
  1227. data/spec/unit/util/network_device/config_spec.rb +10 -16
  1228. data/spec/unit/util/network_device/ipcalc_spec.rb +10 -10
  1229. data/spec/unit/util/network_device/transport/base_spec.rb +2 -2
  1230. data/spec/unit/util/network_device/transport/ssh_spec.rb +10 -10
  1231. data/spec/unit/util/network_device/transport/telnet_spec.rb +3 -3
  1232. data/spec/unit/util/network_device_spec.rb +2 -2
  1233. data/spec/unit/util/package_spec.rb +2 -2
  1234. data/spec/unit/util/pidlock_spec.rb +38 -38
  1235. data/spec/unit/util/posix_spec.rb +25 -25
  1236. data/spec/unit/util/profiler/aggregate_spec.rb +14 -18
  1237. data/spec/unit/util/profiler/around_profiler_spec.rb +6 -6
  1238. data/spec/unit/util/profiler/logging_spec.rb +8 -8
  1239. data/spec/unit/util/profiler/object_counts_spec.rb +3 -5
  1240. data/spec/unit/util/profiler/wall_clock_spec.rb +1 -1
  1241. data/spec/unit/util/profiler_spec.rb +6 -14
  1242. data/spec/unit/util/rdoc_spec.rb +0 -85
  1243. data/spec/unit/util/reference_spec.rb +1 -1
  1244. data/spec/unit/util/resource_template_spec.rb +2 -2
  1245. data/spec/unit/util/{retryaction_spec.rb → retry_action_spec.rb} +25 -2
  1246. data/spec/unit/util/rubygems_spec.rb +8 -8
  1247. data/spec/unit/util/run_mode_spec.rb +159 -17
  1248. data/spec/unit/util/selinux_spec.rb +61 -39
  1249. data/spec/unit/util/ssl_spec.rb +13 -13
  1250. data/spec/unit/util/storage_spec.rb +27 -27
  1251. data/spec/unit/util/suidmanager_spec.rb +56 -67
  1252. data/spec/unit/util/symbolic_file_mode_spec.rb +15 -16
  1253. data/spec/unit/util/tag_set_spec.rb +5 -5
  1254. data/spec/unit/util/tagging_spec.rb +0 -0
  1255. data/spec/unit/util/terminal_spec.rb +5 -5
  1256. data/spec/unit/util/user_attr_spec.rb +6 -6
  1257. data/spec/unit/util/warnings_spec.rb +9 -1
  1258. data/spec/unit/util/watcher_spec.rb +1 -1
  1259. data/spec/unit/util/windows/access_control_entry_spec.rb +9 -9
  1260. data/spec/unit/util/windows/access_control_list_spec.rb +21 -21
  1261. data/spec/unit/util/windows/adsi_spec.rb +71 -209
  1262. data/spec/unit/util/windows/api_types_spec.rb +3 -3
  1263. data/spec/unit/util/windows/registry_spec.rb +71 -46
  1264. data/spec/unit/util/windows/root_certs_spec.rb +1 -1
  1265. data/spec/unit/util/windows/security_descriptor_spec.rb +18 -18
  1266. data/spec/unit/util/windows/sid_spec.rb +40 -20
  1267. data/spec/unit/util/windows/string_spec.rb +4 -4
  1268. data/spec/unit/util/yaml_spec.rb +1 -1
  1269. data/spec/unit/util_spec.rb +73 -124
  1270. data/spec/unit/version_spec.rb +4 -4
  1271. data/spec/watchr.rb +1 -5
  1272. data/tasks/benchmark.rake +1 -6
  1273. data/tasks/ci.rake +1 -1
  1274. data/tasks/manpages.rake +0 -9
  1275. data/tasks/parallel.rake +4 -7
  1276. data/tasks/parser.rake +0 -5
  1277. metadata +179 -465
  1278. data/conf/tagmail.conf +0 -16
  1279. data/ext/debian/puppet.conf +0 -14
  1280. data/ext/debian/puppetmaster-common.puppetqd.default +0 -27
  1281. data/ext/debian/puppetmaster-common.puppetqd.init +0 -84
  1282. data/ext/gentoo/puppet/puppet.conf +0 -25
  1283. data/ext/ips/puppet.conf +0 -29
  1284. data/ext/nagios/naggen +0 -309
  1285. data/ext/puppet-load.rb +0 -393
  1286. data/ext/redhat/puppet.conf +0 -25
  1287. data/ext/redhat/queue.init +0 -105
  1288. data/lib/hiera/backend/puppet_backend.rb +0 -103
  1289. data/lib/puppet/application/instrumentation_data.rb +0 -7
  1290. data/lib/puppet/application/instrumentation_listener.rb +0 -7
  1291. data/lib/puppet/application/instrumentation_probe.rb +0 -7
  1292. data/lib/puppet/application/kick.rb +0 -351
  1293. data/lib/puppet/application/queue.rb +0 -161
  1294. data/lib/puppet/application/secret_agent.rb +0 -9
  1295. data/lib/puppet/dsl.rb +0 -7
  1296. data/lib/puppet/dsl/resource_api.rb +0 -120
  1297. data/lib/puppet/dsl/resource_type_api.rb +0 -34
  1298. data/lib/puppet/face/instrumentation_data.rb +0 -30
  1299. data/lib/puppet/face/instrumentation_listener.rb +0 -98
  1300. data/lib/puppet/face/instrumentation_probe.rb +0 -79
  1301. data/lib/puppet/face/secret_agent.rb +0 -54
  1302. data/lib/puppet/feature/pson.rb +0 -4
  1303. data/lib/puppet/feature/rails.rb +0 -47
  1304. data/lib/puppet/feature/rdoc1.rb +0 -16
  1305. data/lib/puppet/feature/rubygems.rb +0 -7
  1306. data/lib/puppet/feature/stomp.rb +0 -5
  1307. data/lib/puppet/file_collection.rb +0 -19
  1308. data/lib/puppet/file_collection/lookup.rb +0 -10
  1309. data/lib/puppet/file_system/file18.rb +0 -5
  1310. data/lib/puppet/functions/defined.rb +0 -130
  1311. data/lib/puppet/indirector/active_record.rb +0 -29
  1312. data/lib/puppet/indirector/catalog/active_record.rb +0 -39
  1313. data/lib/puppet/indirector/catalog/queue.rb +0 -9
  1314. data/lib/puppet/indirector/couch.rb +0 -78
  1315. data/lib/puppet/indirector/facts/active_record.rb +0 -44
  1316. data/lib/puppet/indirector/facts/couch.rb +0 -36
  1317. data/lib/puppet/indirector/facts/inventory_active_record.rb +0 -110
  1318. data/lib/puppet/indirector/facts/inventory_service.rb +0 -20
  1319. data/lib/puppet/indirector/facts/rest.rb +0 -8
  1320. data/lib/puppet/indirector/instrumentation_data.rb +0 -3
  1321. data/lib/puppet/indirector/instrumentation_data/local.rb +0 -22
  1322. data/lib/puppet/indirector/instrumentation_data/rest.rb +0 -8
  1323. data/lib/puppet/indirector/instrumentation_listener.rb +0 -3
  1324. data/lib/puppet/indirector/instrumentation_listener/local.rb +0 -26
  1325. data/lib/puppet/indirector/instrumentation_listener/rest.rb +0 -8
  1326. data/lib/puppet/indirector/instrumentation_probe.rb +0 -3
  1327. data/lib/puppet/indirector/instrumentation_probe/local.rb +0 -27
  1328. data/lib/puppet/indirector/instrumentation_probe/rest.rb +0 -8
  1329. data/lib/puppet/indirector/node/active_record.rb +0 -22
  1330. data/lib/puppet/indirector/queue.rb +0 -80
  1331. data/lib/puppet/indirector/resource/active_record.rb +0 -104
  1332. data/lib/puppet/indirector/resource/rest.rb +0 -17
  1333. data/lib/puppet/indirector/run/local.rb +0 -15
  1334. data/lib/puppet/indirector/run/rest.rb +0 -12
  1335. data/lib/puppet/module_tool/modulefile.rb +0 -78
  1336. data/lib/puppet/network/authentication.rb +0 -35
  1337. data/lib/puppet/network/http/api/v2.rb +0 -32
  1338. data/lib/puppet/network/http/api/v2/authorization.rb +0 -15
  1339. data/lib/puppet/parser/ast/arithmetic_operator.rb +0 -91
  1340. data/lib/puppet/parser/ast/astarray.rb +0 -50
  1341. data/lib/puppet/parser/ast/asthash.rb +0 -37
  1342. data/lib/puppet/parser/ast/boolean_operator.rb +0 -46
  1343. data/lib/puppet/parser/ast/caseopt.rb +0 -52
  1344. data/lib/puppet/parser/ast/casestatement.rb +0 -41
  1345. data/lib/puppet/parser/ast/collection.rb +0 -53
  1346. data/lib/puppet/parser/ast/collexpr.rb +0 -109
  1347. data/lib/puppet/parser/ast/comparison_operator.rb +0 -38
  1348. data/lib/puppet/parser/ast/definition.rb +0 -17
  1349. data/lib/puppet/parser/ast/else.rb +0 -22
  1350. data/lib/puppet/parser/ast/function.rb +0 -59
  1351. data/lib/puppet/parser/ast/ifstatement.rb +0 -34
  1352. data/lib/puppet/parser/ast/in_operator.rb +0 -24
  1353. data/lib/puppet/parser/ast/lambda.rb +0 -135
  1354. data/lib/puppet/parser/ast/match_operator.rb +0 -28
  1355. data/lib/puppet/parser/ast/method_call.rb +0 -77
  1356. data/lib/puppet/parser/ast/minus.rb +0 -23
  1357. data/lib/puppet/parser/ast/nop.rb +0 -11
  1358. data/lib/puppet/parser/ast/not.rb +0 -19
  1359. data/lib/puppet/parser/ast/relationship.rb +0 -47
  1360. data/lib/puppet/parser/ast/resource_defaults.rb +0 -24
  1361. data/lib/puppet/parser/ast/resource_override.rb +0 -62
  1362. data/lib/puppet/parser/ast/resource_reference.rb +0 -28
  1363. data/lib/puppet/parser/ast/selector.rb +0 -50
  1364. data/lib/puppet/parser/ast/vardef.rb +0 -38
  1365. data/lib/puppet/parser/code_merger.rb +0 -13
  1366. data/lib/puppet/parser/collector.rb +0 -177
  1367. data/lib/puppet/parser/functions/extlookup.rb +0 -153
  1368. data/lib/puppet/parser/functions/search.rb +0 -12
  1369. data/lib/puppet/parser/grammar.ra +0 -806
  1370. data/lib/puppet/parser/lexer.rb +0 -608
  1371. data/lib/puppet/parser/makefile +0 -8
  1372. data/lib/puppet/parser/methods.rb +0 -69
  1373. data/lib/puppet/parser/parser.rb +0 -2559
  1374. data/lib/puppet/parser/parser_support.rb +0 -195
  1375. data/lib/puppet/pops/binder/lookup.rb +0 -216
  1376. data/lib/puppet/pops/migration/migration_checker.rb +0 -45
  1377. data/lib/puppet/pops/model/ast_tree_dumper.rb +0 -386
  1378. data/lib/puppet/provider/package/msi.rb +0 -125
  1379. data/lib/puppet/provider/package/yumhelper.py +0 -159
  1380. data/lib/puppet/rails.rb +0 -139
  1381. data/lib/puppet/rails/benchmark.rb +0 -63
  1382. data/lib/puppet/rails/database/001_add_created_at_to_all_tables.rb +0 -13
  1383. data/lib/puppet/rails/database/002_remove_duplicated_index_on_all_tables.rb +0 -13
  1384. data/lib/puppet/rails/database/003_add_environment_to_host.rb +0 -9
  1385. data/lib/puppet/rails/database/004_add_inventory_service_tables.rb +0 -36
  1386. data/lib/puppet/rails/database/schema.rb +0 -136
  1387. data/lib/puppet/rails/fact_name.rb +0 -7
  1388. data/lib/puppet/rails/fact_value.rb +0 -10
  1389. data/lib/puppet/rails/host.rb +0 -258
  1390. data/lib/puppet/rails/inventory_fact.rb +0 -5
  1391. data/lib/puppet/rails/inventory_node.rb +0 -43
  1392. data/lib/puppet/rails/param_name.rb +0 -25
  1393. data/lib/puppet/rails/param_value.rb +0 -74
  1394. data/lib/puppet/rails/puppet_tag.rb +0 -10
  1395. data/lib/puppet/rails/resource.rb +0 -235
  1396. data/lib/puppet/rails/resource_tag.rb +0 -26
  1397. data/lib/puppet/rails/source_file.rb +0 -8
  1398. data/lib/puppet/reports/rrdgraph.rb +0 -128
  1399. data/lib/puppet/reports/tagmail.rb +0 -179
  1400. data/lib/puppet/run.rb +0 -109
  1401. data/lib/puppet/util/cacher.rb +0 -74
  1402. data/lib/puppet/util/inline_docs.rb +0 -26
  1403. data/lib/puppet/util/instrumentation.rb +0 -152
  1404. data/lib/puppet/util/instrumentation/data.rb +0 -46
  1405. data/lib/puppet/util/instrumentation/indirection_probe.rb +0 -41
  1406. data/lib/puppet/util/instrumentation/instrumentable.rb +0 -136
  1407. data/lib/puppet/util/instrumentation/listener.rb +0 -72
  1408. data/lib/puppet/util/instrumentation/listeners/log.rb +0 -23
  1409. data/lib/puppet/util/instrumentation/listeners/performance.rb +0 -24
  1410. data/lib/puppet/util/log/rate_limited_logger.rb +0 -40
  1411. data/lib/puppet/util/monkey_patches/lines.rb +0 -13
  1412. data/lib/puppet/util/plugins.rb +0 -82
  1413. data/lib/puppet/util/pson.rb +0 -13
  1414. data/lib/puppet/util/queue.rb +0 -96
  1415. data/lib/puppet/util/queue/stomp.rb +0 -60
  1416. data/lib/puppet/util/rails/cache_accumulator.rb +0 -65
  1417. data/lib/puppet/util/rails/collection_merger.rb +0 -17
  1418. data/lib/puppet/util/rails/reference_serializer.rb +0 -32
  1419. data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc1.rb +0 -19
  1420. data/lib/puppet/util/retryaction.rb +0 -47
  1421. data/lib/puppet/util/zaml.rb +0 -419
  1422. data/lib/puppet/vendor/load_safe_yaml.rb +0 -1
  1423. data/lib/puppet/vendor/safe_yaml/CHANGES.md +0 -104
  1424. data/lib/puppet/vendor/safe_yaml/Gemfile +0 -11
  1425. data/lib/puppet/vendor/safe_yaml/LICENSE.txt +0 -22
  1426. data/lib/puppet/vendor/safe_yaml/PUPPET_README.md +0 -6
  1427. data/lib/puppet/vendor/safe_yaml/README.md +0 -179
  1428. data/lib/puppet/vendor/safe_yaml/Rakefile +0 -6
  1429. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml.rb +0 -253
  1430. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/deep.rb +0 -34
  1431. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/parse/date.rb +0 -27
  1432. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/parse/hexadecimal.rb +0 -12
  1433. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/parse/sexagesimal.rb +0 -26
  1434. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/psych_handler.rb +0 -92
  1435. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/psych_resolver.rb +0 -52
  1436. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/resolver.rb +0 -94
  1437. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/safe_to_ruby_visitor.rb +0 -17
  1438. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/syck_hack.rb +0 -36
  1439. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/syck_node_monkeypatch.rb +0 -43
  1440. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/syck_resolver.rb +0 -38
  1441. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform.rb +0 -41
  1442. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_boolean.rb +0 -21
  1443. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_date.rb +0 -11
  1444. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_float.rb +0 -33
  1445. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_integer.rb +0 -25
  1446. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_nil.rb +0 -18
  1447. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_symbol.rb +0 -13
  1448. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/transformation_map.rb +0 -47
  1449. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/version.rb +0 -3
  1450. data/lib/puppet/vendor/safe_yaml/run_specs_all_ruby_versions.sh +0 -21
  1451. data/lib/puppet/vendor/safe_yaml/safe_yaml.gemspec +0 -18
  1452. data/lib/puppet/vendor/safe_yaml/spec/exploit.1.9.2.yaml +0 -2
  1453. data/lib/puppet/vendor/safe_yaml/spec/exploit.1.9.3.yaml +0 -2
  1454. data/lib/puppet/vendor/safe_yaml/spec/psych_resolver_spec.rb +0 -10
  1455. data/lib/puppet/vendor/safe_yaml/spec/resolver_specs.rb +0 -250
  1456. data/lib/puppet/vendor/safe_yaml/spec/safe_yaml_spec.rb +0 -702
  1457. data/lib/puppet/vendor/safe_yaml/spec/spec_helper.rb +0 -18
  1458. data/lib/puppet/vendor/safe_yaml/spec/support/exploitable_back_door.rb +0 -29
  1459. data/lib/puppet/vendor/safe_yaml/spec/syck_resolver_spec.rb +0 -10
  1460. data/lib/puppet/vendor/safe_yaml/spec/transform/base64_spec.rb +0 -11
  1461. data/lib/puppet/vendor/safe_yaml/spec/transform/to_date_spec.rb +0 -34
  1462. data/lib/puppet/vendor/safe_yaml/spec/transform/to_float_spec.rb +0 -42
  1463. data/lib/puppet/vendor/safe_yaml/spec/transform/to_integer_spec.rb +0 -59
  1464. data/lib/puppet/vendor/safe_yaml/spec/transform/to_symbol_spec.rb +0 -49
  1465. data/lib/puppet/vendor/safe_yaml_patches.rb +0 -9
  1466. data/lib/puppetx.rb +0 -89
  1467. data/man/man8/puppet-instrumentation_data.8 +0 -141
  1468. data/man/man8/puppet-instrumentation_listener.8 +0 -218
  1469. data/man/man8/puppet-instrumentation_probe.8 +0 -203
  1470. data/man/man8/puppet-kick.8 +0 -131
  1471. data/man/man8/puppet-queue.8 +0 -55
  1472. data/man/man8/puppet-secret_agent.8 +0 -70
  1473. data/spec/fixtures/module.tar.gz +0 -0
  1474. data/spec/fixtures/unit/provider/package/pkg/publisher +0 -2
  1475. data/spec/fixtures/unit/provider/package/pkg/simple +0 -2
  1476. data/spec/fixtures/yaml/report0.25.x.yaml +0 -64
  1477. data/spec/integration/indirector/catalog/queue_spec.rb +0 -55
  1478. data/spec/integration/module_tool/tar/mini_spec.rb +0 -28
  1479. data/spec/integration/parser/dynamic_scoping_spec.rb +0 -131
  1480. data/spec/integration/parser/future_compiler_spec.rb +0 -822
  1481. data/spec/integration/parser/parser_spec.rb +0 -207
  1482. data/spec/integration/parser/ruby_manifest_spec.rb +0 -119
  1483. data/spec/integration/type/sshkey_spec.rb +0 -22
  1484. data/spec/integration/util/feature_spec.rb +0 -53
  1485. data/spec/lib/puppet_spec/database.rb +0 -29
  1486. data/spec/monkey_patches/alias_should_to_must.rb +0 -21
  1487. data/spec/shared_contexts/platform.rb +0 -52
  1488. data/spec/unit/application/kick_spec.rb +0 -296
  1489. data/spec/unit/application/queue_spec.rb +0 -168
  1490. data/spec/unit/application/secret_agent_spec.rb +0 -34
  1491. data/spec/unit/dsl/resource_api_spec.rb +0 -180
  1492. data/spec/unit/dsl/resource_type_api_spec.rb +0 -53
  1493. data/spec/unit/face/instrumentation_data_spec.rb +0 -7
  1494. data/spec/unit/face/instrumentation_listener_spec.rb +0 -38
  1495. data/spec/unit/face/instrumentation_probe_spec.rb +0 -21
  1496. data/spec/unit/face/secret_agent_spec.rb +0 -27
  1497. data/spec/unit/functions/defined_spec.rb +0 -291
  1498. data/spec/unit/hiera/backend/puppet_backend_spec.rb +0 -148
  1499. data/spec/unit/indirector/active_record_spec.rb +0 -75
  1500. data/spec/unit/indirector/catalog/active_record_spec.rb +0 -107
  1501. data/spec/unit/indirector/catalog/queue_spec.rb +0 -19
  1502. data/spec/unit/indirector/facts/active_record_spec.rb +0 -113
  1503. data/spec/unit/indirector/facts/couch_spec.rb +0 -102
  1504. data/spec/unit/indirector/facts/inventory_active_record_spec.rb +0 -175
  1505. data/spec/unit/indirector/facts/inventory_service_spec.rb +0 -21
  1506. data/spec/unit/indirector/facts/rest_spec.rb +0 -10
  1507. data/spec/unit/indirector/instrumentation_data/local_spec.rb +0 -52
  1508. data/spec/unit/indirector/instrumentation_data/rest_spec.rb +0 -11
  1509. data/spec/unit/indirector/instrumentation_listener/local_spec.rb +0 -65
  1510. data/spec/unit/indirector/instrumentation_listener/rest_spec.rb +0 -11
  1511. data/spec/unit/indirector/instrumentation_probe/local_spec.rb +0 -65
  1512. data/spec/unit/indirector/instrumentation_probe/rest_spec.rb +0 -11
  1513. data/spec/unit/indirector/node/active_record_spec.rb +0 -48
  1514. data/spec/unit/indirector/queue_spec.rb +0 -115
  1515. data/spec/unit/indirector/resource/active_record_spec.rb +0 -166
  1516. data/spec/unit/indirector/resource/rest_spec.rb +0 -10
  1517. data/spec/unit/indirector/run/local_spec.rb +0 -21
  1518. data/spec/unit/indirector/run/rest_spec.rb +0 -10
  1519. data/spec/unit/network/authentication_spec.rb +0 -104
  1520. data/spec/unit/network/http/api/v2_spec.rb +0 -14
  1521. data/spec/unit/parser/ast/arithmetic_operator_spec.rb +0 -160
  1522. data/spec/unit/parser/ast/astarray_spec.rb +0 -56
  1523. data/spec/unit/parser/ast/asthash_spec.rb +0 -98
  1524. data/spec/unit/parser/ast/boolean_operator_spec.rb +0 -54
  1525. data/spec/unit/parser/ast/casestatement_spec.rb +0 -168
  1526. data/spec/unit/parser/ast/collection_spec.rb +0 -70
  1527. data/spec/unit/parser/ast/collexpr_spec.rb +0 -120
  1528. data/spec/unit/parser/ast/comparison_operator_spec.rb +0 -118
  1529. data/spec/unit/parser/ast/definition_spec.rb +0 -21
  1530. data/spec/unit/parser/ast/function_spec.rb +0 -92
  1531. data/spec/unit/parser/ast/hostclass_spec.rb +0 -72
  1532. data/spec/unit/parser/ast/ifstatement_spec.rb +0 -77
  1533. data/spec/unit/parser/ast/in_operator_spec.rb +0 -61
  1534. data/spec/unit/parser/ast/match_operator_spec.rb +0 -51
  1535. data/spec/unit/parser/ast/minus_spec.rb +0 -37
  1536. data/spec/unit/parser/ast/node_spec.rb +0 -30
  1537. data/spec/unit/parser/ast/nop_spec.rb +0 -19
  1538. data/spec/unit/parser/ast/not_spec.rb +0 -31
  1539. data/spec/unit/parser/ast/relationship_spec.rb +0 -87
  1540. data/spec/unit/parser/ast/resource_defaults_spec.rb +0 -21
  1541. data/spec/unit/parser/ast/resource_override_spec.rb +0 -50
  1542. data/spec/unit/parser/ast/resource_reference_spec.rb +0 -56
  1543. data/spec/unit/parser/ast/resource_spec.rb +0 -183
  1544. data/spec/unit/parser/ast/resourceparam_spec.rb +0 -51
  1545. data/spec/unit/parser/ast/selector_spec.rb +0 -88
  1546. data/spec/unit/parser/ast/vardef_spec.rb +0 -68
  1547. data/spec/unit/parser/ast_spec.rb +0 -76
  1548. data/spec/unit/parser/collector_spec.rb +0 -438
  1549. data/spec/unit/parser/functions/extlookup_spec.rb +0 -102
  1550. data/spec/unit/parser/functions/search_spec.rb +0 -28
  1551. data/spec/unit/parser/lexer_spec.rb +0 -877
  1552. data/spec/unit/parser/parser_spec.rb +0 -535
  1553. data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +0 -19
  1554. data/spec/unit/pops/migration_spec.rb +0 -180
  1555. data/spec/unit/pops/model/ast_transformer_spec.rb +0 -76
  1556. data/spec/unit/pops/transformer/transform_basic_expressions_spec.rb +0 -243
  1557. data/spec/unit/pops/transformer/transform_calls_spec.rb +0 -115
  1558. data/spec/unit/pops/transformer/transform_conditionals_spec.rb +0 -123
  1559. data/spec/unit/pops/transformer/transform_containers_spec.rb +0 -190
  1560. data/spec/unit/pops/transformer/transformer_rspec_helper.rb +0 -27
  1561. data/spec/unit/pops/validation_spec.rb +0 -66
  1562. data/spec/unit/provider/package/msi_spec.rb +0 -229
  1563. data/spec/unit/rails/host_spec.rb +0 -162
  1564. data/spec/unit/rails/param_value_spec.rb +0 -46
  1565. data/spec/unit/rails/resource_spec.rb +0 -115
  1566. data/spec/unit/rails_spec.rb +0 -244
  1567. data/spec/unit/reports/rrdgraph_spec.rb +0 -29
  1568. data/spec/unit/reports/tagmail_spec.rb +0 -218
  1569. data/spec/unit/run_spec.rb +0 -175
  1570. data/spec/unit/util/cache_accumulator_spec.rb +0 -74
  1571. data/spec/unit/util/cacher_spec.rb +0 -107
  1572. data/spec/unit/util/inline_docs_spec.rb +0 -31
  1573. data/spec/unit/util/instrumentation/data_spec.rb +0 -46
  1574. data/spec/unit/util/instrumentation/indirection_probe_spec.rb +0 -21
  1575. data/spec/unit/util/instrumentation/instrumentable_spec.rb +0 -186
  1576. data/spec/unit/util/instrumentation/listener_spec.rb +0 -101
  1577. data/spec/unit/util/instrumentation/listeners/log_spec.rb +0 -34
  1578. data/spec/unit/util/instrumentation/listeners/performance_spec.rb +0 -36
  1579. data/spec/unit/util/instrumentation_spec.rb +0 -181
  1580. data/spec/unit/util/log/rate_limited_logger_spec.rb +0 -51
  1581. data/spec/unit/util/monkey_patches/lines_spec.rb +0 -83
  1582. data/spec/unit/util/queue/stomp_spec.rb +0 -137
  1583. data/spec/unit/util/queue_spec.rb +0 -94
  1584. data/spec/unit/util/rdoc/parser_spec.rb +0 -608
  1585. data/spec/unit/util/reference_serializer_spec.rb +0 -51
  1586. 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
@@ -54,39 +54,13 @@ 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
- # An error that already contains location information in the message text
84
- class PreformattedError < Puppet::ParseErrorWithIssue
85
- end
86
-
87
57
  # An error class for when I don't know what happened. Automatically
88
58
  # prints a stack trace when in debug mode.
89
59
  class DevError < Puppet::Error
90
60
  include ExternalFileError
91
61
  end
62
+
63
+ class MissingCommand < Puppet::Error
64
+ end
65
+
92
66
  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