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
@@ -60,9 +60,9 @@ Puppet::Type.type(:service).provide :daemontools, :parent => :base do
60
60
  # returns all providers for all existing services in @defpath
61
61
  # ie enabled or not
62
62
  def self.instances
63
- path = self.defpath
63
+ path = defpath
64
64
  unless path
65
- Puppet.info("#{self.name} is unsuitable because service directory is nil")
65
+ Puppet.info("#{name} is unsuitable because service directory is nil")
66
66
  return
67
67
  end
68
68
  unless FileTest.directory?(path)
@@ -82,7 +82,7 @@ Puppet::Type.type(:service).provide :daemontools, :parent => :base do
82
82
 
83
83
  # returns the daemon dir on this node
84
84
  def self.daemondir
85
- self.defpath
85
+ defpath
86
86
  end
87
87
 
88
88
  # find the service dir on this node
@@ -102,7 +102,7 @@ Puppet::Type.type(:service).provide :daemontools, :parent => :base do
102
102
  # returns the full path of this service when enabled
103
103
  # (ie in the service directory)
104
104
  def service
105
- File.join(self.servicedir, resource[:name])
105
+ File.join(servicedir, resource[:name])
106
106
  end
107
107
 
108
108
  # returns the full path to the current daemon directory
@@ -110,14 +110,14 @@ Puppet::Type.type(:service).provide :daemontools, :parent => :base do
110
110
  # definition
111
111
  def daemon
112
112
  path = resource[:path]
113
- raise Puppet::Error.new("#{self.class.name} must specify a path for daemon directory") unless path
113
+ raise Puppet::Error, "#{self.class.name} must specify a path for daemon directory" unless path
114
114
 
115
115
  File.join(path, resource[:name])
116
116
  end
117
117
 
118
118
  def status
119
119
  begin
