puppet 8.5.1-universal-darwin → 8.6.0-universal-darwin

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (542) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +23 -20
  3. data/ext/windows/service/daemon.rb +49 -55
  4. data/lib/hiera/scope.rb +3 -3
  5. data/lib/hiera_puppet.rb +1 -1
  6. data/lib/puppet/agent/disabler.rb +1 -1
  7. data/lib/puppet/application/agent.rb +2 -2
  8. data/lib/puppet/application/apply.rb +2 -2
  9. data/lib/puppet/application/describe.rb +6 -6
  10. data/lib/puppet/application/device.rb +99 -100
  11. data/lib/puppet/application/doc.rb +1 -1
  12. data/lib/puppet/application/face_base.rb +7 -7
  13. data/lib/puppet/application/filebucket.rb +1 -1
  14. data/lib/puppet/application/lookup.rb +5 -5
  15. data/lib/puppet/application/resource.rb +10 -3
  16. data/lib/puppet/application/ssl.rb +3 -3
  17. data/lib/puppet/application.rb +16 -18
  18. data/lib/puppet/coercion.rb +1 -1
  19. data/lib/puppet/configurer/downloader.rb +9 -4
  20. data/lib/puppet/configurer/fact_handler.rb +12 -13
  21. data/lib/puppet/configurer.rb +16 -18
  22. data/lib/puppet/confine/feature.rb +1 -1
  23. data/lib/puppet/confine/variable.rb +1 -1
  24. data/lib/puppet/confine.rb +2 -2
  25. data/lib/puppet/confine_collection.rb +1 -1
  26. data/lib/puppet/confiner.rb +2 -2
  27. data/lib/puppet/daemon.rb +3 -3
  28. data/lib/puppet/datatypes.rb +5 -6
  29. data/lib/puppet/defaults.rb +14 -8
  30. data/lib/puppet/environments.rb +3 -7
  31. data/lib/puppet/error.rb +3 -3
  32. data/lib/puppet/external/dot.rb +42 -34
  33. data/lib/puppet/face/catalog/select.rb +1 -1
  34. data/lib/puppet/face/epp.rb +7 -9
  35. data/lib/puppet/face/help.rb +12 -12
  36. data/lib/puppet/face/module/changes.rb +1 -3
  37. data/lib/puppet/face/module/list.rb +37 -37
  38. data/lib/puppet/face/node/clean.rb +1 -1
  39. data/lib/puppet/face/parser.rb +6 -8
  40. data/lib/puppet/face/report.rb +5 -7
  41. data/lib/puppet/facter_impl.rb +1 -1
  42. data/lib/puppet/feature/base.rb +9 -11
  43. data/lib/puppet/feature/pe_license.rb +1 -1
  44. data/lib/puppet/feature/ssh.rb +1 -1
  45. data/lib/puppet/feature/telnet.rb +3 -5
  46. data/lib/puppet/feature/zlib.rb +1 -1
  47. data/lib/puppet/ffi/windows/constants.rb +1 -1
  48. data/lib/puppet/ffi/windows/functions.rb +2 -2
  49. data/lib/puppet/ffi/windows/structs.rb +3 -3
  50. data/lib/puppet/file_bucket/dipper.rb +4 -4
  51. data/lib/puppet/file_bucket/file.rb +4 -4
  52. data/lib/puppet/file_serving/base.rb +5 -5
  53. data/lib/puppet/file_serving/configuration/parser.rb +9 -9
  54. data/lib/puppet/file_serving/configuration.rb +3 -3
  55. data/lib/puppet/file_serving/fileset.rb +13 -13
  56. data/lib/puppet/file_serving/http_metadata.rb +1 -1
  57. data/lib/puppet/file_serving/metadata.rb +13 -9
  58. data/lib/puppet/file_serving/mount/file.rb +6 -6
  59. data/lib/puppet/file_serving/mount/locales.rb +2 -4
  60. data/lib/puppet/file_serving/mount/pluginfacts.rb +2 -4
  61. data/lib/puppet/file_serving/mount/plugins.rb +2 -4
  62. data/lib/puppet/file_serving/mount.rb +1 -1
  63. data/lib/puppet/file_system/file_impl.rb +3 -3
  64. data/lib/puppet/file_system/memory_impl.rb +1 -1
  65. data/lib/puppet/file_system/path_pattern.rb +1 -1
  66. data/lib/puppet/file_system/uniquefile.rb +17 -16
  67. data/lib/puppet/file_system/windows.rb +26 -18
  68. data/lib/puppet/forge/cache.rb +2 -2
  69. data/lib/puppet/forge/errors.rb +1 -1
  70. data/lib/puppet/forge/repository.rb +2 -2
  71. data/lib/puppet/forge.rb +13 -19
  72. data/lib/puppet/functions/abs.rb +2 -2
  73. data/lib/puppet/functions/camelcase.rb +1 -1
  74. data/lib/puppet/functions/compare.rb +2 -2
  75. data/lib/puppet/functions/contain.rb +1 -1
  76. data/lib/puppet/functions/defined.rb +2 -2
  77. data/lib/puppet/functions/dig.rb +1 -1
  78. data/lib/puppet/functions/eyaml_lookup_key.rb +11 -13
  79. data/lib/puppet/functions/get.rb +1 -1
  80. data/lib/puppet/functions/hocon_data.rb +3 -5
  81. data/lib/puppet/functions/import.rb +1 -1
  82. data/lib/puppet/functions/json_data.rb +4 -6
  83. data/lib/puppet/functions/max.rb +2 -2
  84. data/lib/puppet/functions/min.rb +2 -2
  85. data/lib/puppet/functions/new.rb +1 -1
  86. data/lib/puppet/functions/reduce.rb +6 -10
  87. data/lib/puppet/functions/regsubst.rb +2 -2
  88. data/lib/puppet/functions/require.rb +1 -1
  89. data/lib/puppet/functions/yaml_data.rb +11 -13
  90. data/lib/puppet/functions.rb +32 -37
  91. data/lib/puppet/generate/type.rb +2 -2
  92. data/lib/puppet/gettext/config.rb +9 -9
  93. data/lib/puppet/graph/rb_tree_map.rb +31 -23
  94. data/lib/puppet/graph/relationship_graph.rb +12 -12
  95. data/lib/puppet/graph/simple_graph.rb +8 -10
  96. data/lib/puppet/http/client.rb +1 -1
  97. data/lib/puppet/http/dns.rb +4 -4
  98. data/lib/puppet/http/external_client.rb +1 -1
  99. data/lib/puppet/http/factory.rb +1 -1
  100. data/lib/puppet/http/proxy.rb +15 -15
  101. data/lib/puppet/http/redirector.rb +6 -2
  102. data/lib/puppet/http/resolver.rb +2 -2
  103. data/lib/puppet/http/retry_after_handler.rb +2 -2
  104. data/lib/puppet/http/service/ca.rb +1 -1
  105. data/lib/puppet/http/service/compiler.rb +4 -4
  106. data/lib/puppet/http/service/file_server.rb +1 -1
  107. data/lib/puppet/http/service/report.rb +2 -2
  108. data/lib/puppet/http/service.rb +9 -13
  109. data/lib/puppet/http/session.rb +1 -1
  110. data/lib/puppet/http/site.rb +1 -1
  111. data/lib/puppet/indirector/catalog/compiler.rb +44 -45
  112. data/lib/puppet/indirector/catalog/rest.rb +7 -5
  113. data/lib/puppet/indirector/catalog/store_configs.rb +1 -1
  114. data/lib/puppet/indirector/exec.rb +2 -2
  115. data/lib/puppet/indirector/face.rb +7 -9
  116. data/lib/puppet/indirector/fact_search.rb +1 -1
  117. data/lib/puppet/indirector/facts/facter.rb +6 -6
  118. data/lib/puppet/indirector/facts/json.rb +1 -1
  119. data/lib/puppet/indirector/facts/store_configs.rb +1 -1
  120. data/lib/puppet/indirector/file_bucket_file/file.rb +17 -17
  121. data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -3
  122. data/lib/puppet/indirector/file_content/rest.rb +1 -1
  123. data/lib/puppet/indirector/file_metadata/rest.rb +1 -1
  124. data/lib/puppet/indirector/hiera.rb +1 -1
  125. data/lib/puppet/indirector/indirection.rb +27 -29
  126. data/lib/puppet/indirector/json.rb +4 -4
  127. data/lib/puppet/indirector/memory.rb +2 -2
  128. data/lib/puppet/indirector/msgpack.rb +5 -5
  129. data/lib/puppet/indirector/node/store_configs.rb +1 -1
  130. data/lib/puppet/indirector/none.rb +1 -1
  131. data/lib/puppet/indirector/report/json.rb +1 -1
  132. data/lib/puppet/indirector/report/yaml.rb +1 -1
  133. data/lib/puppet/indirector/request.rb +4 -4
  134. data/lib/puppet/indirector/resource/ral.rb +2 -4
  135. data/lib/puppet/indirector/resource/store_configs.rb +1 -1
  136. data/lib/puppet/indirector/terminus.rb +4 -4
  137. data/lib/puppet/indirector/yaml.rb +3 -3
  138. data/lib/puppet/info_service/class_information_service.rb +5 -8
  139. data/lib/puppet/info_service/task_information_service.rb +6 -7
  140. data/lib/puppet/interface/action.rb +5 -5
  141. data/lib/puppet/interface/action_manager.rb +5 -5
  142. data/lib/puppet/interface/documentation.rb +5 -5
  143. data/lib/puppet/interface/face_collection.rb +7 -7
  144. data/lib/puppet/interface/option.rb +2 -2
  145. data/lib/puppet/interface/option_manager.rb +6 -6
  146. data/lib/puppet/interface.rb +4 -4
  147. data/lib/puppet/metatype/manager.rb +2 -2
  148. data/lib/puppet/module/plan.rb +10 -10
  149. data/lib/puppet/module/task.rb +8 -8
  150. data/lib/puppet/module.rb +39 -41
  151. data/lib/puppet/module_tool/applications/application.rb +10 -8
  152. data/lib/puppet/module_tool/applications/installer.rb +53 -50
  153. data/lib/puppet/module_tool/applications/unpacker.rb +6 -8
  154. data/lib/puppet/module_tool/applications/upgrader.rb +37 -34
  155. data/lib/puppet/module_tool/checksums.rb +2 -2
  156. data/lib/puppet/module_tool/dependency.rb +1 -1
  157. data/lib/puppet/module_tool/errors/base.rb +1 -1
  158. data/lib/puppet/module_tool/install_directory.rb +1 -1
  159. data/lib/puppet/module_tool/local_tarball.rb +3 -5
  160. data/lib/puppet/module_tool/metadata.rb +12 -8
  161. data/lib/puppet/module_tool/shared_behaviors.rb +27 -12
  162. data/lib/puppet/module_tool/tar/mini.rb +3 -3
  163. data/lib/puppet/module_tool.rb +4 -4
  164. data/lib/puppet/network/client_request.rb +5 -3
  165. data/lib/puppet/network/format.rb +2 -2
  166. data/lib/puppet/network/format_support.rb +1 -1
  167. data/lib/puppet/network/formats.rb +1 -1
  168. data/lib/puppet/network/http/api/indirected_routes.rb +24 -44
  169. data/lib/puppet/network/http/api/server/v3.rb +1 -1
  170. data/lib/puppet/network/http/connection.rb +1 -1
  171. data/lib/puppet/network/http/handler.rb +8 -12
  172. data/lib/puppet/network/http/request.rb +1 -1
  173. data/lib/puppet/network/http/route.rb +9 -9
  174. data/lib/puppet/node/environment.rb +21 -23
  175. data/lib/puppet/node/facts.rb +1 -1
  176. data/lib/puppet/node.rb +5 -5
  177. data/lib/puppet/pal/json_catalog_encoder.rb +1 -1
  178. data/lib/puppet/pal/pal_impl.rb +48 -50
  179. data/lib/puppet/pal/plan_signature.rb +1 -1
  180. data/lib/puppet/pal/task_signature.rb +1 -1
  181. data/lib/puppet/parameter/package_options.rb +1 -1
  182. data/lib/puppet/parameter/value.rb +2 -2
  183. data/lib/puppet/parameter/value_collection.rb +7 -7
  184. data/lib/puppet/parameter.rb +8 -9
  185. data/lib/puppet/parser/ast/block_expression.rb +2 -2
  186. data/lib/puppet/parser/ast/hostclass.rb +1 -1
  187. data/lib/puppet/parser/ast/pops_bridge.rb +3 -4
  188. data/lib/puppet/parser/ast/resource.rb +4 -4
  189. data/lib/puppet/parser/ast/resourceparam.rb +4 -4
  190. data/lib/puppet/parser/ast.rb +14 -15
  191. data/lib/puppet/parser/compiler.rb +26 -28
  192. data/lib/puppet/parser/functions/create_resources.rb +3 -3
  193. data/lib/puppet/parser/functions/fail.rb +1 -1
  194. data/lib/puppet/parser/functions/generate.rb +2 -2
  195. data/lib/puppet/parser/functions/tag.rb +1 -1
  196. data/lib/puppet/parser/functions.rb +2 -2
  197. data/lib/puppet/parser/relationship.rb +3 -1
  198. data/lib/puppet/parser/resource/param.rb +2 -2
  199. data/lib/puppet/parser/resource.rb +23 -23
  200. data/lib/puppet/parser/scope.rb +10 -10
  201. data/lib/puppet/parser/script_compiler.rb +1 -1
  202. data/lib/puppet/parser/templatewrapper.rb +1 -1
  203. data/lib/puppet/parser/type_loader.rb +10 -12
  204. data/lib/puppet/parser.rb +1 -1
  205. data/lib/puppet/pops/adaptable.rb +1 -1
  206. data/lib/puppet/pops/evaluator/access_operator.rb +8 -8
  207. data/lib/puppet/pops/evaluator/callable_signature.rb +4 -4
  208. data/lib/puppet/pops/evaluator/collector_transformer.rb +4 -4
  209. data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +7 -7
  210. data/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +6 -6
  211. data/lib/puppet/pops/evaluator/compare_operator.rb +10 -10
  212. data/lib/puppet/pops/evaluator/deferred_resolver.rb +1 -1
  213. data/lib/puppet/pops/evaluator/epp_evaluator.rb +2 -2
  214. data/lib/puppet/pops/evaluator/evaluator_impl.rb +56 -60
  215. data/lib/puppet/pops/evaluator/relationship_operator.rb +2 -2
  216. data/lib/puppet/pops/evaluator/runtime3_converter.rb +3 -3
  217. data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
  218. data/lib/puppet/pops/functions/dispatcher.rb +3 -3
  219. data/lib/puppet/pops/functions/function.rb +14 -16
  220. data/lib/puppet/pops/issue_reporter.rb +2 -2
  221. data/lib/puppet/pops/label_provider.rb +2 -2
  222. data/lib/puppet/pops/loader/dependency_loader.rb +3 -3
  223. data/lib/puppet/pops/loader/loader.rb +4 -4
  224. data/lib/puppet/pops/loader/loader_paths.rb +3 -3
  225. data/lib/puppet/pops/loader/module_loaders.rb +11 -11
  226. data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +1 -1
  227. data/lib/puppet/pops/loader/ruby_function_instantiator.rb +1 -1
  228. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +5 -1
  229. data/lib/puppet/pops/loader/static_loader.rb +3 -3
  230. data/lib/puppet/pops/loaders.rb +3 -3
  231. data/lib/puppet/pops/lookup/data_dig_function_provider.rb +1 -1
  232. data/lib/puppet/pops/lookup/explainer.rb +2 -2
  233. data/lib/puppet/pops/lookup/global_data_provider.rb +1 -1
  234. data/lib/puppet/pops/lookup/hiera_config.rb +15 -11
  235. data/lib/puppet/pops/lookup/interpolation.rb +3 -3
  236. data/lib/puppet/pops/lookup/key_recorder.rb +1 -1
  237. data/lib/puppet/pops/lookup/location_resolver.rb +1 -1
  238. data/lib/puppet/pops/lookup/lookup_adapter.rb +7 -7
  239. data/lib/puppet/pops/lookup/sub_lookup.rb +1 -1
  240. data/lib/puppet/pops/merge_strategy.rb +6 -6
  241. data/lib/puppet/pops/migration/migration_checker.rb +1 -1
  242. data/lib/puppet/pops/model/ast_transformer.rb +9 -11
  243. data/lib/puppet/pops/model/factory.rb +4 -5
  244. data/lib/puppet/pops/parser/epp_parser.rb +2 -2
  245. data/lib/puppet/pops/parser/epp_support.rb +1 -1
  246. data/lib/puppet/pops/parser/evaluating_parser.rb +2 -2
  247. data/lib/puppet/pops/parser/heredoc_support.rb +4 -4
  248. data/lib/puppet/pops/parser/interpolation_support.rb +3 -3
  249. data/lib/puppet/pops/parser/lexer2.rb +20 -12
  250. data/lib/puppet/pops/parser/lexer_support.rb +1 -1
  251. data/lib/puppet/pops/parser/locator.rb +4 -4
  252. data/lib/puppet/pops/parser/parser_support.rb +12 -14
  253. data/lib/puppet/pops/parser/pn_parser.rb +3 -3
  254. data/lib/puppet/pops/parser/slurp_support.rb +8 -8
  255. data/lib/puppet/pops/patterns.rb +12 -12
  256. data/lib/puppet/pops/pcore.rb +1 -1
  257. data/lib/puppet/pops/pn.rb +2 -2
  258. data/lib/puppet/pops/puppet_stack.rb +1 -1
  259. data/lib/puppet/pops/resource/resource_type_impl.rb +1 -1
  260. data/lib/puppet/pops/serialization/abstract_reader.rb +2 -2
  261. data/lib/puppet/pops/serialization/abstract_writer.rb +3 -3
  262. data/lib/puppet/pops/time/timestamp.rb +1 -1
  263. data/lib/puppet/pops/types/class_loader.rb +4 -6
  264. data/lib/puppet/pops/types/iterable.rb +1 -1
  265. data/lib/puppet/pops/types/p_binary_type.rb +1 -1
  266. data/lib/puppet/pops/types/p_init_type.rb +1 -1
  267. data/lib/puppet/pops/types/p_object_type.rb +5 -5
  268. data/lib/puppet/pops/types/p_object_type_extension.rb +4 -6
  269. data/lib/puppet/pops/types/p_sem_ver_range_type.rb +1 -1
  270. data/lib/puppet/pops/types/p_sensitive_type.rb +1 -1
  271. data/lib/puppet/pops/types/p_timespan_type.rb +2 -2
  272. data/lib/puppet/pops/types/p_type_set_type.rb +10 -10
  273. data/lib/puppet/pops/types/p_uri_type.rb +4 -4
  274. data/lib/puppet/pops/types/recursion_guard.rb +4 -4
  275. data/lib/puppet/pops/types/ruby_generator.rb +2 -2
  276. data/lib/puppet/pops/types/string_converter.rb +12 -8
  277. data/lib/puppet/pops/types/tree_iterators.rb +4 -6
  278. data/lib/puppet/pops/types/type_calculator.rb +10 -10
  279. data/lib/puppet/pops/types/type_factory.rb +7 -3
  280. data/lib/puppet/pops/types/type_formatter.rb +22 -24
  281. data/lib/puppet/pops/types/type_mismatch_describer.rb +24 -24
  282. data/lib/puppet/pops/types/types.rb +28 -24
  283. data/lib/puppet/pops/utils.rb +38 -42
  284. data/lib/puppet/pops/validation/checker4_0.rb +10 -10
  285. data/lib/puppet/pops/validation/tasks_checker.rb +1 -1
  286. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -1
  287. data/lib/puppet/pops/validation.rb +4 -4
  288. data/lib/puppet/pops/visitor.rb +2 -2
  289. data/lib/puppet/property/ensure.rb +12 -14
  290. data/lib/puppet/property/keyvalue.rb +4 -4
  291. data/lib/puppet/property/list.rb +4 -4
  292. data/lib/puppet/property/ordered_list.rb +1 -1
  293. data/lib/puppet/property.rb +31 -33
  294. data/lib/puppet/provider/exec.rb +2 -2
  295. data/lib/puppet/provider/file/posix.rb +19 -17
  296. data/lib/puppet/provider/file/windows.rb +13 -19
  297. data/lib/puppet/provider/group/directoryservice.rb +3 -2
  298. data/lib/puppet/provider/group/groupadd.rb +4 -4
  299. data/lib/puppet/provider/group/windows_adsi.rb +2 -2
  300. data/lib/puppet/provider/nameservice/directoryservice.rb +29 -29
  301. data/lib/puppet/provider/nameservice/objectadd.rb +2 -4
  302. data/lib/puppet/provider/nameservice/pw.rb +1 -2
  303. data/lib/puppet/provider/nameservice.rb +8 -8
  304. data/lib/puppet/provider/package/aix.rb +19 -19
  305. data/lib/puppet/provider/package/appdmg.rb +2 -2
  306. data/lib/puppet/provider/package/apple.rb +1 -1
  307. data/lib/puppet/provider/package/apt.rb +18 -18
  308. data/lib/puppet/provider/package/aptitude.rb +1 -3
  309. data/lib/puppet/provider/package/aptrpm.rb +9 -9
  310. data/lib/puppet/provider/package/blastwave.rb +10 -14
  311. data/lib/puppet/provider/package/dnfmodule.rb +3 -3
  312. data/lib/puppet/provider/package/dpkg.rb +11 -13
  313. data/lib/puppet/provider/package/fink.rb +14 -14
  314. data/lib/puppet/provider/package/freebsd.rb +1 -1
  315. data/lib/puppet/provider/package/gem.rb +12 -14
  316. data/lib/puppet/provider/package/macports.rb +2 -2
  317. data/lib/puppet/provider/package/nim.rb +10 -10
  318. data/lib/puppet/provider/package/openbsd.rb +22 -22
  319. data/lib/puppet/provider/package/opkg.rb +6 -6
  320. data/lib/puppet/provider/package/pacman.rb +35 -29
  321. data/lib/puppet/provider/package/pip.rb +25 -24
  322. data/lib/puppet/provider/package/pkg.rb +15 -15
  323. data/lib/puppet/provider/package/pkgdmg.rb +10 -10
  324. data/lib/puppet/provider/package/pkgin.rb +2 -2
  325. data/lib/puppet/provider/package/pkgng.rb +5 -5
  326. data/lib/puppet/provider/package/pkgutil.rb +17 -21
  327. data/lib/puppet/provider/package/portage.rb +59 -61
  328. data/lib/puppet/provider/package/ports.rb +12 -11
  329. data/lib/puppet/provider/package/portupgrade.rb +35 -35
  330. data/lib/puppet/provider/package/puppetserver_gem.rb +10 -9
  331. data/lib/puppet/provider/package/rpm.rb +26 -26
  332. data/lib/puppet/provider/package/rug.rb +7 -9
  333. data/lib/puppet/provider/package/sun.rb +4 -4
  334. data/lib/puppet/provider/package/up2date.rb +5 -7
  335. data/lib/puppet/provider/package/urpmi.rb +6 -6
  336. data/lib/puppet/provider/package/windows/exe_package.rb +7 -7
  337. data/lib/puppet/provider/package/windows/msi_package.rb +3 -3
  338. data/lib/puppet/provider/package/windows/package.rb +2 -2
  339. data/lib/puppet/provider/package/windows.rb +3 -5
  340. data/lib/puppet/provider/package/yum.rb +33 -37
  341. data/lib/puppet/provider/package/zypper.rb +12 -14
  342. data/lib/puppet/provider/package.rb +1 -1
  343. data/lib/puppet/provider/package_targetable.rb +1 -1
  344. data/lib/puppet/provider/parsedfile.rb +9 -9
  345. data/lib/puppet/provider/service/base.rb +16 -21
  346. data/lib/puppet/provider/service/bsd.rb +4 -4
  347. data/lib/puppet/provider/service/daemontools.rb +31 -31
  348. data/lib/puppet/provider/service/debian.rb +6 -6
  349. data/lib/puppet/provider/service/freebsd.rb +36 -36
  350. data/lib/puppet/provider/service/gentoo.rb +6 -6
  351. data/lib/puppet/provider/service/init.rb +19 -19
  352. data/lib/puppet/provider/service/launchd.rb +22 -22
  353. data/lib/puppet/provider/service/openbsd.rb +10 -10
  354. data/lib/puppet/provider/service/openrc.rb +1 -1
  355. data/lib/puppet/provider/service/openwrt.rb +3 -3
  356. data/lib/puppet/provider/service/rcng.rb +3 -3
  357. data/lib/puppet/provider/service/redhat.rb +4 -4
  358. data/lib/puppet/provider/service/runit.rb +6 -6
  359. data/lib/puppet/provider/service/service.rb +5 -7
  360. data/lib/puppet/provider/service/smf.rb +28 -27
  361. data/lib/puppet/provider/service/src.rb +7 -7
  362. data/lib/puppet/provider/service/systemd.rb +31 -37
  363. data/lib/puppet/provider/service/upstart.rb +17 -17
  364. data/lib/puppet/provider/service/windows.rb +7 -7
  365. data/lib/puppet/provider/user/aix.rb +4 -2
  366. data/lib/puppet/provider/user/directoryservice.rb +34 -36
  367. data/lib/puppet/provider/user/hpux.rb +10 -14
  368. data/lib/puppet/provider/user/pw.rb +1 -1
  369. data/lib/puppet/provider/user/user_role_add.rb +16 -18
  370. data/lib/puppet/provider/user/useradd.rb +7 -7
  371. data/lib/puppet/provider/user/windows_adsi.rb +1 -1
  372. data/lib/puppet/provider.rb +8 -8
  373. data/lib/puppet/reference/indirection.rb +3 -0
  374. data/lib/puppet/reference/metaparameter.rb +1 -1
  375. data/lib/puppet/reference/providers.rb +3 -3
  376. data/lib/puppet/reference/type.rb +1 -1
  377. data/lib/puppet/relationship.rb +4 -5
  378. data/lib/puppet/reports/http.rb +1 -1
  379. data/lib/puppet/reports/log.rb +2 -2
  380. data/lib/puppet/reports/store.rb +4 -4
  381. data/lib/puppet/reports.rb +2 -2
  382. data/lib/puppet/resource/catalog.rb +16 -16
  383. data/lib/puppet/resource/status.rb +3 -3
  384. data/lib/puppet/resource/type.rb +8 -8
  385. data/lib/puppet/resource/type_collection.rb +1 -1
  386. data/lib/puppet/resource.rb +41 -41
  387. data/lib/puppet/scheduler/scheduler.rb +1 -1
  388. data/lib/puppet/settings/alias_setting.rb +3 -5
  389. data/lib/puppet/settings/base_setting.rb +11 -11
  390. data/lib/puppet/settings/boolean_setting.rb +2 -2
  391. data/lib/puppet/settings/config_file.rb +5 -4
  392. data/lib/puppet/settings/duration_setting.rb +2 -2
  393. data/lib/puppet/settings/environment_conf.rb +3 -3
  394. data/lib/puppet/settings/file_or_directory_setting.rb +2 -2
  395. data/lib/puppet/settings/file_setting.rb +11 -11
  396. data/lib/puppet/settings/ini_file.rb +3 -3
  397. data/lib/puppet/settings/port_setting.rb +1 -1
  398. data/lib/puppet/settings/priority_setting.rb +2 -2
  399. data/lib/puppet/settings/ttl_setting.rb +2 -2
  400. data/lib/puppet/settings/value_translator.rb +8 -8
  401. data/lib/puppet/settings.rb +65 -70
  402. data/lib/puppet/ssl/base.rb +2 -4
  403. data/lib/puppet/ssl/certificate_request.rb +18 -22
  404. data/lib/puppet/ssl/certificate_request_attributes.rb +3 -3
  405. data/lib/puppet/ssl/oids.rb +2 -2
  406. data/lib/puppet/ssl/openssl_loader.rb +4 -4
  407. data/lib/puppet/syntax_checkers/base64.rb +3 -3
  408. data/lib/puppet/syntax_checkers/epp.rb +3 -3
  409. data/lib/puppet/syntax_checkers/json.rb +3 -3
  410. data/lib/puppet/syntax_checkers/pp.rb +3 -3
  411. data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
  412. data/lib/puppet/transaction/event.rb +2 -2
  413. data/lib/puppet/transaction/event_manager.rb +5 -5
  414. data/lib/puppet/transaction/persistence.rb +12 -14
  415. data/lib/puppet/transaction/report.rb +4 -4
  416. data/lib/puppet/transaction/resource_harness.rb +2 -2
  417. data/lib/puppet/transaction.rb +14 -18
  418. data/lib/puppet/type/component.rb +3 -3
  419. data/lib/puppet/type/exec.rb +43 -45
  420. data/lib/puppet/type/file/checksum_value.rb +1 -1
  421. data/lib/puppet/type/file/content.rb +6 -6
  422. data/lib/puppet/type/file/ctime.rb +2 -2
  423. data/lib/puppet/type/file/data_sync.rb +3 -3
  424. data/lib/puppet/type/file/ensure.rb +16 -15
  425. data/lib/puppet/type/file/mode.rb +9 -9
  426. data/lib/puppet/type/file/mtime.rb +2 -2
  427. data/lib/puppet/type/file/selcontext.rb +14 -14
  428. data/lib/puppet/type/file/source.rb +19 -21
  429. data/lib/puppet/type/file/target.rb +11 -11
  430. data/lib/puppet/type/file.rb +21 -21
  431. data/lib/puppet/type/filebucket.rb +3 -3
  432. data/lib/puppet/type/group.rb +3 -3
  433. data/lib/puppet/type/notify.rb +2 -2
  434. data/lib/puppet/type/package.rb +4 -4
  435. data/lib/puppet/type/resources.rb +6 -6
  436. data/lib/puppet/type/schedule.rb +9 -9
  437. data/lib/puppet/type/service.rb +6 -8
  438. data/lib/puppet/type/tidy.rb +22 -24
  439. data/lib/puppet/type/user.rb +13 -13
  440. data/lib/puppet/type.rb +76 -88
  441. data/lib/puppet/util/at_fork/solaris.rb +33 -37
  442. data/lib/puppet/util/autoload.rb +2 -2
  443. data/lib/puppet/util/backups.rb +9 -9
  444. data/lib/puppet/util/character_encoding.rb +7 -6
  445. data/lib/puppet/util/checksums.rb +2 -2
  446. data/lib/puppet/util/classgen.rb +8 -8
  447. data/lib/puppet/util/colors.rb +1 -1
  448. data/lib/puppet/util/command_line/puppet_option_parser.rb +1 -1
  449. data/lib/puppet/util/command_line/trollop.rb +42 -46
  450. data/lib/puppet/util/command_line.rb +2 -2
  451. data/lib/puppet/util/constant_inflector.rb +2 -2
  452. data/lib/puppet/util/diff.rb +19 -21
  453. data/lib/puppet/util/docs.rb +2 -2
  454. data/lib/puppet/util/errors.rb +9 -9
  455. data/lib/puppet/util/execution.rb +32 -9
  456. data/lib/puppet/util/feature.rb +1 -1
  457. data/lib/puppet/util/fileparsing.rb +12 -16
  458. data/lib/puppet/util/filetype.rb +36 -40
  459. data/lib/puppet/util/inifile.rb +6 -12
  460. data/lib/puppet/util/ldap/connection.rb +1 -1
  461. data/lib/puppet/util/ldap/manager.rb +10 -12
  462. data/lib/puppet/util/lockfile.rb +6 -8
  463. data/lib/puppet/util/log/destination.rb +2 -2
  464. data/lib/puppet/util/log/destinations.rb +4 -4
  465. data/lib/puppet/util/log.rb +12 -9
  466. data/lib/puppet/util/logging.rb +11 -11
  467. data/lib/puppet/util/metric.rb +3 -3
  468. data/lib/puppet/util/monkey_patches.rb +5 -7
  469. data/lib/puppet/util/network_device/config.rb +3 -3
  470. data/lib/puppet/util/package/version/debian.rb +27 -28
  471. data/lib/puppet/util/package/version/pip.rb +5 -5
  472. data/lib/puppet/util/package/version/range/eq.rb +1 -1
  473. data/lib/puppet/util/package/version/rpm.rb +1 -1
  474. data/lib/puppet/util/package.rb +2 -2
  475. data/lib/puppet/util/pidlock.rb +2 -2
  476. data/lib/puppet/util/platform.rb +1 -1
  477. data/lib/puppet/util/plist.rb +8 -10
  478. data/lib/puppet/util/posix.rb +17 -17
  479. data/lib/puppet/util/profiler/aggregate.rb +1 -1
  480. data/lib/puppet/util/provider_features.rb +3 -3
  481. data/lib/puppet/util/rdoc/code_objects.rb +3 -3
  482. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +63 -64
  483. data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +23 -23
  484. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +12 -12
  485. data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -1
  486. data/lib/puppet/util/rdoc/parser.rb +1 -1
  487. data/lib/puppet/util/reference.rb +13 -9
  488. data/lib/puppet/util/retry_action.rb +1 -1
  489. data/lib/puppet/util/rpm_compare.rb +17 -18
  490. data/lib/puppet/util/rubygems.rb +1 -1
  491. data/lib/puppet/util/selinux.rb +7 -7
  492. data/lib/puppet/util/storage.rb +10 -12
  493. data/lib/puppet/util/suidmanager.rb +18 -19
  494. data/lib/puppet/util/symbolic_file_mode.rb +71 -75
  495. data/lib/puppet/util/tag_set.rb +2 -2
  496. data/lib/puppet/util/tagging.rb +8 -10
  497. data/lib/puppet/util/terminal.rb +4 -4
  498. data/lib/puppet/util/user_attr.rb +7 -7
  499. data/lib/puppet/util/watcher.rb +3 -5
  500. data/lib/puppet/util/windows/access_control_list.rb +1 -1
  501. data/lib/puppet/util/windows/adsi.rb +42 -42
  502. data/lib/puppet/util/windows/daemon.rb +64 -68
  503. data/lib/puppet/util/windows/error.rb +2 -2
  504. data/lib/puppet/util/windows/file.rb +18 -25
  505. data/lib/puppet/util/windows/monkey_patches/process.rb +1 -1
  506. data/lib/puppet/util/windows/principal.rb +8 -8
  507. data/lib/puppet/util/windows/process.rb +16 -28
  508. data/lib/puppet/util/windows/registry.rb +16 -15
  509. data/lib/puppet/util/windows/root_certs.rb +2 -2
  510. data/lib/puppet/util/windows/security.rb +31 -31
  511. data/lib/puppet/util/windows/service.rb +11 -11
  512. data/lib/puppet/util/windows/sid.rb +8 -8
  513. data/lib/puppet/util/windows/user.rb +18 -20
  514. data/lib/puppet/util/yaml.rb +1 -1
  515. data/lib/puppet/util.rb +55 -46
  516. data/lib/puppet/version.rb +2 -2
  517. data/lib/puppet/x509/pem_store.rb +1 -1
  518. data/lib/puppet.rb +3 -3
  519. data/man/man5/puppet.conf.5 +10 -2
  520. data/man/man8/puppet-agent.8 +1 -1
  521. data/man/man8/puppet-apply.8 +1 -1
  522. data/man/man8/puppet-catalog.8 +1 -1
  523. data/man/man8/puppet-config.8 +1 -1
  524. data/man/man8/puppet-describe.8 +1 -1
  525. data/man/man8/puppet-device.8 +1 -1
  526. data/man/man8/puppet-doc.8 +1 -1
  527. data/man/man8/puppet-epp.8 +1 -1
  528. data/man/man8/puppet-facts.8 +1 -1
  529. data/man/man8/puppet-filebucket.8 +1 -1
  530. data/man/man8/puppet-generate.8 +1 -1
  531. data/man/man8/puppet-help.8 +1 -1
  532. data/man/man8/puppet-lookup.8 +1 -1
  533. data/man/man8/puppet-module.8 +1 -1
  534. data/man/man8/puppet-node.8 +1 -1
  535. data/man/man8/puppet-parser.8 +1 -1
  536. data/man/man8/puppet-plugin.8 +1 -1
  537. data/man/man8/puppet-report.8 +1 -1
  538. data/man/man8/puppet-resource.8 +5 -1
  539. data/man/man8/puppet-script.8 +1 -1
  540. data/man/man8/puppet-ssl.8 +1 -1
  541. data/man/man8/puppet.8 +2 -2
  542. metadata +2 -2
