puppet 4.10.12-x86-mingw32 → 5.0.0-x86-mingw32

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

Potentially problematic release.


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

Files changed (1112) hide show
  1. data/CONTRIBUTING.md +32 -15
  2. data/Gemfile +31 -14
  3. data/MAINTAINERS +0 -5
  4. data/README.md +11 -11
  5. data/Rakefile +2 -1
  6. data/conf/auth.conf +21 -0
  7. data/conf/fileserver.conf +7 -12
  8. data/conf/hiera.yaml +11 -0
  9. data/ext/debian/puppet-common.install +0 -1
  10. data/ext/debian/puppet-common.manpages +0 -2
  11. data/ext/hiera/hiera.yaml +15 -0
  12. data/ext/logcheck/puppet +1 -1
  13. data/ext/project_data.yaml +4 -9
  14. data/ext/puppet-test +0 -24
  15. data/ext/rack/config.ru +2 -2
  16. data/ext/redhat/puppet.spec.erb +0 -3
  17. data/ext/windows/service/daemon.rb +8 -14
  18. data/install.rb +1 -1
  19. data/lib/hiera/puppet_function.rb +1 -1
  20. data/lib/puppet.rb +7 -5
  21. data/lib/puppet/agent.rb +29 -38
  22. data/lib/puppet/agent/disabler.rb +3 -3
  23. data/lib/puppet/agent/locker.rb +3 -3
  24. data/lib/puppet/application.rb +12 -29
  25. data/lib/puppet/application/agent.rb +20 -18
  26. data/lib/puppet/application/apply.rb +22 -18
  27. data/lib/puppet/application/cert.rb +2 -7
  28. data/lib/puppet/application/config.rb +0 -1
  29. data/lib/puppet/application/describe.rb +1 -1
  30. data/lib/puppet/application/device.rb +94 -76
  31. data/lib/puppet/application/doc.rb +6 -6
  32. data/lib/puppet/application/face_base.rb +8 -13
  33. data/lib/puppet/application/filebucket.rb +12 -29
  34. data/lib/puppet/application/help.rb +0 -1
  35. data/lib/puppet/application/lookup.rb +106 -101
  36. data/lib/puppet/application/master.rb +14 -22
  37. data/lib/puppet/application/resource.rb +13 -10
  38. data/lib/puppet/application_support.rb +1 -6
  39. data/lib/puppet/configurer.rb +33 -45
  40. data/lib/puppet/configurer/downloader.rb +2 -2
  41. data/lib/puppet/configurer/fact_handler.rb +13 -4
  42. data/lib/puppet/context.rb +5 -5
  43. data/lib/puppet/context/trusted_information.rb +1 -1
  44. data/lib/puppet/defaults.rb +18 -131
  45. data/lib/puppet/environments.rb +1 -1
  46. data/lib/puppet/error.rb +1 -1
  47. data/lib/puppet/external/nagios/grammar.ry +1 -1
  48. data/lib/puppet/external/nagios/parser.rb +1 -1
  49. data/lib/puppet/external/pson/common.rb +4 -0
  50. data/lib/puppet/face/ca.rb +49 -42
  51. data/lib/puppet/face/catalog.rb +1 -1
  52. data/lib/puppet/face/catalog/select.rb +4 -4
  53. data/lib/puppet/face/certificate.rb +20 -20
  54. data/lib/puppet/face/config.rb +9 -22
  55. data/lib/puppet/face/epp.rb +59 -61
  56. data/lib/puppet/face/facts.rb +4 -4
  57. data/lib/puppet/face/generate.rb +8 -8
  58. data/lib/puppet/face/help.rb +7 -7
  59. data/lib/puppet/face/key.rb +2 -2
  60. data/lib/puppet/face/man.rb +5 -5
  61. data/lib/puppet/face/module.rb +2 -2
  62. data/lib/puppet/face/module/build.rb +7 -7
  63. data/lib/puppet/face/module/changes.rb +6 -6
  64. data/lib/puppet/face/module/generate.rb +24 -24
  65. data/lib/puppet/face/module/install.rb +13 -9
  66. data/lib/puppet/face/module/list.rb +16 -12
  67. data/lib/puppet/face/module/search.rb +4 -4
  68. data/lib/puppet/face/module/uninstall.rb +13 -10
  69. data/lib/puppet/face/module/upgrade.rb +11 -7
  70. data/lib/puppet/face/node.rb +5 -5
  71. data/lib/puppet/face/node/clean.rb +8 -8
  72. data/lib/puppet/face/parser.rb +16 -16
  73. data/lib/puppet/face/plugin.rb +6 -6
  74. data/lib/puppet/face/report.rb +9 -9
  75. data/lib/puppet/face/resource.rb +12 -12
  76. data/lib/puppet/face/status.rb +4 -4
  77. data/lib/puppet/feature/base.rb +3 -2
  78. data/lib/puppet/feature/eventlog.rb +1 -1
  79. data/lib/puppet/file_bucket/dipper.rb +9 -9
  80. data/lib/puppet/file_bucket/file.rb +4 -17
  81. data/lib/puppet/file_serving/base.rb +3 -3
  82. data/lib/puppet/file_serving/configuration.rb +3 -3
  83. data/lib/puppet/file_serving/configuration/parser.rb +12 -12
  84. data/lib/puppet/file_serving/content.rb +1 -1
  85. data/lib/puppet/file_serving/fileset.rb +7 -5
  86. data/lib/puppet/file_serving/http_metadata.rb +1 -1
  87. data/lib/puppet/file_serving/metadata.rb +7 -7
  88. data/lib/puppet/file_serving/mount.rb +1 -1
  89. data/lib/puppet/file_serving/mount/file.rb +6 -6
  90. data/lib/puppet/file_serving/mount/modules.rb +1 -1
  91. data/lib/puppet/file_serving/terminus_selector.rb +1 -1
  92. data/lib/puppet/file_system/file_impl.rb +2 -2
  93. data/lib/puppet/file_system/memory_impl.rb +1 -1
  94. data/lib/puppet/file_system/path_pattern.rb +6 -6
  95. data/lib/puppet/file_system/uniquefile.rb +2 -2
  96. data/lib/puppet/file_system/windows.rb +3 -3
  97. data/lib/puppet/forge.rb +8 -14
  98. data/lib/puppet/forge/errors.rb +12 -12
  99. data/lib/puppet/forge/repository.rb +1 -1
  100. data/lib/puppet/functions.rb +17 -45
  101. data/lib/puppet/functions/annotate.rb +108 -0
  102. data/lib/puppet/functions/binary_file.rb +1 -1
  103. data/lib/puppet/functions/call.rb +42 -0
  104. data/lib/puppet/functions/defined.rb +4 -4
  105. data/lib/puppet/functions/dig.rb +1 -1
  106. data/lib/puppet/functions/each.rb +4 -10
  107. data/lib/puppet/functions/epp.rb +0 -3
  108. data/lib/puppet/functions/hiera_include.rb +1 -1
  109. data/lib/puppet/functions/hocon_data.rb +2 -2
  110. data/lib/puppet/functions/json_data.rb +1 -1
  111. data/lib/puppet/functions/lookup.rb +2 -2
  112. data/lib/puppet/functions/map.rb +3 -13
  113. data/lib/puppet/functions/match.rb +2 -2
  114. data/lib/puppet/functions/reduce.rb +0 -31
  115. data/lib/puppet/functions/require.rb +1 -1
  116. data/lib/puppet/functions/slice.rb +3 -3
  117. data/lib/puppet/functions/strftime.rb +10 -2
  118. data/lib/puppet/functions/unique.rb +132 -0
  119. data/lib/puppet/generate/models/type/property.rb +1 -1
  120. data/lib/puppet/generate/type.rb +12 -12
  121. data/lib/puppet/graph/relationship_graph.rb +4 -7
  122. data/lib/puppet/graph/simple_graph.rb +45 -66
  123. data/lib/puppet/indirector.rb +2 -2
  124. data/lib/puppet/indirector/catalog/compiler.rb +58 -44
  125. data/lib/puppet/indirector/catalog/json.rb +18 -0
  126. data/lib/puppet/indirector/certificate/disabled_ca.rb +1 -1
  127. data/lib/puppet/indirector/certificate_request/ca.rb +3 -3
  128. data/lib/puppet/indirector/certificate_request/disabled_ca.rb +1 -1
  129. data/lib/puppet/indirector/certificate_revocation_list/disabled_ca.rb +1 -1
  130. data/lib/puppet/indirector/certificate_status/file.rb +6 -6
  131. data/lib/puppet/indirector/exec.rb +2 -2
  132. data/lib/puppet/indirector/face.rb +18 -18
  133. data/lib/puppet/indirector/file_bucket_file/file.rb +10 -9
  134. data/lib/puppet/indirector/file_metadata/http.rb +1 -1
  135. data/lib/puppet/indirector/file_server.rb +10 -2
  136. data/lib/puppet/indirector/hiera.rb +5 -3
  137. data/lib/puppet/indirector/indirection.rb +16 -18
  138. data/lib/puppet/indirector/json.rb +11 -12
  139. data/lib/puppet/indirector/key/disabled_ca.rb +1 -1
  140. data/lib/puppet/indirector/key/file.rb +2 -2
  141. data/lib/puppet/indirector/ldap.rb +6 -5
  142. data/lib/puppet/indirector/memory.rb +1 -1
  143. data/lib/puppet/indirector/msgpack.rb +8 -7
  144. data/lib/puppet/indirector/node/exec.rb +8 -6
  145. data/lib/puppet/indirector/node/ldap.rb +9 -7
  146. data/lib/puppet/indirector/node/plain.rb +2 -1
  147. data/lib/puppet/indirector/node/write_only_yaml.rb +6 -1
  148. data/lib/puppet/indirector/node/yaml.rb +0 -9
  149. data/lib/puppet/indirector/report/processor.rb +2 -2
  150. data/lib/puppet/indirector/report/rest.rb +13 -0
  151. data/lib/puppet/indirector/request.rb +11 -23
  152. data/lib/puppet/indirector/resource/ral.rb +1 -1
  153. data/lib/puppet/indirector/resource/validator.rb +1 -1
  154. data/lib/puppet/indirector/rest.rb +28 -10
  155. data/lib/puppet/indirector/ssl_file.rb +9 -9
  156. data/lib/puppet/indirector/terminus.rb +3 -3
  157. data/lib/puppet/indirector/yaml.rb +5 -5
  158. data/lib/puppet/info_service/class_information_service.rb +4 -5
  159. data/lib/puppet/interface.rb +2 -7
  160. data/lib/puppet/interface/face_collection.rb +6 -1
  161. data/lib/puppet/module.rb +10 -35
  162. data/lib/puppet/module_tool.rb +7 -3
  163. data/lib/puppet/module_tool/applications/application.rb +8 -9
  164. data/lib/puppet/module_tool/applications/builder.rb +5 -6
  165. data/lib/puppet/module_tool/applications/checksummer.rb +2 -2
  166. data/lib/puppet/module_tool/applications/installer.rb +11 -10
  167. data/lib/puppet/module_tool/applications/searcher.rb +1 -1
  168. data/lib/puppet/module_tool/applications/uninstaller.rb +2 -1
  169. data/lib/puppet/module_tool/applications/unpacker.rb +3 -3
  170. data/lib/puppet/module_tool/applications/upgrader.rb +10 -9
  171. data/lib/puppet/module_tool/contents_description.rb +1 -1
  172. data/lib/puppet/module_tool/dependency.rb +0 -1
  173. data/lib/puppet/module_tool/errors/installer.rb +22 -22
  174. data/lib/puppet/module_tool/errors/shared.rb +44 -42
  175. data/lib/puppet/module_tool/errors/uninstaller.rb +13 -9
  176. data/lib/puppet/module_tool/errors/upgrader.rb +11 -11
  177. data/lib/puppet/module_tool/install_directory.rb +1 -1
  178. data/lib/puppet/module_tool/installed_modules.rb +3 -3
  179. data/lib/puppet/module_tool/local_tarball.rb +4 -4
  180. data/lib/puppet/module_tool/metadata.rb +16 -13
  181. data/lib/puppet/module_tool/shared_behaviors.rb +6 -6
  182. data/lib/puppet/module_tool/skeleton/templates/generator/Gemfile +1 -1
  183. data/lib/puppet/module_tool/skeleton/templates/generator/README.md.erb +10 -4
  184. data/lib/puppet/module_tool/skeleton/templates/generator/Rakefile +2 -2
  185. data/lib/puppet/module_tool/tar.rb +2 -1
  186. data/lib/puppet/module_tool/tar/mini.rb +4 -57
  187. data/lib/puppet/network/auth_config_parser.rb +12 -11
  188. data/lib/puppet/network/authconfig.rb +2 -2
  189. data/lib/puppet/network/authstore.rb +2 -2
  190. data/lib/puppet/network/format.rb +7 -7
  191. data/lib/puppet/network/format_handler.rb +12 -9
  192. data/lib/puppet/network/format_support.rb +11 -5
  193. data/lib/puppet/network/formats.rb +38 -27
  194. data/lib/puppet/network/http/api/indirected_routes.rb +72 -33
  195. data/lib/puppet/network/http/api/master/v3/environment.rb +33 -14
  196. data/lib/puppet/network/http/compression.rb +10 -7
  197. data/lib/puppet/network/http/connection.rb +19 -23
  198. data/lib/puppet/network/http/error.rb +14 -10
  199. data/lib/puppet/network/http/factory.rb +0 -12
  200. data/lib/puppet/network/http/handler.rb +8 -4
  201. data/lib/puppet/network/http/issues.rb +1 -0
  202. data/lib/puppet/network/http/pool.rb +1 -1
  203. data/lib/puppet/network/http/rack.rb +2 -2
  204. data/lib/puppet/network/http/rack/rest.rb +1 -1
  205. data/lib/puppet/network/http/request.rb +34 -20
  206. data/lib/puppet/network/http/response.rb +13 -1
  207. data/lib/puppet/network/http/webrick.rb +8 -6
  208. data/lib/puppet/network/http/webrick/rest.rb +2 -2
  209. data/lib/puppet/network/rights.rb +6 -6
  210. data/lib/puppet/network/server.rb +2 -2
  211. data/lib/puppet/node.rb +25 -23
  212. data/lib/puppet/node/environment.rb +21 -4
  213. data/lib/puppet/node/facts.rb +0 -14
  214. data/lib/puppet/parameter.rb +3 -28
  215. data/lib/puppet/parameter/package_options.rb +1 -1
  216. data/lib/puppet/parameter/path.rb +3 -3
  217. data/lib/puppet/parameter/value_collection.rb +4 -4
  218. data/lib/puppet/parser/ast/leaf.rb +1 -1
  219. data/lib/puppet/parser/ast/node.rb +1 -1
  220. data/lib/puppet/parser/ast/pops_bridge.rb +3 -3
  221. data/lib/puppet/parser/ast/resource.rb +1 -1
  222. data/lib/puppet/parser/ast/resource_instance.rb +1 -1
  223. data/lib/puppet/parser/ast/resourceparam.rb +1 -1
  224. data/lib/puppet/parser/compiler.rb +44 -117
  225. data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +2 -2
  226. data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +6 -9
  227. data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +1 -1
  228. data/lib/puppet/parser/e4_parser_adapter.rb +1 -2
  229. data/lib/puppet/parser/environment_compiler.rb +13 -15
  230. data/lib/puppet/parser/functions.rb +6 -6
  231. data/lib/puppet/parser/functions/assert_type.rb +1 -1
  232. data/lib/puppet/parser/functions/binary_file.rb +1 -1
  233. data/lib/puppet/parser/functions/break.rb +1 -1
  234. data/lib/puppet/parser/functions/contain.rb +1 -1
  235. data/lib/puppet/parser/functions/create_resources.rb +3 -3
  236. data/lib/puppet/parser/functions/defined.rb +1 -1
  237. data/lib/puppet/parser/functions/dig.rb +1 -1
  238. data/lib/puppet/parser/functions/each.rb +1 -1
  239. data/lib/puppet/parser/functions/epp.rb +1 -4
  240. data/lib/puppet/parser/functions/file.rb +1 -1
  241. data/lib/puppet/parser/functions/filter.rb +1 -1
  242. data/lib/puppet/parser/functions/find_file.rb +1 -1
  243. data/lib/puppet/parser/functions/generate.rb +5 -4
  244. data/lib/puppet/parser/functions/hiera_include.rb +1 -1
  245. data/lib/puppet/parser/functions/include.rb +2 -1
  246. data/lib/puppet/parser/functions/inline_epp.rb +1 -1
  247. data/lib/puppet/parser/functions/inline_template.rb +1 -1
  248. data/lib/puppet/parser/functions/lest.rb +1 -1
  249. data/lib/puppet/parser/functions/map.rb +1 -1
  250. data/lib/puppet/parser/functions/match.rb +1 -1
  251. data/lib/puppet/parser/functions/new.rb +45 -30
  252. data/lib/puppet/parser/functions/next.rb +1 -1
  253. data/lib/puppet/parser/functions/reduce.rb +1 -1
  254. data/lib/puppet/parser/functions/require.rb +1 -1
  255. data/lib/puppet/parser/functions/return.rb +2 -23
  256. data/lib/puppet/parser/functions/reverse_each.rb +1 -1
  257. data/lib/puppet/parser/functions/slice.rb +1 -1
  258. data/lib/puppet/parser/functions/sprintf.rb +3 -17
  259. data/lib/puppet/parser/functions/step.rb +1 -1
  260. data/lib/puppet/parser/functions/strftime.rb +1 -1
  261. data/lib/puppet/parser/functions/then.rb +1 -1
  262. data/lib/puppet/parser/functions/type.rb +1 -1
  263. data/lib/puppet/parser/functions/with.rb +1 -1
  264. data/lib/puppet/parser/parser_factory.rb +0 -30
  265. data/lib/puppet/parser/relationship.rb +49 -20
  266. data/lib/puppet/parser/resource.rb +31 -30
  267. data/lib/puppet/parser/resource/param.rb +0 -3
  268. data/lib/puppet/parser/scope.rb +122 -168
  269. data/lib/puppet/parser/templatewrapper.rb +2 -2
  270. data/lib/puppet/parser/type_loader.rb +1 -1
  271. data/lib/puppet/plugins/configuration.rb +15 -67
  272. data/lib/puppet/plugins/syntax_checkers.rb +6 -11
  273. data/lib/puppet/pops.rb +7 -37
  274. data/lib/puppet/pops/adaptable.rb +8 -3
  275. data/lib/puppet/pops/adapters.rb +23 -83
  276. data/lib/puppet/pops/evaluator/access_operator.rb +10 -39
  277. data/lib/puppet/pops/evaluator/collector_transformer.rb +7 -12
  278. data/lib/puppet/pops/evaluator/collectors/exported_collector.rb +1 -1
  279. data/lib/puppet/pops/evaluator/compare_operator.rb +7 -7
  280. data/lib/puppet/pops/evaluator/epp_evaluator.rb +1 -1
  281. data/lib/puppet/pops/evaluator/evaluator_impl.rb +46 -38
  282. data/lib/puppet/pops/evaluator/external_syntax_support.rb +2 -9
  283. data/lib/puppet/pops/evaluator/json_strict_literal_evaluator.rb +0 -2
  284. data/lib/puppet/pops/evaluator/puppet_proc.rb +1 -1
  285. data/lib/puppet/pops/evaluator/relationship_operator.rb +26 -9
  286. data/lib/puppet/pops/evaluator/runtime3_converter.rb +17 -1
  287. data/lib/puppet/pops/evaluator/runtime3_support.rb +13 -30
  288. data/lib/puppet/pops/functions/dispatch.rb +1 -6
  289. data/lib/puppet/pops/issues.rb +182 -162
  290. data/lib/puppet/pops/loader/base_loader.rb +2 -2
  291. data/lib/puppet/pops/loader/gem_support.rb +2 -2
  292. data/lib/puppet/pops/loader/module_loaders.rb +59 -8
  293. data/lib/puppet/pops/loader/predefined_loader.rb +1 -6
  294. data/lib/puppet/pops/loader/puppet_function_instantiator.rb +8 -8
  295. data/lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb +9 -10
  296. data/lib/puppet/pops/loader/ruby_function_instantiator.rb +3 -3
  297. data/lib/puppet/pops/loader/static_loader.rb +33 -64
  298. data/lib/puppet/pops/loader/type_definition_instantiator.rb +7 -7
  299. data/lib/puppet/pops/loader/typed_name.rb +5 -0
  300. data/lib/puppet/pops/loaders.rb +15 -5
  301. data/lib/puppet/pops/lookup.rb +4 -2
  302. data/lib/puppet/pops/lookup/context.rb +1 -1
  303. data/lib/puppet/pops/lookup/data_provider.rb +3 -18
  304. data/lib/puppet/pops/lookup/global_data_provider.rb +1 -1
  305. data/lib/puppet/pops/lookup/hiera_config.rb +12 -35
  306. data/lib/puppet/pops/lookup/interpolation.rb +1 -0
  307. data/lib/puppet/pops/lookup/invocation.rb +1 -1
  308. data/lib/puppet/pops/lookup/lookup_adapter.rb +20 -64
  309. data/lib/puppet/pops/lookup/lookup_key.rb +1 -1
  310. data/lib/puppet/pops/lookup/module_data_provider.rb +1 -1
  311. data/lib/puppet/pops/lookup/sub_lookup.rb +2 -1
  312. data/lib/puppet/pops/merge_strategy.rb +1 -1
  313. data/lib/puppet/pops/model/ast.pp +692 -0
  314. data/lib/puppet/pops/model/ast.rb +4833 -0
  315. data/lib/puppet/pops/model/ast_transformer.rb +9 -10
  316. data/lib/puppet/pops/model/factory.rb +454 -527
  317. data/lib/puppet/pops/model/model_label_provider.rb +3 -2
  318. data/lib/puppet/pops/model/model_tree_dumper.rb +9 -8
  319. data/lib/puppet/pops/parser/egrammar.ra +66 -60
  320. data/lib/puppet/pops/parser/eparser.rb +1483 -1578
  321. data/lib/puppet/pops/parser/evaluating_parser.rb +5 -5
  322. data/lib/puppet/pops/parser/heredoc_support.rb +1 -1
  323. data/lib/puppet/pops/parser/interpolation_support.rb +4 -4
  324. data/lib/puppet/pops/parser/lexer2.rb +7 -33
  325. data/lib/puppet/pops/parser/locator.rb +39 -16
  326. data/lib/puppet/pops/parser/parser_support.rb +25 -29
  327. data/lib/puppet/pops/patterns.rb +1 -2
  328. data/lib/puppet/pops/pcore.rb +26 -19
  329. data/lib/puppet/pops/resource/param.rb +1 -1
  330. data/lib/puppet/pops/resource/resource_type_impl.rb +2 -2
  331. data/lib/puppet/pops/serialization.rb +25 -1
  332. data/lib/puppet/pops/serialization/abstract_writer.rb +9 -1
  333. data/lib/puppet/pops/serialization/deserializer.rb +1 -1
  334. data/lib/puppet/pops/serialization/from_data_converter.rb +181 -0
  335. data/lib/puppet/pops/serialization/json.rb +4 -4
  336. data/lib/puppet/pops/serialization/json_path.rb +126 -0
  337. data/lib/puppet/pops/serialization/object.rb +5 -5
  338. data/lib/puppet/pops/serialization/serializer.rb +23 -9
  339. data/lib/puppet/pops/serialization/to_data_converter.rb +292 -0
  340. data/lib/puppet/pops/time/timespan.rb +11 -11
  341. data/lib/puppet/pops/time/timestamp.rb +8 -8
  342. data/lib/puppet/pops/types/annotatable.rb +7 -7
  343. data/lib/puppet/pops/types/annotation.rb +71 -0
  344. data/lib/puppet/pops/types/class_loader.rb +4 -6
  345. data/lib/puppet/pops/types/enumeration.rb +2 -2
  346. data/lib/puppet/pops/types/iterable.rb +2 -4
  347. data/lib/puppet/pops/types/p_binary_type.rb +7 -1
  348. data/lib/puppet/pops/types/p_meta_type.rb +16 -12
  349. data/lib/puppet/pops/types/p_object_type.rb +135 -96
  350. data/lib/puppet/pops/types/p_runtime_type.rb +1 -1
  351. data/lib/puppet/pops/types/p_sem_ver_range_type.rb +6 -2
  352. data/lib/puppet/pops/types/p_timespan_type.rb +55 -4
  353. data/lib/puppet/pops/types/p_type_set_type.rb +42 -34
  354. data/lib/puppet/pops/types/puppet_object.rb +13 -3
  355. data/lib/puppet/pops/types/ruby_generator.rb +291 -127
  356. data/lib/puppet/pops/types/ruby_method.rb +31 -0
  357. data/lib/puppet/pops/types/string_converter.rb +107 -30
  358. data/lib/puppet/pops/types/type_calculator.rb +56 -94
  359. data/lib/puppet/pops/types/type_factory.rb +34 -6
  360. data/lib/puppet/pops/types/type_formatter.rb +64 -16
  361. data/lib/puppet/pops/types/type_mismatch_describer.rb +13 -22
  362. data/lib/puppet/pops/types/type_parser.rb +28 -13
  363. data/lib/puppet/pops/types/type_set_reference.rb +6 -6
  364. data/lib/puppet/pops/types/types.rb +169 -245
  365. data/lib/puppet/pops/utils.rb +0 -24
  366. data/lib/puppet/pops/validation.rb +3 -9
  367. data/lib/puppet/pops/validation/checker4_0.rb +86 -76
  368. data/lib/puppet/pops/validation/validator_factory_4_0.rb +0 -1
  369. data/lib/puppet/pops/visitor.rb +21 -0
  370. data/lib/puppet/property.rb +17 -14
  371. data/lib/puppet/property/ensure.rb +3 -3
  372. data/lib/puppet/property/list.rb +1 -10
  373. data/lib/puppet/provider.rb +2 -0
  374. data/lib/puppet/provider/aixobject.rb +7 -7
  375. data/lib/puppet/provider/augeas/augeas.rb +37 -37
  376. data/lib/puppet/provider/command.rb +1 -1
  377. data/lib/puppet/provider/cron/crontab.rb +2 -2
  378. data/lib/puppet/provider/exec.rb +4 -4
  379. data/lib/puppet/provider/exec/posix.rb +4 -4
  380. data/lib/puppet/provider/exec/windows.rb +3 -3
  381. data/lib/puppet/provider/file/posix.rb +5 -5
  382. data/lib/puppet/provider/file/windows.rb +4 -4
  383. data/lib/puppet/provider/group/aix.rb +2 -2
  384. data/lib/puppet/provider/group/groupadd.rb +2 -2
  385. data/lib/puppet/provider/group/pw.rb +1 -1
  386. data/lib/puppet/provider/group/windows_adsi.rb +7 -4
  387. data/lib/puppet/provider/host/parsed.rb +1 -1
  388. data/lib/puppet/provider/macauthorization/macauthorization.rb +9 -9
  389. data/lib/puppet/provider/maillist/mailman.rb +2 -2
  390. data/lib/puppet/provider/mcx/mcxcontent.rb +3 -3
  391. data/lib/puppet/provider/mount.rb +2 -1
  392. data/lib/puppet/provider/mount/parsed.rb +10 -8
  393. data/lib/puppet/provider/naginator.rb +1 -1
  394. data/lib/puppet/provider/nameservice.rb +8 -10
  395. data/lib/puppet/provider/nameservice/directoryservice.rb +11 -11
  396. data/lib/puppet/provider/network_device.rb +2 -1
  397. data/lib/puppet/provider/package/aix.rb +6 -6
  398. data/lib/puppet/provider/package/appdmg.rb +2 -2
  399. data/lib/puppet/provider/package/apple.rb +1 -1
  400. data/lib/puppet/provider/package/apt.rb +4 -4
  401. data/lib/puppet/provider/package/aptitude.rb +1 -1
  402. data/lib/puppet/provider/package/aptrpm.rb +2 -2
  403. data/lib/puppet/provider/package/blastwave.rb +4 -4
  404. data/lib/puppet/provider/package/dnf.rb +1 -1
  405. data/lib/puppet/provider/package/dpkg.rb +3 -3
  406. data/lib/puppet/provider/package/fink.rb +3 -3
  407. data/lib/puppet/provider/package/freebsd.rb +1 -1
  408. data/lib/puppet/provider/package/gem.rb +6 -6
  409. data/lib/puppet/provider/package/hpux.rb +1 -1
  410. data/lib/puppet/provider/package/nim.rb +15 -12
  411. data/lib/puppet/provider/package/openbsd.rb +4 -4
  412. data/lib/puppet/provider/package/opkg.rb +1 -1
  413. data/lib/puppet/provider/package/pacman.rb +9 -9
  414. data/lib/puppet/provider/package/pkg.rb +9 -9
  415. data/lib/puppet/provider/package/pkgdmg.rb +4 -4
  416. data/lib/puppet/provider/package/pkgin.rb +3 -3
  417. data/lib/puppet/provider/package/pkgng.rb +1 -1
  418. data/lib/puppet/provider/package/pkgutil.rb +6 -6
  419. data/lib/puppet/provider/package/portage.rb +167 -59
  420. data/lib/puppet/provider/package/ports.rb +3 -3
  421. data/lib/puppet/provider/package/portupgrade.rb +4 -4
  422. data/lib/puppet/provider/package/rpm.rb +7 -4
  423. data/lib/puppet/provider/package/rug.rb +1 -1
  424. data/lib/puppet/provider/package/sun.rb +3 -2
  425. data/lib/puppet/provider/package/up2date.rb +1 -1
  426. data/lib/puppet/provider/package/urpmi.rb +1 -1
  427. data/lib/puppet/provider/package/windows.rb +4 -4
  428. data/lib/puppet/provider/package/windows/package.rb +3 -3
  429. data/lib/puppet/provider/package/yum.rb +5 -6
  430. data/lib/puppet/provider/package/zypper.rb +1 -1
  431. data/lib/puppet/provider/parsedfile.rb +1 -1
  432. data/lib/puppet/provider/service/base.rb +8 -21
  433. data/lib/puppet/provider/service/smf.rb +2 -2
  434. data/lib/puppet/provider/service/systemd.rb +1 -2
  435. data/lib/puppet/provider/service/upstart.rb +1 -3
  436. data/lib/puppet/provider/user/aix.rb +2 -2
  437. data/lib/puppet/provider/user/ldap.rb +1 -1
  438. data/lib/puppet/provider/user/windows_adsi.rb +1 -1
  439. data/lib/puppet/provider/yumrepo/inifile.rb +3 -3
  440. data/lib/puppet/provider/zfs/zfs.rb +1 -5
  441. data/lib/puppet/reference/configuration.rb +0 -2
  442. data/lib/puppet/reference/indirection.rb +1 -1
  443. data/lib/puppet/reference/metaparameter.rb +1 -1
  444. data/lib/puppet/reference/providers.rb +6 -6
  445. data/lib/puppet/reference/type.rb +2 -2
  446. data/lib/puppet/relationship.rb +7 -9
  447. data/lib/puppet/reports/http.rb +8 -6
  448. data/lib/puppet/resource.rb +75 -134
  449. data/lib/puppet/resource/capability_finder.rb +1 -1
  450. data/lib/puppet/resource/catalog.rb +26 -34
  451. data/lib/puppet/resource/status.rb +13 -24
  452. data/lib/puppet/resource/type.rb +13 -61
  453. data/lib/puppet/resource/type_collection.rb +29 -23
  454. data/lib/puppet/settings.rb +1 -1
  455. data/lib/puppet/settings/array_setting.rb +1 -1
  456. data/lib/puppet/settings/autosign_setting.rb +1 -1
  457. data/lib/puppet/settings/boolean_setting.rb +1 -1
  458. data/lib/puppet/settings/config_file.rb +2 -2
  459. data/lib/puppet/settings/duration_setting.rb +1 -1
  460. data/lib/puppet/settings/enum_setting.rb +1 -1
  461. data/lib/puppet/settings/environment_conf.rb +2 -10
  462. data/lib/puppet/settings/file_setting.rb +2 -2
  463. data/lib/puppet/settings/priority_setting.rb +1 -1
  464. data/lib/puppet/settings/server_list_setting.rb +1 -1
  465. data/lib/puppet/settings/symbolic_enum_setting.rb +1 -1
  466. data/lib/puppet/settings/terminus_setting.rb +1 -1
  467. data/lib/puppet/settings/ttl_setting.rb +2 -2
  468. data/lib/puppet/ssl/base.rb +2 -2
  469. data/lib/puppet/ssl/certificate_authority.rb +21 -21
  470. data/lib/puppet/ssl/certificate_authority/interface.rb +13 -13
  471. data/lib/puppet/ssl/certificate_factory.rb +2 -2
  472. data/lib/puppet/ssl/certificate_request.rb +14 -14
  473. data/lib/puppet/ssl/certificate_request_attributes.rb +3 -3
  474. data/lib/puppet/ssl/certificate_revocation_list.rb +3 -3
  475. data/lib/puppet/ssl/host.rb +29 -29
  476. data/lib/puppet/ssl/inventory.rb +1 -1
  477. data/lib/puppet/ssl/key.rb +1 -1
  478. data/lib/puppet/ssl/oids.rb +5 -5
  479. data/lib/puppet/ssl/validator/default_validator.rb +3 -4
  480. data/lib/puppet/syntax_checkers/base64.rb +7 -7
  481. data/lib/puppet/syntax_checkers/json.rb +5 -5
  482. data/lib/puppet/test/test_helper.rb +0 -4
  483. data/lib/puppet/transaction.rb +38 -23
  484. data/lib/puppet/transaction/additional_resource_generator.rb +4 -3
  485. data/lib/puppet/transaction/event.rb +19 -8
  486. data/lib/puppet/transaction/event_manager.rb +6 -6
  487. data/lib/puppet/transaction/persistence.rb +6 -6
  488. data/lib/puppet/transaction/report.rb +34 -47
  489. data/lib/puppet/transaction/resource_harness.rb +14 -12
  490. data/lib/puppet/type.rb +9 -7
  491. data/lib/puppet/type/augeas.rb +2 -2
  492. data/lib/puppet/type/cron.rb +14 -31
  493. data/lib/puppet/type/exec.rb +16 -16
  494. data/lib/puppet/type/file.rb +21 -22
  495. data/lib/puppet/type/file/content.rb +1 -1
  496. data/lib/puppet/type/file/group.rb +3 -3
  497. data/lib/puppet/type/file/mode.rb +6 -6
  498. data/lib/puppet/type/file/owner.rb +3 -3
  499. data/lib/puppet/type/file/selcontext.rb +18 -1
  500. data/lib/puppet/type/file/source.rb +5 -1
  501. data/lib/puppet/type/filebucket.rb +3 -8
  502. data/lib/puppet/type/group.rb +2 -2
  503. data/lib/puppet/type/host.rb +6 -6
  504. data/lib/puppet/type/interface.rb +1 -1
  505. data/lib/puppet/type/k5login.rb +1 -1
  506. data/lib/puppet/type/macauthorization.rb +1 -1
  507. data/lib/puppet/type/mailalias.rb +2 -18
  508. data/lib/puppet/type/maillist.rb +1 -1
  509. data/lib/puppet/type/mount.rb +8 -8
  510. data/lib/puppet/type/notify.rb +2 -0
  511. data/lib/puppet/type/package.rb +5 -5
  512. data/lib/puppet/type/resources.rb +6 -6
  513. data/lib/puppet/type/schedule.rb +9 -9
  514. data/lib/puppet/type/scheduled_task.rb +9 -8
  515. data/lib/puppet/type/service.rb +1 -1
  516. data/lib/puppet/type/ssh_authorized_key.rb +3 -19
  517. data/lib/puppet/type/sshkey.rb +4 -4
  518. data/lib/puppet/type/tidy.rb +16 -19
  519. data/lib/puppet/type/user.rb +35 -70
  520. data/lib/puppet/type/yumrepo.rb +8 -8
  521. data/lib/puppet/type/zone.rb +7 -7
  522. data/lib/puppet/type/zpool.rb +3 -3
  523. data/lib/puppet/util.rb +16 -12
  524. data/lib/puppet/util/at_fork.rb +35 -0
  525. data/lib/puppet/util/at_fork/noop.rb +18 -0
  526. data/lib/puppet/util/at_fork/solaris.rb +158 -0
  527. data/lib/puppet/util/autoload.rb +2 -2
  528. data/lib/puppet/util/backups.rb +6 -6
  529. data/lib/puppet/util/classgen.rb +4 -4
  530. data/lib/puppet/util/command_line.rb +4 -4
  531. data/lib/puppet/util/command_line/puppet_option_parser.rb +3 -3
  532. data/lib/puppet/util/command_line/trollop.rb +31 -31
  533. data/lib/puppet/util/diff.rb +1 -1
  534. data/lib/puppet/util/errors.rb +4 -4
  535. data/lib/puppet/util/execution.rb +9 -9
  536. data/lib/puppet/util/feature.rb +5 -5
  537. data/lib/puppet/util/fileparsing.rb +8 -8
  538. data/lib/puppet/util/filetype.rb +15 -15
  539. data/lib/puppet/util/http_proxy.rb +7 -15
  540. data/lib/puppet/util/inifile.rb +4 -4
  541. data/lib/puppet/util/instance_loader.rb +1 -1
  542. data/lib/puppet/util/json_lockfile.rb +4 -4
  543. data/lib/puppet/util/ldap/connection.rb +2 -2
  544. data/lib/puppet/util/ldap/manager.rb +2 -2
  545. data/lib/puppet/util/limits.rb +1 -1
  546. data/lib/puppet/util/log.rb +23 -16
  547. data/lib/puppet/util/log/destinations.rb +10 -16
  548. data/lib/puppet/util/logging.rb +11 -8
  549. data/lib/puppet/util/metric.rb +9 -6
  550. data/lib/puppet/util/monkey_patches.rb +27 -66
  551. data/lib/puppet/util/network_device.rb +1 -1
  552. data/lib/puppet/util/network_device/cisco/device.rb +7 -7
  553. data/lib/puppet/util/network_device/cisco/interface.rb +1 -1
  554. data/lib/puppet/util/network_device/config.rb +6 -6
  555. data/lib/puppet/util/network_device/transport/ssh.rb +6 -6
  556. data/lib/puppet/util/plist.rb +4 -2
  557. data/lib/puppet/util/posix.rb +5 -5
  558. data/lib/puppet/util/profiler/wall_clock.rb +1 -1
  559. data/lib/puppet/util/provider_features.rb +1 -1
  560. data/lib/puppet/util/psych_support.rb +3 -11
  561. data/lib/puppet/util/rdoc.rb +4 -4
  562. data/lib/puppet/util/reference.rb +14 -7
  563. data/lib/puppet/util/resource_template.rb +1 -1
  564. data/lib/puppet/util/retry_action.rb +2 -2
  565. data/lib/puppet/util/selinux.rb +54 -12
  566. data/lib/puppet/util/splayer.rb +1 -1
  567. data/lib/puppet/util/storage.rb +5 -5
  568. data/lib/puppet/util/suidmanager.rb +4 -4
  569. data/lib/puppet/util/symbolic_file_mode.rb +9 -9
  570. data/lib/puppet/util/tag_set.rb +1 -4
  571. data/lib/puppet/util/tagging.rb +2 -2
  572. data/lib/puppet/util/windows.rb +2 -0
  573. data/lib/puppet/util/windows/adsi.rb +19 -16
  574. data/lib/puppet/util/windows/api_types.rb +7 -11
  575. data/lib/puppet/util/windows/com.rb +4 -4
  576. data/lib/puppet/util/windows/error.rb +2 -2
  577. data/lib/puppet/util/windows/eventlog.rb +192 -0
  578. data/lib/puppet/util/windows/file.rb +13 -96
  579. data/lib/puppet/util/windows/principal.rb +6 -7
  580. data/lib/puppet/util/windows/process.rb +6 -14
  581. data/lib/puppet/util/windows/registry.rb +11 -11
  582. data/lib/puppet/util/windows/root_certs.rb +1 -1
  583. data/lib/puppet/util/windows/security.rb +14 -14
  584. data/lib/puppet/util/windows/sid.rb +13 -66
  585. data/lib/puppet/util/windows/taskscheduler.rb +62 -62
  586. data/lib/puppet/util/windows/user.rb +6 -6
  587. data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet.rb +2 -10
  588. data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/gem_version.rb +1 -1
  589. data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/version.rb +122 -114
  590. data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/version_range.rb +678 -342
  591. data/lib/puppet/vendor/semantic_puppet/{lib/semantic_puppet/locales → locales}/config.yaml +0 -0
  592. data/lib/puppet/version.rb +1 -1
  593. data/locales/config.yaml +1 -1
  594. data/locales/puppet.pot +7847 -112
  595. data/man/man5/puppet.conf.5 +55 -296
  596. data/man/man8/puppet-agent.8 +10 -32
  597. data/man/man8/puppet-apply.8 +6 -21
  598. data/man/man8/puppet-ca.8 +34 -48
  599. data/man/man8/puppet-catalog.8 +4 -4
  600. data/man/man8/puppet-cert.8 +6 -23
  601. data/man/man8/puppet-certificate.8 +28 -44
  602. data/man/man8/puppet-certificate_request.8 +4 -4
  603. data/man/man8/puppet-certificate_revocation_list.8 +4 -4
  604. data/man/man8/puppet-config.8 +5 -5
  605. data/man/man8/puppet-describe.8 +3 -3
  606. data/man/man8/puppet-device.8 +13 -23
  607. data/man/man8/puppet-doc.8 +5 -5
  608. data/man/man8/puppet-epp.8 +10 -16
  609. data/man/man8/puppet-facts.8 +4 -4
  610. data/man/man8/puppet-filebucket.8 +6 -63
  611. data/man/man8/puppet-help.8 +4 -4
  612. data/man/man8/puppet-inspect.8 +5 -8
  613. data/man/man8/puppet-key.8 +4 -4
  614. data/man/man8/puppet-man.8 +5 -5
  615. data/man/man8/puppet-master.8 +5 -5
  616. data/man/man8/puppet-module.8 +13 -22
  617. data/man/man8/puppet-node.8 +4 -4
  618. data/man/man8/puppet-parser.8 +4 -4
  619. data/man/man8/puppet-plugin.8 +4 -4
  620. data/man/man8/puppet-report.8 +4 -4
  621. data/man/man8/puppet-resource.8 +8 -4
  622. data/man/man8/puppet-status.8 +5 -5
  623. data/man/man8/puppet.8 +3 -12
  624. data/spec/fixtures/unit/application/environments/production/data/common.yaml +0 -2
  625. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/metadata.json +9 -0
  626. data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/metadata.json +9 -0
  627. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/abc/metadata.json +9 -0
  628. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bad_data/metadata.json +9 -0
  629. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bca/metadata.json +9 -0
  630. data/spec/integration/agent/logging_spec.rb +0 -2
  631. data/spec/integration/application/apply_spec.rb +19 -23
  632. data/spec/integration/application/lookup_spec.rb +0 -21
  633. data/spec/integration/configurer_spec.rb +1 -1
  634. data/spec/integration/defaults_spec.rb +2 -2
  635. data/spec/integration/file_bucket/file_spec.rb +5 -20
  636. data/spec/integration/indirector/file_content/file_server_spec.rb +1 -0
  637. data/spec/integration/indirector/file_metadata/file_server_spec.rb +1 -0
  638. data/spec/integration/parser/catalog_spec.rb +1 -1
  639. data/spec/integration/parser/class_spec.rb +6 -6
  640. data/spec/integration/parser/compiler_spec.rb +184 -142
  641. data/spec/integration/parser/dynamic_scoping_spec.rb +0 -1
  642. data/spec/integration/parser/pcore_resource_spec.rb +1 -1
  643. data/spec/integration/parser/scope_spec.rb +53 -4
  644. data/spec/integration/provider/cron/crontab_spec.rb +0 -1
  645. data/spec/integration/resource/catalog_spec.rb +0 -4
  646. data/spec/integration/transaction/report_spec.rb +2 -2
  647. data/spec/integration/transaction_spec.rb +4 -37
  648. data/spec/integration/type/package_spec.rb +7 -1
  649. data/spec/integration/util/execution_spec.rb +0 -8
  650. data/spec/integration/util/windows/adsi_spec.rb +1 -86
  651. data/spec/integration/util/windows/principal_spec.rb +1 -10
  652. data/spec/integration/util/windows/process_spec.rb +0 -45
  653. data/spec/lib/matchers/json.rb +3 -3
  654. data/spec/lib/puppet/indirector_testing.rb +4 -0
  655. data/spec/lib/puppet_spec/compiler.rb +1 -1
  656. data/spec/lib/puppet_spec/modules.rb +2 -2
  657. data/spec/lib/puppet_spec/network.rb +10 -6
  658. data/spec/shared_contexts/types_setup.rb +28 -9
  659. data/spec/spec_helper.rb +0 -11
  660. data/spec/unit/agent_spec.rb +12 -34
  661. data/spec/unit/application/agent_spec.rb +16 -0
  662. data/spec/unit/application/apply_spec.rb +37 -13
  663. data/spec/unit/application/cert_spec.rb +1 -40
  664. data/spec/unit/application/config_spec.rb +0 -4
  665. data/spec/unit/application/describe_spec.rb +19 -0
  666. data/spec/unit/application/device_spec.rb +41 -2
  667. data/spec/unit/application/face_base_spec.rb +6 -6
  668. data/spec/unit/application/lookup_spec.rb +1 -31
  669. data/spec/unit/application/master_spec.rb +22 -6
  670. data/spec/unit/application/resource_spec.rb +17 -0
  671. data/spec/unit/application_spec.rb +0 -24
  672. data/spec/unit/capability_spec.rb +2 -6
  673. data/spec/unit/configurer/fact_handler_spec.rb +74 -41
  674. data/spec/unit/configurer/plugin_handler_spec.rb +13 -19
  675. data/spec/unit/configurer_spec.rb +36 -33
  676. data/spec/unit/defaults_spec.rb +0 -44
  677. data/spec/unit/environments_spec.rb +0 -15
  678. data/spec/unit/face/config_spec.rb +2 -1
  679. data/spec/unit/face/epp_face_spec.rb +0 -9
  680. data/spec/unit/face/module/list_spec.rb +60 -0
  681. data/spec/unit/file_bucket/file_spec.rb +3 -3
  682. data/spec/unit/file_serving/http_metadata_spec.rb +1 -1
  683. data/spec/unit/file_serving/metadata_spec.rb +14 -9
  684. data/spec/unit/forge/forge_spec.rb +2 -2
  685. data/spec/unit/forge_spec.rb +0 -105
  686. data/spec/unit/functions/annotate_spec.rb +175 -0
  687. data/spec/unit/functions/break_spec.rb +52 -83
  688. data/spec/unit/functions/call_spec.rb +77 -0
  689. data/spec/unit/functions/contain_spec.rb +1 -1
  690. data/spec/unit/functions/defined_spec.rb +2 -2
  691. data/spec/unit/functions/epp_spec.rb +0 -10
  692. data/spec/unit/functions/hiera_spec.rb +0 -5
  693. data/spec/unit/functions/lookup_fixture_spec.rb +1 -6
  694. data/spec/unit/functions/lookup_spec.rb +4 -97
  695. data/spec/unit/functions/new_spec.rb +1 -1
  696. data/spec/unit/functions/unique_spec.rb +111 -0
  697. data/spec/unit/functions4_spec.rb +2 -43
  698. data/spec/unit/graph/relationship_graph_spec.rb +0 -15
  699. data/spec/unit/graph/simple_graph_spec.rb +58 -55
  700. data/spec/unit/indirector/catalog/compiler_spec.rb +206 -174
  701. data/spec/unit/indirector/catalog/json_spec.rb +50 -1
  702. data/spec/unit/indirector/facts/facter_spec.rb +1 -2
  703. data/spec/unit/indirector/file_bucket_file/file_spec.rb +4 -4
  704. data/spec/unit/indirector/file_server_spec.rb +17 -2
  705. data/spec/unit/indirector/indirection_spec.rb +3 -60
  706. data/spec/unit/indirector/json_spec.rb +27 -6
  707. data/spec/unit/indirector/node/exec_spec.rb +12 -12
  708. data/spec/unit/indirector/node/ldap_spec.rb +29 -8
  709. data/spec/unit/indirector/node/plain_spec.rb +16 -6
  710. data/spec/unit/indirector/node/write_only_yaml_spec.rb +12 -0
  711. data/spec/unit/indirector/report/processor_spec.rb +2 -2
  712. data/spec/unit/indirector/report/rest_spec.rb +29 -3
  713. data/spec/unit/indirector/request_spec.rb +0 -45
  714. data/spec/unit/indirector/rest_spec.rb +57 -15
  715. data/spec/unit/interface/face_collection_spec.rb +7 -7
  716. data/spec/unit/interface_spec.rb +0 -12
  717. data/spec/unit/module_spec.rb +10 -31
  718. data/spec/unit/module_tool/applications/installer_spec.rb +0 -1
  719. data/spec/unit/module_tool/applications/upgrader_spec.rb +0 -1
  720. data/spec/unit/module_tool/tar/mini_spec.rb +5 -34
  721. data/spec/unit/network/format_handler_spec.rb +11 -11
  722. data/spec/unit/network/format_spec.rb +9 -0
  723. data/spec/unit/network/formats_spec.rb +322 -138
  724. data/spec/unit/network/http/api/indirected_routes_spec.rb +62 -52
  725. data/spec/unit/network/http/api/master/v3/environment_spec.rb +128 -2
  726. data/spec/unit/network/http/api/master/v3_spec.rb +1 -1
  727. data/spec/unit/network/http/api_spec.rb +1 -1
  728. data/spec/unit/network/http/compression_spec.rb +105 -88
  729. data/spec/unit/network/http/error_spec.rb +1 -2
  730. data/spec/unit/network/http/factory_spec.rb +9 -38
  731. data/spec/unit/network/http/handler_spec.rb +8 -12
  732. data/spec/unit/network/http/request_spec.rb +110 -0
  733. data/spec/unit/network/http/response_spec.rb +108 -0
  734. data/spec/unit/network/http/webrick_spec.rb +29 -30
  735. data/spec/unit/node/facts_spec.rb +13 -13
  736. data/spec/unit/node_spec.rb +33 -10
  737. data/spec/unit/parameter_spec.rb +73 -5
  738. data/spec/unit/parser/ast/leaf_spec.rb +4 -3
  739. data/spec/unit/parser/compiler_spec.rb +1 -1
  740. data/spec/unit/parser/environment_compiler_spec.rb +0 -2
  741. data/spec/unit/parser/functions/sprintf_spec.rb +0 -26
  742. data/spec/unit/parser/resource_spec.rb +86 -24
  743. data/spec/unit/parser/scope_spec.rb +4 -81
  744. data/spec/unit/pops/benchmark_spec.rb +8 -26
  745. data/spec/unit/pops/containment_spec.rb +0 -26
  746. data/spec/unit/pops/evaluator/access_ops_spec.rb +103 -103
  747. data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +59 -6
  748. data/spec/unit/pops/evaluator/basic_expressions_spec.rb +5 -5
  749. data/spec/unit/pops/evaluator/comparison_ops_spec.rb +26 -26
  750. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +19 -7
  751. data/spec/unit/pops/evaluator/evaluator_rspec_helper.rb +7 -7
  752. data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +36 -1
  753. data/spec/unit/pops/evaluator/string_interpolation_spec.rb +10 -10
  754. data/spec/unit/pops/evaluator/variables_spec.rb +1 -1
  755. data/spec/unit/pops/factory_rspec_helper.rb +0 -4
  756. data/spec/unit/pops/factory_spec.rb +83 -83
  757. data/spec/unit/pops/loaders/loaders_spec.rb +69 -1
  758. data/spec/unit/pops/loaders/static_loader_spec.rb +3 -7
  759. data/spec/unit/pops/model/model_spec.rb +10 -10
  760. data/spec/unit/pops/parser/epp_parser_spec.rb +1 -1
  761. data/spec/unit/pops/parser/lexer2_spec.rb +4 -59
  762. data/spec/unit/pops/parser/{source_pos_adapter_spec.rb → locator_spec.rb} +9 -11
  763. data/spec/unit/pops/parser/parse_application_spec.rb +0 -3
  764. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +4 -4
  765. data/spec/unit/pops/parser/parse_capabilities_spec.rb +0 -3
  766. data/spec/unit/pops/parser/parse_containers_spec.rb +17 -19
  767. data/spec/unit/pops/parser/parse_site_spec.rb +0 -3
  768. data/spec/unit/pops/parser/parser_spec.rb +8 -10
  769. data/spec/unit/pops/resource/resource_type_impl_spec.rb +1 -3
  770. data/spec/unit/pops/serialization/serialization_spec.rb +87 -1
  771. data/spec/unit/pops/serialization/to_from_hr_spec.rb +494 -0
  772. data/spec/unit/pops/time/timestamp_spec.rb +13 -0
  773. data/spec/unit/pops/types/iterable_spec.rb +1 -1
  774. data/spec/unit/pops/types/p_object_type_spec.rb +99 -13
  775. data/spec/unit/pops/types/p_timestamp_type_spec.rb +8 -8
  776. data/spec/unit/pops/types/p_type_set_type_spec.rb +1 -9
  777. data/spec/unit/pops/types/ruby_generator_spec.rb +57 -20
  778. data/spec/unit/pops/types/string_converter_spec.rb +78 -30
  779. data/spec/unit/pops/types/type_acceptor_spec.rb +2 -2
  780. data/spec/unit/pops/types/type_calculator_spec.rb +207 -123
  781. data/spec/unit/pops/types/type_factory_spec.rb +9 -9
  782. data/spec/unit/pops/types/type_formatter_spec.rb +32 -19
  783. data/spec/unit/pops/types/type_mismatch_describer_spec.rb +0 -9
  784. data/spec/unit/pops/types/type_parser_spec.rb +6 -6
  785. data/spec/unit/pops/types/types_spec.rb +42 -2
  786. data/spec/unit/pops/validator/validator_spec.rb +25 -86
  787. data/spec/unit/pops/visitor_spec.rb +1 -1
  788. data/spec/unit/property/list_spec.rb +2 -2
  789. data/spec/unit/provider/augeas/augeas_spec.rb +1 -1
  790. data/spec/unit/provider/group/windows_adsi_spec.rb +22 -79
  791. data/spec/unit/provider/package/aix_spec.rb +0 -8
  792. data/spec/unit/provider/package/portage_spec.rb +103 -17
  793. data/spec/unit/provider/package/rpm_spec.rb +14 -1
  794. data/spec/unit/provider/package/yum_spec.rb +0 -10
  795. data/spec/unit/provider/service/base_spec.rb +0 -20
  796. data/spec/unit/provider/service/smf_spec.rb +4 -2
  797. data/spec/unit/provider/service/systemd_spec.rb +1 -15
  798. data/spec/unit/provider/user/directoryservice_spec.rb +7 -7
  799. data/spec/unit/provider/user/windows_adsi_spec.rb +4 -4
  800. data/spec/unit/provider/zfs/zfs_spec.rb +1 -7
  801. data/spec/unit/puppet_spec.rb +2 -3
  802. data/spec/unit/relationship_spec.rb +15 -36
  803. data/spec/unit/reports/http_spec.rb +11 -8
  804. data/spec/unit/resource/catalog_spec.rb +47 -49
  805. data/spec/unit/resource/status_spec.rb +114 -103
  806. data/spec/unit/resource/type_collection_spec.rb +5 -5
  807. data/spec/unit/resource/type_spec.rb +4 -71
  808. data/spec/unit/resource_spec.rb +30 -34
  809. data/spec/unit/settings_spec.rb +4 -2
  810. data/spec/unit/ssl/host_spec.rb +34 -34
  811. data/spec/unit/status_spec.rb +7 -7
  812. data/spec/unit/transaction/event_spec.rb +18 -15
  813. data/spec/unit/transaction/report_spec.rb +100 -81
  814. data/spec/unit/transaction/resource_harness_spec.rb +3 -3
  815. data/spec/unit/transaction_spec.rb +53 -8
  816. data/spec/unit/type/file/group_spec.rb +2 -2
  817. data/spec/unit/type/file/mode_spec.rb +9 -9
  818. data/spec/unit/type/file/owner_spec.rb +2 -2
  819. data/spec/unit/type/file/selinux_spec.rb +2 -0
  820. data/spec/unit/type/file/source_spec.rb +13 -0
  821. data/spec/unit/type/nagios_spec.rb +1 -21
  822. data/spec/unit/type/ssh_authorized_key_spec.rb +2 -2
  823. data/spec/unit/type/tidy_spec.rb +0 -14
  824. data/spec/unit/type/user_spec.rb +2 -4
  825. data/spec/unit/util/at_fork_spec.rb +150 -0
  826. data/spec/unit/util/execution_spec.rb +31 -2
  827. data/spec/unit/util/http_proxy_spec.rb +0 -37
  828. data/spec/unit/util/log/destinations_spec.rb +5 -6
  829. data/spec/unit/util/log_spec.rb +62 -17
  830. data/spec/unit/util/metric_spec.rb +9 -2
  831. data/spec/unit/util/monkey_patches_spec.rb +6 -188
  832. data/spec/unit/util/run_mode_spec.rb +17 -10
  833. data/spec/unit/util/tag_set_spec.rb +2 -2
  834. data/spec/unit/util/tagging_spec.rb +55 -0
  835. data/spec/unit/util/windows/adsi_spec.rb +27 -31
  836. data/spec/unit/util/windows/api_types_spec.rb +0 -51
  837. data/spec/unit/util/windows/eventlog_spec.rb +123 -0
  838. data/spec/unit/util/windows/sid_spec.rb +15 -86
  839. data/spec/unit/util_spec.rb +7 -1
  840. data/tasks/benchmark.rake +3 -3
  841. data/tasks/cfpropertylist.rake +1 -1
  842. data/tasks/generate_ast_model.rake +78 -0
  843. data/tasks/manpages.rake +1 -1
  844. data/tasks/parallel.rake +7 -12
  845. metadata +3456 -3717
  846. checksums.yaml +0 -7
  847. data/bin/extlookup2hiera +0 -56
  848. data/ext/emacs/puppet-mode-init.el +0 -6
  849. data/ext/emacs/puppet-mode.el +0 -433
  850. data/ext/vim/README +0 -3
  851. data/ext/vim/ftdetect/puppet.vim +0 -2
  852. data/ext/vim/ftplugin/puppet.vim +0 -94
  853. data/ext/vim/indent/puppet.vim +0 -76
  854. data/ext/vim/syntax/puppet.vim +0 -115
  855. data/lib/puppet/application/file.rb +0 -4
  856. data/lib/puppet/application/inspect.rb +0 -184
  857. data/lib/puppet/application/resource_type.rb +0 -7
  858. data/lib/puppet/data_providers.rb +0 -34
  859. data/lib/puppet/data_providers/data_adapter.rb +0 -37
  860. data/lib/puppet/data_providers/data_function_support.rb +0 -32
  861. data/lib/puppet/data_providers/function_env_data_provider.rb +0 -26
  862. data/lib/puppet/data_providers/function_module_data_provider.rb +0 -24
  863. data/lib/puppet/data_providers/hiera_config.rb +0 -151
  864. data/lib/puppet/data_providers/hiera_env_data_provider.rb +0 -25
  865. data/lib/puppet/data_providers/hiera_interpolate.rb +0 -21
  866. data/lib/puppet/data_providers/hiera_module_data_provider.rb +0 -30
  867. data/lib/puppet/data_providers/hiera_support.rb +0 -42
  868. data/lib/puppet/data_providers/json_data_provider_factory.rb +0 -38
  869. data/lib/puppet/data_providers/yaml_data_provider_factory.rb +0 -40
  870. data/lib/puppet/face/file.rb +0 -50
  871. data/lib/puppet/face/file/download.rb +0 -56
  872. data/lib/puppet/face/file/store.rb +0 -21
  873. data/lib/puppet/face/resource_type.rb +0 -84
  874. data/lib/puppet/feature/cfacter.rb +0 -15
  875. data/lib/puppet/feature/external_facts.rb +0 -5
  876. data/lib/puppet/indirector/catalog/static_compiler.rb +0 -232
  877. data/lib/puppet/indirector/resource_type.rb +0 -5
  878. data/lib/puppet/indirector/resource_type/parser.rb +0 -108
  879. data/lib/puppet/indirector/resource_type/rest.rb +0 -7
  880. data/lib/puppet/parser/yaml_trimmer.rb +0 -7
  881. data/lib/puppet/plugins/binding_schemes.rb +0 -140
  882. data/lib/puppet/plugins/data_providers.rb +0 -45
  883. data/lib/puppet/plugins/data_providers/data_provider.rb +0 -406
  884. data/lib/puppet/plugins/data_providers/registry.rb +0 -51
  885. data/lib/puppet/pops/binder/binder.rb +0 -398
  886. data/lib/puppet/pops/binder/binder_issues.rb +0 -124
  887. data/lib/puppet/pops/binder/bindings_checker.rb +0 -201
  888. data/lib/puppet/pops/binder/bindings_composer.rb +0 -181
  889. data/lib/puppet/pops/binder/bindings_factory.rb +0 -813
  890. data/lib/puppet/pops/binder/bindings_label_provider.rb +0 -45
  891. data/lib/puppet/pops/binder/bindings_loader.rb +0 -87
  892. data/lib/puppet/pops/binder/bindings_model.rb +0 -70
  893. data/lib/puppet/pops/binder/bindings_model_dumper.rb +0 -215
  894. data/lib/puppet/pops/binder/bindings_model_meta.rb +0 -215
  895. data/lib/puppet/pops/binder/bindings_validator_factory.rb +0 -28
  896. data/lib/puppet/pops/binder/config/binder_config.rb +0 -107
  897. data/lib/puppet/pops/binder/config/binder_config_checker.rb +0 -142
  898. data/lib/puppet/pops/binder/config/diagnostic_producer.rb +0 -36
  899. data/lib/puppet/pops/binder/config/issues.rb +0 -90
  900. data/lib/puppet/pops/binder/injector.rb +0 -771
  901. data/lib/puppet/pops/binder/injector_entry.rb +0 -57
  902. data/lib/puppet/pops/binder/key_factory.rb +0 -65
  903. data/lib/puppet/pops/binder/producers.rb +0 -831
  904. data/lib/puppet/pops/binder/scheme_handler/confdir_scheme.rb +0 -34
  905. data/lib/puppet/pops/binder/scheme_handler/module_scheme.rb +0 -143
  906. data/lib/puppet/pops/binder/scheme_handler/symbolic_scheme.rb +0 -53
  907. data/lib/puppet/pops/binder/system_bindings.rb +0 -60
  908. data/lib/puppet/pops/containment.rb +0 -104
  909. data/lib/puppet/pops/model/model.rb +0 -131
  910. data/lib/puppet/pops/model/model_meta.rb +0 -629
  911. data/lib/puppet/pops/serialization/rgen.rb +0 -152
  912. data/lib/puppet/vendor/load_rgen.rb +0 -2
  913. data/lib/puppet/vendor/rgen/CHANGELOG +0 -197
  914. data/lib/puppet/vendor/rgen/MIT-LICENSE +0 -20
  915. data/lib/puppet/vendor/rgen/PUPPET_README.md +0 -6
  916. data/lib/puppet/vendor/rgen/README.rdoc +0 -78
  917. data/lib/puppet/vendor/rgen/Rakefile +0 -41
  918. data/lib/puppet/vendor/rgen/TODO +0 -41
  919. data/lib/puppet/vendor/rgen/anounce.txt +0 -61
  920. data/lib/puppet/vendor/rgen/design_rationale.txt +0 -71
  921. data/lib/puppet/vendor/rgen/lib/ea_support/ea_support.rb +0 -54
  922. data/lib/puppet/vendor/rgen/lib/ea_support/id_store.rb +0 -32
  923. data/lib/puppet/vendor/rgen/lib/ea_support/uml13_ea_metamodel.rb +0 -562
  924. data/lib/puppet/vendor/rgen/lib/ea_support/uml13_ea_metamodel_ext.rb +0 -45
  925. data/lib/puppet/vendor/rgen/lib/ea_support/uml13_ea_metamodel_generator.rb +0 -43
  926. data/lib/puppet/vendor/rgen/lib/ea_support/uml13_ea_to_uml13.rb +0 -103
  927. data/lib/puppet/vendor/rgen/lib/ea_support/uml13_to_uml13_ea.rb +0 -89
  928. data/lib/puppet/vendor/rgen/lib/metamodels/uml13_metamodel.rb +0 -559
  929. data/lib/puppet/vendor/rgen/lib/metamodels/uml13_metamodel_ext.rb +0 -26
  930. data/lib/puppet/vendor/rgen/lib/mmgen/metamodel_generator.rb +0 -20
  931. data/lib/puppet/vendor/rgen/lib/mmgen/mm_ext/ecore_mmgen_ext.rb +0 -91
  932. data/lib/puppet/vendor/rgen/lib/mmgen/mmgen.rb +0 -28
  933. data/lib/puppet/vendor/rgen/lib/mmgen/templates/annotations.tpl +0 -37
  934. data/lib/puppet/vendor/rgen/lib/mmgen/templates/metamodel_generator.tpl +0 -172
  935. data/lib/puppet/vendor/rgen/lib/rgen/array_extensions.rb +0 -45
  936. data/lib/puppet/vendor/rgen/lib/rgen/ecore/ecore.rb +0 -218
  937. data/lib/puppet/vendor/rgen/lib/rgen/ecore/ecore_builder_methods.rb +0 -81
  938. data/lib/puppet/vendor/rgen/lib/rgen/ecore/ecore_ext.rb +0 -69
  939. data/lib/puppet/vendor/rgen/lib/rgen/ecore/ecore_interface.rb +0 -47
  940. data/lib/puppet/vendor/rgen/lib/rgen/ecore/ecore_to_ruby.rb +0 -167
  941. data/lib/puppet/vendor/rgen/lib/rgen/ecore/ruby_to_ecore.rb +0 -91
  942. data/lib/puppet/vendor/rgen/lib/rgen/environment.rb +0 -129
  943. data/lib/puppet/vendor/rgen/lib/rgen/fragment/dump_file_cache.rb +0 -63
  944. data/lib/puppet/vendor/rgen/lib/rgen/fragment/fragmented_model.rb +0 -140
  945. data/lib/puppet/vendor/rgen/lib/rgen/fragment/model_fragment.rb +0 -289
  946. data/lib/puppet/vendor/rgen/lib/rgen/instantiator/abstract_instantiator.rb +0 -66
  947. data/lib/puppet/vendor/rgen/lib/rgen/instantiator/abstract_xml_instantiator.rb +0 -66
  948. data/lib/puppet/vendor/rgen/lib/rgen/instantiator/default_xml_instantiator.rb +0 -117
  949. data/lib/puppet/vendor/rgen/lib/rgen/instantiator/ecore_xml_instantiator.rb +0 -169
  950. data/lib/puppet/vendor/rgen/lib/rgen/instantiator/json_instantiator.rb +0 -126
  951. data/lib/puppet/vendor/rgen/lib/rgen/instantiator/json_parser.rb +0 -331
  952. data/lib/puppet/vendor/rgen/lib/rgen/instantiator/json_parser.y +0 -94
  953. data/lib/puppet/vendor/rgen/lib/rgen/instantiator/nodebased_xml_instantiator.rb +0 -137
  954. data/lib/puppet/vendor/rgen/lib/rgen/instantiator/qualified_name_resolver.rb +0 -97
  955. data/lib/puppet/vendor/rgen/lib/rgen/instantiator/reference_resolver.rb +0 -128
  956. data/lib/puppet/vendor/rgen/lib/rgen/instantiator/resolution_helper.rb +0 -47
  957. data/lib/puppet/vendor/rgen/lib/rgen/instantiator/xmi11_instantiator.rb +0 -168
  958. data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder.rb +0 -224
  959. data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/builder_extensions.rb +0 -556
  960. data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/builder_runtime.rb +0 -174
  961. data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/constant_order_helper.rb +0 -89
  962. data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/data_types.rb +0 -77
  963. data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/intermediate/annotation.rb +0 -30
  964. data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/intermediate/feature.rb +0 -168
  965. data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/mm_multiple.rb +0 -23
  966. data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/module_extension.rb +0 -42
  967. data/lib/puppet/vendor/rgen/lib/rgen/model_builder.rb +0 -32
  968. data/lib/puppet/vendor/rgen/lib/rgen/model_builder/builder_context.rb +0 -334
  969. data/lib/puppet/vendor/rgen/lib/rgen/model_builder/model_serializer.rb +0 -225
  970. data/lib/puppet/vendor/rgen/lib/rgen/model_builder/reference_resolver.rb +0 -156
  971. data/lib/puppet/vendor/rgen/lib/rgen/serializer/json_serializer.rb +0 -121
  972. data/lib/puppet/vendor/rgen/lib/rgen/serializer/opposite_reference_filter.rb +0 -18
  973. data/lib/puppet/vendor/rgen/lib/rgen/serializer/qualified_name_provider.rb +0 -47
  974. data/lib/puppet/vendor/rgen/lib/rgen/serializer/xmi11_serializer.rb +0 -116
  975. data/lib/puppet/vendor/rgen/lib/rgen/serializer/xmi20_serializer.rb +0 -71
  976. data/lib/puppet/vendor/rgen/lib/rgen/serializer/xml_serializer.rb +0 -98
  977. data/lib/puppet/vendor/rgen/lib/rgen/template_language.rb +0 -297
  978. data/lib/puppet/vendor/rgen/lib/rgen/template_language/directory_template_container.rb +0 -83
  979. data/lib/puppet/vendor/rgen/lib/rgen/template_language/output_handler.rb +0 -87
  980. data/lib/puppet/vendor/rgen/lib/rgen/template_language/template_container.rb +0 -234
  981. data/lib/puppet/vendor/rgen/lib/rgen/template_language/template_helper.rb +0 -26
  982. data/lib/puppet/vendor/rgen/lib/rgen/transformer.rb +0 -475
  983. data/lib/puppet/vendor/rgen/lib/rgen/util/auto_class_creator.rb +0 -61
  984. data/lib/puppet/vendor/rgen/lib/rgen/util/cached_glob.rb +0 -67
  985. data/lib/puppet/vendor/rgen/lib/rgen/util/file_cache_map.rb +0 -124
  986. data/lib/puppet/vendor/rgen/lib/rgen/util/file_change_detector.rb +0 -84
  987. data/lib/puppet/vendor/rgen/lib/rgen/util/method_delegation.rb +0 -114
  988. data/lib/puppet/vendor/rgen/lib/rgen/util/model_comparator.rb +0 -68
  989. data/lib/puppet/vendor/rgen/lib/rgen/util/model_comparator_base.rb +0 -142
  990. data/lib/puppet/vendor/rgen/lib/rgen/util/model_dumper.rb +0 -29
  991. data/lib/puppet/vendor/rgen/lib/rgen/util/name_helper.rb +0 -42
  992. data/lib/puppet/vendor/rgen/lib/rgen/util/pattern_matcher.rb +0 -329
  993. data/lib/puppet/vendor/rgen/lib/transformers/ecore_to_uml13.rb +0 -79
  994. data/lib/puppet/vendor/rgen/lib/transformers/uml13_to_ecore.rb +0 -127
  995. data/lib/puppet/vendor/rgen/test/array_extensions_test.rb +0 -64
  996. data/lib/puppet/vendor/rgen/test/ea_instantiator_test.rb +0 -35
  997. data/lib/puppet/vendor/rgen/test/ea_serializer_test.rb +0 -23
  998. data/lib/puppet/vendor/rgen/test/ecore_self_test.rb +0 -54
  999. data/lib/puppet/vendor/rgen/test/environment_test.rb +0 -90
  1000. data/lib/puppet/vendor/rgen/test/json_test.rb +0 -171
  1001. data/lib/puppet/vendor/rgen/test/metamodel_builder_test.rb +0 -1482
  1002. data/lib/puppet/vendor/rgen/test/metamodel_from_ecore_test.rb +0 -57
  1003. data/lib/puppet/vendor/rgen/test/metamodel_order_test.rb +0 -131
  1004. data/lib/puppet/vendor/rgen/test/metamodel_roundtrip_test.rb +0 -98
  1005. data/lib/puppet/vendor/rgen/test/metamodel_roundtrip_test/TestModel.rb +0 -70
  1006. data/lib/puppet/vendor/rgen/test/metamodel_roundtrip_test/houseMetamodel.ecore +0 -42
  1007. data/lib/puppet/vendor/rgen/test/metamodel_roundtrip_test/houseMetamodel_from_ecore.rb +0 -44
  1008. data/lib/puppet/vendor/rgen/test/metamodel_roundtrip_test/using_builtin_types.ecore +0 -9
  1009. data/lib/puppet/vendor/rgen/test/method_delegation_test.rb +0 -178
  1010. data/lib/puppet/vendor/rgen/test/model_builder/builder_context_test.rb +0 -59
  1011. data/lib/puppet/vendor/rgen/test/model_builder/builder_test.rb +0 -242
  1012. data/lib/puppet/vendor/rgen/test/model_builder/ecore_original.rb +0 -163
  1013. data/lib/puppet/vendor/rgen/test/model_builder/ecore_original_regenerated.rb +0 -163
  1014. data/lib/puppet/vendor/rgen/test/model_builder/reference_resolver_test.rb +0 -156
  1015. data/lib/puppet/vendor/rgen/test/model_builder/serializer_test.rb +0 -94
  1016. data/lib/puppet/vendor/rgen/test/model_builder/statemachine_metamodel.rb +0 -42
  1017. data/lib/puppet/vendor/rgen/test/model_builder/test_model/statemachine1.rb +0 -23
  1018. data/lib/puppet/vendor/rgen/test/model_builder_test.rb +0 -6
  1019. data/lib/puppet/vendor/rgen/test/model_fragment_test.rb +0 -30
  1020. data/lib/puppet/vendor/rgen/test/output_handler_test.rb +0 -58
  1021. data/lib/puppet/vendor/rgen/test/qualified_name_provider_test.rb +0 -48
  1022. data/lib/puppet/vendor/rgen/test/qualified_name_resolver_test.rb +0 -102
  1023. data/lib/puppet/vendor/rgen/test/reference_resolver_test.rb +0 -117
  1024. data/lib/puppet/vendor/rgen/test/rgen_test.rb +0 -26
  1025. data/lib/puppet/vendor/rgen/test/template_language_test.rb +0 -163
  1026. data/lib/puppet/vendor/rgen/test/template_language_test/expected_result1.txt +0 -29
  1027. data/lib/puppet/vendor/rgen/test/template_language_test/expected_result2.txt +0 -9
  1028. data/lib/puppet/vendor/rgen/test/template_language_test/expected_result3.txt +0 -4
  1029. data/lib/puppet/vendor/rgen/test/template_language_test/indentStringTestDefaultIndent.out +0 -1
  1030. data/lib/puppet/vendor/rgen/test/template_language_test/indentStringTestTabIndent.out +0 -1
  1031. data/lib/puppet/vendor/rgen/test/template_language_test/templates/callback_indent_test/a.tpl +0 -12
  1032. data/lib/puppet/vendor/rgen/test/template_language_test/templates/callback_indent_test/b.tpl +0 -5
  1033. data/lib/puppet/vendor/rgen/test/template_language_test/templates/code/array.tpl +0 -11
  1034. data/lib/puppet/vendor/rgen/test/template_language_test/templates/content/author.tpl +0 -7
  1035. data/lib/puppet/vendor/rgen/test/template_language_test/templates/content/chapter.tpl +0 -5
  1036. data/lib/puppet/vendor/rgen/test/template_language_test/templates/define_local_test/local.tpl +0 -8
  1037. data/lib/puppet/vendor/rgen/test/template_language_test/templates/define_local_test/test.tpl +0 -8
  1038. data/lib/puppet/vendor/rgen/test/template_language_test/templates/evaluate_test/test.tpl +0 -7
  1039. data/lib/puppet/vendor/rgen/test/template_language_test/templates/indent_string_test.tpl +0 -12
  1040. data/lib/puppet/vendor/rgen/test/template_language_test/templates/index/c/cmod.tpl +0 -1
  1041. data/lib/puppet/vendor/rgen/test/template_language_test/templates/index/chapter.tpl +0 -3
  1042. data/lib/puppet/vendor/rgen/test/template_language_test/templates/no_backslash_r_test.tpl +0 -5
  1043. data/lib/puppet/vendor/rgen/test/template_language_test/templates/no_indent_test/no_indent.tpl +0 -3
  1044. data/lib/puppet/vendor/rgen/test/template_language_test/templates/no_indent_test/sub1/no_indent.tpl +0 -3
  1045. data/lib/puppet/vendor/rgen/test/template_language_test/templates/no_indent_test/test.tpl +0 -24
  1046. data/lib/puppet/vendor/rgen/test/template_language_test/templates/no_indent_test/test2.tpl +0 -13
  1047. data/lib/puppet/vendor/rgen/test/template_language_test/templates/no_indent_test/test3.tpl +0 -10
  1048. data/lib/puppet/vendor/rgen/test/template_language_test/templates/null_context_test.tpl +0 -17
  1049. data/lib/puppet/vendor/rgen/test/template_language_test/templates/root.tpl +0 -31
  1050. data/lib/puppet/vendor/rgen/test/template_language_test/templates/template_resolution_test/sub1.tpl +0 -9
  1051. data/lib/puppet/vendor/rgen/test/template_language_test/templates/template_resolution_test/sub1/sub1.tpl +0 -3
  1052. data/lib/puppet/vendor/rgen/test/template_language_test/templates/template_resolution_test/test.tpl +0 -4
  1053. data/lib/puppet/vendor/rgen/test/template_language_test/testout.txt +0 -29
  1054. data/lib/puppet/vendor/rgen/test/testmodel/class_model_checker.rb +0 -119
  1055. data/lib/puppet/vendor/rgen/test/testmodel/ea_testmodel.eap +0 -0
  1056. data/lib/puppet/vendor/rgen/test/testmodel/ea_testmodel.xml +0 -1029
  1057. data/lib/puppet/vendor/rgen/test/testmodel/ea_testmodel_partial.xml +0 -317
  1058. data/lib/puppet/vendor/rgen/test/testmodel/ecore_model_checker.rb +0 -101
  1059. data/lib/puppet/vendor/rgen/test/testmodel/manual_testmodel.xml +0 -22
  1060. data/lib/puppet/vendor/rgen/test/testmodel/object_model_checker.rb +0 -67
  1061. data/lib/puppet/vendor/rgen/test/transformer_test.rb +0 -254
  1062. data/lib/puppet/vendor/rgen/test/util/file_cache_map_test.rb +0 -99
  1063. data/lib/puppet/vendor/rgen/test/util/pattern_matcher_test.rb +0 -97
  1064. data/lib/puppet/vendor/rgen/test/util_test.rb +0 -5
  1065. data/lib/puppet/vendor/rgen/test/xml_instantiator_test.rb +0 -160
  1066. data/lib/puppet/vendor/rgen/test/xml_instantiator_test/simple_ecore_model_checker.rb +0 -94
  1067. data/lib/puppet/vendor/rgen/test/xml_instantiator_test/simple_xmi_ecore_instantiator.rb +0 -53
  1068. data/lib/puppet/vendor/rgen/test/xml_instantiator_test/simple_xmi_metamodel.rb +0 -49
  1069. data/lib/puppet/vendor/rgen/test/xml_instantiator_test/simple_xmi_to_ecore.rb +0 -75
  1070. data/lib/puppet/vendor/rgen_patch.rb +0 -132
  1071. data/lib/semver.rb +0 -146
  1072. data/man/man8/extlookup2hiera.8 +0 -10
  1073. data/man/man8/puppet-file.8 +0 -189
  1074. data/man/man8/puppet-generate.8 +0 -84
  1075. data/man/man8/puppet-lookup.8 +0 -87
  1076. data/man/man8/puppet-resource_type.8 +0 -188
  1077. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/lib/puppet/bindings/abc/default.rb +0 -9
  1078. data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/lib/puppet/bindings/xyz/default.rb +0 -9
  1079. data/spec/fixtures/unit/data_providers/environments/sample/environment.conf +0 -2
  1080. data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/hiera.yaml +0 -5
  1081. data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/lib/puppet/bindings/backend/default.rb +0 -9
  1082. data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/lib/puppet_x/backend/special_data_provider_factory.rb +0 -23
  1083. data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/manifests/init.pp +0 -5
  1084. data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/metadata.json +0 -9
  1085. data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/lib/puppet/bindings/dataprovider/default.rb +0 -54
  1086. data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/lib/puppet_x/helindbe/sample_env_data.rb +0 -33
  1087. data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/lib/puppet_x/helindbe/sample_module_data.rb +0 -33
  1088. data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/manifests/init.pp +0 -5
  1089. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/abc/lib/puppet/bindings/abc/default.rb +0 -9
  1090. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bad_data/lib/puppet/bindings/bad_data/default.rb +0 -9
  1091. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bca/lib/puppet/bindings/bca/default.rb +0 -9
  1092. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/metawcp/lib/puppet/bindings/metawcp/default.rb +0 -10
  1093. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/metawcp/lib/puppet_x/thallgren/sample_module_data.rb +0 -23
  1094. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/metawcp/manifests/init.pp +0 -3
  1095. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/metawcp/metadata.json +0 -9
  1096. data/spec/fixtures/unit/provider/package/yum/yum-check-update-plugin-output.txt +0 -36
  1097. data/spec/fixtures/unit/provider/service/base/ps_ef.mixed_encoding +0 -3
  1098. data/spec/unit/application/inspect_spec.rb +0 -316
  1099. data/spec/unit/data_providers/custom_data_provider_spec.rb +0 -50
  1100. data/spec/unit/face/file_spec.rb +0 -14
  1101. data/spec/unit/indirector/catalog/static_compiler_spec.rb +0 -255
  1102. data/spec/unit/indirector/resource_type/parser_spec.rb +0 -259
  1103. data/spec/unit/indirector/resource_type/rest_spec.rb +0 -14
  1104. data/spec/unit/pops/binder/binder_spec.rb +0 -43
  1105. data/spec/unit/pops/binder/bindings_checker_spec.rb +0 -155
  1106. data/spec/unit/pops/binder/bindings_composer_spec.rb +0 -64
  1107. data/spec/unit/pops/binder/bindings_validator_factory_spec.rb +0 -18
  1108. data/spec/unit/pops/binder/config/binder_config_spec.rb +0 -42
  1109. data/spec/unit/pops/binder/injector_spec.rb +0 -768
  1110. data/spec/unit/pops/parser/rgen_sanitycheck_spec.rb +0 -23
  1111. data/spec/unit/pops/serialization/rgen_spec.rb +0 -88
  1112. data/spec/unit/semver_spec.rb +0 -546
