puppet 8.5.1 → 8.6.0

Sign up to get free protection for your applications and to get access to all the features.
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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7715d1827a84d246f80dbbc3a0a1e2fc67af9d280fbce567bdabd123f371d5bd
4
- data.tar.gz: ddca4f7b493a8f24066c1ddc7d45e5df8de0fae12ebdc9b545e50cdd5de1aefd
3
+ metadata.gz: a5e8f5c4d200e15de603485e2c1671afa9f7eb96b1a4decb477ffe9a0fc1376d
4
+ data.tar.gz: 58ee771b93b07d954d4441d8aa4d2766754a3fb3bb2ef19959ca9c7b80b83c80
5
5
  SHA512:
6
- metadata.gz: 165e7d05cfc303a144be1efd16913de96db08d0df37588cef3f6420ab33b4940be6a835a21e33d68d904590e5b20bd430126d11e4d767a854b65b39c7636d6ca
7
- data.tar.gz: 37b7d2303c34d2876fcdabe8617508ae4eaed7c72e2ffab86732937ff4900aec54333ac017d028cb7ddfd0d191920fee4da09681d0bc945cb9704acb417897f6
6
+ metadata.gz: ed5e88705b2031fac369d900a5c8da036a04ed694837eb750b24d48093be1b247e49f9584b924dae71400f3f0dac6ebf18e350509fdd5a6d325aeccba290e54f
7
+ data.tar.gz: bcc63456d3ee6d2c356fd26b80c1ffb173cbb045d909e2bd7cc2f4ac0275ad5b20b2333485fe3cb0a5f9007db35abe71aa7d9bca68eeaf87b2e0c0c8bcddc958
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- puppet (8.5.1)
4
+ puppet (8.6.0)
5
5
  CFPropertyList (~> 2.2)
6
6
  concurrent-ruby (~> 1.0)
7
7
  deep_merge (~> 1.0)
@@ -24,13 +24,13 @@ GEM
24
24
  artifactory (3.0.17)
25
25
  ast (2.4.2)
26
26
  base64 (0.2.0)
27
- bigdecimal (3.1.6)
27
+ bigdecimal (3.1.7)
28
28
  coderay (1.1.3)
29
29
  concurrent-ruby (1.2.3)
30
30
  crack (1.0.0)
31
31
  bigdecimal
32
32
  rexml
33
- csv (3.2.8)
33
+ csv (3.3.0)
34
34
  declarative (0.0.20)
35
35
  deep_merge (1.2.2)
36
36
  diff-lcs (1.5.1)
@@ -58,7 +58,7 @@ GEM
58
58
  fast_gettext (~> 2.1)
59
59
  gettext (~> 3.4)
60
60
  locale
61
- google-apis-core (0.14.0)
61
+ google-apis-core (0.14.1)
62
62
  addressable (~> 2.5, >= 2.5.1)
63
63
  googleauth (~> 1.9)
64
64
  httpclient (>= 2.8.1, < 3.a)
@@ -66,16 +66,16 @@ GEM
66
66
  representable (~> 3.0)
67
67
  retriable (>= 2.0, < 4.a)
68
68
  rexml
69
- google-apis-iamcredentials_v1 (0.19.0)
69
+ google-apis-iamcredentials_v1 (0.20.0)
70
70
  google-apis-core (>= 0.14.0, < 2.a)
71
- google-apis-storage_v1 (0.34.0)
71
+ google-apis-storage_v1 (0.37.0)
72
72
  google-apis-core (>= 0.14.0, < 2.a)
73
- google-cloud-core (1.6.1)
73
+ google-cloud-core (1.7.0)
74
74
  google-cloud-env (>= 1.0, < 3.a)
75
75
  google-cloud-errors (~> 1.0)
76
76
  google-cloud-env (2.1.1)
77
77
  faraday (>= 1.0, < 3.a)
78
- google-cloud-errors (1.3.1)
78
+ google-cloud-errors (1.4.0)
79
79
  google-cloud-storage (1.49.0)
80
80
  addressable (~> 2.8)
81
81
  digest-crc (~> 0.4)
@@ -100,13 +100,13 @@ GEM
100
100
  hocon (1.4.0)
101
101
  hpricot (0.8.6)
102
102
  httpclient (2.8.3)