@@ -74,7 +74,7 @@ class Puppet::Application::FaceBase < Puppet::Application
74
74
  # non-option word to use as the action.
75
75
  action_name = nil
76
76
  index = -1
77
- until action_name or (index += 1) >= command_line.args.length do
77
+ until action_name or (index += 1) >= command_line.args.length
78
78
  item = command_line.args[index]
79
79
  if item =~ /^-/
80
80
  option = @face.options.find do |name|
@@ -88,7 +88,7 @@ class Puppet::Application::FaceBase < Puppet::Application
88
88
  # when we get there. --daniel 2011-04-04
89
89
  if option.takes_argument? and !item.index('=')
90
90
  index += 1 unless
91
- (option.optional_argument? and command_line.args[index + 1] =~ /^-/)
91
+ option.optional_argument? and command_line.args[index + 1] =~ /^-/
92
92
  end
93
93
  else
94
94
  option = find_global_settings_argument(item)
@@ -103,9 +103,9 @@ class Puppet::Application::FaceBase < Puppet::Application
103
103
  else
104
104
  option = find_application_argument(item)
105
105
  if option
106
- index += 1 if (option[:argument] and not option[:optional])
106
+ index += 1 if option[:argument] and !(option[:optional])
107
107
  else
108
- raise OptionParser::InvalidOption.new(item.sub(/=.*$/, ''))
108
+ raise OptionParser::InvalidOption, item.sub(/=.*$/, '')
109
109
  end
