puppet 8.5.1-universal-darwin → 8.7.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 (581) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +6 -2
  3. data/Gemfile.lock +55 -48
  4. data/Rakefile +45 -22
  5. data/examples/hiera/README.md +68 -57
  6. data/examples/hiera/data/common.yaml +12 -0
  7. data/examples/hiera/data/dc1.yaml +6 -0
  8. data/examples/hiera/hiera.yaml +15 -0
  9. data/examples/hiera/modules/ntp/data/common.yaml +4 -0
  10. data/examples/hiera/modules/ntp/hiera.yaml +9 -0
  11. data/examples/hiera/modules/ntp/manifests/config.pp +16 -4
  12. data/examples/hiera/modules/ntp/templates/ntp.conf.epp +3 -0
  13. data/examples/hiera/modules/users/manifests/common.pp +7 -2
  14. data/examples/hiera/modules/users/manifests/dc1.pp +7 -2
  15. data/examples/hiera/site.pp +1 -1
  16. data/ext/project_data.yaml +0 -45
  17. data/ext/windows/service/daemon.rb +49 -55
  18. data/lib/hiera/scope.rb +3 -3
  19. data/lib/hiera_puppet.rb +1 -1
  20. data/lib/puppet/agent/disabler.rb +1 -1
  21. data/lib/puppet/application/agent.rb +2 -2
  22. data/lib/puppet/application/apply.rb +2 -2
  23. data/lib/puppet/application/describe.rb +6 -6
  24. data/lib/puppet/application/device.rb +99 -100
  25. data/lib/puppet/application/doc.rb +1 -1
  26. data/lib/puppet/application/face_base.rb +7 -7
  27. data/lib/puppet/application/filebucket.rb +1 -1
  28. data/lib/puppet/application/lookup.rb +5 -5
  29. data/lib/puppet/application/resource.rb +10 -3
  30. data/lib/puppet/application/ssl.rb +3 -3
  31. data/lib/puppet/application.rb +16 -18
  32. data/lib/puppet/coercion.rb +1 -1
  33. data/lib/puppet/configurer/downloader.rb +9 -4
  34. data/lib/puppet/configurer/fact_handler.rb +12 -13
  35. data/lib/puppet/configurer.rb +16 -18
  36. data/lib/puppet/confine/feature.rb +1 -1
  37. data/lib/puppet/confine/variable.rb +1 -1
  38. data/lib/puppet/confine.rb +2 -2
  39. data/lib/puppet/confine_collection.rb +1 -1
  40. data/lib/puppet/confiner.rb +2 -2
  41. data/lib/puppet/daemon.rb +4 -3
  42. data/lib/puppet/datatypes.rb +5 -6
  43. data/lib/puppet/defaults.rb +14 -8
  44. data/lib/puppet/environments.rb +3 -7
  45. data/lib/puppet/error.rb +3 -3
  46. data/lib/puppet/external/dot.rb +42 -34
  47. data/lib/puppet/face/catalog/select.rb +1 -1
  48. data/lib/puppet/face/epp.rb +7 -9
  49. data/lib/puppet/face/help.rb +12 -12
  50. data/lib/puppet/face/module/changes.rb +1 -3
  51. data/lib/puppet/face/module/list.rb +37 -37
  52. data/lib/puppet/face/node/clean.rb +1 -1
  53. data/lib/puppet/face/parser.rb +6 -8
  54. data/lib/puppet/face/report.rb +5 -7
  55. data/lib/puppet/facter_impl.rb +1 -1
  56. data/lib/puppet/feature/base.rb +9 -11
  57. data/lib/puppet/feature/pe_license.rb +1 -1
  58. data/lib/puppet/feature/ssh.rb +1 -1
  59. data/lib/puppet/feature/telnet.rb +3 -5
  60. data/lib/puppet/feature/zlib.rb +1 -1
  61. data/lib/puppet/ffi/windows/constants.rb +1 -1
  62. data/lib/puppet/ffi/windows/functions.rb +2 -2
  63. data/lib/puppet/ffi/windows/structs.rb +3 -3
  64. data/lib/puppet/file_bucket/dipper.rb +4 -4
  65. data/lib/puppet/file_bucket/file.rb +4 -4
  66. data/lib/puppet/file_serving/base.rb +5 -5
  67. data/lib/puppet/file_serving/configuration/parser.rb +9 -9
  68. data/lib/puppet/file_serving/configuration.rb +3 -3
  69. data/lib/puppet/file_serving/fileset.rb +13 -13
  70. data/lib/puppet/file_serving/http_metadata.rb +1 -1
  71. data/lib/puppet/file_serving/metadata.rb +13 -9
  72. data/lib/puppet/file_serving/mount/file.rb +6 -6
  73. data/lib/puppet/file_serving/mount/locales.rb +2 -4
  74. data/lib/puppet/file_serving/mount/pluginfacts.rb +2 -4
  75. data/lib/puppet/file_serving/mount/plugins.rb +2 -4
  76. data/lib/puppet/file_serving/mount.rb +1 -1
  77. data/lib/puppet/file_system/file_impl.rb +3 -3
  78. data/lib/puppet/file_system/memory_impl.rb +1 -1
  79. data/lib/puppet/file_system/path_pattern.rb +1 -1
  80. data/lib/puppet/file_system/uniquefile.rb +17 -16
  81. data/lib/puppet/file_system/windows.rb +26 -18
  82. data/lib/puppet/forge/cache.rb +2 -2
  83. data/lib/puppet/forge/errors.rb +1 -1
  84. data/lib/puppet/forge/repository.rb +2 -2
  85. data/lib/puppet/forge.rb +13 -19
  86. data/lib/puppet/functions/abs.rb +2 -2
  87. data/lib/puppet/functions/camelcase.rb +1 -1
  88. data/lib/puppet/functions/compare.rb +2 -2
  89. data/lib/puppet/functions/contain.rb +1 -1
  90. data/lib/puppet/functions/defined.rb +2 -2
  91. data/lib/puppet/functions/dig.rb +1 -1
  92. data/lib/puppet/functions/eyaml_lookup_key.rb +11 -13
  93. data/lib/puppet/functions/get.rb +1 -1
  94. data/lib/puppet/functions/hocon_data.rb +3 -5
  95. data/lib/puppet/functions/import.rb +1 -1
  96. data/lib/puppet/functions/json_data.rb +4 -6
  97. data/lib/puppet/functions/max.rb +2 -2
  98. data/lib/puppet/functions/min.rb +2 -2
  99. data/lib/puppet/functions/new.rb +1 -1
  100. data/lib/puppet/functions/reduce.rb +6 -10
  101. data/lib/puppet/functions/regsubst.rb +2 -2
  102. data/lib/puppet/functions/require.rb +1 -1
  103. data/lib/puppet/functions/yaml_data.rb +11 -13
  104. data/lib/puppet/functions.rb +32 -37
  105. data/lib/puppet/generate/type.rb +2 -2
  106. data/lib/puppet/gettext/config.rb +9 -9
  107. data/lib/puppet/graph/rb_tree_map.rb +31 -23
  108. data/lib/puppet/graph/relationship_graph.rb +12 -12
  109. data/lib/puppet/graph/simple_graph.rb +8 -10
  110. data/lib/puppet/http/client.rb +1 -1
  111. data/lib/puppet/http/dns.rb +4 -4
  112. data/lib/puppet/http/external_client.rb +1 -1
  113. data/lib/puppet/http/factory.rb +1 -1
  114. data/lib/puppet/http/proxy.rb +15 -15
  115. data/lib/puppet/http/redirector.rb +6 -2
  116. data/lib/puppet/http/resolver.rb +2 -2
  117. data/lib/puppet/http/retry_after_handler.rb +2 -2
  118. data/lib/puppet/http/service/ca.rb +1 -1
  119. data/lib/puppet/http/service/compiler.rb +4 -4
  120. data/lib/puppet/http/service/file_server.rb +1 -1
  121. data/lib/puppet/http/service/report.rb +2 -2
  122. data/lib/puppet/http/service.rb +9 -13
  123. data/lib/puppet/http/session.rb +1 -1
  124. data/lib/puppet/http/site.rb +1 -1
  125. data/lib/puppet/indirector/catalog/compiler.rb +44 -45
  126. data/lib/puppet/indirector/catalog/rest.rb +7 -5
  127. data/lib/puppet/indirector/catalog/store_configs.rb +1 -1
  128. data/lib/puppet/indirector/exec.rb +2 -2
  129. data/lib/puppet/indirector/face.rb +7 -9
  130. data/lib/puppet/indirector/fact_search.rb +1 -1
  131. data/lib/puppet/indirector/facts/facter.rb +6 -6
  132. data/lib/puppet/indirector/facts/json.rb +1 -1
  133. data/lib/puppet/indirector/facts/store_configs.rb +1 -1
  134. data/lib/puppet/indirector/file_bucket_file/file.rb +17 -17
  135. data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -3
  136. data/lib/puppet/indirector/file_content/rest.rb +1 -1
  137. data/lib/puppet/indirector/file_metadata/rest.rb +1 -1
  138. data/lib/puppet/indirector/hiera.rb +1 -1
  139. data/lib/puppet/indirector/indirection.rb +27 -29
  140. data/lib/puppet/indirector/json.rb +4 -4
  141. data/lib/puppet/indirector/memory.rb +2 -2
  142. data/lib/puppet/indirector/msgpack.rb +5 -5
  143. data/lib/puppet/indirector/node/store_configs.rb +1 -1
  144. data/lib/puppet/indirector/none.rb +1 -1
  145. data/lib/puppet/indirector/report/json.rb +1 -1
  146. data/lib/puppet/indirector/report/yaml.rb +1 -1
  147. data/lib/puppet/indirector/request.rb +4 -4
  148. data/lib/puppet/indirector/resource/ral.rb +2 -4
  149. data/lib/puppet/indirector/resource/store_configs.rb +1 -1
  150. data/lib/puppet/indirector/terminus.rb +4 -4
  151. data/lib/puppet/indirector/yaml.rb +3 -3
  152. data/lib/puppet/info_service/class_information_service.rb +5 -8
  153. data/lib/puppet/info_service/task_information_service.rb +6 -7
  154. data/lib/puppet/interface/action.rb +5 -5
  155. data/lib/puppet/interface/action_manager.rb +5 -5
  156. data/lib/puppet/interface/documentation.rb +5 -5
  157. data/lib/puppet/interface/face_collection.rb +7 -7
  158. data/lib/puppet/interface/option.rb +2 -2
  159. data/lib/puppet/interface/option_manager.rb +6 -6
  160. data/lib/puppet/interface.rb +4 -4
  161. data/lib/puppet/metatype/manager.rb +2 -2
  162. data/lib/puppet/module/plan.rb +10 -10
  163. data/lib/puppet/module/task.rb +8 -8
  164. data/lib/puppet/module.rb +39 -41
  165. data/lib/puppet/module_tool/applications/application.rb +10 -8
  166. data/lib/puppet/module_tool/applications/installer.rb +53 -50
  167. data/lib/puppet/module_tool/applications/unpacker.rb +6 -8
  168. data/lib/puppet/module_tool/applications/upgrader.rb +37 -34
  169. data/lib/puppet/module_tool/checksums.rb +2 -2
  170. data/lib/puppet/module_tool/dependency.rb +1 -1
  171. data/lib/puppet/module_tool/errors/base.rb +1 -1
  172. data/lib/puppet/module_tool/install_directory.rb +1 -1
  173. data/lib/puppet/module_tool/local_tarball.rb +3 -5
  174. data/lib/puppet/module_tool/metadata.rb +12 -8
  175. data/lib/puppet/module_tool/shared_behaviors.rb +27 -12
  176. data/lib/puppet/module_tool/tar/mini.rb +3 -3
  177. data/lib/puppet/module_tool.rb +4 -4
  178. data/lib/puppet/network/client_request.rb +5 -3
  179. data/lib/puppet/network/format.rb +2 -2
  180. data/lib/puppet/network/format_support.rb +1 -1
  181. data/lib/puppet/network/formats.rb +1 -1
  182. data/lib/puppet/network/http/api/indirected_routes.rb +24 -44
  183. data/lib/puppet/network/http/api/server/v3.rb +1 -1
  184. data/lib/puppet/network/http/connection.rb +1 -1
  185. data/lib/puppet/network/http/handler.rb +8 -12
  186. data/lib/puppet/network/http/request.rb +1 -1
  187. data/lib/puppet/network/http/route.rb +9 -9
  188. data/lib/puppet/node/environment.rb +21 -23
  189. data/lib/puppet/node/facts.rb +1 -1
  190. data/lib/puppet/node.rb +5 -5
  191. data/lib/puppet/pal/json_catalog_encoder.rb +1 -1
  192. data/lib/puppet/pal/pal_impl.rb +48 -50
  193. data/lib/puppet/pal/plan_signature.rb +1 -1
  194. data/lib/puppet/pal/task_signature.rb +1 -1
  195. data/lib/puppet/parameter/package_options.rb +1 -1
  196. data/lib/puppet/parameter/value.rb +2 -2
  197. data/lib/puppet/parameter/value_collection.rb +7 -7
  198. data/lib/puppet/parameter.rb +8 -9
  199. data/lib/puppet/parser/ast/block_expression.rb +2 -2
  200. data/lib/puppet/parser/ast/hostclass.rb +1 -1
  201. data/lib/puppet/parser/ast/pops_bridge.rb +3 -4
  202. data/lib/puppet/parser/ast/resource.rb +4 -4
  203. data/lib/puppet/parser/ast/resourceparam.rb +4 -4
  204. data/lib/puppet/parser/ast.rb +14 -15
  205. data/lib/puppet/parser/compiler.rb +26 -28
  206. data/lib/puppet/parser/functions/create_resources.rb +3 -3
  207. data/lib/puppet/parser/functions/fail.rb +1 -1
  208. data/lib/puppet/parser/functions/generate.rb +2 -2
  209. data/lib/puppet/parser/functions/tag.rb +1 -1
  210. data/lib/puppet/parser/functions.rb +2 -2
  211. data/lib/puppet/parser/relationship.rb +3 -1
  212. data/lib/puppet/parser/resource/param.rb +2 -2
  213. data/lib/puppet/parser/resource.rb +23 -23
  214. data/lib/puppet/parser/scope.rb +10 -10
  215. data/lib/puppet/parser/script_compiler.rb +1 -1
  216. data/lib/puppet/parser/templatewrapper.rb +1 -1
  217. data/lib/puppet/parser/type_loader.rb +10 -12
  218. data/lib/puppet/parser.rb +1 -1
  219. data/lib/puppet/pops/adaptable.rb +1 -1
  220. data/lib/puppet/pops/evaluator/access_operator.rb +8 -8
  221. data/lib/puppet/pops/evaluator/callable_signature.rb +4 -4
  222. data/lib/puppet/pops/evaluator/collector_transformer.rb +4 -4
  223. data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +7 -7
  224. data/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +6 -6
  225. data/lib/puppet/pops/evaluator/compare_operator.rb +10 -10
  226. data/lib/puppet/pops/evaluator/deferred_resolver.rb +1 -1
  227. data/lib/puppet/pops/evaluator/epp_evaluator.rb +2 -2
  228. data/lib/puppet/pops/evaluator/evaluator_impl.rb +56 -60
  229. data/lib/puppet/pops/evaluator/relationship_operator.rb +2 -2
  230. data/lib/puppet/pops/evaluator/runtime3_converter.rb +3 -3
  231. data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
  232. data/lib/puppet/pops/functions/dispatcher.rb +3 -3
  233. data/lib/puppet/pops/functions/function.rb +14 -16
  234. data/lib/puppet/pops/issue_reporter.rb +2 -2
  235. data/lib/puppet/pops/label_provider.rb +2 -2
  236. data/lib/puppet/pops/loader/dependency_loader.rb +3 -3
  237. data/lib/puppet/pops/loader/loader.rb +4 -4
  238. data/lib/puppet/pops/loader/loader_paths.rb +3 -3
  239. data/lib/puppet/pops/loader/module_loaders.rb +11 -11
  240. data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +1 -1
  241. data/lib/puppet/pops/loader/ruby_function_instantiator.rb +1 -1
  242. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +5 -1
  243. data/lib/puppet/pops/loader/static_loader.rb +5 -5
  244. data/lib/puppet/pops/loaders.rb +3 -3
  245. data/lib/puppet/pops/lookup/data_dig_function_provider.rb +1 -1
  246. data/lib/puppet/pops/lookup/explainer.rb +2 -2
  247. data/lib/puppet/pops/lookup/global_data_provider.rb +1 -1
  248. data/lib/puppet/pops/lookup/hiera_config.rb +15 -11
  249. data/lib/puppet/pops/lookup/interpolation.rb +3 -3
  250. data/lib/puppet/pops/lookup/key_recorder.rb +1 -1
  251. data/lib/puppet/pops/lookup/location_resolver.rb +1 -1
  252. data/lib/puppet/pops/lookup/lookup_adapter.rb +7 -7
  253. data/lib/puppet/pops/lookup/module_data_provider.rb +9 -9
  254. data/lib/puppet/pops/lookup/sub_lookup.rb +1 -1
  255. data/lib/puppet/pops/merge_strategy.rb +6 -6
  256. data/lib/puppet/pops/migration/migration_checker.rb +1 -1
  257. data/lib/puppet/pops/model/ast_transformer.rb +9 -11
  258. data/lib/puppet/pops/model/factory.rb +4 -5
  259. data/lib/puppet/pops/parser/epp_parser.rb +2 -2
  260. data/lib/puppet/pops/parser/epp_support.rb +1 -1
  261. data/lib/puppet/pops/parser/evaluating_parser.rb +2 -2
  262. data/lib/puppet/pops/parser/heredoc_support.rb +4 -4
  263. data/lib/puppet/pops/parser/interpolation_support.rb +3 -3
  264. data/lib/puppet/pops/parser/lexer2.rb +20 -12
  265. data/lib/puppet/pops/parser/lexer_support.rb +1 -1
  266. data/lib/puppet/pops/parser/locator.rb +4 -4
  267. data/lib/puppet/pops/parser/parser_support.rb +12 -14
  268. data/lib/puppet/pops/parser/pn_parser.rb +3 -3
  269. data/lib/puppet/pops/parser/slurp_support.rb +8 -8
  270. data/lib/puppet/pops/patterns.rb +12 -12
  271. data/lib/puppet/pops/pcore.rb +1 -1
  272. data/lib/puppet/pops/pn.rb +2 -2
  273. data/lib/puppet/pops/puppet_stack.rb +1 -1
  274. data/lib/puppet/pops/resource/resource_type_impl.rb +1 -1
  275. data/lib/puppet/pops/serialization/abstract_reader.rb +2 -2
  276. data/lib/puppet/pops/serialization/abstract_writer.rb +3 -3
  277. data/lib/puppet/pops/time/timestamp.rb +1 -1
  278. data/lib/puppet/pops/types/class_loader.rb +4 -6
  279. data/lib/puppet/pops/types/iterable.rb +1 -1
  280. data/lib/puppet/pops/types/p_binary_type.rb +1 -1
  281. data/lib/puppet/pops/types/p_init_type.rb +1 -1
  282. data/lib/puppet/pops/types/p_object_type.rb +5 -5
  283. data/lib/puppet/pops/types/p_object_type_extension.rb +4 -6
  284. data/lib/puppet/pops/types/p_sem_ver_range_type.rb +1 -1
  285. data/lib/puppet/pops/types/p_sensitive_type.rb +1 -1
  286. data/lib/puppet/pops/types/p_timespan_type.rb +2 -2
  287. data/lib/puppet/pops/types/p_type_set_type.rb +10 -10
  288. data/lib/puppet/pops/types/p_uri_type.rb +4 -4
  289. data/lib/puppet/pops/types/recursion_guard.rb +4 -4
  290. data/lib/puppet/pops/types/ruby_generator.rb +2 -2
  291. data/lib/puppet/pops/types/string_converter.rb +12 -8
  292. data/lib/puppet/pops/types/tree_iterators.rb +4 -6
  293. data/lib/puppet/pops/types/type_calculator.rb +10 -10
  294. data/lib/puppet/pops/types/type_factory.rb +7 -3
  295. data/lib/puppet/pops/types/type_formatter.rb +22 -24
  296. data/lib/puppet/pops/types/type_mismatch_describer.rb +24 -24
  297. data/lib/puppet/pops/types/types.rb +28 -24
  298. data/lib/puppet/pops/utils.rb +38 -42
  299. data/lib/puppet/pops/validation/checker4_0.rb +10 -10
  300. data/lib/puppet/pops/validation/tasks_checker.rb +1 -1
  301. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -1
  302. data/lib/puppet/pops/validation.rb +4 -4
  303. data/lib/puppet/pops/visitor.rb +2 -2
  304. data/lib/puppet/property/ensure.rb +12 -14
  305. data/lib/puppet/property/keyvalue.rb +4 -4
  306. data/lib/puppet/property/list.rb +4 -4
  307. data/lib/puppet/property/ordered_list.rb +1 -1
  308. data/lib/puppet/property.rb +31 -33
  309. data/lib/puppet/provider/aix_object.rb +1 -1
  310. data/lib/puppet/provider/exec.rb +2 -2
  311. data/lib/puppet/provider/file/posix.rb +19 -17
  312. data/lib/puppet/provider/file/windows.rb +13 -19
  313. data/lib/puppet/provider/group/directoryservice.rb +3 -2
  314. data/lib/puppet/provider/group/groupadd.rb +32 -11
  315. data/lib/puppet/provider/group/windows_adsi.rb +2 -2
  316. data/lib/puppet/provider/nameservice/directoryservice.rb +29 -29
  317. data/lib/puppet/provider/nameservice/objectadd.rb +2 -4
  318. data/lib/puppet/provider/nameservice/pw.rb +1 -2
  319. data/lib/puppet/provider/nameservice.rb +8 -8
  320. data/lib/puppet/provider/package/aix.rb +19 -19
  321. data/lib/puppet/provider/package/appdmg.rb +2 -2
  322. data/lib/puppet/provider/package/apple.rb +1 -1
  323. data/lib/puppet/provider/package/apt.rb +18 -18
  324. data/lib/puppet/provider/package/aptitude.rb +1 -3
  325. data/lib/puppet/provider/package/aptrpm.rb +9 -9
  326. data/lib/puppet/provider/package/blastwave.rb +10 -14
  327. data/lib/puppet/provider/package/dnfmodule.rb +3 -3
  328. data/lib/puppet/provider/package/dpkg.rb +11 -13
  329. data/lib/puppet/provider/package/fink.rb +14 -14
  330. data/lib/puppet/provider/package/freebsd.rb +1 -1
  331. data/lib/puppet/provider/package/gem.rb +12 -14
  332. data/lib/puppet/provider/package/macports.rb +2 -2
  333. data/lib/puppet/provider/package/nim.rb +10 -10
  334. data/lib/puppet/provider/package/openbsd.rb +22 -22
  335. data/lib/puppet/provider/package/opkg.rb +6 -6
  336. data/lib/puppet/provider/package/pacman.rb +35 -29
  337. data/lib/puppet/provider/package/pip.rb +25 -24
  338. data/lib/puppet/provider/package/pkg.rb +15 -15
  339. data/lib/puppet/provider/package/pkgdmg.rb +10 -10
  340. data/lib/puppet/provider/package/pkgin.rb +2 -2
  341. data/lib/puppet/provider/package/pkgng.rb +5 -5
  342. data/lib/puppet/provider/package/pkgutil.rb +17 -21
  343. data/lib/puppet/provider/package/portage.rb +59 -61
  344. data/lib/puppet/provider/package/ports.rb +12 -11
  345. data/lib/puppet/provider/package/portupgrade.rb +35 -35
  346. data/lib/puppet/provider/package/puppetserver_gem.rb +10 -9
  347. data/lib/puppet/provider/package/rpm.rb +26 -26
  348. data/lib/puppet/provider/package/rug.rb +7 -9
  349. data/lib/puppet/provider/package/sun.rb +4 -4
  350. data/lib/puppet/provider/package/up2date.rb +5 -7
  351. data/lib/puppet/provider/package/urpmi.rb +6 -6
  352. data/lib/puppet/provider/package/windows/exe_package.rb +7 -7
  353. data/lib/puppet/provider/package/windows/msi_package.rb +3 -3
  354. data/lib/puppet/provider/package/windows/package.rb +2 -2
  355. data/lib/puppet/provider/package/windows.rb +3 -5
  356. data/lib/puppet/provider/package/xbps.rb +127 -0
  357. data/lib/puppet/provider/package/yum.rb +33 -37
  358. data/lib/puppet/provider/package/zypper.rb +12 -14
  359. data/lib/puppet/provider/package.rb +1 -1
  360. data/lib/puppet/provider/package_targetable.rb +1 -1
  361. data/lib/puppet/provider/parsedfile.rb +9 -9
  362. data/lib/puppet/provider/service/base.rb +16 -21
  363. data/lib/puppet/provider/service/bsd.rb +4 -4
  364. data/lib/puppet/provider/service/daemontools.rb +31 -31
  365. data/lib/puppet/provider/service/debian.rb +6 -6
  366. data/lib/puppet/provider/service/freebsd.rb +36 -36
  367. data/lib/puppet/provider/service/gentoo.rb +6 -6
  368. data/lib/puppet/provider/service/init.rb +19 -19
  369. data/lib/puppet/provider/service/launchd.rb +22 -22
  370. data/lib/puppet/provider/service/openbsd.rb +10 -10
  371. data/lib/puppet/provider/service/openrc.rb +1 -1
  372. data/lib/puppet/provider/service/openwrt.rb +3 -3
  373. data/lib/puppet/provider/service/rcng.rb +3 -3
  374. data/lib/puppet/provider/service/redhat.rb +4 -4
  375. data/lib/puppet/provider/service/runit.rb +6 -6
  376. data/lib/puppet/provider/service/service.rb +5 -7
  377. data/lib/puppet/provider/service/smf.rb +28 -27
  378. data/lib/puppet/provider/service/src.rb +7 -7
  379. data/lib/puppet/provider/service/systemd.rb +31 -37
  380. data/lib/puppet/provider/service/upstart.rb +17 -17
  381. data/lib/puppet/provider/service/windows.rb +7 -7
  382. data/lib/puppet/provider/user/aix.rb +4 -2
  383. data/lib/puppet/provider/user/directoryservice.rb +34 -36
  384. data/lib/puppet/provider/user/hpux.rb +10 -14
  385. data/lib/puppet/provider/user/pw.rb +1 -1
  386. data/lib/puppet/provider/user/user_role_add.rb +16 -18
  387. data/lib/puppet/provider/user/useradd.rb +7 -7
  388. data/lib/puppet/provider/user/windows_adsi.rb +1 -1
  389. data/lib/puppet/provider.rb +8 -8
  390. data/lib/puppet/reference/indirection.rb +3 -0
  391. data/lib/puppet/reference/metaparameter.rb +1 -1
  392. data/lib/puppet/reference/providers.rb +3 -3
  393. data/lib/puppet/reference/type.rb +1 -1
  394. data/lib/puppet/relationship.rb +4 -5
  395. data/lib/puppet/reports/http.rb +1 -1
  396. data/lib/puppet/reports/log.rb +2 -2
  397. data/lib/puppet/reports/store.rb +4 -4
  398. data/lib/puppet/reports.rb +2 -2
  399. data/lib/puppet/resource/catalog.rb +16 -16
  400. data/lib/puppet/resource/status.rb +3 -3
  401. data/lib/puppet/resource/type.rb +8 -8
  402. data/lib/puppet/resource/type_collection.rb +1 -1
  403. data/lib/puppet/resource.rb +41 -41
  404. data/lib/puppet/scheduler/scheduler.rb +1 -1
  405. data/lib/puppet/scheduler/splay_job.rb +9 -0
  406. data/lib/puppet/settings/alias_setting.rb +3 -5
  407. data/lib/puppet/settings/base_setting.rb +11 -11
  408. data/lib/puppet/settings/boolean_setting.rb +2 -2
  409. data/lib/puppet/settings/config_file.rb +5 -4
  410. data/lib/puppet/settings/duration_setting.rb +2 -2
  411. data/lib/puppet/settings/environment_conf.rb +3 -3
  412. data/lib/puppet/settings/file_or_directory_setting.rb +2 -2
  413. data/lib/puppet/settings/file_setting.rb +11 -11
  414. data/lib/puppet/settings/ini_file.rb +3 -3
  415. data/lib/puppet/settings/port_setting.rb +1 -1
  416. data/lib/puppet/settings/priority_setting.rb +2 -2
  417. data/lib/puppet/settings/ttl_setting.rb +2 -2
  418. data/lib/puppet/settings/value_translator.rb +8 -8
  419. data/lib/puppet/settings.rb +65 -70
  420. data/lib/puppet/ssl/base.rb +2 -4
  421. data/lib/puppet/ssl/certificate_request.rb +18 -22
  422. data/lib/puppet/ssl/certificate_request_attributes.rb +3 -3
  423. data/lib/puppet/ssl/oids.rb +2 -2
  424. data/lib/puppet/ssl/openssl_loader.rb +4 -4
  425. data/lib/puppet/syntax_checkers/base64.rb +3 -3
  426. data/lib/puppet/syntax_checkers/epp.rb +3 -3
  427. data/lib/puppet/syntax_checkers/json.rb +3 -3
  428. data/lib/puppet/syntax_checkers/pp.rb +3 -3
  429. data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
  430. data/lib/puppet/transaction/event.rb +2 -2
  431. data/lib/puppet/transaction/event_manager.rb +5 -5
  432. data/lib/puppet/transaction/persistence.rb +12 -14
  433. data/lib/puppet/transaction/report.rb +4 -4
  434. data/lib/puppet/transaction/resource_harness.rb +2 -2
  435. data/lib/puppet/transaction.rb +14 -18
  436. data/lib/puppet/type/component.rb +3 -3
  437. data/lib/puppet/type/exec.rb +51 -45
  438. data/lib/puppet/type/file/checksum_value.rb +1 -1
  439. data/lib/puppet/type/file/content.rb +6 -6
  440. data/lib/puppet/type/file/ctime.rb +2 -2
  441. data/lib/puppet/type/file/data_sync.rb +3 -3
  442. data/lib/puppet/type/file/ensure.rb +16 -15
  443. data/lib/puppet/type/file/mode.rb +9 -9
  444. data/lib/puppet/type/file/mtime.rb +2 -2
  445. data/lib/puppet/type/file/selcontext.rb +14 -14
  446. data/lib/puppet/type/file/source.rb +19 -21
  447. data/lib/puppet/type/file/target.rb +11 -11
  448. data/lib/puppet/type/file.rb +21 -21
  449. data/lib/puppet/type/filebucket.rb +3 -3
  450. data/lib/puppet/type/group.rb +3 -3
  451. data/lib/puppet/type/notify.rb +2 -2
  452. data/lib/puppet/type/package.rb +4 -4
  453. data/lib/puppet/type/resources.rb +6 -6
  454. data/lib/puppet/type/schedule.rb +9 -9
  455. data/lib/puppet/type/service.rb +6 -8
  456. data/lib/puppet/type/tidy.rb +22 -24
  457. data/lib/puppet/type/user.rb +13 -13
  458. data/lib/puppet/type.rb +76 -88
  459. data/lib/puppet/util/at_fork/solaris.rb +33 -37
  460. data/lib/puppet/util/autoload.rb +2 -2
  461. data/lib/puppet/util/backups.rb +9 -9
  462. data/lib/puppet/util/character_encoding.rb +7 -6
  463. data/lib/puppet/util/checksums.rb +2 -2
  464. data/lib/puppet/util/classgen.rb +8 -8
  465. data/lib/puppet/util/colors.rb +1 -1
  466. data/lib/puppet/util/command_line/puppet_option_parser.rb +1 -1
  467. data/lib/puppet/util/command_line/trollop.rb +60 -46
  468. data/lib/puppet/util/command_line.rb +2 -2
  469. data/lib/puppet/util/constant_inflector.rb +2 -2
  470. data/lib/puppet/util/diff.rb +19 -21
  471. data/lib/puppet/util/docs.rb +2 -2
  472. data/lib/puppet/util/errors.rb +9 -9
  473. data/lib/puppet/util/execution.rb +32 -9
  474. data/lib/puppet/util/feature.rb +1 -1
  475. data/lib/puppet/util/fileparsing.rb +12 -16
  476. data/lib/puppet/util/filetype.rb +36 -40
  477. data/lib/puppet/util/inifile.rb +6 -12
  478. data/lib/puppet/util/ldap/connection.rb +1 -1
  479. data/lib/puppet/util/ldap/manager.rb +10 -12
  480. data/lib/puppet/util/lockfile.rb +6 -8
  481. data/lib/puppet/util/log/destination.rb +2 -2
  482. data/lib/puppet/util/log/destinations.rb +4 -4
  483. data/lib/puppet/util/log.rb +12 -9
  484. data/lib/puppet/util/logging.rb +11 -11
  485. data/lib/puppet/util/metric.rb +3 -3
  486. data/lib/puppet/util/monkey_patches.rb +5 -7
  487. data/lib/puppet/util/network_device/config.rb +3 -3
  488. data/lib/puppet/util/package/version/debian.rb +27 -28
  489. data/lib/puppet/util/package/version/pip.rb +5 -5
  490. data/lib/puppet/util/package/version/range/eq.rb +1 -1
  491. data/lib/puppet/util/package/version/rpm.rb +1 -1
  492. data/lib/puppet/util/package.rb +2 -2
  493. data/lib/puppet/util/pidlock.rb +2 -2
  494. data/lib/puppet/util/platform.rb +1 -1
  495. data/lib/puppet/util/plist.rb +8 -10
  496. data/lib/puppet/util/posix.rb +17 -17
  497. data/lib/puppet/util/profiler/aggregate.rb +1 -1
  498. data/lib/puppet/util/provider_features.rb +3 -3
  499. data/lib/puppet/util/rdoc/code_objects.rb +3 -3
  500. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +63 -64
  501. data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +23 -23
  502. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +12 -12
  503. data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -1
  504. data/lib/puppet/util/rdoc/parser.rb +1 -1
  505. data/lib/puppet/util/reference.rb +13 -9
  506. data/lib/puppet/util/retry_action.rb +1 -1
  507. data/lib/puppet/util/rpm_compare.rb +18 -19
  508. data/lib/puppet/util/rubygems.rb +1 -1
  509. data/lib/puppet/util/selinux.rb +7 -7
  510. data/lib/puppet/util/storage.rb +10 -12
  511. data/lib/puppet/util/suidmanager.rb +18 -19
  512. data/lib/puppet/util/symbolic_file_mode.rb +71 -75
  513. data/lib/puppet/util/tag_set.rb +2 -2
  514. data/lib/puppet/util/tagging.rb +8 -10
  515. data/lib/puppet/util/terminal.rb +4 -4
  516. data/lib/puppet/util/user_attr.rb +7 -7
  517. data/lib/puppet/util/watcher.rb +3 -5
  518. data/lib/puppet/util/windows/access_control_list.rb +1 -1
  519. data/lib/puppet/util/windows/adsi.rb +42 -42
  520. data/lib/puppet/util/windows/com.rb +2 -2
  521. data/lib/puppet/util/windows/daemon.rb +64 -68
  522. data/lib/puppet/util/windows/error.rb +2 -2
  523. data/lib/puppet/util/windows/file.rb +18 -25
  524. data/lib/puppet/util/windows/monkey_patches/process.rb +1 -1
  525. data/lib/puppet/util/windows/principal.rb +8 -8
  526. data/lib/puppet/util/windows/process.rb +16 -28
  527. data/lib/puppet/util/windows/registry.rb +16 -15
  528. data/lib/puppet/util/windows/root_certs.rb +2 -2
  529. data/lib/puppet/util/windows/security.rb +31 -31
  530. data/lib/puppet/util/windows/service.rb +11 -11
  531. data/lib/puppet/util/windows/sid.rb +8 -8
  532. data/lib/puppet/util/windows/user.rb +18 -20
  533. data/lib/puppet/util/yaml.rb +1 -1
  534. data/lib/puppet/util.rb +55 -46
  535. data/lib/puppet/version.rb +2 -2
  536. data/lib/puppet/x509/pem_store.rb +1 -1
  537. data/lib/puppet.rb +3 -3
  538. data/locales/puppet.pot +604 -600
  539. data/man/man5/puppet.conf.5 +10 -2
  540. data/man/man8/puppet-agent.8 +1 -1
  541. data/man/man8/puppet-apply.8 +1 -1
  542. data/man/man8/puppet-catalog.8 +1 -1
  543. data/man/man8/puppet-config.8 +1 -1
  544. data/man/man8/puppet-describe.8 +1 -1
  545. data/man/man8/puppet-device.8 +1 -1
  546. data/man/man8/puppet-doc.8 +1 -1
  547. data/man/man8/puppet-epp.8 +1 -1
  548. data/man/man8/puppet-facts.8 +1 -1
  549. data/man/man8/puppet-filebucket.8 +1 -1
  550. data/man/man8/puppet-generate.8 +1 -1
  551. data/man/man8/puppet-help.8 +1 -1
  552. data/man/man8/puppet-lookup.8 +1 -1
  553. data/man/man8/puppet-module.8 +1 -1
  554. data/man/man8/puppet-node.8 +1 -1
  555. data/man/man8/puppet-parser.8 +1 -1
  556. data/man/man8/puppet-plugin.8 +1 -1
  557. data/man/man8/puppet-report.8 +1 -1
  558. data/man/man8/puppet-resource.8 +5 -1
  559. data/man/man8/puppet-script.8 +1 -1
  560. data/man/man8/puppet-ssl.8 +1 -1
  561. data/man/man8/puppet.8 +2 -2
  562. metadata +23 -27
  563. data/examples/hiera/etc/hiera.yaml +0 -15
  564. data/examples/hiera/etc/hieradb/common.yaml +0 -3
  565. data/examples/hiera/etc/hieradb/dc1.yaml +0 -6
  566. data/examples/hiera/etc/hieradb/development.yaml +0 -2
  567. data/examples/hiera/etc/puppet.conf +0 -3
  568. data/examples/hiera/modules/data/manifests/common.pp +0 -4
  569. data/examples/hiera/modules/ntp/manifests/data.pp +0 -4
  570. data/examples/hiera/modules/ntp/templates/ntp.conf.erb +0 -3
  571. data/examples/hiera/modules/users/manifests/development.pp +0 -4
  572. data/tasks/benchmark.rake +0 -180
  573. data/tasks/cfpropertylist.rake +0 -15
  574. data/tasks/ci.rake +0 -24
  575. data/tasks/generate_ast_model.rake +0 -90
  576. data/tasks/generate_cert_fixtures.rake +0 -199
  577. data/tasks/manpages.rake +0 -67
  578. data/tasks/memwalk.rake +0 -195
  579. data/tasks/parallel.rake +0 -410
  580. data/tasks/parser.rake +0 -22
  581. data/tasks/yard.rake +0 -59