103
- json (2.7.1)
103
+ json (2.7.2)
104
104
  json-schema (2.8.1)
105
105
  addressable (>= 2.4)
106
106
  jwt (2.8.1)
107
107
  base64
108
108
  language_server-protocol (3.17.0.3)
109
- locale (2.1.3)
109
+ locale (2.1.4)
110
110
  memory_profiler (1.0.1)
111
111
  method_source (1.0.0)
112
112
  mini_mime (1.1.5)
@@ -118,7 +118,7 @@ GEM
118
118
  uri
119
119
  optimist (3.1.0)
120
120
  os (1.1.4)
121
- packaging (0.116.0)
121
+ packaging (0.118.0)
122
122
  apt_stage_artifacts
123
123
  artifactory (~> 3)
124
124
  csv (>= 3.1.5)
@@ -136,16 +136,16 @@ GEM
136
136
  pry (0.14.2)
137
137
  coderay (~> 1.1)
138
138
  method_source (~> 1.0)
139
- public_suffix (5.0.4)
139
+ public_suffix (5.0.5)
140
140
  puppet-resource_api (1.9.0)
141
141
  hocon (>= 1.0)
142
142
  puppetserver-ca (2.7.0)
143
143
  facter (>= 2.0.1, < 5)
144
144
  racc (1.5.2)
145
145
  rainbow (3.1.1)
146
- rake (13.1.0)
146
+ rake (13.2.1)
147
147
  rdiscount (2.2.7.3)
148
- rdoc (6.3.3)
148
+ rdoc (6.3.4.1)
149
149
  regexp_parser (2.9.0)
150
150
  release-metrics (1.1.0)
151
151
  csv
@@ -176,7 +176,7 @@ GEM
176
176
  diff-lcs (>= 1.2.0, < 2.0)
177
177
  rspec-support (~> 3.13.0)
178
178
  rspec-support (3.13.1)
179
- rubocop (1.61.0)
179
+ rubocop (1.63.0)
180
180
  json (~> 2.3)
181
181
  language_server-protocol (>= 3.17.0)
182
182
  parallel (~> 1.10)
@@ -184,10 +184,10 @@ GEM
184
184
  rainbow (>= 2.2.2, < 4.0)
185
185
  regexp_parser (>= 1.8, < 3.0)
186
186
  rexml (>= 3.2.5, < 4.0)
187
- rubocop-ast (>= 1.30.0, < 2.0)
187
+ rubocop-ast (>= 1.31.1, < 2.0)
188
188
  ruby-progressbar (~> 1.7)
189
189
  unicode-display_width (>= 2.4.0, < 3.0)
190
- rubocop-ast (1.31.1)
190
+ rubocop-ast (1.31.2)
191
191
  parser (>= 3.3.0.4)
192
192
  rubocop-capybara (2.20.0)
193
193
  rubocop (~> 1.41)
@@ -195,15 +195,18 @@ GEM
195
195
  rubocop (~> 1.41)
196
196
  rubocop-i18n (3.0.0)
197
197
  rubocop (~> 1.0)
198
- rubocop-performance (1.20.2)
198
+ rubocop-performance (1.21.0)
199
199
  rubocop (>= 1.48.1, < 2.0)
200
- rubocop-ast (>= 1.30.0, < 2.0)
200
+ rubocop-ast (>= 1.31.1, < 2.0)
201
201
  rubocop-rake (0.6.0)
202
202
  rubocop (~> 1.0)
203
- rubocop-rspec (2.27.1)
203
+ rubocop-rspec (2.29.1)
204
204
  rubocop (~> 1.40)
205
205
  rubocop-capybara (~> 2.17)
206
206
  rubocop-factory_bot (~> 2.22)
207
+ rubocop-rspec_rails (~> 2.28)
208
+ rubocop-rspec_rails (2.28.2)
209
+ rubocop (~> 1.40)
207
210
  ruby-prof (1.7.0)
208
211
  ruby-progressbar (1.13.0)
209
212
  scanf (1.0.0)
@@ -36,7 +36,7 @@ class WindowsDaemon < Puppet::Util::Windows::Daemon
36
36
 
37
37
  @LOG_TO_FILE = (argsv.index('--logtofile') ? true : false)
38
38
 