@@ -189,7 +189,6 @@ touch %{buildroot}%{_localstatedir}/log/puppet/masterhttp.log
189
189
  %defattr(-, root, root, 0755)
190
190
  %doc LICENSE README.md examples
191
191
  %{_bindir}/puppet
192
- %{_bindir}/extlookup2hiera
193
192
  %{puppet_libdir}/*
194
193
  %if 0%{?_with_systemd}
195
194
  %{_unitdir}/puppet.service
@@ -239,9 +238,7 @@ touch %{buildroot}%{_localstatedir}/log/puppet/masterhttp.log
239
238
  %{_mandir}/man8/puppet-plugin.8.gz
240
239
  %{_mandir}/man8/puppet-report.8.gz
241
240
  %{_mandir}/man8/puppet-resource.8.gz
242
- %{_mandir}/man8/puppet-resource_type.8.gz
243
241
  %{_mandir}/man8/puppet-status.8.gz
244
- %{_mandir}/man8/extlookup2hiera.8.gz
245
242
  # These need to be owned by puppet so the server can
246
243
  # write to them. The separate %defattr's are required
247
244
  # to work around RH Bugzilla 681540
@@ -4,13 +4,14 @@ require 'fileutils'
4
4
  require 'win32/daemon'
5
5
  require 'win32/dir'
6
6
  require 'win32/process'
7
- require 'win32/eventlog'
7
+
8
+ # This file defines utilities for logging to eventlog. While it lives inside
9
+ # Puppet, it is completely independent and loads no other parts of Puppet, so we
10
+ # can safely require *just* it.
11
+ require 'puppet/util/windows/eventlog'
8
12
 
9
13
  class WindowsDaemon < Win32::Daemon
10
14
  CREATE_NEW_CONSOLE = 0x00000010
11
- EVENTLOG_ERROR_TYPE = 0x0001
12
- EVENTLOG_WARNING_TYPE = 0x0002
13
- EVENTLOG_INFORMATION_TYPE = 0x0004
14
15
 
15
16
  @run_thread = nil
16
17
  @LOG_TO_FILE = false
@@ -127,23 +128,16 @@ class WindowsDaemon < Win32::Daemon
127
128
  File.open(LOG_FILE, 'a:UTF-8') { |f| f.puts("#{Time.now} Puppet (#{level}): #{msg}") }
128
129
  end
129
130
 
130
- case level
131
- when :debug, :info, :notice
132
- report_windows_event(EVENTLOG_INFORMATION_TYPE,0x01,msg.to_s)
133
- when :err, :alert, :emerg, :crit
134
- report_windows_event(EVENTLOG_ERROR_TYPE,0x03,msg.to_s)
135
- else
136
- report_windows_event(EVENTLOG_WARNING_TYPE,0x02,msg.to_s)
137
- end
131
+ native_type, native_id = Puppet::Util::Windows::EventLog.to_native(level)
132
+ report_windows_event(native_type, native_id, msg.to_s)
138
133
  end
139
134
  end
140
135
 
141
136
  def report_windows_event(type,id,message)
142
137
  begin
143
138
  eventlog = nil
144
- eventlog = Win32::EventLog.open("Application")
139
+ eventlog = Puppet::Util::Windows::EventLog.open("Puppet")
145
140
  eventlog.report_event(
146
- :source => "Puppet",
147
141
  :event_type => type, # EVENTLOG_ERROR_TYPE, etc
148
142
  :event_id => id, # 0x01 or 0x02, 0x03 etc.
149
143
  :data => message # "the message"
data/install.rb CHANGED
@@ -493,7 +493,7 @@ end
493
493
  # Change directory into the puppet root so we don't get the wrong files for install.
494
494
  FileUtils.cd File.dirname(__FILE__) do
495
495
  # Set these values to what you want installed.
496
- configs = glob(%w{conf/auth.conf conf/puppet.conf})
496
+ configs = glob(%w{conf/auth.conf conf/puppet.conf conf/hiera.yaml})
497
497
  bins = glob(%w{bin/*})
498
498
  rdoc = glob(%w{bin/* lib/**/*.rb README* }).reject { |e| e=~ /\.(bat|cmd)$/ }