@@ -18,16 +18,16 @@ Puppet::Type.type(:service).provide :openwrt, :parent => :init, :source => :init
18
18
  end
19
19
 
20
20
  def enable
21
- system(self.initscript, 'enable')
21
+ system(initscript, 'enable')
22
22
  end
23
23
 
24
24
  def disable
25
- system(self.initscript, 'disable')
25
+ system(initscript, 'disable')
26
26
  end
27
27
 
28
28
  def enabled?
29
29
  # We can't define the "command" for the init script, so we call system?
30
- if system(self.initscript, 'enabled') then return :true else return :false end
30
+ system(initscript, 'enabled') ? (return :true) : (return :false)
31
31
  end
32
32
 
33
33
  # Purposely leave blank so we fail back to ps based status detection
@@ -31,7 +31,7 @@ Puppet::Type.type(:service).provide :rcng, :parent => :bsd do
31
31
  # enable service by creating a service file under rc.conf.d with the
32
32
  # proper contents, or by modifying it's contents to to enable the service.
33
33
  def enable
34
- Dir.mkdir(rcconf_dir) if not Puppet::FileSystem.exist?(rcconf_dir)
34
+ Dir.mkdir(rcconf_dir) unless Puppet::FileSystem.exist?(rcconf_dir)
35
35
  rcfile = File.join(rcconf_dir, @resource[:name])
