puppet 8.5.1-x86-mingw32 → 8.6.0-x86-mingw32
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.
- checksums.yaml +4 -4
- data/Gemfile.lock +23 -20
- data/ext/windows/service/daemon.rb +49 -55
- data/lib/hiera/scope.rb +3 -3
- data/lib/hiera_puppet.rb +1 -1
- data/lib/puppet/agent/disabler.rb +1 -1
- data/lib/puppet/application/agent.rb +2 -2
- data/lib/puppet/application/apply.rb +2 -2
- data/lib/puppet/application/describe.rb +6 -6
- data/lib/puppet/application/device.rb +99 -100
- data/lib/puppet/application/doc.rb +1 -1
- data/lib/puppet/application/face_base.rb +7 -7
- data/lib/puppet/application/filebucket.rb +1 -1
- data/lib/puppet/application/lookup.rb +5 -5
- data/lib/puppet/application/resource.rb +10 -3
- data/lib/puppet/application/ssl.rb +3 -3
- data/lib/puppet/application.rb +16 -18
- data/lib/puppet/coercion.rb +1 -1
- data/lib/puppet/configurer/downloader.rb +9 -4
- data/lib/puppet/configurer/fact_handler.rb +12 -13
- data/lib/puppet/configurer.rb +16 -18
- data/lib/puppet/confine/feature.rb +1 -1
- data/lib/puppet/confine/variable.rb +1 -1
- data/lib/puppet/confine.rb +2 -2
- data/lib/puppet/confine_collection.rb +1 -1
- data/lib/puppet/confiner.rb +2 -2
- data/lib/puppet/daemon.rb +3 -3
- data/lib/puppet/datatypes.rb +5 -6
- data/lib/puppet/defaults.rb +14 -8
- data/lib/puppet/environments.rb +3 -7
- data/lib/puppet/error.rb +3 -3
- data/lib/puppet/external/dot.rb +42 -34
- data/lib/puppet/face/catalog/select.rb +1 -1
- data/lib/puppet/face/epp.rb +7 -9
- data/lib/puppet/face/help.rb +12 -12
- data/lib/puppet/face/module/changes.rb +1 -3
- data/lib/puppet/face/module/list.rb +37 -37
- data/lib/puppet/face/node/clean.rb +1 -1
- data/lib/puppet/face/parser.rb +6 -8
- data/lib/puppet/face/report.rb +5 -7
- data/lib/puppet/facter_impl.rb +1 -1
- data/lib/puppet/feature/base.rb +9 -11
- data/lib/puppet/feature/pe_license.rb +1 -1
- data/lib/puppet/feature/ssh.rb +1 -1
- data/lib/puppet/feature/telnet.rb +3 -5
- data/lib/puppet/feature/zlib.rb +1 -1
- data/lib/puppet/ffi/windows/constants.rb +1 -1
- data/lib/puppet/ffi/windows/functions.rb +2 -2
- data/lib/puppet/ffi/windows/structs.rb +3 -3
- data/lib/puppet/file_bucket/dipper.rb +4 -4
- data/lib/puppet/file_bucket/file.rb +4 -4
- data/lib/puppet/file_serving/base.rb +5 -5
- data/lib/puppet/file_serving/configuration/parser.rb +9 -9
- data/lib/puppet/file_serving/configuration.rb +3 -3
- data/lib/puppet/file_serving/fileset.rb +13 -13
- data/lib/puppet/file_serving/http_metadata.rb +1 -1
- data/lib/puppet/file_serving/metadata.rb +13 -9
- data/lib/puppet/file_serving/mount/file.rb +6 -6
- data/lib/puppet/file_serving/mount/locales.rb +2 -4
- data/lib/puppet/file_serving/mount/pluginfacts.rb +2 -4
- data/lib/puppet/file_serving/mount/plugins.rb +2 -4
- data/lib/puppet/file_serving/mount.rb +1 -1
- data/lib/puppet/file_system/file_impl.rb +3 -3
- data/lib/puppet/file_system/memory_impl.rb +1 -1
- data/lib/puppet/file_system/path_pattern.rb +1 -1
- data/lib/puppet/file_system/uniquefile.rb +17 -16
- data/lib/puppet/file_system/windows.rb +26 -18
- data/lib/puppet/forge/cache.rb +2 -2
- data/lib/puppet/forge/errors.rb +1 -1
- data/lib/puppet/forge/repository.rb +2 -2
- data/lib/puppet/forge.rb +13 -19
- data/lib/puppet/functions/abs.rb +2 -2
- data/lib/puppet/functions/camelcase.rb +1 -1
- data/lib/puppet/functions/compare.rb +2 -2
- data/lib/puppet/functions/contain.rb +1 -1
- data/lib/puppet/functions/defined.rb +2 -2
- data/lib/puppet/functions/dig.rb +1 -1
- data/lib/puppet/functions/eyaml_lookup_key.rb +11 -13
- data/lib/puppet/functions/get.rb +1 -1
- data/lib/puppet/functions/hocon_data.rb +3 -5
- data/lib/puppet/functions/import.rb +1 -1
- data/lib/puppet/functions/json_data.rb +4 -6
- data/lib/puppet/functions/max.rb +2 -2
- data/lib/puppet/functions/min.rb +2 -2
- data/lib/puppet/functions/new.rb +1 -1
- data/lib/puppet/functions/reduce.rb +6 -10
- data/lib/puppet/functions/regsubst.rb +2 -2
- data/lib/puppet/functions/require.rb +1 -1
- data/lib/puppet/functions/yaml_data.rb +11 -13
- data/lib/puppet/functions.rb +32 -37
- data/lib/puppet/generate/type.rb +2 -2
- data/lib/puppet/gettext/config.rb +9 -9
- data/lib/puppet/graph/rb_tree_map.rb +31 -23
- data/lib/puppet/graph/relationship_graph.rb +12 -12
- data/lib/puppet/graph/simple_graph.rb +8 -10
- data/lib/puppet/http/client.rb +1 -1
- data/lib/puppet/http/dns.rb +4 -4
- data/lib/puppet/http/external_client.rb +1 -1
- data/lib/puppet/http/factory.rb +1 -1
- data/lib/puppet/http/proxy.rb +15 -15
- data/lib/puppet/http/redirector.rb +6 -2
- data/lib/puppet/http/resolver.rb +2 -2
- data/lib/puppet/http/retry_after_handler.rb +2 -2
- data/lib/puppet/http/service/ca.rb +1 -1
- data/lib/puppet/http/service/compiler.rb +4 -4
- data/lib/puppet/http/service/file_server.rb +1 -1
- data/lib/puppet/http/service/report.rb +2 -2
- data/lib/puppet/http/service.rb +9 -13
- data/lib/puppet/http/session.rb +1 -1
- data/lib/puppet/http/site.rb +1 -1
- data/lib/puppet/indirector/catalog/compiler.rb +44 -45
- data/lib/puppet/indirector/catalog/rest.rb +7 -5
- data/lib/puppet/indirector/catalog/store_configs.rb +1 -1
- data/lib/puppet/indirector/exec.rb +2 -2
- data/lib/puppet/indirector/face.rb +7 -9
- data/lib/puppet/indirector/fact_search.rb +1 -1
- data/lib/puppet/indirector/facts/facter.rb +6 -6
- data/lib/puppet/indirector/facts/json.rb +1 -1
- data/lib/puppet/indirector/facts/store_configs.rb +1 -1
- data/lib/puppet/indirector/file_bucket_file/file.rb +17 -17
- data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -3
- data/lib/puppet/indirector/file_content/rest.rb +1 -1
- data/lib/puppet/indirector/file_metadata/rest.rb +1 -1
- data/lib/puppet/indirector/hiera.rb +1 -1
- data/lib/puppet/indirector/indirection.rb +27 -29
- data/lib/puppet/indirector/json.rb +4 -4
- data/lib/puppet/indirector/memory.rb +2 -2
- data/lib/puppet/indirector/msgpack.rb +5 -5
- data/lib/puppet/indirector/node/store_configs.rb +1 -1
- data/lib/puppet/indirector/none.rb +1 -1
- data/lib/puppet/indirector/report/json.rb +1 -1
- data/lib/puppet/indirector/report/yaml.rb +1 -1
- data/lib/puppet/indirector/request.rb +4 -4
- data/lib/puppet/indirector/resource/ral.rb +2 -4
- data/lib/puppet/indirector/resource/store_configs.rb +1 -1
- data/lib/puppet/indirector/terminus.rb +4 -4
- data/lib/puppet/indirector/yaml.rb +3 -3
- data/lib/puppet/info_service/class_information_service.rb +5 -8
- data/lib/puppet/info_service/task_information_service.rb +6 -7
- data/lib/puppet/interface/action.rb +5 -5
- data/lib/puppet/interface/action_manager.rb +5 -5
- data/lib/puppet/interface/documentation.rb +5 -5
- data/lib/puppet/interface/face_collection.rb +7 -7
- data/lib/puppet/interface/option.rb +2 -2
- data/lib/puppet/interface/option_manager.rb +6 -6
- data/lib/puppet/interface.rb +4 -4
- data/lib/puppet/metatype/manager.rb +2 -2
- data/lib/puppet/module/plan.rb +10 -10
- data/lib/puppet/module/task.rb +8 -8
- data/lib/puppet/module.rb +39 -41
- data/lib/puppet/module_tool/applications/application.rb +10 -8
- data/lib/puppet/module_tool/applications/installer.rb +53 -50
- data/lib/puppet/module_tool/applications/unpacker.rb +6 -8
- data/lib/puppet/module_tool/applications/upgrader.rb +37 -34
- data/lib/puppet/module_tool/checksums.rb +2 -2
- data/lib/puppet/module_tool/dependency.rb +1 -1
- data/lib/puppet/module_tool/errors/base.rb +1 -1
- data/lib/puppet/module_tool/install_directory.rb +1 -1
- data/lib/puppet/module_tool/local_tarball.rb +3 -5
- data/lib/puppet/module_tool/metadata.rb +12 -8
- data/lib/puppet/module_tool/shared_behaviors.rb +27 -12
- data/lib/puppet/module_tool/tar/mini.rb +3 -3
- data/lib/puppet/module_tool.rb +4 -4
- data/lib/puppet/network/client_request.rb +5 -3
- data/lib/puppet/network/format.rb +2 -2
- data/lib/puppet/network/format_support.rb +1 -1
- data/lib/puppet/network/formats.rb +1 -1
- data/lib/puppet/network/http/api/indirected_routes.rb +24 -44
- data/lib/puppet/network/http/api/server/v3.rb +1 -1
- data/lib/puppet/network/http/connection.rb +1 -1
- data/lib/puppet/network/http/handler.rb +8 -12
- data/lib/puppet/network/http/request.rb +1 -1
- data/lib/puppet/network/http/route.rb +9 -9
- data/lib/puppet/node/environment.rb +21 -23
- data/lib/puppet/node/facts.rb +1 -1
- data/lib/puppet/node.rb +5 -5
- data/lib/puppet/pal/json_catalog_encoder.rb +1 -1
- data/lib/puppet/pal/pal_impl.rb +48 -50
- data/lib/puppet/pal/plan_signature.rb +1 -1
- data/lib/puppet/pal/task_signature.rb +1 -1
- data/lib/puppet/parameter/package_options.rb +1 -1
- data/lib/puppet/parameter/value.rb +2 -2
- data/lib/puppet/parameter/value_collection.rb +7 -7
- data/lib/puppet/parameter.rb +8 -9
- data/lib/puppet/parser/ast/block_expression.rb +2 -2
- data/lib/puppet/parser/ast/hostclass.rb +1 -1
- data/lib/puppet/parser/ast/pops_bridge.rb +3 -4
- data/lib/puppet/parser/ast/resource.rb +4 -4
- data/lib/puppet/parser/ast/resourceparam.rb +4 -4
- data/lib/puppet/parser/ast.rb +14 -15
- data/lib/puppet/parser/compiler.rb +26 -28
- data/lib/puppet/parser/functions/create_resources.rb +3 -3
- data/lib/puppet/parser/functions/fail.rb +1 -1
- data/lib/puppet/parser/functions/generate.rb +2 -2
- data/lib/puppet/parser/functions/tag.rb +1 -1
- data/lib/puppet/parser/functions.rb +2 -2
- data/lib/puppet/parser/relationship.rb +3 -1
- data/lib/puppet/parser/resource/param.rb +2 -2
- data/lib/puppet/parser/resource.rb +23 -23
- data/lib/puppet/parser/scope.rb +10 -10
- data/lib/puppet/parser/script_compiler.rb +1 -1
- data/lib/puppet/parser/templatewrapper.rb +1 -1
- data/lib/puppet/parser/type_loader.rb +10 -12
- data/lib/puppet/parser.rb +1 -1
- data/lib/puppet/pops/adaptable.rb +1 -1
- data/lib/puppet/pops/evaluator/access_operator.rb +8 -8
- data/lib/puppet/pops/evaluator/callable_signature.rb +4 -4
- data/lib/puppet/pops/evaluator/collector_transformer.rb +4 -4
- data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +7 -7
- data/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +6 -6
- data/lib/puppet/pops/evaluator/compare_operator.rb +10 -10
- data/lib/puppet/pops/evaluator/deferred_resolver.rb +1 -1
- data/lib/puppet/pops/evaluator/epp_evaluator.rb +2 -2
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +56 -60
- data/lib/puppet/pops/evaluator/relationship_operator.rb +2 -2
- data/lib/puppet/pops/evaluator/runtime3_converter.rb +3 -3
- data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
- data/lib/puppet/pops/functions/dispatcher.rb +3 -3
- data/lib/puppet/pops/functions/function.rb +14 -16
- data/lib/puppet/pops/issue_reporter.rb +2 -2
- data/lib/puppet/pops/label_provider.rb +2 -2
- data/lib/puppet/pops/loader/dependency_loader.rb +3 -3
- data/lib/puppet/pops/loader/loader.rb +4 -4
- data/lib/puppet/pops/loader/loader_paths.rb +3 -3
- data/lib/puppet/pops/loader/module_loaders.rb +11 -11
- data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +1 -1
- data/lib/puppet/pops/loader/ruby_function_instantiator.rb +1 -1
- data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +5 -1
- data/lib/puppet/pops/loader/static_loader.rb +3 -3
- data/lib/puppet/pops/loaders.rb +3 -3
- data/lib/puppet/pops/lookup/data_dig_function_provider.rb +1 -1
- data/lib/puppet/pops/lookup/explainer.rb +2 -2
- data/lib/puppet/pops/lookup/global_data_provider.rb +1 -1
- data/lib/puppet/pops/lookup/hiera_config.rb +15 -11
- data/lib/puppet/pops/lookup/interpolation.rb +3 -3
- data/lib/puppet/pops/lookup/key_recorder.rb +1 -1
- data/lib/puppet/pops/lookup/location_resolver.rb +1 -1
- data/lib/puppet/pops/lookup/lookup_adapter.rb +7 -7
- data/lib/puppet/pops/lookup/sub_lookup.rb +1 -1
- data/lib/puppet/pops/merge_strategy.rb +6 -6
- data/lib/puppet/pops/migration/migration_checker.rb +1 -1
- data/lib/puppet/pops/model/ast_transformer.rb +9 -11
- data/lib/puppet/pops/model/factory.rb +4 -5
- data/lib/puppet/pops/parser/epp_parser.rb +2 -2
- data/lib/puppet/pops/parser/epp_support.rb +1 -1
- data/lib/puppet/pops/parser/evaluating_parser.rb +2 -2
- data/lib/puppet/pops/parser/heredoc_support.rb +4 -4
- data/lib/puppet/pops/parser/interpolation_support.rb +3 -3
- data/lib/puppet/pops/parser/lexer2.rb +20 -12
- data/lib/puppet/pops/parser/lexer_support.rb +1 -1
- data/lib/puppet/pops/parser/locator.rb +4 -4
- data/lib/puppet/pops/parser/parser_support.rb +12 -14
- data/lib/puppet/pops/parser/pn_parser.rb +3 -3
- data/lib/puppet/pops/parser/slurp_support.rb +8 -8
- data/lib/puppet/pops/patterns.rb +12 -12
- data/lib/puppet/pops/pcore.rb +1 -1
- data/lib/puppet/pops/pn.rb +2 -2
- data/lib/puppet/pops/puppet_stack.rb +1 -1
- data/lib/puppet/pops/resource/resource_type_impl.rb +1 -1
- data/lib/puppet/pops/serialization/abstract_reader.rb +2 -2
- data/lib/puppet/pops/serialization/abstract_writer.rb +3 -3
- data/lib/puppet/pops/time/timestamp.rb +1 -1
- data/lib/puppet/pops/types/class_loader.rb +4 -6
- data/lib/puppet/pops/types/iterable.rb +1 -1
- data/lib/puppet/pops/types/p_binary_type.rb +1 -1
- data/lib/puppet/pops/types/p_init_type.rb +1 -1
- data/lib/puppet/pops/types/p_object_type.rb +5 -5
- data/lib/puppet/pops/types/p_object_type_extension.rb +4 -6
- data/lib/puppet/pops/types/p_sem_ver_range_type.rb +1 -1
- data/lib/puppet/pops/types/p_sensitive_type.rb +1 -1
- data/lib/puppet/pops/types/p_timespan_type.rb +2 -2
- data/lib/puppet/pops/types/p_type_set_type.rb +10 -10
- data/lib/puppet/pops/types/p_uri_type.rb +4 -4
- data/lib/puppet/pops/types/recursion_guard.rb +4 -4
- data/lib/puppet/pops/types/ruby_generator.rb +2 -2
- data/lib/puppet/pops/types/string_converter.rb +12 -8
- data/lib/puppet/pops/types/tree_iterators.rb +4 -6
- data/lib/puppet/pops/types/type_calculator.rb +10 -10
- data/lib/puppet/pops/types/type_factory.rb +7 -3
- data/lib/puppet/pops/types/type_formatter.rb +22 -24
- data/lib/puppet/pops/types/type_mismatch_describer.rb +24 -24
- data/lib/puppet/pops/types/types.rb +28 -24
- data/lib/puppet/pops/utils.rb +38 -42
- data/lib/puppet/pops/validation/checker4_0.rb +10 -10
- data/lib/puppet/pops/validation/tasks_checker.rb +1 -1
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -1
- data/lib/puppet/pops/validation.rb +4 -4
- data/lib/puppet/pops/visitor.rb +2 -2
- data/lib/puppet/property/ensure.rb +12 -14
- data/lib/puppet/property/keyvalue.rb +4 -4
- data/lib/puppet/property/list.rb +4 -4
- data/lib/puppet/property/ordered_list.rb +1 -1
- data/lib/puppet/property.rb +31 -33
- data/lib/puppet/provider/exec.rb +2 -2
- data/lib/puppet/provider/file/posix.rb +19 -17
- data/lib/puppet/provider/file/windows.rb +13 -19
- data/lib/puppet/provider/group/directoryservice.rb +3 -2
- data/lib/puppet/provider/group/groupadd.rb +4 -4
- data/lib/puppet/provider/group/windows_adsi.rb +2 -2
- data/lib/puppet/provider/nameservice/directoryservice.rb +29 -29
- data/lib/puppet/provider/nameservice/objectadd.rb +2 -4
- data/lib/puppet/provider/nameservice/pw.rb +1 -2
- data/lib/puppet/provider/nameservice.rb +8 -8
- data/lib/puppet/provider/package/aix.rb +19 -19
- data/lib/puppet/provider/package/appdmg.rb +2 -2
- data/lib/puppet/provider/package/apple.rb +1 -1
- data/lib/puppet/provider/package/apt.rb +18 -18
- data/lib/puppet/provider/package/aptitude.rb +1 -3
- data/lib/puppet/provider/package/aptrpm.rb +9 -9
- data/lib/puppet/provider/package/blastwave.rb +10 -14
- data/lib/puppet/provider/package/dnfmodule.rb +3 -3
- data/lib/puppet/provider/package/dpkg.rb +11 -13
- data/lib/puppet/provider/package/fink.rb +14 -14
- data/lib/puppet/provider/package/freebsd.rb +1 -1
- data/lib/puppet/provider/package/gem.rb +12 -14
- data/lib/puppet/provider/package/macports.rb +2 -2
- data/lib/puppet/provider/package/nim.rb +10 -10
- data/lib/puppet/provider/package/openbsd.rb +22 -22
- data/lib/puppet/provider/package/opkg.rb +6 -6
- data/lib/puppet/provider/package/pacman.rb +35 -29
- data/lib/puppet/provider/package/pip.rb +25 -24
- data/lib/puppet/provider/package/pkg.rb +15 -15
- data/lib/puppet/provider/package/pkgdmg.rb +10 -10
- data/lib/puppet/provider/package/pkgin.rb +2 -2
- data/lib/puppet/provider/package/pkgng.rb +5 -5
- data/lib/puppet/provider/package/pkgutil.rb +17 -21
- data/lib/puppet/provider/package/portage.rb +59 -61
- data/lib/puppet/provider/package/ports.rb +12 -11
- data/lib/puppet/provider/package/portupgrade.rb +35 -35
- data/lib/puppet/provider/package/puppetserver_gem.rb +10 -9
- data/lib/puppet/provider/package/rpm.rb +26 -26
- data/lib/puppet/provider/package/rug.rb +7 -9
- data/lib/puppet/provider/package/sun.rb +4 -4
- data/lib/puppet/provider/package/up2date.rb +5 -7
- data/lib/puppet/provider/package/urpmi.rb +6 -6
- data/lib/puppet/provider/package/windows/exe_package.rb +7 -7
- data/lib/puppet/provider/package/windows/msi_package.rb +3 -3
- data/lib/puppet/provider/package/windows/package.rb +2 -2
- data/lib/puppet/provider/package/windows.rb +3 -5
- data/lib/puppet/provider/package/yum.rb +33 -37
- data/lib/puppet/provider/package/zypper.rb +12 -14
- data/lib/puppet/provider/package.rb +1 -1
- data/lib/puppet/provider/package_targetable.rb +1 -1
- data/lib/puppet/provider/parsedfile.rb +9 -9
- data/lib/puppet/provider/service/base.rb +16 -21
- data/lib/puppet/provider/service/bsd.rb +4 -4
- data/lib/puppet/provider/service/daemontools.rb +31 -31
- data/lib/puppet/provider/service/debian.rb +6 -6
- data/lib/puppet/provider/service/freebsd.rb +36 -36
- data/lib/puppet/provider/service/gentoo.rb +6 -6
- data/lib/puppet/provider/service/init.rb +19 -19
- data/lib/puppet/provider/service/launchd.rb +22 -22
- data/lib/puppet/provider/service/openbsd.rb +10 -10
- data/lib/puppet/provider/service/openrc.rb +1 -1
- data/lib/puppet/provider/service/openwrt.rb +3 -3
- data/lib/puppet/provider/service/rcng.rb +3 -3
- data/lib/puppet/provider/service/redhat.rb +4 -4
- data/lib/puppet/provider/service/runit.rb +6 -6
- data/lib/puppet/provider/service/service.rb +5 -7
- data/lib/puppet/provider/service/smf.rb +28 -27
- data/lib/puppet/provider/service/src.rb +7 -7
- data/lib/puppet/provider/service/systemd.rb +31 -37
- data/lib/puppet/provider/service/upstart.rb +17 -17
- data/lib/puppet/provider/service/windows.rb +7 -7
- data/lib/puppet/provider/user/aix.rb +4 -2
- data/lib/puppet/provider/user/directoryservice.rb +34 -36
- data/lib/puppet/provider/user/hpux.rb +10 -14
- data/lib/puppet/provider/user/pw.rb +1 -1
- data/lib/puppet/provider/user/user_role_add.rb +16 -18
- data/lib/puppet/provider/user/useradd.rb +7 -7
- data/lib/puppet/provider/user/windows_adsi.rb +1 -1
- data/lib/puppet/provider.rb +8 -8
- data/lib/puppet/reference/indirection.rb +3 -0
- data/lib/puppet/reference/metaparameter.rb +1 -1
- data/lib/puppet/reference/providers.rb +3 -3
- data/lib/puppet/reference/type.rb +1 -1
- data/lib/puppet/relationship.rb +4 -5
- data/lib/puppet/reports/http.rb +1 -1
- data/lib/puppet/reports/log.rb +2 -2
- data/lib/puppet/reports/store.rb +4 -4
- data/lib/puppet/reports.rb +2 -2
- data/lib/puppet/resource/catalog.rb +16 -16
- data/lib/puppet/resource/status.rb +3 -3
- data/lib/puppet/resource/type.rb +8 -8
- data/lib/puppet/resource/type_collection.rb +1 -1
- data/lib/puppet/resource.rb +41 -41
- data/lib/puppet/scheduler/scheduler.rb +1 -1
- data/lib/puppet/settings/alias_setting.rb +3 -5
- data/lib/puppet/settings/base_setting.rb +11 -11
- data/lib/puppet/settings/boolean_setting.rb +2 -2
- data/lib/puppet/settings/config_file.rb +5 -4
- data/lib/puppet/settings/duration_setting.rb +2 -2
- data/lib/puppet/settings/environment_conf.rb +3 -3
- data/lib/puppet/settings/file_or_directory_setting.rb +2 -2
- data/lib/puppet/settings/file_setting.rb +11 -11
- data/lib/puppet/settings/ini_file.rb +3 -3
- data/lib/puppet/settings/port_setting.rb +1 -1
- data/lib/puppet/settings/priority_setting.rb +2 -2
- data/lib/puppet/settings/ttl_setting.rb +2 -2
- data/lib/puppet/settings/value_translator.rb +8 -8
- data/lib/puppet/settings.rb +65 -70
- data/lib/puppet/ssl/base.rb +2 -4
- data/lib/puppet/ssl/certificate_request.rb +18 -22
- data/lib/puppet/ssl/certificate_request_attributes.rb +3 -3
- data/lib/puppet/ssl/oids.rb +2 -2
- data/lib/puppet/ssl/openssl_loader.rb +4 -4
- data/lib/puppet/syntax_checkers/base64.rb +3 -3
- data/lib/puppet/syntax_checkers/epp.rb +3 -3
- data/lib/puppet/syntax_checkers/json.rb +3 -3
- data/lib/puppet/syntax_checkers/pp.rb +3 -3
- data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
- data/lib/puppet/transaction/event.rb +2 -2
- data/lib/puppet/transaction/event_manager.rb +5 -5
- data/lib/puppet/transaction/persistence.rb +12 -14
- data/lib/puppet/transaction/report.rb +4 -4
- data/lib/puppet/transaction/resource_harness.rb +2 -2
- data/lib/puppet/transaction.rb +14 -18
- data/lib/puppet/type/component.rb +3 -3
- data/lib/puppet/type/exec.rb +43 -45
- data/lib/puppet/type/file/checksum_value.rb +1 -1
- data/lib/puppet/type/file/content.rb +6 -6
- data/lib/puppet/type/file/ctime.rb +2 -2
- data/lib/puppet/type/file/data_sync.rb +3 -3
- data/lib/puppet/type/file/ensure.rb +16 -15
- data/lib/puppet/type/file/mode.rb +9 -9
- data/lib/puppet/type/file/mtime.rb +2 -2
- data/lib/puppet/type/file/selcontext.rb +14 -14
- data/lib/puppet/type/file/source.rb +19 -21
- data/lib/puppet/type/file/target.rb +11 -11
- data/lib/puppet/type/file.rb +21 -21
- data/lib/puppet/type/filebucket.rb +3 -3
- data/lib/puppet/type/group.rb +3 -3
- data/lib/puppet/type/notify.rb +2 -2
- data/lib/puppet/type/package.rb +4 -4
- data/lib/puppet/type/resources.rb +6 -6
- data/lib/puppet/type/schedule.rb +9 -9
- data/lib/puppet/type/service.rb +6 -8
- data/lib/puppet/type/tidy.rb +22 -24
- data/lib/puppet/type/user.rb +13 -13
- data/lib/puppet/type.rb +76 -88
- data/lib/puppet/util/at_fork/solaris.rb +33 -37
- data/lib/puppet/util/autoload.rb +2 -2
- data/lib/puppet/util/backups.rb +9 -9
- data/lib/puppet/util/character_encoding.rb +7 -6
- data/lib/puppet/util/checksums.rb +2 -2
- data/lib/puppet/util/classgen.rb +8 -8
- data/lib/puppet/util/colors.rb +1 -1
- data/lib/puppet/util/command_line/puppet_option_parser.rb +1 -1
- data/lib/puppet/util/command_line/trollop.rb +42 -46
- data/lib/puppet/util/command_line.rb +2 -2
- data/lib/puppet/util/constant_inflector.rb +2 -2
- data/lib/puppet/util/diff.rb +19 -21
- data/lib/puppet/util/docs.rb +2 -2
- data/lib/puppet/util/errors.rb +9 -9
- data/lib/puppet/util/execution.rb +32 -9
- data/lib/puppet/util/feature.rb +1 -1
- data/lib/puppet/util/fileparsing.rb +12 -16
- data/lib/puppet/util/filetype.rb +36 -40
- data/lib/puppet/util/inifile.rb +6 -12
- data/lib/puppet/util/ldap/connection.rb +1 -1
- data/lib/puppet/util/ldap/manager.rb +10 -12
- data/lib/puppet/util/lockfile.rb +6 -8
- data/lib/puppet/util/log/destination.rb +2 -2
- data/lib/puppet/util/log/destinations.rb +4 -4
- data/lib/puppet/util/log.rb +12 -9
- data/lib/puppet/util/logging.rb +11 -11
- data/lib/puppet/util/metric.rb +3 -3
- data/lib/puppet/util/monkey_patches.rb +5 -7
- data/lib/puppet/util/network_device/config.rb +3 -3
- data/lib/puppet/util/package/version/debian.rb +27 -28
- data/lib/puppet/util/package/version/pip.rb +5 -5
- data/lib/puppet/util/package/version/range/eq.rb +1 -1
- data/lib/puppet/util/package/version/rpm.rb +1 -1
- data/lib/puppet/util/package.rb +2 -2
- data/lib/puppet/util/pidlock.rb +2 -2
- data/lib/puppet/util/platform.rb +1 -1
- data/lib/puppet/util/plist.rb +8 -10
- data/lib/puppet/util/posix.rb +17 -17
- data/lib/puppet/util/profiler/aggregate.rb +1 -1
- data/lib/puppet/util/provider_features.rb +3 -3
- data/lib/puppet/util/rdoc/code_objects.rb +3 -3
- data/lib/puppet/util/rdoc/generators/puppet_generator.rb +63 -64
- data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +23 -23
- data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +12 -12
- data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -1
- data/lib/puppet/util/rdoc/parser.rb +1 -1
- data/lib/puppet/util/reference.rb +13 -9
- data/lib/puppet/util/retry_action.rb +1 -1
- data/lib/puppet/util/rpm_compare.rb +17 -18
- data/lib/puppet/util/rubygems.rb +1 -1
- data/lib/puppet/util/selinux.rb +7 -7
- data/lib/puppet/util/storage.rb +10 -12
- data/lib/puppet/util/suidmanager.rb +18 -19
- data/lib/puppet/util/symbolic_file_mode.rb +71 -75
- data/lib/puppet/util/tag_set.rb +2 -2
- data/lib/puppet/util/tagging.rb +8 -10
- data/lib/puppet/util/terminal.rb +4 -4
- data/lib/puppet/util/user_attr.rb +7 -7
- data/lib/puppet/util/watcher.rb +3 -5
- data/lib/puppet/util/windows/access_control_list.rb +1 -1
- data/lib/puppet/util/windows/adsi.rb +42 -42
- data/lib/puppet/util/windows/daemon.rb +64 -68
- data/lib/puppet/util/windows/error.rb +2 -2
- data/lib/puppet/util/windows/file.rb +18 -25
- data/lib/puppet/util/windows/monkey_patches/process.rb +1 -1
- data/lib/puppet/util/windows/principal.rb +8 -8
- data/lib/puppet/util/windows/process.rb +16 -28
- data/lib/puppet/util/windows/registry.rb +16 -15
- data/lib/puppet/util/windows/root_certs.rb +2 -2
- data/lib/puppet/util/windows/security.rb +31 -31
- data/lib/puppet/util/windows/service.rb +11 -11
- data/lib/puppet/util/windows/sid.rb +8 -8
- data/lib/puppet/util/windows/user.rb +18 -20
- data/lib/puppet/util/yaml.rb +1 -1
- data/lib/puppet/util.rb +55 -46
- data/lib/puppet/version.rb +2 -2
- data/lib/puppet/x509/pem_store.rb +1 -1
- data/lib/puppet.rb +3 -3
- data/man/man5/puppet.conf.5 +10 -2
- data/man/man8/puppet-agent.8 +1 -1
- data/man/man8/puppet-apply.8 +1 -1
- data/man/man8/puppet-catalog.8 +1 -1
- data/man/man8/puppet-config.8 +1 -1
- data/man/man8/puppet-describe.8 +1 -1
- data/man/man8/puppet-device.8 +1 -1
- data/man/man8/puppet-doc.8 +1 -1
- data/man/man8/puppet-epp.8 +1 -1
- data/man/man8/puppet-facts.8 +1 -1
- data/man/man8/puppet-filebucket.8 +1 -1
- data/man/man8/puppet-generate.8 +1 -1
- data/man/man8/puppet-help.8 +1 -1
- data/man/man8/puppet-lookup.8 +1 -1
- data/man/man8/puppet-module.8 +1 -1
- data/man/man8/puppet-node.8 +1 -1
- data/man/man8/puppet-parser.8 +1 -1
- data/man/man8/puppet-plugin.8 +1 -1
- data/man/man8/puppet-report.8 +1 -1
- data/man/man8/puppet-resource.8 +5 -1
- data/man/man8/puppet-script.8 +1 -1
- data/man/man8/puppet-ssl.8 +1 -1
- data/man/man8/puppet.8 +2 -2
- metadata +2 -2
@@ -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([
|
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 =
|
34
|
-
|
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
|
-
|
37
|
-
|
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 =
|
54
|
-
|
53
|
+
value = rcvar[1]
|
54
|
+
error("No rcvar value found in rcvar") if value.nil?
|
55
55
|
value = value.gsub!(/(.*)(_enable)?="?(\w+)"?/, '\3')
|
56
|
-
|
57
|
-
|
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 =
|
64
|
-
rcvar =
|
65
|
-
|
66
|
-
|
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
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
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,
|
92
|
+
File.open(rcconf_dir + "/#{service}", File::WRONLY | File::APPEND | File::CREAT, 0o644) { |f|
|
93
93
|
f << append
|
94
|
-
|
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
|
-
|
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,
|
104
|
+
File.open(rcconf, File::WRONLY | File::APPEND | File::CREAT, 0o644) { |f|
|
105
105
|
f << append
|
106
|
-
|
106
|
+
debug("Appended to #{f.path}")
|
107
107
|
}
|
108
108
|
end
|
109
109
|
end
|
110
110
|
|
111
111
|
def enabled?
|
112
|
-
if /YES$/ =~
|
113
|
-
|
112
|
+
if /YES$/ =~ rcvar_value
|
113
|
+
debug("Is enabled")
|
114
114
|
return :true
|
115
115
|
end
|
116
|
-
|
116
|
+
debug("Is disabled")
|
117
117
|
:false
|
118
118
|
end
|
119
119
|
|
120
120
|
def enable
|
121
|
-
|
122
|
-
|
121
|
+
debug("Enabling")
|
122
|
+
rc_edit("YES")
|
123
123
|
end
|
124
124
|
|
125
125
|
def disable
|
126
|
-
|
127
|
-
|
126
|
+
debug("Disabling")
|
127
|
+
rc_edit("NO")
|
128
128
|
end
|
129
129
|
|
130
130
|
def startcmd
|
131
|
-
[
|
131
|
+
[initscript, :onestart]
|
132
132
|
end
|
133
133
|
|
134
134
|
def stopcmd
|
135
|
-
[
|
135
|
+
[initscript, :onestop]
|
136
136
|
end
|
137
137
|
|
138
138
|
def statuscmd
|
139
|
-
[
|
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 #{
|
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
|
-
|
36
|
+
:true
|
37
37
|
else
|
38
|
-
|
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 #{
|
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 => [
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
72
|
-
excludes += %w
|
73
|
-
excludes += %w
|
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(
|
79
|
+
get_services(defpath)
|
80
80
|
end
|
81
81
|
|
82
|
-
def self.get_services(defpath, exclude =
|
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 ||=
|
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
|
-
|
130
|
+
debug "Search path #{path} is not a directory"
|
131
131
|
else
|
132
|
-
|
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
|
-
|
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
|
-
|
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
|
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 =
|
111
|
-
@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
|
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
|
-
|
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
|
-
|
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
|
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
|
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
|
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
|
-
|
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
|
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
|
-
|
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
|
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
|
-
|
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
|
-
|
323
|
+
stop
|
324
324
|
Puppet.debug("Starting the #{resource[:name]} service")
|
325
|
-
|
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
|
-
|
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
|
-
|
60
|
-
|
59
|
+
debug("Is disabled")
|
60
|
+
:false
|
61
61
|
else
|
62
|
-
|
63
|
-
|
62
|
+
debug("Is enabled")
|
63
|
+
:true
|
64
64
|
end
|
65
65
|
end
|
66
66
|
|
67
67
|
def enable
|
68
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
91
|
+
debug("Flags are: \"#{output}\"")
|
92
92
|
output
|
93
93
|
end
|
94
94
|
|
95
95
|
def flags=(value)
|
96
|
-
|
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] ==
|
43
|
+
return enabled if @resource[:name] == Regexp.last_match(1)
|
44
44
|
end
|
45
45
|
end
|
46
46
|
:false
|
@@ -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(
|
21
|
+
system(initscript, 'enable')
|
22
22
|
end
|
23
23
|
|
24
24
|
def disable
|
25
|
-
system(
|
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
|
-
|
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)
|
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,
|
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,
|
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' => [
|
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' => [
|
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 #{
|
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 #{
|
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",
|
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",
|
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:
|
89
|
+
Puppet.info _("Waiting 5 seconds for runsvdir to discover service %{service}") % { service: service }
|
90
90
|
sleep 5
|
91
91
|
end
|
92
|
-
sv "start",
|
92
|
+
sv "start", service
|
93
93
|
end
|
94
94
|
|
95
95
|
def restart
|
96
|
-
sv "restart",
|
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(
|
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
|
-
|
17
|
-
|
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
|
-
|
51
|
-
|
52
|
-
|
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.
|