499
499
  ri = glob(%w{bin/*.rb lib/**/*.rb}).reject { |e| e=~ /\.(bat|cmd)$/ }
@@ -60,7 +60,7 @@ class Hiera::PuppetFunction < Puppet::Functions::InternalFunction
60
60
 
61
61
  def lookup(scope, key, default, has_default, override, &default_block)
62
62
  unless Puppet[:strict] == :off
63
- Puppet.warn_once(:deprecation, self.class.name,
63
+ Puppet.warn_once('deprecations', self.class.name,
64
64
  "The function '#{self.class.name}' is deprecated in favor of using 'lookup'. See https://docs.puppet.com/puppet/#{Puppet.minor_version}/reference/deprecated_language.html")
65
65
  end
66
66
  lookup_invocation = Puppet::Pops::Lookup::Invocation.new(scope, {}, {})
data/lib/puppet.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  require 'puppet/version'
2
2
 
3
3
  if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new("1.9.3")
4
- raise LoadError, "Puppet #{Puppet.version} requires ruby 1.9.3 or greater."
4
+ raise LoadError, _("Puppet %{version} requires ruby 1.9.3 or greater.") % { version: Puppet.version }
5
5
  end
6
6
 
7
7
  Puppet::OLDEST_RECOMMENDED_RUBY_VERSION = '2.1.0'
@@ -17,6 +17,7 @@ require 'puppet/settings'
17
17
  require 'puppet/util/feature'
18
18
  require 'puppet/util/suidmanager'
19
19
  require 'puppet/util/run_mode'
20
+ # PSON is deprecated, use JSON instead
20
21
  require 'puppet/external/pson/common'
21
22
  require 'puppet/external/pson/version'
22
23
  require 'puppet/external/pson/pure'
@@ -177,7 +178,7 @@ module Puppet
177
178
  # Now that settings are loaded we have the code loaded to be able to issue
178
179
  # deprecation warnings. Warn if we're on a deprecated ruby version.
179
180
  if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new(Puppet::OLDEST_RECOMMENDED_RUBY_VERSION)
180
- Puppet.deprecation_warning("Support for ruby version #{RUBY_VERSION} is deprecated and will be removed in a future release. See https://docs.puppet.com/puppet/latest/system_requirements.html#ruby for a list of supported ruby versions.")
181
+ Puppet.deprecation_warning(_("Support for ruby version %{version} is deprecated and will be removed in a future release. See https://docs.puppet.com/puppet/latest/system_requirements.html#ruby for a list of supported ruby versions.") % { version: RUBY_VERSION })
181
182
  end
182
183
 
183
184
  # Initialize puppet's settings. This is intended only for use by external tools that are not
@@ -224,7 +225,7 @@ module Puppet
224
225
  # code was deprecated in 2008, but this is still in heavy use. I suppose
225
226
  # this can count as a soft deprecation for the next dev. --daniel 2011-04-12
226
227
  def self.newtype(name, options = {}, &block)
227
- Puppet.deprecation_warning("Creating #{name} via Puppet.newtype is deprecated and will be removed in a future release. Use Puppet::Type.newtype instead.")
228
+ Puppet.deprecation_warning(_("Creating %{name} via Puppet.newtype is deprecated and will be removed in a future release. Use Puppet::Type.newtype instead.") % { name: name })
228
229
  Puppet::Type.newtype(name, options, &block)
229
230
  end
230
231
 
@@ -243,7 +244,7 @@ module Puppet
243
244
  basemodulepath = Puppet::Node::Environment.split_path(settings[:basemodulepath])
244
245
 
245
246
  if environmentpath.nil? || environmentpath.empty?
246
- raise(Puppet::Error, "The environmentpath setting cannot be empty or nil.")
247
+ raise(Puppet::Error, _("The environmentpath setting cannot be empty or nil."))
247
248
  else
248
249
  loaders = Puppet::Environments::Directories.from_path(environmentpath, basemodulepath)
249
250
  # in case the configured environment (used for the default sometimes)
@@ -264,6 +265,7 @@ module Puppet
264
265
  Puppet::Network::HTTP::NoCachePool.new
265
266
  },