110
110
  end
111
111
  end
@@ -164,7 +164,7 @@ class Puppet::Application::FaceBase < Puppet::Application
164
164
  pattern.match item and return object
165
165
  end
166
166
  end
167
- return nil # nothing found.
167
+ nil # nothing found.
168
168
  end
169
169
 
170
170
  def find_application_argument(item)
@@ -181,7 +181,7 @@ class Puppet::Application::FaceBase < Puppet::Application
181
181
  }
182
182
  end
183
183
  end
184
- return nil # not found
184
+ nil # not found
185
185
  end
186
186
 
187
187
  def setup
@@ -205,7 +205,7 @@ class Puppet::Application::FaceBase < Puppet::Application
205
205
  @arguments << options
206
206
 
207
207
  # If we don't have a rendering format, set one early.
208
- self.render_as ||= (@action.render_as || :console)
208
+ self.render_as ||= @action.render_as || :console
209
209
  end
210
210
 
211
211
  def main
@@ -213,7 +213,7 @@ class Puppet::Application::Filebucket < Puppet::Application
213
213
  def run_command
214
214
  @args = command_line.args
215
215
  command = args.shift
216
- return send(command) if %w{get backup restore diff list}.include? command
216
+ return send(command) if %w[get backup restore diff list].include? command
217
217
 