36
36
  if Puppet::FileSystem.exist?(rcfile)
37
37
  newcontents = []
@@ -41,11 +41,11 @@ Puppet::Type.type(:service).provide :rcng, :parent => :bsd do
41
41
  end
42
42
  newcontents.push(line)
43
43
  end
44
- Puppet::Util.replace_file(rcfile, 0644) do |f|
44
+ Puppet::Util.replace_file(rcfile, 0o644) do |f|
45
45
  f.puts newcontents
46
46
  end
47
47
  else
48
- Puppet::Util.replace_file(rcfile, 0644) do |f|
48
+ Puppet::Util.replace_file(rcfile, 0o644) do |f|
49
49
  f.puts "%s=${%s:=YES}\n" % [@resource[:name], @resource[:name]]
50
50
  end
51
51
  end
@@ -10,9 +10,9 @@ Puppet::Type.type(:service).provide :redhat, :parent => :init, :source => :init
10
10
 
11
11
  commands :chkconfig => "/sbin/chkconfig", :service => "/sbin/service"
12
12
 
13
- defaultfor 'os.name' => :amazon, 'os.release.major' => ["2017", "2018"]
13
+ defaultfor 'os.name' => :amazon, 'os.release.major' => %w[2017 2018]
14
14
  defaultfor 'os.name' => :redhat, 'os.release.major' => (4..6).to_a