266
267
  :ssl_host => proc { Puppet::SSL::Host.localhost },
268
+ :plugins => proc { Puppet::Plugins::Configuration.load_plugins }
267
269
  }
268
270
  end
269
271
 
@@ -350,4 +352,4 @@ require 'puppet/data_binding'
350
352
  require 'puppet/util/storage'
351
353
  require 'puppet/status'
352
354
  require 'puppet/file_bucket/file'
353
- require 'puppet/plugins'
355
+ require 'puppet/plugins/configuration'
data/lib/puppet/agent.rb CHANGED
@@ -1,7 +1,6 @@
1
1
  require 'puppet/application'
2
2
  require 'puppet/error'
3
-
4
- require 'timeout'
3
+ require 'puppet/util/at_fork'
5
4
 
6
5
  # A general class for triggering a run of another
7
6
  # class.
@@ -15,10 +14,6 @@ class Puppet::Agent
15
14
  require 'puppet/util/splayer'
16
15
  include Puppet::Util::Splayer
17
16
 
18
- # Special exception class used to signal an agent run has timed out.
19
- class RunTimeoutError < Exception
20
- end
21
-
22
17
  attr_reader :client_class, :client, :should_fork
23
18
 
24
19
  def initialize(client_class, should_fork=true)
@@ -37,7 +32,7 @@ class Puppet::Agent
37
32
  # Perform a run with our client.