218
218
  help
219
219
  end
@@ -8,7 +8,7 @@ require_relative '../../puppet/parser/compiler'
8
8
  class Puppet::Application::Lookup < Puppet::Application
9
9
  RUN_HELP = _("Run 'puppet lookup --help' for more details").freeze
10
10
  DEEP_MERGE_OPTIONS = '--knock-out-prefix, --sort-merged-arrays, and --merge-hash-arrays'
11
- TRUSTED_INFORMATION_FACTS = ["hostname", "domain", "fqdn", "clientcert"].freeze
11
+ TRUSTED_INFORMATION_FACTS = %w[hostname domain fqdn clientcert].freeze
12
12
 
13
13
  run_mode :server
14
14
 
@@ -354,7 +354,7 @@ class Puppet::Application::Lookup < Puppet::Application
354
354
  given_facts = Puppet::Util::Yaml.safe_load_file(fact_file)
355
355
  else
356
356
  given_facts = Puppet::Util::Json.load_file_if_valid(fact_file)
357
- given_facts = Puppet::Util::Yaml.safe_load_file_if_valid(fact_file) unless given_facts
357
+ given_facts ||= Puppet::Util::Yaml.safe_load_file_if_valid(fact_file)
358
358
  end
359
359
 
360
360
  unless given_facts.instance_of?(Hash)
