puppet 8.5.1-x64-mingw32 → 8.6.0-x64-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
@@ -74,7 +74,7 @@ class Puppet::Application::FaceBase < Puppet::Application
|
|
74
74
|
# non-option word to use as the action.
|
75
75
|
action_name = nil
|
76
76
|
index = -1
|
77
|
-
until action_name or (index += 1) >= command_line.args.length
|
77
|
+
until action_name or (index += 1) >= command_line.args.length
|
78
78
|
item = command_line.args[index]
|
79
79
|
if item =~ /^-/
|
80
80
|
option = @face.options.find do |name|
|
@@ -88,7 +88,7 @@ class Puppet::Application::FaceBase < Puppet::Application
|
|
88
88
|
# when we get there. --daniel 2011-04-04
|
89
89
|
if option.takes_argument? and !item.index('=')
|
90
90
|
index += 1 unless
|
91
|
-
|
91
|
+
option.optional_argument? and command_line.args[index + 1] =~ /^-/
|
92
92
|
end
|
93
93
|
else
|
94
94
|
option = find_global_settings_argument(item)
|
@@ -103,9 +103,9 @@ class Puppet::Application::FaceBase < Puppet::Application
|
|
103
103
|
else
|
104
104
|
option = find_application_argument(item)
|
105
105
|
if option
|
106
|
-
index += 1 if
|
106
|
+
index += 1 if option[:argument] and !(option[:optional])
|
107
107
|
else
|
108
|
-
raise OptionParser::InvalidOption
|
108
|
+
raise OptionParser::InvalidOption, item.sub(/=.*$/, '')
|
109
109
|
end
|
110
110
|
end
|
111
111
|
end
|
@@ -164,7 +164,7 @@ class Puppet::Application::FaceBase < Puppet::Application
|
|
164
164
|
pattern.match item and return object
|
165
165
|
end
|
166
166
|
end
|
167
|
-
|
167
|
+
nil # nothing found.
|
168
168
|
end
|
169
169
|
|
170
170
|
def find_application_argument(item)
|
@@ -181,7 +181,7 @@ class Puppet::Application::FaceBase < Puppet::Application
|
|
181
181
|
}
|
182
182
|
end
|
183
183
|
end
|
184
|
-
|
184
|
+
nil # not found
|
185
185
|
end
|
186
186
|
|
187
187
|
def setup
|
@@ -205,7 +205,7 @@ class Puppet::Application::FaceBase < Puppet::Application
|
|
205
205
|
@arguments << options
|
206
206
|
|
207
207
|
# If we don't have a rendering format, set one early.
|
208
|
-
self.render_as ||=
|
208
|
+
self.render_as ||= @action.render_as || :console
|
209
209
|
end
|
210
210
|
|
211
211
|
def main
|
@@ -213,7 +213,7 @@ class Puppet::Application::Filebucket < Puppet::Application
|
|
213
213
|
def run_command
|
214
214
|
@args = command_line.args
|
215
215
|
command = args.shift
|
216
|
-
return send(command) if %w
|
216
|
+
return send(command) if %w[get backup restore diff list].include? command
|
217
217
|
|
218
218
|
help
|
219
219
|
end
|
@@ -8,7 +8,7 @@ require_relative '../../puppet/parser/compiler'
|
|
8
8
|
class Puppet::Application::Lookup < Puppet::Application
|
9
9
|
RUN_HELP = _("Run 'puppet lookup --help' for more details").freeze
|
10
10
|
DEEP_MERGE_OPTIONS = '--knock-out-prefix, --sort-merged-arrays, and --merge-hash-arrays'
|
11
|
-
TRUSTED_INFORMATION_FACTS = [
|
11
|
+
TRUSTED_INFORMATION_FACTS = %w[hostname domain fqdn clientcert].freeze
|
12
12
|
|
13
13
|
run_mode :server
|
14
14
|
|
@@ -354,7 +354,7 @@ class Puppet::Application::Lookup < Puppet::Application
|
|
354
354
|
given_facts = Puppet::Util::Yaml.safe_load_file(fact_file)
|
355
355
|
else
|
356
356
|
given_facts = Puppet::Util::Json.load_file_if_valid(fact_file)
|
357
|
-
given_facts
|
357
|
+
given_facts ||= Puppet::Util::Yaml.safe_load_file_if_valid(fact_file)
|
358
358
|
end
|
359
359
|
|
360
360
|
unless given_facts.instance_of?(Hash)
|
@@ -369,7 +369,9 @@ class Puppet::Application::Lookup < Puppet::Application
|
|
369
369
|
end
|
370
370
|
end
|
371
371
|
|
372
|
-
|
372
|
+
if node.is_a?(Puppet::Node)
|
373
|
+
node.add_extra_facts(given_facts) if given_facts
|
374
|
+
else # to allow unit tests to pass a node instance
|
373
375
|
facts = retrieve_node_facts(node, given_facts)
|
374
376
|
ni = Puppet::Node.indirection
|
375
377
|
tc = ni.terminus_class
|
@@ -399,8 +401,6 @@ class Puppet::Application::Lookup < Puppet::Application
|
|
399
401
|
node = ni.find(node, facts: facts, environment: Puppet[:environment])
|
400
402
|
ni.terminus_class = tc
|
401
403
|
end
|
402
|
-
else
|
403
|
-
node.add_extra_facts(given_facts) if given_facts
|
404
404
|
end
|
405
405
|
node.environment = Puppet[:environment] if Puppet.settings.set_by_cli?(:environment)
|
406
406
|
Puppet[:code] = 'undef' unless options[:compile]
|
@@ -15,6 +15,7 @@ class Puppet::Application::Resource < Puppet::Application
|
|
15
15
|
option("--verbose", "-v")
|
16
16
|
option("--edit", "-e")
|
17
17
|
option("--to_yaml", "-y")
|
18
|
+
option('--fail', '-f')
|
18
19
|
|
19
20
|
option("--types", "-t") do |_arg|
|
20
21
|
env = Puppet.lookup(:environments).get(Puppet[:environment]) || create_default_environment
|
@@ -109,6 +110,9 @@ class Puppet::Application::Resource < Puppet::Application
|
|
109
110
|
Output found resources in yaml format, suitable to use with Hiera and
|
110
111
|
create_resources.
|
111
112
|
|
113
|
+
* --fail:
|
114
|
+
Fails and returns an exit code of 1 if the resource could not be modified.
|
115
|
+
|
112
116
|
EXAMPLE
|
113
117
|
-------
|
114
118
|
This example uses `puppet resource` to return a Puppet configuration for
|
@@ -207,7 +211,7 @@ class Puppet::Application::Resource < Puppet::Application
|
|
207
211
|
params = {}
|
208
212
|
args.each do |setting|
|
209
213
|
if setting =~ /^(\w+)=(.+)$/
|
210
|
-
params[
|
214
|
+
params[::Regexp.last_match(1)] = ::Regexp.last_match(2)
|
211
215
|
else
|
212
216
|
raise _("Invalid parameter setting %{setting}") % { setting: setting }
|
213
217
|
end
|
@@ -236,8 +240,11 @@ class Puppet::Application::Resource < Puppet::Application
|
|
236
240
|
resource = Puppet::Resource.new(type, name, :parameters => params)
|
237
241
|
|
238
242
|
# save returns [resource that was saved, transaction log from applying the resource]
|
239
|
-
save_result = Puppet::Resource.indirection.save(resource, key)
|
240
|
-
[
|
243
|
+
save_result, report = Puppet::Resource.indirection.save(resource, key)
|
244
|
+
status = report.resource_statuses[resource.ref]
|
245
|
+
raise "Failed to manage resource #{resource.ref}" if status&.failed? && options[:fail]
|
246
|
+
|
247
|
+
[save_result]
|
241
248
|
end
|
242
249
|
else
|
243
250
|
if type == "file"
|
@@ -160,7 +160,7 @@ class Puppet::Application::Ssl < Puppet::Application
|
|
160
160
|
|
161
161
|
clean(certname)
|
162
162
|
when 'bootstrap'
|
163
|
-
|
163
|
+
unless Puppet::Util::Log.sendlevel?(:info)
|
164
164
|
Puppet::Util::Log.level = :info
|
165
165
|
end
|
166
166
|
@machine.ensure_client_certificate
|
@@ -192,7 +192,7 @@ class Puppet::Application::Ssl < Puppet::Application
|
|
192
192
|
Puppet.notice _("Submitted certificate request for '%{name}' to %{url}") % { name: Puppet[:certname], url: route.url }
|
193
193
|
rescue Puppet::HTTP::ResponseError => e
|
194
194
|
if e.response.code == 400
|
195
|
-
raise Puppet::Error
|
195
|
+
raise Puppet::Error, _("Could not submit certificate request for '%{name}' to %{url} due to a conflict on the server") % { name: Puppet[:certname], url: route.url }
|
196
196
|
else
|
197
197
|
raise Puppet::Error.new(_("Failed to submit certificate request: %{message}") % { message: e.message }, e)
|
198
198
|
end
|
@@ -234,7 +234,7 @@ class Puppet::Application::Ssl < Puppet::Application
|
|
234
234
|
cert
|
235
235
|
rescue Puppet::HTTP::ResponseError => e
|
236
236
|
if e.response.code == 404
|
237
|
-
|
237
|
+
nil
|
238
238
|
else
|
239
239
|
raise Puppet::Error.new(_("Failed to download certificate: %{message}") % { message: e.message }, e)
|
240
240
|
end
|
data/lib/puppet/application.rb
CHANGED
@@ -180,14 +180,14 @@ class Application
|
|
180
180
|
def option(*options, &block)
|
181
181
|
long = options.find { |opt| opt =~ /^--/ }.gsub(/^--(?:\[no-\])?([^ =]+).*$/, '\1').tr('-', '_')
|
182
182
|
fname = "handle_#{long}".intern
|
183
|
-
if
|
183
|
+
if block_given?
|
184
184
|
define_method(fname, &block)
|
185
185
|
else
|
186
186
|
define_method(fname) do |value|
|
187
|
-
self.options[
|
187
|
+
self.options[long.to_s.to_sym] = value
|
188
188
|
end
|
189
189
|
end
|
190
|
-
|
190
|
+
option_parser_commands << [options, fname]
|
191
191
|
end
|
192
192
|
|
193
193
|
def banner(banner = nil)
|
@@ -242,7 +242,7 @@ class Application
|
|
242
242
|
#### eventually we need to issue a deprecation warning here,
|
243
243
|
#### and then get rid of this stanza in a subsequent release.
|
244
244
|
################################################################
|
245
|
-
if
|
245
|
+
if clazz.nil?
|
246
246
|
class_name = application_name.capitalize
|
247
247
|
clazz = try_load_class(class_name)
|
248
248
|
end
|
@@ -251,17 +251,17 @@ class Application
|
|
251
251
|
################################################################
|
252
252
|
|
253
253
|
if clazz.nil?
|
254
|
-
raise Puppet::Error
|
254
|
+
raise Puppet::Error, _("Unable to load application class '%{class_name}' from file 'puppet/application/%{application_name}.rb'") % { class_name: class_name, application_name: application_name }
|
255
255
|
end
|
256
256
|
|
257
|
-
|
257
|
+
clazz
|
258
258
|
end
|
259
259
|
|
260
260
|
# Given the fully qualified name of a class, attempt to get the class instance.
|
261
261
|
# @param [String] class_name the fully qualified name of the class to try to load
|
262
262
|
# @return [Class] the Class instance, or nil? if it could not be loaded.
|
263
263
|
def try_load_class(class_name)
|
264
|
-
|
264
|
+
const_defined?(class_name) ? const_get(class_name) : nil
|
265
265
|
end
|
266
266
|
private :try_load_class
|
267
267
|
|
@@ -284,7 +284,7 @@ class Application
|
|
284
284
|
Puppet.settings.preferred_run_mode = mode_name
|
285
285
|
end
|
286
286
|
|
287
|
-
return @run_mode if @run_mode and
|
287
|
+
return @run_mode if @run_mode and !mode_name
|
288
288
|
|
289
289
|
require_relative '../puppet/util/run_mode'
|
290
290
|
@run_mode = Puppet::Util::RunMode[mode_name || Puppet.settings.preferred_run_mode]
|
@@ -330,7 +330,7 @@ class Application
|
|
330
330
|
# See also `lib/puppet/util/command_line.rb` for some special case early
|
331
331
|
# handling of this.
|
332
332
|
option("--version", "-V") do |_arg|
|
333
|
-
puts
|
333
|
+
puts Puppet.version
|
334
334
|
exit(0)
|
335
335
|
end
|
336
336
|
|
@@ -452,7 +452,7 @@ class Application
|
|
452
452
|
# @return [void]
|
453
453
|
# @api public
|
454
454
|
def setup_logs
|
455
|
-
handle_logdest_arg(Puppet[:logdest])
|
455
|
+
handle_logdest_arg(Puppet[:logdest]) unless options[:setdest]
|
456
456
|
|
457
457
|
unless options[:setdest]
|
458
458
|
if options[:debug] || options[:verbose]
|
@@ -481,12 +481,10 @@ class Application
|
|
481
481
|
Puppet[:logdest] = arg
|
482
482
|
|
483
483
|
logdest.each do |dest|
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
Puppet.log_and_raise(detail, _("Could not set logdest to %{dest}.") % { dest: arg })
|
489
|
-
end
|
484
|
+
Puppet::Util::Log.newdestination(dest)
|
485
|
+
options[:setdest] = true
|
486
|
+
rescue => detail
|
487
|
+
Puppet.log_and_raise(detail, _("Could not set logdest to %{dest}.") % { dest: arg })
|
490
488
|
end
|
491
489
|
end
|
492
490
|
|
@@ -555,14 +553,14 @@ class Application
|
|
555
553
|
self.class.option_parser_commands.each do |options, fname|
|
556
554
|
option_parser.on(*options) do |value|
|
557
555
|
# Call the method that "option()" created.
|
558
|
-
|
556
|
+
send(fname, value)
|
559
557
|
end
|
560
558
|
end
|
561
559
|
|
562
560
|
# Scan command line. We just hand any exceptions to our upper levels,
|
563
561
|
# rather than printing help and exiting, so that we can meaningfully
|
564
562
|
# respond with context-sensitive help if we want to. --daniel 2011-04-12
|
565
|
-
option_parser.parse!(
|
563
|
+
option_parser.parse!(command_line.args)
|
566
564
|
end
|
567
565
|
|
568
566
|
def handlearg(opt, val)
|
data/lib/puppet/coercion.rb
CHANGED
@@ -20,7 +20,7 @@ class Puppet::Configurer::Downloader
|
|
20
20
|
if first_failure
|
21
21
|
event = (first_failure.events || []).first
|
22
22
|
detail = event ? event.message : 'unknown'
|
23
|
-
raise Puppet::Error
|
23
|
+
raise Puppet::Error, _("Failed to retrieve %{name}: %{detail}") % { name: name, detail: detail }
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
@@ -40,7 +40,12 @@ class Puppet::Configurer::Downloader
|
|
40
40
|
end
|
41
41
|
|
42
42
|
def initialize(name, path, source, ignore = nil, environment = nil, source_permissions = :ignore)
|
43
|
-
@name
|
43
|
+
@name = name
|
44
|
+
@path = path
|
45
|
+
@source = source
|
46
|
+
@ignore = ignore
|
47
|
+
@environment = environment
|
48
|
+
@source_permissions = source_permissions
|
44
49
|
end
|
45
50
|
|
46
51
|
def file
|
@@ -77,10 +82,10 @@ class Puppet::Configurer::Downloader
|
|
77
82
|
:noop => false,
|
78
83
|
:max_files => -1
|
79
84
|
}
|
80
|
-
|
85
|
+
unless Puppet::Util::Platform.windows?
|
81
86
|
defargs[:owner] = Process.uid
|
82
87
|
defargs[:group] = Process.gid
|
83
88
|
end
|
84
|
-
|
89
|
+
defargs
|
85
90
|
end
|
86
91
|
end
|
@@ -13,20 +13,19 @@ module Puppet::Configurer::FactHandler
|
|
13
13
|
# This works because puppet agent configures Facts to use 'facter' for
|
14
14
|
# finding facts and the 'rest' terminus for caching them. Thus, we'll
|
15
15
|
# compile them and then "cache" them on the server.
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
end
|
22
|
-
facts
|
23
|
-
rescue SystemExit, NoMemoryError
|
24
|
-
raise
|
25
|
-
rescue Exception => detail
|
26
|
-
message = _("Could not retrieve local facts: %{detail}") % { detail: detail }
|
27
|
-
Puppet.log_exception(detail, message)
|
28
|
-
raise Puppet::Error, message, detail.backtrace
|
16
|
+
|
17
|
+
facts = Puppet::Node::Facts.indirection.find(Puppet[:node_name_value], :environment => Puppet::Node::Environment.remote(@environment))
|
18
|
+
unless Puppet[:node_name_fact].empty?
|
19
|
+
Puppet[:node_name_value] = facts.values[Puppet[:node_name_fact]]
|
20
|
+
facts.name = Puppet[:node_name_value]
|
29
21
|
end
|
22
|
+
facts
|
23
|
+
rescue SystemExit, NoMemoryError
|
24
|
+
raise
|
25
|
+
rescue Exception => detail
|
26
|
+
message = _("Could not retrieve local facts: %{detail}") % { detail: detail }
|
27
|
+
Puppet.log_exception(detail, message)
|
28
|
+
raise Puppet::Error, message, detail.backtrace
|
30
29
|
end
|
31
30
|
|
32
31
|
def facts_for_uploading
|
data/lib/puppet/configurer.rb
CHANGED
@@ -83,8 +83,8 @@ class Puppet::Configurer
|
|
83
83
|
else
|
84
84
|
result = retrieve_new_catalog(facts, query_options)
|
85
85
|
|
86
|
-
|
87
|
-
|
86
|
+
unless result
|
87
|
+
unless Puppet[:usecacheonfailure]
|
88
88
|
Puppet.warning _("Not using cache on failed catalog")
|
89
89
|
return nil
|
90
90
|
end
|
@@ -390,7 +390,7 @@ class Puppet::Configurer
|
|
390
390
|
configured_environment = Puppet[:environment] if Puppet.settings.set_by_config?(:environment)
|
391
391
|
|
392
392
|
# We only need to find out the environment to run in if we don't already have a catalog
|
393
|
-
unless
|
393
|
+
unless cached_catalog || options[:catalog] || Puppet.settings.set_by_cli?(:environment) || Puppet[:strict_environment_mode]
|
394
394
|
Puppet.debug(_("Environment not passed via CLI and no catalog was given, attempting to find out the last server-specified environment"))
|
395
395
|
initial_environment, loaded_last_environment = last_server_specified_environment
|
396
396
|
|
@@ -442,7 +442,7 @@ class Puppet::Configurer
|
|
442
442
|
# facts may be used to determine which catalog we get, we need to
|
443
443
|
# rerun the process if the environment is changed.
|
444
444
|
tries = 0
|
445
|
-
while catalog.environment and
|
445
|
+
while catalog.environment and !catalog.environment.empty? and catalog.environment != @environment
|
446
446
|
if tries > 3
|
447
447
|
raise Puppet::Error, _("Catalog environment didn't stabilize after %{tries} fetches, aborting run") % { tries: tries }
|
448
448
|
end
|
@@ -505,7 +505,7 @@ class Puppet::Configurer
|
|
505
505
|
true
|
506
506
|
rescue => detail
|
507
507
|
Puppet.log_exception(detail, _("Failed to apply catalog: %{detail}") % { detail: detail })
|
508
|
-
|
508
|
+
nil
|
509
509
|
ensure
|
510
510
|
execute_postrun_command or return nil # rubocop:disable Lint/EnsureReturn
|
511
511
|
end
|
@@ -536,7 +536,7 @@ class Puppet::Configurer
|
|
536
536
|
rescue Puppet::HTTP::ResponseError => detail
|
537
537
|
if detail.response.code == 404
|
538
538
|
if Puppet[:strict_environment_mode]
|
539
|
-
raise Puppet::Error
|
539
|
+
raise Puppet::Error, _("Environment '%{environment}' not found on server, aborting run.") % { environment: @environment }
|
540
540
|
else
|
541
541
|
Puppet.notice(_("Environment '%{environment}' not found on server, skipping initial pluginsync.") % { environment: @environment })
|
542
542
|
end
|
@@ -675,12 +675,12 @@ class Puppet::Configurer
|
|
675
675
|
|
676
676
|
puppet.put_facts(facts.name, facts: facts, environment: Puppet.lookup(:current_environment).name.to_s)
|
677
677
|
|
678
|
-
|
678
|
+
true
|
679
679
|
rescue => detail
|
680
680
|
Puppet.log_exception(detail, _("Failed to submit facts: %{detail}") %
|
681
681
|
{ detail: detail })
|
682
682
|
|
683
|
-
|
683
|
+
false
|
684
684
|
end
|
685
685
|
|
686
686
|
private
|
@@ -722,7 +722,7 @@ class Puppet::Configurer
|
|
722
722
|
result
|
723
723
|
rescue => detail
|
724
724
|
Puppet.log_exception(detail, _("Could not retrieve catalog from cache: %{detail}") % { detail: detail })
|
725
|
-
|
725
|
+
nil
|
726
726
|
end
|
727
727
|
|
728
728
|
def retrieve_new_catalog(facts, query_options)
|
@@ -744,18 +744,16 @@ class Puppet::Configurer
|
|
744
744
|
result
|
745
745
|
rescue StandardError => detail
|
746
746
|
Puppet.log_exception(detail, _("Could not retrieve catalog from remote server: %{detail}") % { detail: detail })
|
747
|
-
|
747
|
+
nil
|
748
748
|
end
|
749
749
|
|
750
750
|
def download_plugins(remote_environment_for_plugins)
|
751
|
-
|
752
|
-
|
753
|
-
|
754
|
-
|
755
|
-
|
756
|
-
|
757
|
-
raise detail
|
758
|
-
end
|
751
|
+
@handler.download_plugins(remote_environment_for_plugins)
|
752
|
+
rescue Puppet::Error => detail
|
753
|
+
if !Puppet[:ignore_plugin_errors] && Puppet[:usecacheonfailure]
|
754
|
+
@running_failure = true
|
755
|
+
else
|
756
|
+
raise detail
|
759
757
|
end
|
760
758
|
end
|
761
759
|
end
|
@@ -4,7 +4,7 @@ require_relative '../../puppet/confine'
|
|
4
4
|
|
5
5
|
class Puppet::Confine::Feature < Puppet::Confine
|
6
6
|
def self.summarize(confines)
|
7
|
-
confines.collect
|
7
|
+
confines.collect(&:values).flatten.uniq.find_all { |value| !confines[0].pass?(value) }
|
8
8
|
end
|
9
9
|
|
10
10
|
# Is the named feature available?
|
@@ -29,7 +29,7 @@ class Puppet::Confine::Variable < Puppet::Confine
|
|
29
29
|
end
|
30
30
|
|
31
31
|
def message(value)
|
32
|
-
"facter value '#{test_value}' for '#{
|
32
|
+
"facter value '#{test_value}' for '#{name}' not in required list '#{values.join(',')}'"
|
33
33
|
end
|
34
34
|
|
35
35
|
# Compare the passed-in value to the retrieved value.
|
data/lib/puppet/confine.rb
CHANGED
@@ -31,7 +31,7 @@ class Puppet::Confine
|
|
31
31
|
Puppet.warning("Could not load confine test '#{name}': #{detail}")
|
32
32
|
end
|
33
33
|
# Could not find file
|
34
|
-
|
34
|
+
unless Puppet[:always_retry_plugins]
|
35
35
|
@tests[name] = nil
|
36
36
|
end
|
37
37
|
end
|
@@ -75,7 +75,7 @@ class Puppet::Confine
|
|
75
75
|
end
|
76
76
|
end
|
77
77
|
|
78
|
-
|
78
|
+
true
|
79
79
|
ensure
|
80
80
|
reset
|
81
81
|
end
|
data/lib/puppet/confiner.rb
CHANGED
@@ -33,7 +33,7 @@ module Puppet::Confiner
|
|
33
33
|
# @api private
|
34
34
|
#
|
35
35
|
def confine_collection
|
36
|
-
@confine_collection ||= Puppet::ConfineCollection.new(
|
36
|
+
@confine_collection ||= Puppet::ConfineCollection.new(to_s)
|
37
37
|
end
|
38
38
|
|
39
39
|
# Checks whether this implementation is suitable for the current platform (or returns a summary
|
@@ -43,6 +43,6 @@ module Puppet::Confiner
|
|
43
43
|
# @api public
|
44
44
|
#
|
45
45
|
def suitable?(short = true)
|
46
|
-
|
46
|
+
(short ? confine_collection.valid? : confine_collection.summary)
|
47
47
|
end
|
48
48
|
end
|
data/lib/puppet/daemon.rb
CHANGED
@@ -68,7 +68,7 @@ class Puppet::Daemon
|
|
68
68
|
Puppet.debug("Finished closing streams for daemon mode")
|
69
69
|
rescue => detail
|
70
70
|
Puppet.err "Could not start #{Puppet.run_mode.name}: #{detail}"
|
71
|
-
Puppet::Util.replace_file("/tmp/daemonout",
|
71
|
+
Puppet::Util.replace_file("/tmp/daemonout", 0o644) do |f|
|
72
72
|
f.puts "Could not start #{Puppet.run_mode.name}: #{detail}"
|
73
73
|
end
|
74
74
|
exit(12)
|
@@ -83,7 +83,7 @@ class Puppet::Daemon
|
|
83
83
|
def reexec
|
84
84
|
raise Puppet::DevError, _("Cannot reexec unless ARGV arguments are set") unless argv
|
85
85
|
|
86
|
-
command = $
|
86
|
+
command = $PROGRAM_NAME + " " + argv.join(" ")
|
87
87
|
Puppet.notice "Restarting with '#{command}'"
|
88
88
|
stop(:exit => false)
|
89
89
|
exec(command)
|
@@ -115,7 +115,7 @@ class Puppet::Daemon
|
|
115
115
|
end
|
116
116
|
|
117
117
|
# extended signals not supported under windows
|
118
|
-
|
118
|
+
unless Puppet::Util::Platform.windows?
|
119
119
|
signals = { :HUP => :restart, :USR1 => :reload, :USR2 => :reopen_logs }
|
120
120
|
signals.each do |signal, method|
|
121
121
|
Signal.trap(signal) do
|
data/lib/puppet/datatypes.rb
CHANGED
@@ -128,12 +128,11 @@ module Puppet::DataTypes
|
|
128
128
|
# and it will fail unless protected with an if defined? if the local
|
129
129
|
# variable does not exist in the block's binder.
|
130
130
|
#
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
end
|
131
|
+
|
132
|
+
loader = block.binding.eval('loader_injected_arg if defined?(loader_injected_arg)')
|
133
|
+
create_loaded_type(type_name, loader, &block)
|
134
|
+
rescue StandardError => e
|
135
|
+
raise ArgumentError, _("Data Type Load Error for type '%{type_name}': %{message}") % { type_name: type_name, message: e.message }
|
137
136
|
end
|
138
137
|
|
139
138
|
def self.create_loaded_type(type_name, loader, &block)
|
data/lib/puppet/defaults.rb
CHANGED
@@ -77,7 +77,7 @@ module Puppet
|
|
77
77
|
# see the docs for Settings.define_settings
|
78
78
|
############################################################################################
|
79
79
|
|
80
|
-
AS_DURATION =
|
80
|
+
AS_DURATION = 'This setting can be a time interval in seconds (30 or 30s), minutes (30m), hours (6h), days (2d), or years (5y).'
|
81
81
|
|
82
82
|
# @api public
|
83
83
|
# @param args [Puppet::Settings] the settings object to define default settings for
|
@@ -132,7 +132,7 @@ module Puppet
|
|
132
132
|
:log_level => {
|
133
133
|
:default => 'notice',
|
134
134
|
:type => :enum,
|
135
|
-
:values => [
|
135
|
+
:values => %w[debug info notice warning err alert emerg crit],
|
136
136
|
:desc => "Default logging level for messages from Puppet. Allowed values are:
|
137
137
|
|
138
138
|
* debug
|
@@ -166,12 +166,18 @@ module Puppet
|
|
166
166
|
values = munge(value)
|
167
167
|
valid = %w[deprecations undefined_variables undefined_resources]
|
168
168
|
invalid = values - (values & valid)
|
169
|
-
|
169
|
+
unless invalid.empty?
|
170
170
|
raise ArgumentError, _("Cannot disable unrecognized warning types '%{invalid}'.") % { invalid: invalid.join(',') } +
|
171
171
|
' ' + _("Valid values are '%{values}'.") % { values: valid.join(', ') }
|
172
172
|
end
|
173
173
|
end
|
174
174
|
},
|
175
|
+
:skip_logging_catalog_request_destination => {
|
176
|
+
:default => false,
|
177
|
+
:type => :boolean,
|
178
|
+
:desc => "If you wish to suppress the notice of which compiler supplied the
|
179
|
+
catalog",
|
180
|
+
},
|
175
181
|
:merge_dependency_warnings => {
|
176
182
|
:default => false,
|
177
183
|
:type => :boolean,
|
@@ -489,7 +495,7 @@ module Puppet
|
|
489
495
|
},
|
490
496
|
:daemonize => {
|
491
497
|
:type => :boolean,
|
492
|
-
:default =>
|
498
|
+
:default => !Puppet::Util::Platform.windows?,
|
493
499
|
:desc => "Whether to send the process into the background. This defaults
|
494
500
|
to true on POSIX systems, and to false on Windows (where Puppet
|
495
501
|
currently cannot daemonize).",
|
@@ -501,7 +507,7 @@ module Puppet
|
|
501
507
|
end
|
502
508
|
},
|
503
509
|
:maximum_uid => {
|
504
|
-
:default =>
|
510
|
+
:default => 4_294_967_290,
|
505
511
|
:type => :integer,
|
506
512
|
:desc => "The maximum allowed UID. Some platforms use negative UIDs
|
507
513
|
but then ship with tools that do not know how to handle signed ints,
|
@@ -650,7 +656,7 @@ module Puppet
|
|
650
656
|
:http_proxy_password =>{
|
651
657
|
:default => "none",
|
652
658
|
:hook => proc do |value|
|
653
|
-
if value =~
|
659
|
+
if value =~ %r{[@!# /]}
|
654
660
|
raise "Passwords set in the http_proxy_password setting must be valid as part of a URL, and any reserved characters must be URL-encoded. We received: #{value}"
|
655
661
|
end
|
656
662
|
end,
|
@@ -1104,7 +1110,7 @@ EOT
|
|
1104
1110
|
values = munge(value)
|
1105
1111
|
|
1106
1112
|
invalid = values - Puppet.valid_file_checksum_types
|
1107
|
-
|
1113
|
+
unless invalid.empty?
|
1108
1114
|
raise ArgumentError, _("Invalid value '%{value}' for parameter %{name}. Allowed values are '%{allowed_values}'") % {
|
1109
1115
|
value: invalid.first, name: @name, allowed_values: Puppet.valid_file_checksum_types.join("', '")
|
1110
1116
|
}
|
@@ -1298,7 +1304,7 @@ EOT
|
|
1298
1304
|
:sourceaddress => {
|
1299
1305
|
:default => nil,
|
1300
1306
|
:desc => "The address the agent should use to initiate requests.",
|
1301
|
-
}
|
1307
|
+
}
|
1302
1308
|
)
|
1303
1309
|
|
1304
1310
|
settings.define_settings(:environment,
|