38
33
  def run(client_options = {})
39
34
  if disabled?
40
- Puppet.notice "Skipping run of #{client_class}; administratively disabled (Reason: '#{disable_message}');\nUse 'puppet agent --enable' to re-enable."
35
+ Puppet.notice _("Skipping run of %{client_class}; administratively disabled (Reason: '%{disable_message}');\nUse 'puppet agent --enable' to re-enable.") % { client_class: client_class, disable_message: disable_message }
41
36
  return
42
37
  end
43
38
 
@@ -45,35 +40,21 @@ class Puppet::Agent
45
40
  block_run = Puppet::Application.controlled_run do
46
41
  splay client_options.fetch :splay, Puppet[:splay]
47
42
  result = run_in_fork(should_fork) do
48
- with_client(client_options[:transaction_uuid]) do |client|
49
- client_args = client_options.merge(:pluginsync => Puppet::Configurer.should_pluginsync?)
43
+ with_client(client_options[:transaction_uuid], client_options[:job_id]) do |client|
50
44
  begin
51
- lock do
52
- # NOTE: Timeout is pretty heinous as the location in which it
53
- # throws an error is entirely unpredictable, which means that
54
- # it can interrupt code blocks that perform cleanup or enforce
55
- # sanity. The only thing a Puppet agent should do after this
56
- # error is thrown is die with as much dignity as possible.
57
- Timeout.timeout(Puppet[:runtimeout], RunTimeoutError) do
58
- client.run(client_args)
59
- end
60
- end
45
+ client_args = client_options.merge(:pluginsync => Puppet::Configurer.should_pluginsync?)
46
+ lock { client.run(client_args) }
61
47
  rescue Puppet::LockError