15
- defaultfor 'os.family' => :suse, 'os.release.major' => ["10", "11"]
15
+ defaultfor 'os.family' => :suse, 'os.release.major' => %w[10 11]
16
16
 
17
17
  # Remove the symlinks
18
18
  def disable
@@ -23,7 +23,7 @@ Puppet::Type.type(:service).provide :redhat, :parent => :init, :source => :init
23
23
  # and --del removes the service from chkconfig management
24
24
  chkconfig("--level", "0123456", @resource[:name], :off)
25
25
  rescue Puppet::ExecutionFailure => detail
26
- raise Puppet::Error, "Could not disable #{self.name}: #{detail}", detail.backtrace
26
+ raise Puppet::Error, "Could not disable #{name}: #{detail}", detail.backtrace
27
27
  end
28
28
 
29
29
  def enabled?
@@ -49,7 +49,7 @@ Puppet::Type.type(:service).provide :redhat, :parent => :init, :source => :init
49
49
  chkconfig("--add", @resource[:name])
50
50
  chkconfig(@resource[:name], :on)
51
51
  rescue Puppet::ExecutionFailure => detail
52
- raise Puppet::Error, "Could not enable #{self.name}: #{detail}", detail.backtrace
52
+ raise Puppet::Error, "Could not enable #{name}: #{detail}", detail.backtrace
53
53
  end