120
- output = svstat self.service
120
+ output = svstat service
121
121
  if output =~ /:\s+up \(/
122
122
  return :running
123
123
  end
@@ -131,66 +131,66 @@ Puppet::Type.type(:service).provide :daemontools, :parent => :base do
131
131
  if resource[:manifest]
132
132
  Puppet.notice "Configuring #{resource[:name]}"
133
133
  command = [resource[:manifest], resource[:name]]
134
- system("#{command}")
134
+ system(command.to_s)
135
135
  end
136
136
  rescue Puppet::ExecutionFailure => detail
137
- raise Puppet::Error.new("Cannot config #{self.service} to enable it: #{detail}", detail)
137
+ raise Puppet::Error.new("Cannot config #{service} to enable it: #{detail}", detail)
138
138
  end
139
139
 
140
140
  def enabled?
141
- case self.status
141
+ case status
142
142
  when :running
143
143
  # obviously if the daemon is running then it is enabled
144
- return :true
144
+ :true
145
145
  else
146
146
  # the service is enabled if it is linked
147
- return Puppet::FileSystem.symlink?(self.service) ? :true : :false
147
+ Puppet::FileSystem.symlink?(service) ? :true : :false
148
148
  end
149
149
  end
150
150
 
151
151
  def enable
152
- if !FileTest.directory?(self.daemon)
152
+ unless FileTest.directory?(daemon)
153
153
  Puppet.notice "No daemon dir, calling setupservice for #{resource[:name]}"
154
- self.setupservice
154
+ setupservice
155
155
  end
156
- if self.daemon
157
- if !Puppet::FileSystem.symlink?(self.service)
158
- Puppet.notice "Enabling #{self.service}: linking #{self.daemon} -> #{self.service}"
159
- Puppet::FileSystem.symlink(self.daemon, self.service)
156
+ if daemon
157
+ unless Puppet::FileSystem.symlink?(service)
158
+ Puppet.notice "Enabling #{service}: linking #{daemon} -> #{service}"
159
+ Puppet::FileSystem.symlink(daemon, service)
160
160
  end
161
161
  end
162
- rescue Puppet::ExecutionFailure
163
- raise Puppet::Error.new("No daemon directory found for #{self.service}", $!)
162
+ rescue Puppet::ExecutionFailure => e
163
+ raise Puppet::Error.new("No daemon directory found for #{service}", e)
164
164
  end
165
165
 
166
166
  def disable
167
167
  begin
168
- if !FileTest.directory?(self.daemon)
168
+ unless FileTest.directory?(daemon)
169
169
  Puppet.notice "No daemon dir, calling setupservice for #{resource[:name]}"
170
- self.setupservice
170
+ setupservice
171
171
  end
172
- if self.daemon
173
- if Puppet::FileSystem.symlink?(self.service)
174
- Puppet.notice "Disabling #{self.service}: removing link #{self.daemon} -> #{self.service}"
175
- Puppet::FileSystem.unlink(self.service)
172
+ if daemon
173
+ if Puppet::FileSystem.symlink?(service)
174
+ Puppet.notice "Disabling #{service}: removing link #{daemon} -> #{service}"
175
+ Puppet::FileSystem.unlink(service)
176
176
  end
177
177
  end
178
- rescue Puppet::ExecutionFailure
179
- raise Puppet::Error.new("No daemon directory found for #{self.service}", $!)
178
+ rescue Puppet::ExecutionFailure => e
179
+ raise Puppet::Error.new("No daemon directory found for #{service}", e)
180
180
  end
181
- self.stop
181
+ stop
182
182
  end
183
183
 
184
184
  def restart
185
- svc "-t", self.service
185
+ svc "-t", service
186
186
  end
187
187
 
188
188
  def start
189
189
  enable unless enabled? == :true
190
- svc "-u", self.service
190
+ svc "-u", service
191
191
  end
192
192
 
193
193
  def stop
194
- svc "-d", self.service
194
+ svc "-d", service
195
195
  end
196
196
  end
@@ -21,8 +21,8 @@ Puppet::Type.type(:service).provide :debian, :parent => :init do
21
21
 
22
22
  confine :false => Puppet::FileSystem.exist?('/proc/1/comm') && Puppet::FileSystem.read('/proc/1/comm').include?('systemd')
23
23
 
24
- defaultfor 'os.name' => :cumuluslinux, 'os.release.major' => ['1', '2']
25
- defaultfor 'os.name' => :debian, 'os.release.major' => ['5', '6', '7']
24
+ defaultfor 'os.name' => :cumuluslinux, 'os.release.major' => %w[1 2]
25
+ defaultfor 'os.name' => :debian, 'os.release.major' => %w[5 6 7]
26
26
  defaultfor 'os.name' => :devuan
27
27
 
28
28
  # Remove the symlinks
@@ -42,7 +42,7 @@ Puppet::Type.type(:service).provide :debian, :parent => :init do
42
42
  # 106 is the exit status when the policy layer supplies a fallback action
43
43
  # See x-man-page://invoke-rc.d
44
44
  if [104, 106].include?(status.exitstatus)
45
- return :true
45
+ :true
46
46
  elsif [101, 105].include?(status.exitstatus)
47
47
  # 101 is action not allowed, which means we have to do the check manually.
48
48
  # 105 is unknown, which generally means the initscript does not support query
@@ -50,12 +50,12 @@ Puppet::Type.type(:service).provide :debian, :parent => :init do
50
50
  # For those that do not, perform the checks manually
51
51
  # http://www.debian.org/doc/debian-policy/ch-opersys.html
52
52
  if get_start_link_count >= 4
53
- return :true
53
+ :true
54
54
  else
55
- return :false
55
+ :false
56
56
  end
57
57
  else
58
- return :false
58
+ :false
59
59
  end
60
60
  end
61
61
 
@@ -21,7 +21,7 @@ Puppet::Type.type(:service).provide :freebsd, :parent => :init do
21
21
  # Executing an init script with the 'rcvar' argument returns
22
22
  # the service name, rcvar name and whether it's enabled/disabled
23
23
  def rcvar
24
- rcvar = execute([self.initscript, :rcvar], :failonfail => true, :combine => false, :squelch => false)
24
+ rcvar = execute([initscript, :rcvar], :failonfail => true, :combine => false, :squelch => false)
25
25
  rcvar = rcvar.split("\n")
26
26
  rcvar.delete_if { |str| str =~ /^#\s*$/ }
27
27
  rcvar[1] = rcvar[1].gsub(/^\$/, '')
@@ -30,11 +30,11 @@ Puppet::Type.type(:service).provide :freebsd, :parent => :init do
30
30
 
31
31
  # Extract value name from service or rcvar
32
32
  def extract_value_name(name, rc_index, regex, regex_index)
33
- value_name = self.rcvar[rc_index]
34
- self.error("No #{name} name found in rcvar") if value_name.nil?
33
+ value_name = rcvar[rc_index]
34
+ error("No #{name} name found in rcvar") if value_name.nil?
35
35
  value_name = value_name.gsub!(regex, regex_index)
36
- self.error("#{name} name is empty") if value_name.nil?
37
- self.debug("#{name} name is #{value_name}")
36
+ error("#{name} name is empty") if value_name.nil?
37
+ debug("#{name} name is #{value_name}")
38
38
  value_name
39
39
  end
40
40
 
@@ -50,20 +50,20 @@ Puppet::Type.type(:service).provide :freebsd, :parent => :init do
50
50
 
51
51
  # Extract rcvar value
52
52
  def rcvar_value
53
- value = self.rcvar[1]
54
- self.error("No rcvar value found in rcvar") if value.nil?
53
+ value = rcvar[1]
54
+ error("No rcvar value found in rcvar") if value.nil?
55
55
  value = value.gsub!(/(.*)(_enable)?="?(\w+)"?/, '\3')
56
- self.error("rcvar value is empty") if value.nil?
57
- self.debug("rcvar value is #{value}")
56
+ error("rcvar value is empty") if value.nil?
57
+ debug("rcvar value is #{value}")
58
58
  value
59
59
  end
60
60
 
61
61
  # Edit rc files and set the service to yes/no
62
62
  def rc_edit(yesno)
63
- service = self.service_name
64
- rcvar = self.rcvar_name
65
- self.debug("Editing rc files: setting #{rcvar} to #{yesno} for #{service}")
66
- self.rc_add(service, rcvar, yesno) if not self.rc_replace(service, rcvar, yesno)
63
+ service = service_name
64
+ rcvar = rcvar_name
65
+ debug("Editing rc files: setting #{rcvar} to #{yesno} for #{service}")
66
+ rc_add(service, rcvar, yesno) unless rc_replace(service, rcvar, yesno)
67
67
  end
68
68
 
69
69
  # Try to find an existing setting in the rc files
@@ -72,14 +72,14 @@ Puppet::Type.type(:service).provide :freebsd, :parent => :init do
72
72
  success = false
73
73
  # Replace in all files, not just in the first found with a match
74
74
  [rcconf, rcconf_local, rcconf_dir + "/#{service}"].each do |filename|
75
- if Puppet::FileSystem.exist?(filename)
76
- s = File.read(filename)
77
- if s.gsub!(/^(#{rcvar}(_enable)?)=\"?(YES|NO)\"?/, "\\1=\"#{yesno}\"")
78
- Puppet::FileSystem.replace_file(filename) { |f| f << s }
79
- self.debug("Replaced in #{filename}")
80
- success = true
81
- end
82
- end
75
+ next unless Puppet::FileSystem.exist?(filename)
76
+
77
+ s = File.read(filename)
78
+ next unless s.gsub!(/^(#{rcvar}(_enable)?)="?(YES|NO)"?/, "\\1=\"#{yesno}\"")
79
+
80
+ Puppet::FileSystem.replace_file(filename) { |f| f << s }
81
+ debug("Replaced in #{filename}")
82
+ success = true
83
83
  end
84
84
  success
85
85
  end
@@ -89,53 +89,53 @@ Puppet::Type.type(:service).provide :freebsd, :parent => :init do
89
89
  append = "\# Added by Puppet\n#{rcvar}_enable=\"#{yesno}\"\n"
90
90
  # First, try the one-file-per-service style
91
91
  if Puppet::FileSystem.exist?(rcconf_dir)
92
- File.open(rcconf_dir + "/#{service}", File::WRONLY | File::APPEND | File::CREAT, 0644) { |f|
92
+ File.open(rcconf_dir + "/#{service}", File::WRONLY | File::APPEND | File::CREAT, 0o644) { |f|
93
93
  f << append
94
- self.debug("Appended to #{f.path}")
94
+ debug("Appended to #{f.path}")
95
95
  }
96
96
  elsif Puppet::FileSystem.exist?(rcconf_local)
97
97
  # Else, check the local rc file first, but don't create it
98
98
  File.open(rcconf_local, File::WRONLY | File::APPEND) { |f|
99
99
  f << append
100
- self.debug("Appended to #{f.path}")
100
+ debug("Appended to #{f.path}")
101
101
  }
102
102
  else
103
103
  # At last use the standard rc.conf file
104
- File.open(rcconf, File::WRONLY | File::APPEND | File::CREAT, 0644) { |f|
104
+ File.open(rcconf, File::WRONLY | File::APPEND | File::CREAT, 0o644) { |f|
105
105
  f << append
106
- self.debug("Appended to #{f.path}")
106
+ debug("Appended to #{f.path}")
107
107
  }
108
108
  end
109
109
  end
110
110
 
111
111
  def enabled?
112
- if /YES$/ =~ self.rcvar_value
113
- self.debug("Is enabled")
112
+ if /YES$/ =~ rcvar_value
113
+ debug("Is enabled")
114
114
  return :true
115
115
  end
116
- self.debug("Is disabled")
116
+ debug("Is disabled")
117
117
  :false
118
118
  end
119
119
 
120
120
  def enable
121
- self.debug("Enabling")
122
- self.rc_edit("YES")
121
+ debug("Enabling")
122
+ rc_edit("YES")
123
123
  end
124
124
 
125
125
  def disable
126
- self.debug("Disabling")
127
- self.rc_edit("NO")
126
+ debug("Disabling")
127
+ rc_edit("NO")
128
128
  end
129
129
 
130
130
  def startcmd
131
- [self.initscript, :onestart]
131
+ [initscript, :onestart]
132
132
  end
133
133
 
134
134
  def stopcmd
135
- [self.initscript, :onestop]
135
+ [initscript, :onestop]
136
136
  end
137
137
 
138
138
  def statuscmd
139
- [self.initscript, :onestatus]
139
+ [initscript, :onestatus]
140
140
  end
141
141
  end
@@ -16,8 +16,8 @@ Puppet::Type.type(:service).provide :gentoo, :parent => :init do
16
16
 
17
17
  def disable
18
18
  output = update :del, @resource[:name], :default
19
- rescue Puppet::ExecutionFailure
20
- raise Puppet::Error, "Could not disable #{self.name}: #{output}", $!.backtrace
19
+ rescue Puppet::ExecutionFailure => e
20
+ raise Puppet::Error, "Could not disable #{name}: #{output}", e.backtrace
21
21
  end
22
22
 
23
23
  def enabled?
@@ -33,15 +33,15 @@ Puppet::Type.type(:service).provide :gentoo, :parent => :init do
33
33
 
34
34
  # If it's enabled then it will print output showing service | runlevel
35
35
  if output =~ /^\s*#{@resource[:name]}\s*\|\s*(boot|default)/
36
- return :true
36
+ :true
37
37
  else
38
- return :false
38
+ :false
39
39
  end
40
40
  end
41
41
 
42
42
  def enable
43
43
  output = update :add, @resource[:name], :default
44
- rescue Puppet::ExecutionFailure
45
- raise Puppet::Error, "Could not enable #{self.name}: #{output}", $!.backtrace
44
+ rescue Puppet::ExecutionFailure => e
45
+ raise Puppet::Error, "Could not enable #{name}: #{output}", e.backtrace
46
46
  end
47
47
  end
@@ -21,7 +21,7 @@ Puppet::Type.type(:service).provide :init, :parent => :base do
21
21
  end
22
22
 
23
23
  # Debian and Ubuntu should use the Debian provider.
24
- confine :false => ['Debian', 'Ubuntu'].include?(Puppet.runtime[:facter].value('os.name'))
24
+ confine :false => %w[Debian Ubuntu].include?(Puppet.runtime[:facter].value('os.name'))
25
25
  # RedHat systems should use the RedHat provider.
26
26
  confine :false => Puppet.runtime[:facter].value('os.family') == 'RedHat'
27
27
 
@@ -35,9 +35,9 @@ Puppet::Type.type(:service).provide :init, :parent => :base do
35
35
  def self.excludes
36
36
  excludes = []
37
37
  # these exclude list was found with grep -L '\/sbin\/runscript' /etc/init.d/* on gentoo
38
- excludes += %w{functions.sh reboot.sh shutdown.sh}
38
+ excludes += %w[functions.sh reboot.sh shutdown.sh]
39
39
  # this exclude list is all from /sbin/service (5.x), but I did not exclude kudzu
40
- excludes += %w{functions halt killall single linuxconf reboot boot}
40
+ excludes += %w[functions halt killall single linuxconf reboot boot]
41
41
  # 'wait-for-state' and 'portmap-wait' are excluded from instances here
42
42
  # because they take parameters that have unclear meaning. It looks like
43
43
  # 'wait-for-state' is a generic waiter mainly used internally for other
@@ -49,37 +49,37 @@ Puppet::Type.type(:service).provide :init, :parent => :base do
49
49
  # eventually explain how to use the wait-for-state service or perhaps why
50
50
  # it should remain excluded. When that bug is addressed this should be
51
51
  # reexamined.
52
- excludes += %w{wait-for-state portmap-wait}
52
+ excludes += %w[wait-for-state portmap-wait]
53
53
  # these excludes were found with grep -r -L start /etc/init.d
54
- excludes += %w{rcS module-init-tools}
54
+ excludes += %w[rcS module-init-tools]
55
55
  # Prevent puppet failing on unsafe scripts from Yocto Linux
56
56
  if Puppet.runtime[:facter].value('os.family') == "cisco-wrlinux"
57
- excludes += %w{banner.sh bootmisc.sh checkroot.sh devpts.sh dmesg.sh
57
+ excludes += %w[banner.sh bootmisc.sh checkroot.sh devpts.sh dmesg.sh
58
58
  hostname.sh mountall.sh mountnfs.sh populate-volatile.sh
59
59
  rmnologin.sh save-rtc.sh sendsigs sysfs.sh umountfs
60
- umountnfs.sh}
60
+ umountnfs.sh]
61
61
  end
62
62
  # Prevent puppet failing to get status of the new service introduced
63
63
  # by the fix for this (bug https://bugs.launchpad.net/ubuntu/+source/lightdm/+bug/982889)
64
64
  # due to puppet's inability to deal with upstart services with instances.
65
- excludes += %w{plymouth-ready}
65
+ excludes += %w[plymouth-ready]
66
66
  # Prevent puppet failing to get status of these services, which need parameters
67
67
  # passed in (see https://bugs.launchpad.net/ubuntu/+source/puppet/+bug/1276766).
68
- excludes += %w{idmapd-mounting startpar-bridge}
68
+ excludes += %w[idmapd-mounting startpar-bridge]
69
69
  # Prevent puppet failing to get status of these services, additional upstart
70
70
  # service with instances
71
- excludes += %w{cryptdisks-udev}
72
- excludes += %w{statd-mounting}
73
- excludes += %w{gssd-mounting}
71
+ excludes += %w[cryptdisks-udev]
72
+ excludes += %w[statd-mounting]
73
+ excludes += %w[gssd-mounting]
74
74
  excludes
75
75
  end
76
76
 
77
77
  # List all services of this type.
78
78
  def self.instances
79
- get_services(self.defpath)
79
+ get_services(defpath)
80
80
  end
81
81
 
82
- def self.get_services(defpath, exclude = self.excludes)
82
+ def self.get_services(defpath, exclude = excludes)
83
83
  defpath = [defpath] unless defpath.is_a? Array
84
84
  instances = []
85
85
  defpath.each do |path|
@@ -118,7 +118,7 @@ Puppet::Type.type(:service).provide :init, :parent => :base do
118
118
 
119
119
  # Where is our init script?
120
120
  def initscript
121
- @initscript ||= self.search(@resource[:name])
121
+ @initscript ||= search(@resource[:name])
122
122
  end
123
123
 
124
124
  def paths
@@ -127,9 +127,9 @@ Puppet::Type.type(:service).provide :init, :parent => :base do
127
127
  true
128
128
  else
129
129
  if Puppet::FileSystem.exist?(path)
130
- self.debug "Search path #{path} is not a directory"
130
+ debug "Search path #{path} is not a directory"
131
131
  else
132
- self.debug "Search path #{path} does not exist"
132
+ debug "Search path #{path} does not exist"
133
133
  end
134
134
  false
135
135
  end
@@ -142,7 +142,7 @@ Puppet::Type.type(:service).provide :init, :parent => :base do
142
142
  if Puppet::FileSystem.exist? fqname
143
143
  return fqname
144
144
  else
145
- self.debug("Could not find #{name} in #{path}")
145
+ debug("Could not find #{name} in #{path}")
146
146
  end
147
147
  end
148
148
 
@@ -151,7 +151,7 @@ Puppet::Type.type(:service).provide :init, :parent => :base do
151
151
  if Puppet::FileSystem.exist? fqname_sh
152
152
  return fqname_sh
153
153
  else
154
- self.debug("Could not find #{name}.sh in #{path}")
154
+ debug("Could not find #{name}.sh in #{path}")
155
155
  end
156
156
  end
157
157
  raise Puppet::Error, "Could not find init script for '#{name}'"
@@ -84,7 +84,7 @@ Puppet::Type.type(:service).provide :launchd, :parent => :base do
84
84
  #
85
85
  # @api private
86
86
  def self.launchd_overrides
87
- if self.get_os_version < 14
87
+ if get_os_version < 14
88
88
  "/var/db/launchd.db/com.apple.launchd/overrides.plist"
89
89
  else
90
90
  "/var/db/com.apple.xpc.launchd/disabled.plist"
@@ -107,8 +107,8 @@ Puppet::Type.type(:service).provide :launchd, :parent => :base do
107
107
  # containing the name, provider, path, and status of each service on the
108
108
  # system.
109
109
  def self.instances
110
- jobs = self.jobsearch
111
- @job_list ||= self.job_list
110
+ jobs = jobsearch
111
+ @job_list ||= job_list
112
112
  jobs.keys.collect do |job|
113
113
  job_status = @job_list.has_key?(job) ? :running : :stopped
114
114
  new(:name => job, :provider => :launchd, :path => jobs[job], :status => job_status)
@@ -135,7 +135,7 @@ Puppet::Type.type(:service).provide :launchd, :parent => :base do
135
135
  #
136
136
  # @api private
137
137
  def self.make_label_to_path_map(refresh = false)
138
- return @label_to_path_map if @label_to_path_map and not refresh
138
+ return @label_to_path_map if @label_to_path_map and !refresh
139
139
 
140
140
  @label_to_path_map = {}
141
141
  launchd_paths.each do |path|
@@ -165,12 +165,12 @@ Puppet::Type.type(:service).provide :launchd, :parent => :base do
165
165
 
166
166
  if label
167
167
  if by_label.has_key? label
168
- return { label => by_label[label] }
168
+ { label => by_label[label] }
169
169
  else
170
170
  # try refreshing the map, in case a plist has been added in the interim
171
171
  by_label = make_label_to_path_map(true)
172
172
  if by_label.has_key? label
173
- return { label => by_label[label] }
173
+ { label => by_label[label] }
174
174
  else
175
175
  raise Puppet::Error, "Unable to find launchd plist for job: #{label}"
176
176
  end
@@ -187,13 +187,13 @@ Puppet::Type.type(:service).provide :launchd, :parent => :base do
187
187
  @job_list = Hash.new
188
188
  begin
189
189
  output = launchctl :list
190
- raise Puppet::Error.new("launchctl list failed to return any data.") if output.nil?
190
+ raise Puppet::Error, "launchctl list failed to return any data." if output.nil?
191
191
 
192
192
  output.split("\n").each do |line|
193
193
  @job_list[line.split(/\s/).last] = :running
194
194
  end
195
- rescue Puppet::ExecutionFailure
196
- raise Puppet::Error.new("Unable to determine status of #{resource[:name]}", $!)
195
+ rescue Puppet::ExecutionFailure => e
196
+ raise Puppet::Error.new("Unable to determine status of #{resource[:name]}", e)
197
197
  end
198
198
  @job_list
199
199
  end
@@ -212,7 +212,7 @@ Puppet::Type.type(:service).provide :launchd, :parent => :base do
212
212
  Puppet.debug(_("Reading overrides plist, attempt %{i}") % { i: i }) if i > 1
213
213
  overrides = read_plist(launchd_overrides)
214
214
  break unless overrides.nil?
215
- raise Puppet::Error.new(_('Unable to read overrides plist, too many attempts')) if i == 20
215
+ raise Puppet::Error, _('Unable to read overrides plist, too many attempts') if i == 20
216
216
 
217
217
  Puppet.info(_('Overrides file could not be read, trying again.'))
218
218
  Kernel.sleep(0.1)
@@ -239,7 +239,7 @@ Puppet::Type.type(:service).provide :launchd, :parent => :base do
239
239
  if FileTest.file?(job_path)
240
240
  job_plist = self.class.read_plist(job_path)
241
241
  else
242
- raise Puppet::Error.new("Unable to parse launchd plist at path: #{job_path}")
242
+ raise Puppet::Error, "Unable to parse launchd plist at path: #{job_path}"
243
243
  end
244
244
  [job_path, job_plist]
245
245
  end
@@ -248,7 +248,7 @@ Puppet::Type.type(:service).provide :launchd, :parent => :base do
248
248
  # status mechanism and fall back to the base provider status method.
249
249
  def status
250
250
  if @resource && ((@resource[:hasstatus] == :false) || (@resource[:status]))
251
- return super
251
+ super
252
252
  elsif @property_hash[:status].nil?
253
253
  # property_hash was flushed so the service changed status
254
254
  service_name = @resource[:name]
@@ -281,17 +281,17 @@ Puppet::Type.type(:service).provide :launchd, :parent => :base do
281
281
  # always add -w so it always starts the job, it is a noop if it is not needed, this means we do
282
282
  # not have to rescan all launchd plists.
283
283
  cmds << "-w"
284
- if self.enabled? == :false || self.status == :stopped # launchctl won't load disabled jobs
284
+ if enabled? == :false || status == :stopped # launchctl won't load disabled jobs
285
285
  did_enable_job = true
286
286
  end
287
287
  cmds << job_path
288
288
  begin
289
289
  execute(cmds)
290
- rescue Puppet::ExecutionFailure
291
- raise Puppet::Error.new("Unable to start service: #{resource[:name]} at path: #{job_path}", $!)
290
+ rescue Puppet::ExecutionFailure => e
291
+ raise Puppet::Error.new("Unable to start service: #{resource[:name]} at path: #{job_path}", e)
292
292
  end
293
293
  # As load -w clears the Disabled flag, we need to add it in after
294
- self.disable if did_enable_job and resource[:enable] == :false
294
+ disable if did_enable_job and resource[:enable] == :false
295
295
  end
296
296
 
297
297
  def stop
@@ -303,26 +303,26 @@ Puppet::Type.type(:service).provide :launchd, :parent => :base do
303
303
  did_disable_job = false
304
304
  cmds = []
305
305
  cmds << :launchctl << :unload
306
- if self.enabled? == :true # keepalive jobs can't be stopped without disabling
306
+ if enabled? == :true # keepalive jobs can't be stopped without disabling
307
307
  cmds << "-w"
308
308
  did_disable_job = true
309
309
  end
310
310
  cmds << job_path
311
311
  begin
312
312
  execute(cmds)
313
- rescue Puppet::ExecutionFailure
314
- raise Puppet::Error.new("Unable to stop service: #{resource[:name]} at path: #{job_path}", $!)
313
+ rescue Puppet::ExecutionFailure => e
314
+ raise Puppet::Error.new("Unable to stop service: #{resource[:name]} at path: #{job_path}", e)
315
315
  end
316
316
  # As unload -w sets the Disabled flag, we need to add it in after
317
- self.enable if did_disable_job and resource[:enable] == :true
317
+ enable if did_disable_job and resource[:enable] == :true
318
318
  end
319
319
 
320
320
  def restart
321
321
  Puppet.debug("A restart has been triggered for the #{resource[:name]} service")
322
322
  Puppet.debug("Stopping the #{resource[:name]} service")
323
- self.stop
323
+ stop
324
324
  Puppet.debug("Starting the #{resource[:name]} service")
325
- self.start
325
+ start
326
326
  end
327
327
 
328
328
  # launchd jobs are enabled by default. They are only disabled if the key
@@ -47,7 +47,7 @@ Puppet::Type.type(:service).provide :openbsd, :parent => :init do
47
47
  end
48
48
  instances
49
49
  rescue Puppet::ExecutionFailure
50
- return nil
50
+ nil
51
51
  end
52
52
  end
53
53
 
@@ -56,16 +56,16 @@ Puppet::Type.type(:service).provide :openbsd, :parent => :init do
56
56
  :failonfail => false, :combine => false, :squelch => false)
57
57
 
58
58
  if output.exitstatus == 1
59
- self.debug("Is disabled")
60
- return :false
59
+ debug("Is disabled")
60
+ :false
61
61
  else
62
- self.debug("Is enabled")
63
- return :true
62
+ debug("Is enabled")
63
+ :true
64
64
  end
65
65
  end
66
66
 
67
67
  def enable
68
- self.debug("Enabling")
68
+ debug("Enabling")
69
69
  rcctl(:enable, @resource[:name])
70
70
  if @resource[:flags]
71
71
  rcctl(:set, @resource[:name], :flags, @resource[:flags])
@@ -73,14 +73,14 @@ Puppet::Type.type(:service).provide :openbsd, :parent => :init do
73
73
  end
74
74
 
75
75
  def disable
76
- self.debug("Disabling")
76
+ debug("Disabling")
77
77
  rcctl(:disable, @resource[:name])
78
78
  end
79
79
 
80
80
  def running?
81
81
  output = execute([command(:rcctl), "check", @resource[:name]],
82
82
  :failonfail => false, :combine => false, :squelch => false).chomp
83
- return true if output =~ /\(ok\)/
83
+ true if output =~ /\(ok\)/
84
84
  end
85
85
 
86
86
  # Uses the wrapper to prevent failure when the service is not running;
@@ -88,12 +88,12 @@ Puppet::Type.type(:service).provide :openbsd, :parent => :init do
88
88
  def flags
89
89
  output = execute([command(:rcctl), "get", @resource[:name], "flags"],
90
90
  :failonfail => false, :combine => false, :squelch => false).chomp
91
- self.debug("Flags are: \"#{output}\"")
91
+ debug("Flags are: \"#{output}\"")
92
92
  output
93
93
  end
94
94
 
95
95
  def flags=(value)
96
- self.debug("Changing flags from #{flags} to #{value}")
96
+ debug("Changing flags from #{flags} to #{value}")
97
97
  rcctl(:set, @resource[:name], :flags, value)
98
98
  # If the service is already running, force a restart as the flags have been changed.
99
99
  rcctl(:restart, @resource[:name]) if running?
@@ -40,7 +40,7 @@ Puppet::Type.type(:service).provide :openrc, :parent => :base do
40
40
  when /^\S+/ # caption of a dynamic runlevel
41
41
  enabled = :false
42
42
  when self.class::STATUSLINE
43
- return enabled if @resource[:name] == $1
43
+ return enabled if @resource[:name] == Regexp.last_match(1)
44
44
  end
45
45
  end
46
46
  :false