62
- Puppet.notice "Run of #{client_class} already in progress; skipping (#{lockfile_path} exists)"
48
+ Puppet.notice _("Run of %{client_class} already in progress; skipping (%{lockfile_path} exists)") % { client_class: client_class, lockfile_path: lockfile_path }
63
49
  return
64
- rescue RunTimeoutError => detail
65
- Puppet.log_exception(detail, _("Execution of %{client_class} did not complete within %{runtimeout} seconds and was terminated.") %
66
- {client_class: client_class,
67
- runtimeout: Puppet[:runtimeout]})
68
- return 1
69
50
  rescue StandardError => detail
70
- Puppet.log_exception(detail, "Could not run #{client_class}: #{detail}")
51
+ Puppet.log_exception(detail, _("Could not run %{client_class}: %{detail}") % { client_class: client_class, detail: detail })
71
52
  end
72
53
  end
73
54
  end
74
55
  true
75
56
  end
76
- Puppet.notice "Shutdown/restart in progress (#{Puppet::Application.run_status.inspect}); skipping run" unless block_run
57
+ Puppet.notice _("Shutdown/restart in progress (%{status}); skipping run") % { status: Puppet::Application.run_status.inspect } unless block_run
77
58
  result
78
59
  end
79
60
 
@@ -84,16 +65,26 @@ class Puppet::Agent
84
65
  def run_in_fork(forking = true)