54
54
 
55
55
  def initscript
@@ -65,7 +65,7 @@ Puppet::Type.type(:service).provide :runit, :parent => :daemontools do
65
65
 
66
66
  def status
67
67
  begin
68
- output = sv "status", self.daemon
68
+ output = sv "status", daemon
69
69
  return :running if output =~ /^run: /
70
70
  rescue Puppet::ExecutionFailure => detail
71
71
  unless detail.message =~ /(warning: |runsv not running$)/
@@ -76,7 +76,7 @@ Puppet::Type.type(:service).provide :runit, :parent => :daemontools do
76
76
  end
77
77
 
78
78
  def stop
79
- sv "stop", self.service
79
+ sv "stop", service
80
80
  end
81
81
 
82
82
  def start
@@ -86,14 +86,14 @@ Puppet::Type.type(:service).provide :runit, :parent => :daemontools do
86
86
  # runsvdir takes up to 5 seconds to recognize
87
87
  # the symlink created by this call to enable
88
88
  # TRANSLATORS 'runsvdir' is a linux service name and should not be translated
89
- Puppet.info _("Waiting 5 seconds for runsvdir to discover service %{service}") % { service: self.service }
89
+ Puppet.info _("Waiting 5 seconds for runsvdir to discover service %{service}") % { service: service }
90
90
  sleep 5