@@ -369,7 +369,9 @@ class Puppet::Application::Lookup < Puppet::Application
369
369
  end
370
370
  end
371
371
 
372
- unless node.is_a?(Puppet::Node) # to allow unit tests to pass a node instance
372
+ if node.is_a?(Puppet::Node)
373
+ node.add_extra_facts(given_facts) if given_facts
374
+ else # to allow unit tests to pass a node instance
373
375
  facts = retrieve_node_facts(node, given_facts)
374
376
  ni = Puppet::Node.indirection
375
377
  tc = ni.terminus_class
@@ -399,8 +401,6 @@ class Puppet::Application::Lookup < Puppet::Application
399
401
  node = ni.find(node, facts: facts, environment: Puppet[:environment])
400
402
  ni.terminus_class = tc
401
403
  end
402
- else
403
- node.add_extra_facts(given_facts) if given_facts
404
404
  end
405
405
  node.environment = Puppet[:environment] if Puppet.settings.set_by_cli?(:environment)
406
406
  Puppet[:code] = 'undef' unless options[:compile]
@@ -15,6 +15,7 @@ class Puppet::Application::Resource < Puppet::Application
15
15
  option("--verbose", "-v")
16
16
  option("--edit", "-e")
17
17
  option("--to_yaml", "-y")