85
66
  return yield unless forking or Puppet.features.windows?
86
67
 
87
- child_pid = Kernel.fork do
88
- $0 = "puppet agent: applying configuration"
89
- begin
90
- exit(yield)
91
- rescue SystemExit
92
- exit(-1)
93
- rescue NoMemoryError
94
- exit(-2)
68
+ atForkHandler = Puppet::Util::AtFork.get_handler
69
+
70
+ atForkHandler.prepare
71
+
72
+ begin
73
+ child_pid = Kernel.fork do
74
+ atForkHandler.child
75
+ $0 = _("puppet agent: applying configuration")
76
+ begin
77
+ exit(yield)
78
+ rescue SystemExit
79
+ exit(-1)
80
+ rescue NoMemoryError
81
+ exit(-2)
82
+ end
95
83
  end
84
+ ensure
85
+ atForkHandler.parent
96
86
  end
87
+
97
88
  exit_code = Process.waitpid2(child_pid)
98
89
  case exit_code[1].exitstatus
99
90
  when -1
@@ -108,11 +99,11 @@ class Puppet::Agent
108
99
 
109
100
  # Create and yield a client instance, keeping a reference
110
101
  # to it during the yield.
111
- def with_client(transaction_uuid)
102
+ def with_client(transaction_uuid, job_id = nil)
112
103
  begin