91
91
  end
92
- sv "start", self.service
92
+ sv "start", service
93
93
  end
94
94
 
95
95
  def restart
96
- sv "restart", self.service
96
+ sv "restart", service
97
97
  end
98
98
 
99
99
  # disable by removing the symlink so that runit
@@ -102,6 +102,6 @@ Puppet::Type.type(:service).provide :runit, :parent => :daemontools do
102
102
  # before a disable
103
103
  def disable
104
104
  # unlink the daemon symlink to disable it
105
- Puppet::FileSystem.unlink(self.service) if Puppet::FileSystem.symlink?(self.service)
105
+ Puppet::FileSystem.unlink(service) if Puppet::FileSystem.symlink?(service)
106
106
  end
107
107
  end
@@ -13,8 +13,8 @@ Puppet::Type.type(:service).provide :service do
13
13
  service_command(:restart)
14
14
  nil
15
15
  else
16
- self.stop
17
- self.start
16
+ stop
17
+ start
18
18
  end
19
19
  end
20
20
 
@@ -47,11 +47,9 @@ Puppet::Type.type(:service).provide :service do
47
47
  #
48
48
  # @return [Puppet::Util::Execution::ProcessOutput]
49
49
  def service_execute(type, command, fof = true, squelch = false, combine = true)
50
- begin
51
- execute(command, :failonfail => fof, :override_locale => false, :squelch => squelch, :combine => combine)
52
- rescue Puppet::ExecutionFailure => detail
53
- @resource.fail Puppet::Error, "Could not #{type} #{@resource.ref}: #{detail}", detail
54
- end
50
+ execute(command, :failonfail => fof, :override_locale => false, :squelch => squelch, :combine => combine)
51
+ rescue Puppet::ExecutionFailure => detail
52
+ @resource.fail Puppet::Error, "Could not #{type} #{@resource.ref}: #{detail}", detail
55
53
  end
56
54
 
57
55
  # Use either a specified command or the default for our provider.
@@ -63,7 +63,7 @@ Puppet::Type.type(:service).provide :smf, :parent => :base do
63
63
  end
64
64
 
65
65
  def service_exists?
66
- self.service_fmri
66
+ service_fmri
67
67
  true
68
68
  rescue Puppet::ExecutionFailure
69
69
  false
@@ -71,7 +71,7 @@ Puppet::Type.type(:service).provide :smf, :parent => :base do
71
71
 
72
72
  def setup_service
73
73
  return unless @resource[:manifest]
74
- return if self.service_exists?
74
+ return if service_exists?
75
75
 
76
76
  Puppet.notice("Importing #{@resource[:manifest]} for #{@resource[:name]}")
77
77
  svccfg(:import, @resource[:manifest])
@@ -132,7 +132,7 @@ Puppet::Type.type(:service).provide :smf, :parent => :base do
132
132
  def enabled?
133
133
  return :false unless service_exists?
134
134
 
135
- _property, _type, value = svccfg("-s", self.service_fmri, "listprop", "general/enabled").split(' ')
135
+ _property, _type, value = svccfg("-s", service_fmri, "listprop", "general/enabled").split(' ')
136
136
  value == 'true' ? :true : :false
137
137
  end
138
138
 
@@ -142,10 +142,10 @@ Puppet::Type.type(:service).provide :smf, :parent => :base do
142
142
 
143
143
  def restartcmd
144
144
  if Puppet::Util::Package.versioncmp(Puppet.runtime[:facter].value('os.release.full'), '11.2') >= 0
145
- [command(:adm), :restart, "-s", self.service_fmri]
145
+ [command(:adm), :restart, "-s", service_fmri]
146
146
  else
147
147
  # Synchronous restart only supported in Solaris 11.2 and above
148
- [command(:adm), :restart, self.service_fmri]
148
+ [command(:adm), :restart, service_fmri]
149
149
  end
150
150
  end
151
151
 
@@ -153,7 +153,7 @@ Puppet::Type.type(:service).provide :smf, :parent => :base do
153
153
  # Gets the current and next state of the service. We have a next state because SMF
154
154
  # manages services asynchronously. If there is no 'next' state, svcs will put a '-'
155
155
  # to indicate as such.
156
- current_state, next_state = svcs("-H", "-o", "state,nstate", self.service_fmri).chomp.split(' ')
156
+ current_state, next_state = svcs("-H", "-o", "state,nstate", service_fmri).chomp.split(' ')
157
157
 