18
+ option('--fail', '-f')
18
19
 
19
20
  option("--types", "-t") do |_arg|
20
21
  env = Puppet.lookup(:environments).get(Puppet[:environment]) || create_default_environment
@@ -109,6 +110,9 @@ class Puppet::Application::Resource < Puppet::Application
109
110
  Output found resources in yaml format, suitable to use with Hiera and
110
111
  create_resources.
111
112
 
113
+ * --fail:
114
+ Fails and returns an exit code of 1 if the resource could not be modified.
115
+
112
116
  EXAMPLE
113
117
  -------
114
118
  This example uses `puppet resource` to return a Puppet configuration for
@@ -207,7 +211,7 @@ class Puppet::Application::Resource < Puppet::Application
207
211
  params = {}
208
212
  args.each do |setting|
209
213
  if setting =~ /^(\w+)=(.+)$/
210
- params[$1] = $2
214
+ params[::Regexp.last_match(1)] = ::Regexp.last_match(2)
211
215
  else
212
216
  raise _("Invalid parameter setting %{setting}") % { setting: setting }
213
217
  end
@@ -236,8 +240,11 @@ class Puppet::Application::Resource < Puppet::Application
236
240
  resource = Puppet::Resource.new(type, name, :parameters => params)
237
241
 
238
242
  # save returns [resource that was saved, transaction log from applying the resource]
239
- save_result = Puppet::Resource.indirection.save(resource, key)
240
- [save_result.first]
243
+ save_result, report = Puppet::Resource.indirection.save(resource, key)
244
+ status = report.resource_statuses[resource.ref]
245
+ raise "Failed to manage resource #{resource.ref}" if status&.failed? && options[:fail]
246
+
247
+ [save_result]
241
248
  end
242
249
  else
243
250
  if type == "file"
@@ -160,7 +160,7 @@ class Puppet::Application::Ssl < Puppet::Application
160
160
 
161
161
  clean(certname)
162
162
  when 'bootstrap'
163
- if !Puppet::Util::Log.sendlevel?(:info)
163
+ unless Puppet::Util::Log.sendlevel?(:info)
164
164
  Puppet::Util::Log.level = :info
165
165
  end
166
166
  @machine.ensure_client_certificate
@@ -192,7 +192,7 @@ class Puppet::Application::Ssl < Puppet::Application
192
192
  Puppet.notice _("Submitted certificate request for '%{name}' to %{url}") % { name: Puppet[:certname], url: route.url }
193
193
  rescue Puppet::HTTP::ResponseError => e
194
194
  if e.response.code == 400
195
- raise Puppet::Error.new(_("Could not submit certificate request for '%{name}' to %{url} due to a conflict on the server") % { name: Puppet[:certname], url: route.url })
195
+ raise Puppet::Error, _("Could not submit certificate request for '%{name}' to %{url} due to a conflict on the server") % { name: Puppet[:certname], url: route.url }
196
196
  else
197
197
  raise Puppet::Error.new(_("Failed to submit certificate request: %{message}") % { message: e.message }, e)
198
198
  end
@@ -234,7 +234,7 @@ class Puppet::Application::Ssl < Puppet::Application
234
234
  cert
235
235
  rescue Puppet::HTTP::ResponseError => e
236
236
  if e.response.code == 404
237
- return nil
237
+ nil
238
238
  else
239
239
  raise Puppet::Error.new(_("Failed to download certificate: %{message}") % { message: e.message }, e)
240
240
  end
@@ -180,14 +180,14 @@ class Application
180
180
  def option(*options, &block)
181
181
  long = options.find { |opt| opt =~ /^--/ }.gsub(/^--(?:\[no-\])?([^ =]+).*$/, '\1').tr('-', '_')
182
182
  fname = "handle_#{long}".intern
183
- if (block_given?)
183
+ if block_given?
184
184
  define_method(fname, &block)
185
185
  else
186
186
  define_method(fname) do |value|
187
- self.options["#{long}".to_sym] = value
187
+ self.options[long.to_s.to_sym] = value
188
188
  end
189
189
  end
190
- self.option_parser_commands << [options, fname]
190
+ option_parser_commands << [options, fname]
191
191
  end
192
192
 
193
193
  def banner(banner = nil)
@@ -242,7 +242,7 @@ class Application
242
242
  #### eventually we need to issue a deprecation warning here,
243
243
  #### and then get rid of this stanza in a subsequent release.
244
244
  ################################################################
245
- if (clazz.nil?)
245
+ if clazz.nil?
246
246
  class_name = application_name.capitalize
247
247
  clazz = try_load_class(class_name)
248
248
  end
@@ -251,17 +251,17 @@ class Application
251
251
  ################################################################
252
252
 
253
253
  if clazz.nil?
254
- 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 })
254
+ raise Puppet::Error, _("Unable to load application class '%{class_name}' from file 'puppet/application/%{application_name}.rb'") % { class_name: class_name, application_name: application_name }
255
255
  end
256
256
 
257
- return clazz
257
+ clazz
258
258
  end
259
259
 
260
260
  # Given the fully qualified name of a class, attempt to get the class instance.
261
261
  # @param [String] class_name the fully qualified name of the class to try to load
262
262
  # @return [Class] the Class instance, or nil? if it could not be loaded.
263
263
  def try_load_class(class_name)
264
- return self.const_defined?(class_name) ? const_get(class_name) : nil
264
+ const_defined?(class_name) ? const_get(class_name) : nil
265
265
  end
266
266
  private :try_load_class
267
267
 
@@ -284,7 +284,7 @@ class Application
284
284
  Puppet.settings.preferred_run_mode = mode_name
285
285
  end
286
286
 
287
- return @run_mode if @run_mode and not mode_name
287
+ return @run_mode if @run_mode and !mode_name
288
288
 
289
289
  require_relative '../puppet/util/run_mode'
290
290
  @run_mode = Puppet::Util::RunMode[mode_name || Puppet.settings.preferred_run_mode]
@@ -330,7 +330,7 @@ class Application
330
330
  # See also `lib/puppet/util/command_line.rb` for some special case early
331
331
  # handling of this.
332
332
  option("--version", "-V") do |_arg|
333
- puts "#{Puppet.version}"
333
+ puts Puppet.version
334
334
  exit(0)
335
335
  end
336
336
 
@@ -452,7 +452,7 @@ class Application
452
452
  # @return [void]
453
453
  # @api public
454
454
  def setup_logs
455
- handle_logdest_arg(Puppet[:logdest]) if !options[:setdest]
455
+ handle_logdest_arg(Puppet[:logdest]) unless options[:setdest]
456
456
 
457
457
  unless options[:setdest]
458
458
  if options[:debug] || options[:verbose]
@@ -481,12 +481,10 @@ class Application
481
481
  Puppet[:logdest] = arg
482
482
 
483
483
  logdest.each do |dest|
484
- begin
485
- Puppet::Util::Log.newdestination(dest)
486
- options[:setdest] = true
487
- rescue => detail
488
- Puppet.log_and_raise(detail, _("Could not set logdest to %{dest}.") % { dest: arg })
489
- end
484
+ Puppet::Util::Log.newdestination(dest)
485
+ options[:setdest] = true
486
+ rescue => detail
487
+ Puppet.log_and_raise(detail, _("Could not set logdest to %{dest}.") % { dest: arg })
490
488
  end
491
489
  end
492
490
 
@@ -555,14 +553,14 @@ class Application
555
553
  self.class.option_parser_commands.each do |options, fname|
556
554
  option_parser.on(*options) do |value|
557
555
  # Call the method that "option()" created.
558
- self.send(fname, value)
556
+ send(fname, value)
559
557
  end
560
558
  end
561
559
 
562
560
  # Scan command line. We just hand any exceptions to our upper levels,
563
561
  # rather than printing help and exiting, so that we can meaningfully
564
562
  # respond with context-sensitive help if we want to. --daniel 2011-04-12
565
- option_parser.parse!(self.command_line.args)
563
+ option_parser.parse!(command_line.args)
566
564
  end
567
565
 
568
566
  def handlearg(opt, val)
@@ -37,6 +37,6 @@ module Puppet::Coercion
37
37
  # @raise
38
38
  # @api private
39
39
  def self.boolean_values
40
- ['true', 'false', 'yes', 'no']
40
+ %w[true false yes no]
41
41
  end