113
- @client = client_class.new(Puppet::Configurer::DownloaderFactory.new, transaction_uuid)
104
+ @client = client_class.new(Puppet::Configurer::DownloaderFactory.new, transaction_uuid, job_id)
114
105
  rescue StandardError => detail
115
- Puppet.log_exception(detail, "Could not create instance of #{client_class}: #{detail}")
106
+ Puppet.log_exception(detail, _("Could not create instance of %{client_class}: %{detail}") % { client_class: client_class, detail: detail })
116
107
  return
117
108
  end
118
109
  yield @client
@@ -10,20 +10,20 @@ require 'puppet/util/json_lockfile'
10
10
  # because it used by external tools such as mcollective.
11
11
  #
12
12
  # For more information, please see docs on the website.
13
- # http://links.puppetlabs.com/agent_lockfiles
13
+ # http://links.puppet.com/agent_lockfiles
14
14
  module Puppet::Agent::Disabler
15
15
  DISABLED_MESSAGE_JSON_KEY = "disabled_message"
16
16
 
17
17
  # Let the daemon run again, freely in the filesystem.
18
18
  def enable
19
- Puppet.notice "Enabling Puppet."
19
+ Puppet.notice _("Enabling Puppet.")
20
20
  disable_lockfile.unlock
21
21
  end
22
22
 
23
23
  # Stop the daemon from making any catalog runs.
24
24
  def disable(msg=nil)
25
25
  data = {}
26
- Puppet.notice "Disabling Puppet."
26
+ Puppet.notice _("Disabling Puppet.")
27
27
  if (! msg.nil?)
28
28
  data[DISABLED_MESSAGE_JSON_KEY] = msg
29
29
  end
@@ -11,7 +11,7 @@ require 'puppet/error'
11
11
  # Puppet API because it used by external tools such as mcollective.
12
12
  #
13
13
  # For more information, please see docs on the website.
14
- # http://links.puppetlabs.com/agent_lockfiles
14
+ # http://links.puppet.com/agent_lockfiles
15
15
  module Puppet::Agent::Locker
16
16
  # Yield if we get a lock, else raise Puppet::LockError. Return
17
17
  # value of block yielded.
@@ -23,13 +23,13 @@ module Puppet::Agent::Locker
23
23
  lockfile.unlock
24
24
  end
25
25
  else
26
- fail Puppet::LockError, 'Failed to acquire lock'
26
+ fail Puppet::LockError, _('Failed to acquire lock')
27
27
  end
28
28
  end
29
29
 
30
30
  # @deprecated
31
31
  def running?
32
- Puppet.deprecation_warning <<-ENDHEREDOC
32
+ Puppet.deprecation_warning _(<<-ENDHEREDOC)
33
33
  Puppet::Agent::Locker.running? is deprecated as it is inherently unsafe.
34
34
  The only safe way to know if the lock is locked is to try lock and perform some
35
35
  action and then handle the LockError that may result.
@@ -228,7 +228,7 @@ class Application
228
228
  begin
229
229
  require @loader.expand(application_name.to_s.downcase)
230
230
  rescue LoadError => e
231
- Puppet.log_and_raise(e, "Unable to find application '#{application_name}'. #{e}")
231
+ Puppet.log_and_raise(e, _("Unable to find application '%{application_name}'. %{error}") % { application_name: application_name, error: e })
232
232
  end
233
233
 
234
234
  class_name = Puppet::Util::ConstantInflector.file2constant(application_name.to_s)
@@ -249,7 +249,7 @@ class Application
249
249
  ################################################################
250
250
 
251
251
  if clazz.nil?
252
- raise Puppet::Error.new("Unable to load application class '#{class_name}' from file 'puppet/application/#{application_name}.rb'")
252
+ raise Puppet::Error.new(_("Unable to load application class '%{class_name}' from file 'puppet/application/%{application_name}.rb'") % { class_name: class_name, application_name: application_name })
253
253
  end
254
254
 
255
255
  return clazz
@@ -281,23 +281,6 @@ class Application
281
281
  @run_mode = Puppet::Util::RunMode[ mode_name || Puppet.settings.preferred_run_mode ]
282
282
  end
283
283
 
284
- # Sets environment_mode name
285
- # @param mode_name [Symbol] The name of the environment mode to run in. May
286
- # be one of :local, :remote, or :not_required. This impacts where the
287
- # application looks for its specified environment. If :not_required or
288
- # :remote are set, the application will not fail if the environment does
289
- # not exist on the local filesystem.
290
- def environment_mode(mode_name)
291
- raise Puppet::Error, _("Invalid environment mode '%{mode_name}'") % { mode_name: mode_name } unless [:local, :remote, :not_required].include?(mode_name)
292
- @environment_mode = mode_name
293
- end
294
-
295
- # Gets environment_mode name. If none is set with `environment_mode=`,
296
- # default to :local.
297
- def get_environment_mode
298
- @environment_mode || :local
299
- end
300
-
301
284
  # This is for testing only
302
285
  def clear_everything_for_tests
303
286
  @run_mode = @banner = @run_status = @option_parser_commands = nil
@@ -356,27 +339,27 @@ class Application
356
339
  # I don't really like the names of these lifecycle phases. It would be nice to change them to some more meaningful
357
340
  # names, and make deprecated aliases. --cprice 2012-03-16
358
341
 
359
- exit_on_fail("get application-specific default settings") do
342
+ exit_on_fail(_("get application-specific default settings")) do
360
343
  initialize_app_defaults
361
344
  end
362
345
 
363
- Puppet::ApplicationSupport.push_application_context(self.class.run_mode, self.class.get_environment_mode)
346
+ Puppet::ApplicationSupport.push_application_context(self.class.run_mode)
364
347
 
365
- exit_on_fail("initialize") { preinit }
366
- exit_on_fail("parse application options") { parse_options }
367
- exit_on_fail("prepare for execution") { setup }
348
+ exit_on_fail(_("initialize")) { preinit }
349
+ exit_on_fail(_("parse application options")) { parse_options }
350
+ exit_on_fail(_("prepare for execution")) { setup }
368
351
 
369
352
  if deprecated?
370
353
  Puppet.deprecation_warning(_("`puppet %{name}` is deprecated and will be removed in a future release.") % { name: name })
371
354
  end
372
355
 
373
- exit_on_fail("configure routes from #{Puppet[:route_file]}") { configure_indirector_routes }
374
- exit_on_fail("log runtime debug info") { log_runtime_environment }
375
- exit_on_fail("run") { run_command }
356
+ exit_on_fail(_("configure routes from %{route_file}") % { route_file: Puppet[:route_file] }) { configure_indirector_routes }
357
+ exit_on_fail(_("log runtime debug info")) { log_runtime_environment }
358
+ exit_on_fail(_("run")) { run_command }
376
359
  end
377
360
 
378
361
  def main
379
- raise NotImplementedError, "No valid command or main"
362
+ raise NotImplementedError, _("No valid command or main")
380
363
  end
381
364
 
382
365
  def run_command
@@ -489,7 +472,7 @@ class Application
489
472
  end
490
473
 
491
474
  def help
492
- "No help available for puppet #{name}"
475
+ _("No help available for puppet %{app_name}") % { app_name: name }
493
476
  end
494
477
  end
495
478
  end
@@ -21,7 +21,7 @@ class Puppet::Application::Agent < Puppet::Application
21
21
  def preinit
22
22
  # Do an initial trap, so that cancels don't get a stack trace.
23
23
  Signal.trap(:INT) do
24
- $stderr.puts "Cancelling startup"
24
+ $stderr.puts _("Cancelling startup")
25
25
  exit(0)
26
26
  end
27
27
 
@@ -38,7 +38,6 @@ class Puppet::Application::Agent < Puppet::Application
38
38
  :digest => 'SHA256',
39
39
  :graph => true,
40
40
  :fingerprint => false,
41
- :sourceaddress => nil,
42
41
  }.each do |opt,val|
43
42
  options[opt] = val
44
43
  end
@@ -60,8 +59,6 @@ class Puppet::Application::Agent < Puppet::Application
60
59
  option("--fingerprint")
61
60
  option("--digest DIGEST")
62
61
 
63
- option("--sourceaddress IP_ADDRESS")
64
-
65
62
  option("--detailed-exitcodes") do |arg|
66
63
  options[:detailed_exitcodes] = true
67
64
  end
@@ -74,6 +71,10 @@ class Puppet::Application::Agent < Puppet::Application
74
71
  options[:waitforcert] = arg.to_i
75
72
  end
76
73
 
74
+ option("--job-id ID") do |arg|
75
+ options[:job_id] = arg
76
+ end
77
+
77
78
  def help
78
79
  <<-'HELP'
79
80
 
@@ -93,8 +94,8 @@ USAGE
93
94
  -----
94
95
  puppet agent [--certname <NAME>] [-D|--daemonize|--no-daemonize]
95
96
  [-d|--debug] [--detailed-exitcodes] [--digest <DIGEST>] [--disable [MESSAGE]] [--enable]
96
- [--fingerprint] [-h|--help] [-l|--logdest syslog|eventlog|<ABS FILEPATH>|console]
97
- [--masterport <PORT>] [--noop] [-o|--onetime] [--sourceaddress <IP_ADDRESS>] [-t|--test]
97
+ [--fingerprint] [-h|--help] [-l|--logdest syslog|eventlog|<FILE>|console]
98
+ [--masterport <PORT>] [--noop] [-o|--onetime] [-t|--test]
98
99
  [-v|--verbose] [-V|--version] [-w|--waitforcert <SECONDS>]
99
100
 
100
101
 
@@ -235,6 +236,10 @@ generated by running puppet agent with '--genconfig'.
235
236
  * --help:
236
237
  Print this help message
237
238
 
239
+ * --job-id:
240
+ Attach the specified job id to the catalog request and the report used for
241
+ this agent run. This option only works when '--onetime' is used.
242
+
238
243
  * --logdest:
239
244
  Where to send log messages. Choose between 'syslog' (the POSIX syslog
240
245
  service), 'eventlog' (the Windows Event Log), 'console', or the path to a log
@@ -264,14 +269,10 @@ generated by running puppet agent with '--genconfig'.
264
269
  (This is a Puppet setting, and can go in puppet.conf. Note the special 'no-'
265
270
  prefix for boolean settings on the command line.)
266
271
 
267
- * --sourceaddress:
268
- Set the source IP address for transactions. This defaults to automatically selected.
269
- (This is a Puppet setting, and can go in puppet.conf.)
270
-
271
272
  * --test:
272
273
  Enable the most common options used for testing. These are 'onetime',
273
274
  'verbose', 'no-daemonize', 'no-usecacheonfailure', 'detailed-exitcodes',
274
- 'no-splay', 'show_diff', and 'no-use_cached_catalog'.
275
+ 'no-splay', and 'show_diff'.
275
276
 
276
277
  * --verbose:
277
278
  Turn on verbose reporting.
@@ -345,19 +346,19 @@ Copyright (c) 2011 Puppet Inc., LLC Licensed under the Apache 2.0 License
345
346
  def fingerprint
346
347
  host = Puppet::SSL::Host.new
347
348
  unless cert = host.certificate || host.certificate_request
348
- $stderr.puts "Fingerprint asked but no certificate nor certificate request have yet been issued"
349
+ $stderr.puts _("Fingerprint asked but no certificate nor certificate request have yet been issued")
349
350
  exit(1)
350
351
  return
351
352
  end
352
353
  unless digest = cert.digest(options[:digest].to_s)
353
- raise ArgumentError, "Could not get fingerprint for digest '#{options[:digest]}'"
354
+ raise ArgumentError, _("Could not get fingerprint for digest '%{digest}'") % { digest: options[:digest] }
354
355
  end
355
356
  puts digest.to_s
356
357
  end
357
358
 
358
359
  def onetime(daemon)
359
360
  begin
360
- exitstatus = daemon.agent.run
361
+ exitstatus = daemon.agent.run(:job_id => options[:job_id])
361
362
  rescue => detail
362
363
  Puppet.log_exception(detail)
363
364
  end
@@ -374,7 +375,7 @@ Copyright (c) 2011 Puppet Inc., LLC Licensed under the Apache 2.0 License
374
375
  end
375
376
 
376
377
  def main(daemon)
377
- Puppet.notice "Starting Puppet client version #{Puppet.version}"
378
+ Puppet.notice _("Starting Puppet client version %{version}") % { version: Puppet.version }
378
379
  daemon.start
379
380
  end
380
381
 
@@ -384,14 +385,13 @@ Copyright (c) 2011 Puppet Inc., LLC Licensed under the Apache 2.0 License
384
385
  Puppet.settings.handlearg("--no-splay")
385
386
  Puppet.settings.handlearg("--show_diff")
386
387
  Puppet.settings.handlearg("--no-daemonize")
387
- Puppet.settings.handlearg("--no-use_cached_catalog")
388
388
  options[:verbose] = true
389
389
  Puppet[:onetime] = true
390
390
  options[:detailed_exitcodes] = true
391
391
  end
392
392
 
393
393
  def setup
394
- raise ArgumentError, "The puppet agent command does not take parameters" unless command_line.args.empty?
394
+ raise ArgumentError, _("The puppet agent command does not take parameters") unless command_line.args.empty?
395
395
 
396
396
  setup_test if options[:test]
397
397
 
@@ -411,7 +411,9 @@ Copyright (c) 2011 Puppet Inc., LLC Licensed under the Apache 2.0 License
411
411
  # we want the last report to be persisted locally
412
412
  Puppet::Transaction::Report.indirection.cache_class = :yaml
413
413
 
414
- if Puppet[:catalog_cache_terminus]
414
+ if Puppet[:noop]
415
+ Puppet::Resource::Catalog.indirection.cache_class = nil
416
+ elsif Puppet[:catalog_cache_terminus]
415
417
  Puppet::Resource::Catalog.indirection.cache_class = Puppet[:catalog_cache_terminus]
416
418
  end
417
419