158
158
  {
159
159
  :current => current_state,
@@ -168,14 +168,14 @@ Puppet::Type.type(:service).provide :smf, :parent => :base do
168
168
  def wait(*desired_states)
169
169
  Timeout.timeout(60) do
170
170
  loop do
171
- states = self.service_states
171
+ states = service_states
172
172
  break if desired_states.include?(states[:current]) && states[:next].nil?
173
173
 
174
174
  Kernel.sleep(1)
175
175
  end
176
176
  end
177
177
  rescue Timeout::Error
178
- raise Puppet::Error.new("Timed out waiting for #{@resource[:name]} to transition states")
178
+ raise Puppet::Error, "Timed out waiting for #{@resource[:name]} to transition states"
179
179
  end
180
180
 
181
181
  def start
@@ -189,7 +189,7 @@ Puppet::Type.type(:service).provide :smf, :parent => :base do
189
189
  def restart
190
190
  # Wait for the service to actually start before returning.
191
191
  super
192
- self.wait('online')
192
+ wait('online')
193
193
  end
194
194
 
195
195
  def status
@@ -206,29 +206,29 @@ Puppet::Type.type(:service).provide :smf, :parent => :base do
206
206
 
207
207
  # Get the current state and the next state. If there is a next state,
208
208
  # use that for the state comparison.
209
- states = self.service_states
209
+ states = service_states
210
210
  state = states[:next] || states[:current]
211
- rescue Puppet::ExecutionFailure
211
+ rescue Puppet::ExecutionFailure => e
212
212
  # TODO (PUP-8957): Should this be set back to INFO ?
213
- debug "Could not get status on service #{self.name} #{$!}"
213
+ debug "Could not get status on service #{name} #{e}"
214
214
  return :stopped
215
215
  end
216
216
 
217
217
  case state
218
218
  when "online"
219
- return :running
219
+ :running
220
220
  when "offline", "disabled", "uninitialized"
221
- return :stopped
221
+ :stopped
222
222
  when "maintenance"
223
- return :maintenance
223
+ :maintenance
224
224
  when "degraded"
225
- return :degraded
225
+ :degraded
226
226
  when "legacy_run"
227
227
  raise Puppet::Error,
228
228
  "Cannot manage legacy services through SMF"
229
229
  else
230
230
  raise Puppet::Error,
231
- "Unmanageable state '#{state}' on service #{self.name}"
231
+ "Unmanageable state '#{state}' on service #{name}"
232
232
  end
233
233
  end
234
234
 
@@ -238,8 +238,8 @@ Puppet::Type.type(:service).provide :smf, :parent => :base do
238
238
  def maybe_clear_service_then_svcadm(cur_state, subcmd, flags)
239
239
  # If the cur_state is maint or degraded, then we need to clear the service
240
240
  # before we enable or disable it.
241
- adm('clear', self.service_fmri) if [:maintenance, :degraded].include?(cur_state)
242
- adm(subcmd, flags, self.service_fmri)
241
+ adm('clear', service_fmri) if [:maintenance, :degraded].include?(cur_state)
242
+ adm(subcmd, flags, service_fmri)
243
243
  end
244
244
 
245
245
  # The flush method is necessary for the SMF provider because syncing the enable and ensure
@@ -248,7 +248,8 @@ Puppet::Type.type(:service).provide :smf, :parent => :base do
248
248
  def flush
249
249
  # We append the "_" because ensure is a Ruby keyword, and it is good to keep property
250
250
  # variable names consistent with each other.
251
- enable_, ensure_ = @properties_to_sync[:enable], @properties_to_sync[:ensure]
251
+ enable_ = @properties_to_sync[:enable]
252
+ ensure_ = @properties_to_sync[:ensure]
252
253
 
253
254
  # All of the relevant properties are in sync., so we do not need to do
254
255
  # anything here.
@@ -258,13 +259,13 @@ Puppet::Type.type(:service).provide :smf, :parent => :base do
258
259
  # simplifies the code. For a nonexistent service, one of enable or ensure will be true
259
260
  # here (since we're syncing them), so we can fail early if setup_service fails.
260
261
  setup_service
261
- fmri = self.service_fmri
262
+ fmri = service_fmri
262
263
 
263
264
  # Useful constants for operations involving multiple states
264
- stopped = ['offline', 'disabled', 'uninitialized']
265
+ stopped = %w[offline disabled uninitialized]
265
266
 
266
267
  # Get the current state of the service.
267
- cur_state = self.status
268
+ cur_state = status
268
269
 
269
270
  if enable_.nil?
270
271
  # Only ensure needs to be syncd. The -t flag tells svcadm to temporarily
@@ -272,10 +273,10 @@ Puppet::Type.type(:service).provide :smf, :parent => :base do
272
273
  # reboot. This is exactly what we want, because we do not want to touch
273
274
  # the enable property.
274
275
  if ensure_ == :stopped
275
- self.maybe_clear_service_then_svcadm(cur_state, 'disable', '-st')
276
+ maybe_clear_service_then_svcadm(cur_state, 'disable', '-st')
276
277
  wait(*stopped)
277
278
  else # ensure == :running
278
- self.maybe_clear_service_then_svcadm(cur_state, 'enable', '-rst')
279
+ maybe_clear_service_then_svcadm(cur_state, 'enable', '-rst')
279
280
  wait('online')
280
281
  end
281
282
 
@@ -299,9 +300,9 @@ Puppet::Type.type(:service).provide :smf, :parent => :base do
299
300
  final_state = :running if final_state == :degraded
300
301
 
301
302
  if enable_
302
- self.maybe_clear_service_then_svcadm(cur_state, 'enable', '-rs')
303
+ maybe_clear_service_then_svcadm(cur_state, 'enable', '-rs')
303
304
  else
304
- self.maybe_clear_service_then_svcadm(cur_state, 'disable', '-s')
305
+ maybe_clear_service_then_svcadm(cur_state, 'disable', '-s')
305
306
  end
306
307
 
307
308
  # We're safe with 'whens' here since self.status already errors on any
@@ -79,17 +79,17 @@ Puppet::Type.type(:service).provide :src, :parent => :base do
79
79
  end
80
80
  end
81
81
  rescue Timeout::Error
82
- raise Puppet::Error.new("Timed out waiting for #{@resource[:name]} to transition states")
82
+ raise Puppet::Error, "Timed out waiting for #{@resource[:name]} to transition states"
83
83
  end
84
84
 
85
85
  def start
86
86
  super
87
- self.wait(:running)
87
+ wait(:running)
88
88
  end
89
89
 
90
90
  def stop
91
91
  super
92
- self.wait(:stopped)
92
+ wait(:stopped)
93
93
  end
94
94
 
95
95
  def restart
@@ -111,8 +111,8 @@ Puppet::Type.type(:service).provide :src, :parent => :base do
111
111
  if do_refresh == :true
112
112
  execute([command(:refresh), "-s", @resource[:name]])
113
113
  else
114
- self.stop
115
- self.start
114
+ stop
115
+ start
116
116
  end
117
117
  return :true
118
118
  rescue Puppet::ExecutionFailure => detail
@@ -141,7 +141,7 @@ Puppet::Type.type(:service).provide :src, :parent => :base do
141
141
  return state
142
142
  end
143
143
  rescue Puppet::ExecutionFailure => detail
144
- self.debug(detail.message)
145
- return :stopped
144
+ debug(detail.message)
145
+ :stopped
146
146
  end
147
147
  end
@@ -22,15 +22,15 @@ Puppet::Type.type(:service).provide :systemd, :parent => :base do
22
22
  defaultfor 'os.family' => :suse
23
23
  defaultfor 'os.family' => :coreos
24
24
  defaultfor 'os.family' => :gentoo
25
- notdefaultfor 'os.name' => :amazon, 'os.release.major' => ["2017", "2018"]
26
- defaultfor 'os.name' => :amazon, 'os.release.major' => ["2", "2023"]
25
+ notdefaultfor 'os.name' => :amazon, 'os.release.major' => %w[2017 2018]
26
+ defaultfor 'os.name' => :amazon, 'os.release.major' => %w[2 2023]
27
27
  defaultfor 'os.name' => :debian
28
- notdefaultfor 'os.name' => :debian, 'os.release.major' => ["5", "6", "7"] # These are using the "debian" method
28
+ notdefaultfor 'os.name' => :debian, 'os.release.major' => %w[5 6 7] # These are using the "debian" method
29
29
  defaultfor 'os.name' => :LinuxMint
30
- notdefaultfor 'os.name' => :LinuxMint, 'os.release.major' => ["10", "11", "12", "13", "14", "15", "16", "17"] # These are using upstart
30
+ notdefaultfor 'os.name' => :LinuxMint, 'os.release.major' => %w[10 11 12 13 14 15 16 17] # These are using upstart
31
31
  defaultfor 'os.name' => :ubuntu
32
32
  notdefaultfor 'os.name' => :ubuntu, 'os.release.major' => ["10.04", "12.04", "14.04", "14.10"] # These are using upstart
33
- defaultfor 'os.name' => :cumuluslinux, 'os.release.major' => ["3", "4"]
33
+ defaultfor 'os.name' => :cumuluslinux, 'os.release.major' => %w[3 4]
34
34
 
35
35
  def self.instances
36
36
  i = []
@@ -39,9 +39,9 @@ Puppet::Type.type(:service).provide :systemd, :parent => :base do
39
39
  Puppet.debug("#{m[0]} marked as bad by `systemctl`. It is recommended to be further checked.") if m[1] == "bad"
40
40
  i << new(:name => m[0])
41
41
  end
42
- return i
42
+ i
43
43
  rescue Puppet::ExecutionFailure
44
- return []
44
+ []
45
45
  end
46
46
 
47
47
  # Static services cannot be enabled or disabled manually. Indirect services
@@ -55,11 +55,11 @@ Puppet::Type.type(:service).provide :systemd, :parent => :base do
55
55
  current == @resource[:enable]
56
56
  else
57
57
  Puppet.debug("Unable to enable or disable static service #{@resource[:name]}")
58
- return true
58
+ true
59
59
  end
60
60
  when 'indirect'
61
61
  Puppet.debug("Service #{@resource[:name]} is in 'indirect' state and cannot be enabled/disabled")
62
- return true
62
+ true
63
63
  else
64
64
  current == @resource[:enable]
65
65
  end
@@ -72,8 +72,8 @@ Puppet::Type.type(:service).provide :systemd, :parent => :base do
72
72
  # @param action [String,Symbol] One of 'enable', 'disable', 'mask' or 'unmask'
73
73
  def systemctl_change_enable(action)
74
74
  output = systemctl(action, '--', @resource[:name])
75
- rescue
76
- raise Puppet::Error, "Could not #{action} #{self.name}: #{output}", $!.backtrace
75
+ rescue => e
76
+ raise Puppet::Error, "Could not #{action} #{name}: #{output}", e.backtrace
77
77
  ensure
78
78
  @cached_enabled = nil
79
79
  end
@@ -115,14 +115,14 @@ Puppet::Type.type(:service).provide :systemd, :parent => :base do
115
115
 
116
116
  # The indirect state indicates that the unit is not enabled.
117
117
  return :false if output == 'indirect'
118
- return :true if (code == 0)
118
+ return :true if code == 0
119
119
 
120
- if (output.empty?) && (code > 0) && (Puppet.runtime[:facter].value('os.family').casecmp('debian').zero?)
120
+ if output.empty? && (code > 0) && Puppet.runtime[:facter].value('os.family').casecmp('debian').zero?
121
121
  ret = debian_enabled?
122
122
  return ret if ret
123
123
  end
124
124
 
125
- return :false
125
+ :false
126
126
  end
127
127
 
128
128
  # This method is required for Debian systems due to the way the SysVInit-Systemd
@@ -133,7 +133,7 @@ Puppet::Type.type(:service).provide :systemd, :parent => :base do
133
133
  def debian_enabled?
134
134
  status = execute(["/usr/sbin/invoke-rc.d", "--quiet", "--query", @resource[:name], "start"], :failonfail => false)
135
135
  if [104, 106].include?(status.exitstatus)
136
- return :true
136
+ :true
137
137
  elsif [101, 105].include?(status.exitstatus)
138
138
  # 101 is action not allowed, which means we have to do the check manually.
139
139
  # 105 is unknown, which generally means the initscript does not support query
@@ -141,12 +141,12 @@ Puppet::Type.type(:service).provide :systemd, :parent => :base do
141
141
  # For those that do not, perform the checks manually
142
142
  # http://www.debian.org/doc/debian-policy/ch-opersys.html
143
143
  if get_start_link_count >= 4
144
- return :true
144
+ :true
145
145
  else
146
- return :false
146
+ :false
147
147
  end
148
148
  else
149
- return :false
149
+ :false
150
150
  end
151
151
  end
152
152
 
@@ -166,7 +166,7 @@ Puppet::Type.type(:service).provide :systemd, :parent => :base do
166
166
  end
167
167
 
168
168
  def enable
169
- self.unmask
169
+ unmask
170
170
  systemctl_change_enable(:enable)
171
171
  end
172
172
 
@@ -189,7 +189,7 @@ Puppet::Type.type(:service).provide :systemd, :parent => :base do
189
189
  end
190
190
 
191
191
  def startcmd
192
- self.unmask
192
+ unmask
193
193
  [command(:systemctl), "start", '--', @resource[:name]]
194
194
  end
195
195
 
@@ -202,29 +202,23 @@ Puppet::Type.type(:service).provide :systemd, :parent => :base do
202
202
  end
203
203
 
204
204
  def restart
205
- begin
206
- daemon_reload?
207
- super
208
- rescue Puppet::Error => e
209
- raise Puppet::Error.new(prepare_error_message(@resource[:name], 'restart', e))
210
- end
205
+ daemon_reload?
206
+ super
207
+ rescue Puppet::Error => e
208
+ raise Puppet::Error, prepare_error_message(@resource[:name], 'restart', e)
211
209
  end
212
210
 
213
211
  def start
214
- begin
215
- daemon_reload?
216
- super
217
- rescue Puppet::Error => e
218
- raise Puppet::Error.new(prepare_error_message(@resource[:name], 'start', e))
219
- end
212
+ daemon_reload?
213
+ super
214
+ rescue Puppet::Error => e
215
+ raise Puppet::Error, prepare_error_message(@resource[:name], 'start', e)
220
216
  end
221
217
 
222
218
  def stop
223
- begin
224
- super
225
- rescue Puppet::Error => e
226
- raise Puppet::Error.new(prepare_error_message(@resource[:name], 'stop', e))
227
- end
219
+ super
220
+ rescue Puppet::Error => e
221
+ raise Puppet::Error, prepare_error_message(@resource[:name], 'stop', e)
228
222
  end
229
223
 
230
224
  def prepare_error_message(name, action, exception)
@@ -15,11 +15,11 @@ Puppet::Type.type(:service).provide :upstart, :parent => :debian do
15
15
  Puppet.runtime[:facter].value('os.name') == 'Ubuntu',
16
16
  (Puppet.runtime[:facter].value('os.family') == 'RedHat' and Puppet.runtime[:facter].value('os.release.full') =~ /^6\./),
17
17
  (Puppet.runtime[:facter].value('os.name') == 'Amazon' and Puppet.runtime[:facter].value('os.release.major') =~ /\d{4}/),
18
- Puppet.runtime[:facter].value('os.name') == 'LinuxMint',
18
+ Puppet.runtime[:facter].value('os.name') == 'LinuxMint'
19
19
  ]