42
42
  end
@@ -20,7 +20,7 @@ class Puppet::Configurer::Downloader
20
20
  if first_failure
21
21
  event = (first_failure.events || []).first
22
22
  detail = event ? event.message : 'unknown'
23
- raise Puppet::Error.new(_("Failed to retrieve %{name}: %{detail}") % { name: name, detail: detail })
23
+ raise Puppet::Error, _("Failed to retrieve %{name}: %{detail}") % { name: name, detail: detail }
24
24
  end
25
25
  end
26
26
 
@@ -40,7 +40,12 @@ class Puppet::Configurer::Downloader
40
40
  end
41
41
 
42
42
  def initialize(name, path, source, ignore = nil, environment = nil, source_permissions = :ignore)
43
- @name, @path, @source, @ignore, @environment, @source_permissions = name, path, source, ignore, environment, source_permissions
43
+ @name = name
44
+ @path = path
45
+ @source = source
46
+ @ignore = ignore
47
+ @environment = environment
48
+ @source_permissions = source_permissions
44
49
  end
45
50
 
46
51
  def file
@@ -77,10 +82,10 @@ class Puppet::Configurer::Downloader
77
82
  :noop => false,
78
83
  :max_files => -1
79
84
  }
80
- if !Puppet::Util::Platform.windows?
85
+ unless Puppet::Util::Platform.windows?
81
86
  defargs[:owner] = Process.uid
82
87
  defargs[:group] = Process.gid
83
88
  end
84
- return defargs
89
+ defargs
85
90
  end
86
91
  end
@@ -13,20 +13,19 @@ module Puppet::Configurer::FactHandler
13
13
  # This works because puppet agent configures Facts to use 'facter' for
14
14
  # finding facts and the 'rest' terminus for caching them. Thus, we'll
15
15
  # compile them and then "cache" them on the server.
16
- begin
17
- facts = Puppet::Node::Facts.indirection.find(Puppet[:node_name_value], :environment => Puppet::Node::Environment.remote(@environment))
18
- unless Puppet[:node_name_fact].empty?
19
- Puppet[:node_name_value] = facts.values[Puppet[:node_name_fact]]
20
- facts.name = Puppet[:node_name_value]
21
- end
22
- facts
23
- rescue SystemExit, NoMemoryError
24
- raise
25
- rescue Exception => detail
26
- message = _("Could not retrieve local facts: %{detail}") % { detail: detail }
27
- Puppet.log_exception(detail, message)
28
- raise Puppet::Error, message, detail.backtrace
16
+
17
+ facts = Puppet::Node::Facts.indirection.find(Puppet[:node_name_value], :environment => Puppet::Node::Environment.remote(@environment))
18
+ unless Puppet[:node_name_fact].empty?
19
+ Puppet[:node_name_value] = facts.values[Puppet[:node_name_fact]]
20
+ facts.name = Puppet[:node_name_value]
29
21
  end
22
+ facts
23
+ rescue SystemExit, NoMemoryError
24
+ raise
25
+ rescue Exception => detail
26
+ message = _("Could not retrieve local facts: %{detail}") % { detail: detail }
27
+ Puppet.log_exception(detail, message)
28
+ raise Puppet::Error, message, detail.backtrace
30
29
  end
31
30
 
32
31
  def facts_for_uploading
@@ -83,8 +83,8 @@ class Puppet::Configurer
83
83
  else
84
84
  result = retrieve_new_catalog(facts, query_options)
85
85
 
86
- if !result
87
- if !Puppet[:usecacheonfailure]
86
+ unless result
87
+ unless Puppet[:usecacheonfailure]
88
88
  Puppet.warning _("Not using cache on failed catalog")
89
89
  return nil
90
90
  end
@@ -390,7 +390,7 @@ class Puppet::Configurer
390
390
  configured_environment = Puppet[:environment] if Puppet.settings.set_by_config?(:environment)
391
391
 
392
392
  # We only need to find out the environment to run in if we don't already have a catalog
393
- unless (cached_catalog || options[:catalog] || Puppet.settings.set_by_cli?(:environment) || Puppet[:strict_environment_mode])
393
+ unless cached_catalog || options[:catalog] || Puppet.settings.set_by_cli?(:environment) || Puppet[:strict_environment_mode]
394
394
  Puppet.debug(_("Environment not passed via CLI and no catalog was given, attempting to find out the last server-specified environment"))
395
395
  initial_environment, loaded_last_environment = last_server_specified_environment
396
396
 
@@ -442,7 +442,7 @@ class Puppet::Configurer
442
442
  # facts may be used to determine which catalog we get, we need to
443
443
  # rerun the process if the environment is changed.
444
444
  tries = 0
445
- while catalog.environment and not catalog.environment.empty? and catalog.environment != @environment
445
+ while catalog.environment and !catalog.environment.empty? and catalog.environment != @environment
446
446
  if tries > 3
447
447
  raise Puppet::Error, _("Catalog environment didn't stabilize after %{tries} fetches, aborting run") % { tries: tries }
448
448
  end
@@ -505,7 +505,7 @@ class Puppet::Configurer
505
505
  true
506
506
  rescue => detail
507
507
  Puppet.log_exception(detail, _("Failed to apply catalog: %{detail}") % { detail: detail })
508
- return nil
508
+ nil
509
509
  ensure
510
510
  execute_postrun_command or return nil # rubocop:disable Lint/EnsureReturn
511
511
  end
@@ -536,7 +536,7 @@ class Puppet::Configurer
536
536
  rescue Puppet::HTTP::ResponseError => detail
537
537
  if detail.response.code == 404
538
538
  if Puppet[:strict_environment_mode]
539
- raise Puppet::Error.new(_("Environment '%{environment}' not found on server, aborting run.") % { environment: @environment })
539
+ raise Puppet::Error, _("Environment '%{environment}' not found on server, aborting run.") % { environment: @environment }
540
540
  else
541
541
  Puppet.notice(_("Environment '%{environment}' not found on server, skipping initial pluginsync.") % { environment: @environment })
542
542
  end
@@ -675,12 +675,12 @@ class Puppet::Configurer
675
675
 
676
676
  puppet.put_facts(facts.name, facts: facts, environment: Puppet.lookup(:current_environment).name.to_s)
677
677
 
678
- return true
678
+ true
679
679
  rescue => detail
680
680
  Puppet.log_exception(detail, _("Failed to submit facts: %{detail}") %
681
681
  { detail: detail })
682
682
 
683
- return false
683
+ false
684
684
  end
685
685
 
686
686
  private
@@ -722,7 +722,7 @@ class Puppet::Configurer
722
722
  result
723
723
  rescue => detail
724
724
  Puppet.log_exception(detail, _("Could not retrieve catalog from cache: %{detail}") % { detail: detail })
725
- return nil
725
+ nil
726
726
  end
727
727
 
728
728
  def retrieve_new_catalog(facts, query_options)
@@ -744,18 +744,16 @@ class Puppet::Configurer
744
744
  result
745
745
  rescue StandardError => detail
746
746
  Puppet.log_exception(detail, _("Could not retrieve catalog from remote server: %{detail}") % { detail: detail })
747
- return nil
747
+ nil
748
748
  end
749
749
 
750
750
  def download_plugins(remote_environment_for_plugins)
751
- begin
752
- @handler.download_plugins(remote_environment_for_plugins)
753
- rescue Puppet::Error => detail
754
- if !Puppet[:ignore_plugin_errors] && Puppet[:usecacheonfailure]
755
- @running_failure = true
756
- else
757
- raise detail
758
- end
751
+ @handler.download_plugins(remote_environment_for_plugins)
752
+ rescue Puppet::Error => detail
753
+ if !Puppet[:ignore_plugin_errors] && Puppet[:usecacheonfailure]
754
+ @running_failure = true
755
+ else
756
+ raise detail
759
757
  end
760
758
  end
761
759
  end
@@ -4,7 +4,7 @@ require_relative '../../puppet/confine'
4
4
 
5
5
  class Puppet::Confine::Feature < Puppet::Confine
6
6
  def self.summarize(confines)
7
- confines.collect { |c| c.values }.flatten.uniq.find_all { |value| !confines[0].pass?(value) }
7
+ confines.collect(&:values).flatten.uniq.find_all { |value| !confines[0].pass?(value) }
8
8
  end
9
9
 
10
10
  # Is the named feature available?
@@ -29,7 +29,7 @@ class Puppet::Confine::Variable < Puppet::Confine
29
29
  end