39
- if (@LOG_TO_FILE)
39
+ if @LOG_TO_FILE
40
40
  FileUtils.mkdir_p(File.dirname(LOG_FILE))
41
41
  args = args.gsub("--logtofile", "")
42
42
  end
@@ -75,25 +75,23 @@ class WindowsDaemon < Puppet::Util::Windows::Daemon
75
75
 
76
76
  service = self
77
77
  @run_thread = Thread.new do
78
- begin
79
- while service.running? do
80
- runinterval = service.parse_runinterval(ruby_puppet_cmd)
81
-
82
- if service.state == RUNNING or service.state == IDLE
83
- service.log_notice("Executing agent with arguments: #{args}")
84
- pid = Process.create(:command_line => "#{ruby_puppet_cmd} agent --onetime #{args}", :creation_flags => CREATE_NEW_CONSOLE).process_id
85
- service.log_debug("Process created: #{pid}")
86
- else
87
- service.log_debug("Service is paused. Not invoking Puppet agent")
88
- end
89
-
90
- service.log_debug("Service worker thread waiting for #{runinterval} seconds")
91
- sleep(runinterval)
92
- service.log_debug('Service worker thread woken up')
78
+ while service.running?
79
+ runinterval = service.parse_runinterval(ruby_puppet_cmd)
80
+
81
+ if service.state == RUNNING or service.state == IDLE
82
+ service.log_notice("Executing agent with arguments: #{args}")
83
+ pid = Process.create(:command_line => "#{ruby_puppet_cmd} agent --onetime #{args}", :creation_flags => CREATE_NEW_CONSOLE).process_id
84
+ service.log_debug("Process created: #{pid}")
85
+ else
86
+ service.log_debug("Service is paused. Not invoking Puppet agent")
93
87
  end
94
- rescue Exception => e
95
- service.log_exception(e)
88
+
89
+ service.log_debug("Service worker thread waiting for #{runinterval} seconds")
90
+ sleep(runinterval)
91
+ service.log_debug('Service worker thread woken up')
96
92
  end
93
+ rescue Exception => e
94
+ service.log_exception(e)
97
95
  end
98
96
  @run_thread.join
99
97
  rescue Exception => e
@@ -131,7 +129,7 @@ class WindowsDaemon < Puppet::Util::Windows::Daemon
131
129
 
132
130
  def log(msg, level)
133
131
  if LEVELS.index(level) >= @loglevel
134
- if (@LOG_TO_FILE)
132
+ if @LOG_TO_FILE
135
133
  # without this change its possible that we get Encoding errors trying to write UTF-8 messages in current codepage
136
134
  File.open(LOG_FILE, 'a:UTF-8') { |f| f.puts("#{Time.now} Puppet (#{level}): #{msg}") }
137
135
  end
@@ -142,26 +140,24 @@ class WindowsDaemon < Puppet::Util::Windows::Daemon
142
140
  end
143
141
 
144
142
  def report_windows_event(type, id, message)
145
- begin
146
- eventlog = nil
147
- eventlog = Puppet::Util::Windows::EventLog.open("Puppet")
148
- eventlog.report_event(
149
- :event_type => type, # EVENTLOG_ERROR_TYPE, etc
150
- :event_id => id, # 0x01 or 0x02, 0x03 etc.
151
- :data => message # "the message"
152
- )
153
- rescue Exception
154
- # Ignore all errors
155
- ensure
156
- if (!eventlog.nil?)
157
- eventlog.close
158
- end
143
+ eventlog = nil
144
+ eventlog = Puppet::Util::Windows::EventLog.open("Puppet")
145
+ eventlog.report_event(
146
+ :event_type => type, # EVENTLOG_ERROR_TYPE, etc
147
+ :event_id => id, # 0x01 or 0x02, 0x03 etc.
148
+ :data => message # "the message"
149
+ )
150
+ rescue Exception
151
+ # Ignore all errors
152
+ ensure
153
+ unless eventlog.nil?
154
+ eventlog.close
159
155
  end
160
156
  end
161
157
 
162
158
  def parse_runinterval(puppet_path)
163
159
  begin