20
20
 
21
21
  defaultfor 'os.name' => :ubuntu, 'os.release.major' => ["10.04", "12.04", "14.04", "14.10"]
22
- defaultfor 'os.name' => :LinuxMint, 'os.release.major' => ["10", "11", "12", "13", "14", "15", "16", "17"]
22
+ defaultfor 'os.name' => :LinuxMint, 'os.release.major' => %w[10 11 12 13 14 15 16 17]
23
23
 
24
24
  commands :start => "/sbin/start",
25
25
  :stop => "/sbin/stop",
@@ -54,7 +54,7 @@ Puppet::Type.type(:service).provide :upstart, :parent => :debian do
54
54
  has_feature :enableable
55
55
 
56
56
  def self.instances
57
- self.get_services(self.excludes) # Take exclude list from init provider
57
+ get_services(excludes) # Take exclude list from init provider
58
58
  end
59
59
 
60
60
  def self.excludes
@@ -77,11 +77,11 @@ Puppet::Type.type(:service).provide :upstart, :parent => :debian do
77
77
  # network-interface (lo) start/running
78
78
  # network-interface (eth0) start/running
79
79
  # network-interface-security start/running
80
- matcher = line.match(/^(network-interface)\s\(([^\)]+)\)/)
80
+ matcher = line.match(/^(network-interface)\s\(([^)]+)\)/)
81
81
  name = if matcher
82
82
  "#{matcher[1]} INTERFACE=#{matcher[2]}"
83
83
  else
84
- matcher = line.match(/^(network-interface-security)\s\(([^\)]+)\)/)
84
+ matcher = line.match(/^(network-interface-security)\s\(([^)]+)\)/)
85
85
  if matcher
86
86
  "#{matcher[1]} JOB=#{matcher[2]}"
87
87
  else
@@ -99,7 +99,7 @@ Puppet::Type.type(:service).provide :upstart, :parent => :debian do
99
99
  end
100
100
 
101
101
  def upstart_version
102
- @upstart_version ||= initctl("--version").match(/initctl \(upstart ([^\)]*)\)/)[1]
102
+ @upstart_version ||= initctl("--version").match(/initctl \(upstart ([^)]*)\)/)[1]
103
103
  end
104
104
 
105
105
  # Where is our override script?
@@ -117,7 +117,7 @@ Puppet::Type.type(:service).provide :upstart, :parent => :debian do
117
117
  return fqname
118
118
  end
119
119
 
120
- self.debug("Could not find #{name}#{suffix} in #{path}")
120
+ debug("Could not find #{name}#{suffix} in #{path}")
121
121
  end
122
122
  end
123
123
 
@@ -125,7 +125,7 @@ Puppet::Type.type(:service).provide :upstart, :parent => :debian do
125
125
  end
126
126
 
127
127
  def enabled?
128
- return super if not is_upstart?
128
+ return super unless is_upstart?
129
129
 
130
130
  script_contents = read_script_from(initscript)
131
131
  if version_is_pre_0_6_7
@@ -138,7 +138,7 @@ Puppet::Type.type(:service).provide :upstart, :parent => :debian do
138
138
  end
139
139
 
140
140
  def enable
141
- return super if not is_upstart?
141
+ return super unless is_upstart?
142
142
 
143
143
  script_text = read_script_from(initscript)
144
144
  if version_is_pre_0_9_0
@@ -149,7 +149,7 @@ Puppet::Type.type(:service).provide :upstart, :parent => :debian do
149
149
  end
150
150
 
151
151
  def disable
152
- return super if not is_upstart?
152
+ return super unless is_upstart?
153
153
 
154
154
  script_text = read_script_from(initscript)
155
155
  if version_is_pre_0_6_7
@@ -185,17 +185,17 @@ Puppet::Type.type(:service).provide :upstart, :parent => :debian do
185
185
  end
186
186
 
187
187
  output = status_exec(@resource[:name].split)
188
- if output =~ /start\//
189
- return :running
188
+ if output =~ %r{start/}
189
+ :running
190
190
  else
191
- return :stopped
191
+ :stopped
192
192
  end
193
193
  end
194
194
 
195
195
  private
196
196
 
197
197
  def is_upstart?(script = initscript)
198
- Puppet::FileSystem.exist?(script) && script.match(/\/etc\/init\/\S+\.conf/)
198
+ Puppet::FileSystem.exist?(script) && script.match(%r{/etc/init/\S+\.conf})
199
199
  end
200
200
 
201
201
  def version_is_pre_0_6_7
@@ -213,9 +213,9 @@ Puppet::Type.type(:service).provide :upstart, :parent => :debian do
213
213
  def enabled_pre_0_6_7?(script_text)
214
214
  # Upstart version < 0.6.7 means no manual stanza.
215
215
  if script_text.match(START_ON)
216
- return :true
216
+ :true
217
217
  else
218
- return :false
218
+ :false
219
219
  end
220
220
  end
221
221
 
@@ -378,7 +378,7 @@ Puppet::Type.type(:service).provide :upstart, :parent => :debian do
378
378
  end
379
379
 
380
380
  def write_script_to(file, text)
381
- Puppet::Util.replace_file(file, 0644) do |f|
381
+ Puppet::Util.replace_file(file, 0o644) do |f|
382
382
  f.write(text)
383
383
  end
384
384
  end