30
30
 
31
31
  def message(value)
32
- "facter value '#{test_value}' for '#{self.name}' not in required list '#{values.join(",")}'"
32
+ "facter value '#{test_value}' for '#{name}' not in required list '#{values.join(',')}'"
33
33
  end
34
34
 
35
35
  # Compare the passed-in value to the retrieved value.
@@ -31,7 +31,7 @@ class Puppet::Confine
31
31
  Puppet.warning("Could not load confine test '#{name}': #{detail}")
32
32
  end
33
33
  # Could not find file
34
- if !Puppet[:always_retry_plugins]
34
+ unless Puppet[:always_retry_plugins]
35
35
  @tests[name] = nil
36
36
  end
37
37
  end
@@ -75,7 +75,7 @@ class Puppet::Confine
75
75
  end
76
76
  end
77
77
 
78
- return true
78
+ true
79
79
  ensure
80
80
  reset
81
81
  end
@@ -22,7 +22,7 @@ class Puppet::ConfineCollection
22
22
  confine.name = test
23
23
  @confines << confine
24
24
  end
25
- @confines[-1].label = self.label
25
+ @confines[-1].label = label
26
26
  end
27
27
  end
28
28
 
@@ -33,7 +33,7 @@ module Puppet::Confiner
33
33
  # @api private
34
34
  #
35
35
  def confine_collection
36
- @confine_collection ||= Puppet::ConfineCollection.new(self.to_s)
36
+ @confine_collection ||= Puppet::ConfineCollection.new(to_s)
37
37
  end
38
38
 
39
39
  # Checks whether this implementation is suitable for the current platform (or returns a summary
@@ -43,6 +43,6 @@ module Puppet::Confiner
43
43
  # @api public
44
44
  #
45
45
  def suitable?(short = true)
46
- return(short ? confine_collection.valid? : confine_collection.summary)
46
+ (short ? confine_collection.valid? : confine_collection.summary)
47
47
  end
48
48
  end
data/lib/puppet/daemon.rb CHANGED
@@ -68,7 +68,7 @@ class Puppet::Daemon
68
68
  Puppet.debug("Finished closing streams for daemon mode")
69
69
  rescue => detail
70
70
  Puppet.err "Could not start #{Puppet.run_mode.name}: #{detail}"
71
- Puppet::Util.replace_file("/tmp/daemonout", 0644) do |f|
71
+ Puppet::Util.replace_file("/tmp/daemonout", 0o644) do |f|
72
72
  f.puts "Could not start #{Puppet.run_mode.name}: #{detail}"
73
73
  end
74
74
  exit(12)
@@ -83,7 +83,7 @@ class Puppet::Daemon
83
83
  def reexec
84
84
  raise Puppet::DevError, _("Cannot reexec unless ARGV arguments are set") unless argv
85
85
 
86
- command = $0 + " " + argv.join(" ")
86
+ command = $PROGRAM_NAME + " " + argv.join(" ")
87
87
  Puppet.notice "Restarting with '#{command}'"
88
88
  stop(:exit => false)
89
89
  exec(command)
@@ -115,7 +115,7 @@ class Puppet::Daemon
115
115
  end
116
116
 
117
117
  # extended signals not supported under windows
118
- if !Puppet::Util::Platform.windows?
118
+ unless Puppet::Util::Platform.windows?
119
119
  signals = { :HUP => :restart, :USR1 => :reload, :USR2 => :reopen_logs }
120
120
  signals.each do |signal, method|
121
121
  Signal.trap(signal) do
@@ -128,12 +128,11 @@ module Puppet::DataTypes
128
128
  # and it will fail unless protected with an if defined? if the local
129
129
  # variable does not exist in the block's binder.
130
130
  #
131
- begin
132
- loader = block.binding.eval('loader_injected_arg if defined?(loader_injected_arg)')
133
- create_loaded_type(type_name, loader, &block)
134
- rescue StandardError => e
135
- raise ArgumentError, _("Data Type Load Error for type '%{type_name}': %{message}") % { type_name: type_name, message: e.message }
136
- end
131
+
132
+ loader = block.binding.eval('loader_injected_arg if defined?(loader_injected_arg)')
133
+ create_loaded_type(type_name, loader, &block)
134
+ rescue StandardError => e
135
+ raise ArgumentError, _("Data Type Load Error for type '%{type_name}': %{message}") % { type_name: type_name, message: e.message }
137
136
  end
138
137
 
139
138
  def self.create_loaded_type(type_name, loader, &block)
@@ -77,7 +77,7 @@ module Puppet
77
77
  # see the docs for Settings.define_settings
78
78
  ############################################################################################
79
79
 
80
- AS_DURATION = %q{This setting can be a time interval in seconds (30 or 30s), minutes (30m), hours (6h), days (2d), or years (5y).}
80
+ AS_DURATION = 'This setting can be a time interval in seconds (30 or 30s), minutes (30m), hours (6h), days (2d), or years (5y).'
81
81
 
82
82
  # @api public
83
83
  # @param args [Puppet::Settings] the settings object to define default settings for
@@ -132,7 +132,7 @@ module Puppet
132
132
  :log_level => {
133
133
  :default => 'notice',
134
134
  :type => :enum,
135
- :values => ["debug","info","notice","warning","err","alert","emerg","crit"],
135
+ :values => %w[debug info notice warning err alert emerg crit],
136
136
  :desc => "Default logging level for messages from Puppet. Allowed values are:
137
137
 
138
138
  * debug
@@ -166,12 +166,18 @@ module Puppet
166
166
  values = munge(value)
167
167
  valid = %w[deprecations undefined_variables undefined_resources]
168
168
  invalid = values - (values & valid)
169
- if not invalid.empty?
169
+ unless invalid.empty?
170
170
  raise ArgumentError, _("Cannot disable unrecognized warning types '%{invalid}'.") % { invalid: invalid.join(',') } +
171
171
  ' ' + _("Valid values are '%{values}'.") % { values: valid.join(', ') }
172
172
  end
173
173
  end
174
174
  },
175
+ :skip_logging_catalog_request_destination => {
176
+ :default => false,
177
+ :type => :boolean,
178
+ :desc => "If you wish to suppress the notice of which compiler supplied the
179
+ catalog",
180
+ },
175
181
  :merge_dependency_warnings => {
176
182
  :default => false,
177
183
  :type => :boolean,
@@ -489,7 +495,7 @@ module Puppet
489
495
  },
490
496
  :daemonize => {
491
497
  :type => :boolean,
492
- :default => (!Puppet::Util::Platform.windows?),
498
+ :default => !Puppet::Util::Platform.windows?,
493
499
  :desc => "Whether to send the process into the background. This defaults
494
500
  to true on POSIX systems, and to false on Windows (where Puppet
495
501
  currently cannot daemonize).",
@@ -501,7 +507,7 @@ module Puppet
501
507
  end
502
508
  },
503
509
  :maximum_uid => {
504
- :default => 4294967290,
510
+ :default => 4_294_967_290,
505
511
  :type => :integer,
506
512
  :desc => "The maximum allowed UID. Some platforms use negative UIDs
507
513
  but then ship with tools that do not know how to handle signed ints,
@@ -650,7 +656,7 @@ module Puppet
650
656
  :http_proxy_password =>{
651
657
  :default => "none",
652
658
  :hook => proc do |value|
653
- if value =~ /[@!# \/]/
659
+ if value =~ %r{[@!# /]}
654
660
  raise "Passwords set in the http_proxy_password setting must be valid as part of a URL, and any reserved characters must be URL-encoded. We received: #{value}"
655
661
  end
656
662
  end,
@@ -1104,7 +1110,7 @@ EOT
1104
1110
  values = munge(value)
1105
1111
 
1106
1112
  invalid = values - Puppet.valid_file_checksum_types
1107
- if not invalid.empty?
1113
+ unless invalid.empty?
1108
1114
  raise ArgumentError, _("Invalid value '%{value}' for parameter %{name}. Allowed values are '%{allowed_values}'") % {
1109
1115
  value: invalid.first, name: @name, allowed_values: Puppet.valid_file_checksum_types.join("', '")
1110
1116
  }
@@ -1298,7 +1304,7 @@ EOT
1298
1304
  :sourceaddress => {
1299
1305
  :default => nil,
1300
1306
  :desc => "The address the agent should use to initiate requests.",
1301
- },
1307
+ }
1302
1308
  )
1303
1309
 
1304
1310
  settings.define_settings(:environment,