164
- runinterval = %x{#{puppet_path} config --section agent --log_level notice print runinterval}.to_i
160
+ runinterval = %x(#{puppet_path} config --section agent --log_level notice print runinterval).to_i
165
161
  if runinterval == 0
166
162
  runinterval = 1800
167
163
  log_err("Failed to determine runinterval, defaulting to #{runinterval} seconds")
@@ -176,7 +172,7 @@ class WindowsDaemon < Puppet::Util::Windows::Daemon
176
172
 
177
173
  def parse_log_level(puppet_path, cmdline_debug)
178
174
  begin
179
- loglevel = %x{#{puppet_path} config --section agent --log_level notice print log_level}.chomp
175
+ loglevel = %x(#{puppet_path} config --section agent --log_level notice print log_level).chomp
180
176
  unless loglevel && respond_to?("log_#{loglevel}")
181
177
  loglevel = :notice
182
178
  log_err("Failed to determine loglevel, defaulting to #{loglevel}")
@@ -186,33 +182,31 @@ class WindowsDaemon < Puppet::Util::Windows::Daemon
186
182
  loglevel = :notice
187
183
  end
188
184
 
189
- LEVELS.index(cmdline_debug ? cmdline_debug : loglevel.to_sym)
185
+ LEVELS.index(cmdline_debug || loglevel.to_sym)
190
186
  end
191
187
 
192
188
  private
193
189
 
194
190
  def load_env(base_dir)
195
- begin
196
- # ENV that uses backward slashes
197
- ENV['FACTER_env_windows_installdir'] = base_dir.tr('/', '\\')
198
- ENV['PL_BASEDIR'] = base_dir.tr('/', '\\')
199
- ENV['PUPPET_DIR'] = File.join(base_dir, 'puppet').tr('/', '\\')
200
- ENV['OPENSSL_CONF'] = File.join(base_dir, 'puppet', 'ssl', 'openssl.cnf').tr('/', '\\')
201
- ENV['SSL_CERT_DIR'] = File.join(base_dir, 'puppet', 'ssl', 'certs').tr('/', '\\')
202
- ENV['SSL_CERT_FILE'] = File.join(base_dir, 'puppet', 'ssl', 'cert.pem').tr('/', '\\')
203
- ENV['Path'] = [
204
- File.join(base_dir, 'puppet', 'bin'),
205
- File.join(base_dir, 'bin'),
206
- ].join(';').tr('/', '\\') + ';' + ENV.fetch('Path', nil)
207
-
208
- # ENV that uses forward slashes
209
- ENV['RUBYLIB'] = "#{File.join(base_dir, 'puppet', 'lib')};#{ENV.fetch('RUBYLIB', nil)}"
210
- rescue => e
211
- log_exception(e)
212
- end
191
+ # ENV that uses backward slashes
192
+ ENV['FACTER_env_windows_installdir'] = base_dir.tr('/', '\\')
193
+ ENV['PL_BASEDIR'] = base_dir.tr('/', '\\')
194
+ ENV['PUPPET_DIR'] = File.join(base_dir, 'puppet').tr('/', '\\')
195
+ ENV['OPENSSL_CONF'] = File.join(base_dir, 'puppet', 'ssl', 'openssl.cnf').tr('/', '\\')
196
+ ENV['SSL_CERT_DIR'] = File.join(base_dir, 'puppet', 'ssl', 'certs').tr('/', '\\')
197
+ ENV['SSL_CERT_FILE'] = File.join(base_dir, 'puppet', 'ssl', 'cert.pem').tr('/', '\\')
198
+ ENV['Path'] = [
199
+ File.join(base_dir, 'puppet', 'bin'),
200
+ File.join(base_dir, 'bin')
201
+ ].join(';').tr('/', '\\') + ';' + ENV.fetch('Path', nil)
202
+
203
+ # ENV that uses forward slashes
204
+ ENV['RUBYLIB'] = "#{File.join(base_dir, 'puppet', 'lib')};#{ENV.fetch('RUBYLIB', nil)}"
205
+ rescue => e
206
+ log_exception(e)
213
207
  end
214
208
  end
215
209
 
216
- if __FILE__ == $0
210
+ if __FILE__ == $PROGRAM_NAME
217
211
  WindowsDaemon.mainloop
218
212
  end
data/lib/hiera/scope.rb CHANGED
@@ -77,11 +77,11 @@ class Hiera
77
77
 
78
78
  def find_hostclass(scope)
79
79
  if scope.source and scope.source.type == :hostclass
80
- return scope.source.name.downcase
80
+ scope.source.name.downcase
81
81
  elsif scope.parent
82
- return find_hostclass(scope.parent)
82
+ find_hostclass(scope.parent)
83
83
  else
84
- return nil
84
+ nil
85
85
  end
86
86
  end
87
87
  private :find_hostclass
data/lib/hiera_puppet.rb CHANGED
@@ -47,7 +47,7 @@ module HieraPuppet
47
47
  default = args[1]
48
48
  override = args[2]
49
49
 
50
- return [key, default, override]
50
+ [key, default, override]
51
51
  end
52
52
 
53
53
  def hiera
@@ -26,7 +26,7 @@ module Puppet::Agent::Disabler
26
26
  def disable(msg = nil)
27
27
  data = {}
28
28
  Puppet.notice _("Disabling Puppet.")
29
- if (!msg.nil?)
29
+ unless msg.nil?
30
30
  data[DISABLED_MESSAGE_JSON_KEY] = msg
31
31
  end
32
32
  disable_lockfile.lock(data)
@@ -441,7 +441,7 @@ class Puppet::Application::Agent < Puppet::Application
441
441
 
442
442
  daemon.stop(:exit => false)
443
443
 
444
- if not exitstatus
444
+ if !exitstatus
445
445
  exit(1)
446
446
  elsif options[:detailed_exitcodes] then
447
447
  exit(exitstatus)
@@ -509,7 +509,7 @@ class Puppet::Application::Agent < Puppet::Application
509
509
  end
510
510
 
511
511
  def setup_agent
512
- agent = Puppet::Agent.new(Puppet::Configurer, (not(Puppet[:onetime])))
512
+ agent = Puppet::Agent.new(Puppet::Configurer, !(Puppet[:onetime]))
513
513
 
514
514
  enable_disable_client(agent) if options[:enable] or options[:disable]
515
515
 
@@ -224,7 +224,7 @@ class Puppet::Application::Apply < Puppet::Application
224
224
  $stderr.puts _("%{file} is not readable") % { file: file }
225
225
  exit(63)
226
226
  end
227
- node.classes = Puppet::FileSystem.read(file, :encoding => 'utf-8').split(/[\s]+/)
227
+ node.classes = Puppet::FileSystem.read(file, :encoding => 'utf-8').split(/\s+/)
228
228
  end
229
229
  end
230
230
 
@@ -276,7 +276,7 @@ class Puppet::Application::Apply < Puppet::Application
276
276
 
277
277
  exit_status = apply_catalog(catalog)
278
278
 
279
- if not exit_status
279
+ if !exit_status
280
280
  exit(1)
281
281
  elsif options[:detailed_exitcodes] then
282
282
  exit(exit_status)
@@ -11,7 +11,7 @@ class Formatter
11
11
  return "" unless txt && !txt.empty?
12
12
 
13
13
  work = (opts[:scrub] ? scrub(txt) : txt)
14
- indent = (opts[:indent] ? opts[:indent] : 0)
14
+ indent = opts[:indent] || 0
15
15
  textLen = @width - indent
16
16
  patt = Regexp.new("\\A(.{0,#{textLen}})[ \n]")
17
17
  prefix = " " * indent
@@ -20,8 +20,8 @@ class Formatter
20
20
 
21
21
  while work.length > textLen
22
22
  if work =~ patt
23
- res << $1
24
- work.slice!(0, $MATCH.length)
23
+ res << ::Regexp.last_match(1)
24
+ work.slice!(0, ::Regexp.last_match(0).length)
25
25
  else
26
26
  res << work.slice!(0, textLen)
27
27
  end
@@ -43,10 +43,10 @@ class Formatter
43
43
  # If we can match an indentation, then just remove that same level of
44
44
  # indent from every line.
45
45
  if text =~ /^(\s+)/
46
- indent = $1
47
- return text.gsub(/^#{indent}/, '')
46
+ indent = ::Regexp.last_match(1)
47
+ text.gsub(/^#{indent}/, '')
48
48
  else
49
- return text
49
+ text
50
50
  end
51
51
  end
52
52
  end
@@ -263,115 +263,114 @@ class Puppet::Application::Device < Puppet::Application
263
263
  end
264
264
  devices.collect do |_devicename, device|
265
265
  # TODO when we drop support for ruby < 2.5 we can remove the extra block here
266
- begin
267
- device_url = URI.parse(device.url)
268
- # Handle nil scheme & port
269
- scheme = "#{device_url.scheme}://" if device_url.scheme
270
- port = ":#{device_url.port}" if device_url.port
271
-
272
- # override local $vardir and $certname
273
- Puppet[:ssldir] = ::File.join(Puppet[:deviceconfdir], device.name, 'ssl')
274
- Puppet[:confdir] = ::File.join(Puppet[:devicedir], device.name)
275
- Puppet[:libdir] = options[:libdir] || ::File.join(Puppet[:devicedir], device.name, 'lib')
276
- Puppet[:vardir] = ::File.join(Puppet[:devicedir], device.name)
277
- Puppet[:certname] = device.name
278
- ssl_context = nil
279
-
280
- # create device directory under $deviceconfdir
281
- Puppet::FileSystem.dir_mkpath(Puppet[:ssldir]) unless Puppet::FileSystem.dir_exist?(Puppet[:ssldir])
282
-
283
- # this will reload and recompute default settings and create device-specific sub vardir
284
- Puppet.settings.use :main, :agent, :ssl
285
-
286
- # Workaround for PUP-8736: store ssl certs outside the cache directory to prevent accidental removal and keep the old path as symlink
287
- optssldir = File.join(Puppet[:confdir], 'ssl')
288
- Puppet::FileSystem.symlink(Puppet[:ssldir], optssldir) unless Puppet::FileSystem.exist?(optssldir)
289
-
290
- unless options[:resource] || options[:facts] || options[:apply]
291
- # Since it's too complicated to fix properly in the default settings, we workaround for PUP-9642 here.
292
- # See https://github.com/puppetlabs/puppet/pull/7483#issuecomment-483455997 for details.
293
- # This has to happen after `settings.use` above, so the directory is created and before `setup_host` below, where the SSL
294
- # routines would fail with access errors
295
- if Puppet.features.root? && !Puppet::Util::Platform.windows?
296
- user = Puppet::Type.type(:user).new(name: Puppet[:user]).exists? ? Puppet[:user] : nil
297
- group = Puppet::Type.type(:group).new(name: Puppet[:group]).exists? ? Puppet[:group] : nil
298
- Puppet.debug("Fixing perms for #{user}:#{group} on #{Puppet[:confdir]}")
299
- FileUtils.chown(user, group, Puppet[:confdir]) if user || group
300
- end
301
266
 
302
- ssl_context = setup_context
267
+ device_url = URI.parse(device.url)
268
+ # Handle nil scheme & port
269
+ scheme = "#{device_url.scheme}://" if device_url.scheme
270
+ port = ":#{device_url.port}" if device_url.port
271
+
272
+ # override local $vardir and $certname
273
+ Puppet[:ssldir] = ::File.join(Puppet[:deviceconfdir], device.name, 'ssl')
274
+ Puppet[:confdir] = ::File.join(Puppet[:devicedir], device.name)
275
+ Puppet[:libdir] = options[:libdir] || ::File.join(Puppet[:devicedir], device.name, 'lib')
276
+ Puppet[:vardir] = ::File.join(Puppet[:devicedir], device.name)
277
+ Puppet[:certname] = device.name
278
+ ssl_context = nil
279
+
280
+ # create device directory under $deviceconfdir
281
+ Puppet::FileSystem.dir_mkpath(Puppet[:ssldir]) unless Puppet::FileSystem.dir_exist?(Puppet[:ssldir])
282
+
283
+ # this will reload and recompute default settings and create device-specific sub vardir
284
+ Puppet.settings.use :main, :agent, :ssl
285
+
286
+ # Workaround for PUP-8736: store ssl certs outside the cache directory to prevent accidental removal and keep the old path as symlink
287
+ optssldir = File.join(Puppet[:confdir], 'ssl')
288
+ Puppet::FileSystem.symlink(Puppet[:ssldir], optssldir) unless Puppet::FileSystem.exist?(optssldir)
289
+
290
+ unless options[:resource] || options[:facts] || options[:apply]
291
+ # Since it's too complicated to fix properly in the default settings, we workaround for PUP-9642 here.
292
+ # See https://github.com/puppetlabs/puppet/pull/7483#issuecomment-483455997 for details.
293
+ # This has to happen after `settings.use` above, so the directory is created and before `setup_host` below, where the SSL
294
+ # routines would fail with access errors
295
+ if Puppet.features.root? && !Puppet::Util::Platform.windows?
296
+ user = Puppet::Type.type(:user).new(name: Puppet[:user]).exists? ? Puppet[:user] : nil
297
+ group = Puppet::Type.type(:group).new(name: Puppet[:group]).exists? ? Puppet[:group] : nil
298
+ Puppet.debug("Fixing perms for #{user}:#{group} on #{Puppet[:confdir]}")
299
+ FileUtils.chown(user, group, Puppet[:confdir]) if user || group
300
+ end
301
+
302
+ ssl_context = setup_context
303
303
 
304
- unless options[:libdir]
305
- Puppet.override(ssl_context: ssl_context) do
306
- Puppet::Configurer::PluginHandler.new.download_plugins(env) if Puppet::Configurer.should_pluginsync?
307
- end
304
+ unless options[:libdir]
305
+ Puppet.override(ssl_context: ssl_context) do
306
+ Puppet::Configurer::PluginHandler.new.download_plugins(env) if Puppet::Configurer.should_pluginsync?
308
307
  end
309
308
  end
309
+ end
310
310
 
311
- # this inits the device singleton, so that the facts terminus
312
- # and the various network_device provider can use it
313
- Puppet::Util::NetworkDevice.init(device)
314
-
315
- if options[:resource]
316
- type, name = parse_args(command_line.args)
317
- Puppet.info _("retrieving resource: %{resource} from %{target} at %{scheme}%{url_host}%{port}%{url_path}") % { resource: type, target: device.name, scheme: scheme, url_host: device_url.host, port: port, url_path: device_url.path }
318
- resources = find_resources(type, name)
319
- if options[:to_yaml]
320
- data = resources.map do |resource|
321
- resource.prune_parameters(:parameters_to_include => @extra_params).to_hiera_hash
322
- end.inject(:merge!)
323
- text = YAML.dump(type.downcase => data)
324
- else
325
- text = resources.map do |resource|
326
- resource.prune_parameters(:parameters_to_include => @extra_params).to_manifest.force_encoding(Encoding.default_external)
327
- end.join("\n")
328
- end
329
- (puts text)
330
- 0
331
- elsif options[:facts]
332
- Puppet.info _("retrieving facts from %{target} at %{scheme}%{url_host}%{port}%{url_path}") % { resource: type, target: device.name, scheme: scheme, url_host: device_url.host, port: port, url_path: device_url.path }
333
- remote_facts = Puppet::Node::Facts.indirection.find(name, :environment => env)
334
- # Give a proper name to the facts
335
- remote_facts.name = remote_facts.values['clientcert']
336
- renderer = Puppet::Network::FormatHandler.format(:console)
337
- puts renderer.render(remote_facts)
338
- 0
339
- elsif options[:apply]
340
- # avoid reporting to server
341
- Puppet::Transaction::Report.indirection.terminus_class = :yaml
342
- Puppet::Resource::Catalog.indirection.cache_class = nil
343
-
344
- require_relative '../../puppet/application/apply'
345
- begin
346
- Puppet[:node_terminus] = :plain
347
- Puppet[:catalog_terminus] = :compiler
348
- Puppet[:catalog_cache_terminus] = nil
349
- Puppet[:facts_terminus] = :network_device
350
- Puppet.override(:network_device => true) do
351
- Puppet::Application::Apply.new(Puppet::Util::CommandLine.new('puppet', ["apply", options[:apply]])).run_command
352
- end
353
- end
311
+ # this inits the device singleton, so that the facts terminus
312
+ # and the various network_device provider can use it
313
+ Puppet::Util::NetworkDevice.init(device)
314
+
315
+ if options[:resource]
316
+ type, name = parse_args(command_line.args)
317
+ Puppet.info _("retrieving resource: %{resource} from %{target} at %{scheme}%{url_host}%{port}%{url_path}") % { resource: type, target: device.name, scheme: scheme, url_host: device_url.host, port: port, url_path: device_url.path }
318
+ resources = find_resources(type, name)
319
+ if options[:to_yaml]
320
+ data = resources.map do |resource|
321
+ resource.prune_parameters(:parameters_to_include => @extra_params).to_hiera_hash
322
+ end.inject(:merge!)
323
+ text = YAML.dump(type.downcase => data)
354
324
  else
355
- Puppet.info _("starting applying configuration to %{target} at %{scheme}%{url_host}%{port}%{url_path}") % { target: device.name, scheme: scheme, url_host: device_url.host, port: port, url_path: device_url.path }
356
-
357
- overrides = {}
358
- overrides[:ssl_context] = ssl_context if ssl_context
359
- Puppet.override(overrides) do
360
- configurer = Puppet::Configurer.new
361
- configurer.run(:network_device => true, :pluginsync => false)
325
+ text = resources.map do |resource|
326
+ resource.prune_parameters(:parameters_to_include => @extra_params).to_manifest.force_encoding(Encoding.default_external)
327
+ end.join("\n")
328
+ end
329
+ (puts text)
330
+ 0
331
+ elsif options[:facts]
332
+ Puppet.info _("retrieving facts from %{target} at %{scheme}%{url_host}%{port}%{url_path}") % { resource: type, target: device.name, scheme: scheme, url_host: device_url.host, port: port, url_path: device_url.path }
333
+ remote_facts = Puppet::Node::Facts.indirection.find(name, :environment => env)
334
+ # Give a proper name to the facts
335
+ remote_facts.name = remote_facts.values['clientcert']
336
+ renderer = Puppet::Network::FormatHandler.format(:console)
337
+ puts renderer.render(remote_facts)
338
+ 0
339
+ elsif options[:apply]
340
+ # avoid reporting to server
341
+ Puppet::Transaction::Report.indirection.terminus_class = :yaml
342
+ Puppet::Resource::Catalog.indirection.cache_class = nil
343
+
344
+ require_relative '../../puppet/application/apply'
345
+ begin
346
+ Puppet[:node_terminus] = :plain
347
+ Puppet[:catalog_terminus] = :compiler
348
+ Puppet[:catalog_cache_terminus] = nil
349
+ Puppet[:facts_terminus] = :network_device
350
+ Puppet.override(:network_device => true) do
351
+ Puppet::Application::Apply.new(Puppet::Util::CommandLine.new('puppet', ["apply", options[:apply]])).run_command
362
352
  end
363
353
  end
364
- rescue => detail
365
- Puppet.log_exception(detail)
366
- # If we rescued an error, then we return 1 as the exit code
367
- 1
368
- ensure
369
- Puppet[:libdir] = libdir
370
- Puppet[:vardir] = vardir
371
- Puppet[:confdir] = confdir
372
- Puppet[:ssldir] = ssldir
373
- Puppet[:certname] = certname
354
+ else
355
+ Puppet.info _("starting applying configuration to %{target} at %{scheme}%{url_host}%{port}%{url_path}") % { target: device.name, scheme: scheme, url_host: device_url.host, port: port, url_path: device_url.path }
356
+
357
+ overrides = {}
358
+ overrides[:ssl_context] = ssl_context if ssl_context
359
+ Puppet.override(overrides) do
360
+ configurer = Puppet::Configurer.new
361
+ configurer.run(:network_device => true, :pluginsync => false)
362
+ end
374
363
  end
364
+ rescue => detail
365
+ Puppet.log_exception(detail)
366
+ # If we rescued an error, then we return 1 as the exit code
367
+ 1
368
+ ensure
369
+ Puppet[:libdir] = libdir
370
+ Puppet[:vardir] = vardir
371
+ Puppet[:confdir] = confdir
372
+ Puppet[:ssldir] = ssldir
373
+ Puppet[:certname] = certname
375
374
  end
376
375
  end
377
376
 
@@ -122,7 +122,7 @@ class Puppet::Application::Doc < Puppet::Application
122
122
  end
123
123
 
124
124
  def run_command
125
- return [:rdoc].include?(options[:mode]) ? send(options[:mode]) : other
125
+ [:rdoc].include?(options[:mode]) ? send(options[:mode]) : other
126
126
  end
127
127
 
128
128
  def rdoc