puppet 8.5.1 → 8.6.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
data/lib/puppet/util/filetype.rb
CHANGED
@@ -37,37 +37,33 @@ class Puppet::Util::FileType
|
|
37
37
|
# Rename the read method
|
38
38
|
define_method(:real_read, instance_method(:read))
|
39
39
|
define_method(:read) do
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
return ""
|
47
|
-
end
|
48
|
-
rescue Puppet::Error
|
49
|
-
raise
|
50
|
-
rescue => detail
|
51
|
-
message = _("%{klass} could not read %{path}: %{detail}") % { klass: self.class, path: @path, detail: detail }
|
52
|
-
Puppet.log_exception(detail, message)
|
53
|
-
raise Puppet::Error, message, detail.backtrace
|
40
|
+
val = real_read
|
41
|
+
@loaded = Time.now
|
42
|
+
if val
|
43
|
+
val.gsub(/# HEADER.*\n/, '')
|
44
|
+
else
|
45
|
+
""
|
54
46
|
end
|
47
|
+
rescue Puppet::Error
|
48
|
+
raise
|
49
|
+
rescue => detail
|
50
|
+
message = _("%{klass} could not read %{path}: %{detail}") % { klass: self.class, path: @path, detail: detail }
|
51
|
+
Puppet.log_exception(detail, message)
|
52
|
+
raise Puppet::Error, message, detail.backtrace
|
55
53
|
end
|
56
54
|
|
57
55
|
# And then the write method
|
58
56
|
define_method(:real_write, instance_method(:write))
|
59
57
|
define_method(:write) do |text|
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
raise Puppet::Error, message, detail.backtrace
|
70
|
-
end
|
58
|
+
val = real_write(text)
|
59
|
+
@synced = Time.now
|
60
|
+
val
|
61
|
+
rescue Puppet::Error
|
62
|
+
raise
|
63
|
+
rescue => detail
|
64
|
+
message = _("%{klass} could not write %{path}: %{detail}") % { klass: self.class, path: @path, detail: detail }
|
65
|
+
Puppet.log_exception(detail, message)
|
66
|
+
raise Puppet::Error, message, detail.backtrace
|
71
67
|
end
|
72
68
|
end
|
73
69
|
end
|
@@ -82,7 +78,7 @@ class Puppet::Util::FileType
|
|
82
78
|
end
|
83
79
|
|
84
80
|
def initialize(path, default_mode = nil)
|
85
|
-
raise ArgumentError
|
81
|
+
raise ArgumentError, _("Path is nil") if path.nil?
|
86
82
|
|
87
83
|
@path = path
|
88
84
|
@default_mode = default_mode
|
@@ -114,7 +110,7 @@ class Puppet::Util::FileType
|
|
114
110
|
# being explicitly preserved
|
115
111
|
Puppet::FileSystem.read(@path, :encoding => Encoding.default_external)
|
116
112
|
else
|
117
|
-
|
113
|
+
nil
|
118
114
|
end
|
119
115
|
end
|
120
116
|
|
@@ -206,11 +202,11 @@ class Puppet::Util::FileType
|
|
206
202
|
rescue => detail
|
207
203
|
case detail.to_s
|
208
204
|
when /no crontab for/
|
209
|
-
|
205
|
+
""
|
210
206
|
when /are not allowed to/
|
211
207
|
Puppet.debug _("The %{path} user is not authorized to use cron. Their crontab file is treated as empty in case Puppet authorizes them in the middle of the run (by, for example, modifying the cron.deny or cron.allow files).") % { path: @path }
|
212
208
|
|
213
|
-
|
209
|
+
""
|
214
210
|
else
|
215
211
|
raise FileReadError, _("Could not read crontab for %{path}: %{detail}") % { path: @path, detail: detail }, detail.backtrace
|
216
212
|
end
|
@@ -219,7 +215,7 @@ class Puppet::Util::FileType
|
|
219
215
|
# Remove a specific @path's cron tab.
|
220
216
|
def remove
|
221
217
|
cmd = "#{cmdbase} -r"
|
222
|
-
if %w
|
218
|
+
if %w[Darwin FreeBSD DragonFly].include?(Puppet.runtime[:facter].value('os.name'))
|
223
219
|
cmd = "/bin/echo yes | #{cmd}"
|
224
220
|
end
|
225
221
|
|
@@ -249,9 +245,9 @@ class Puppet::Util::FileType
|
|
249
245
|
# does not think I should be allowed to set the @path to my own user name
|
250
246
|
def cmdbase
|
251
247
|
if @uid == Puppet::Util::SUIDManager.uid || Puppet.runtime[:facter].value('os.name') == "HP-UX"
|
252
|
-
|
248
|
+
"crontab"
|
253
249
|
else
|
254
|
-
|
250
|
+
"crontab -u #{@path}"
|
255
251
|
end
|
256
252
|
end
|
257
253
|
end
|
@@ -267,15 +263,15 @@ class Puppet::Util::FileType
|
|
267
263
|
return ""
|
268
264
|
end
|
269
265
|
|
270
|
-
Puppet::Util::Execution.execute(%w
|
266
|
+
Puppet::Util::Execution.execute(%w[crontab -l], cronargs)
|
271
267
|
rescue => detail
|
272
268
|
case detail.to_s
|
273
269
|
when /can't open your crontab/
|
274
|
-
|
270
|
+
""
|
275
271
|
when /you are not authorized to use cron/
|
276
272
|
Puppet.debug _("The %{path} user is not authorized to use cron. Their crontab file is treated as empty in case Puppet authorizes them in the middle of the run (by, for example, modifying the cron.deny or cron.allow files).") % { path: @path }
|
277
273
|
|
278
|
-
|
274
|
+
""
|
279
275
|
else
|
280
276
|
raise FileReadError, _("Could not read crontab for %{path}: %{detail}") % { path: @path, detail: detail }, detail.backtrace
|
281
277
|
end
|
@@ -283,7 +279,7 @@ class Puppet::Util::FileType
|
|
283
279
|
|
284
280
|
# Remove a specific @path's cron tab.
|
285
281
|
def remove
|
286
|
-
Puppet::Util::Execution.execute(%w
|
282
|
+
Puppet::Util::Execution.execute(%w[crontab -r], cronargs)
|
287
283
|
rescue => detail
|
288
284
|
raise FileReadError, _("Could not remove crontab for %{path}: %{detail}") % { path: @path, detail: detail }, detail.backtrace
|
289
285
|
end
|
@@ -318,15 +314,15 @@ class Puppet::Util::FileType
|
|
318
314
|
return ""
|
319
315
|
end
|
320
316
|
|
321
|
-
Puppet::Util::Execution.execute(%w
|
317
|
+
Puppet::Util::Execution.execute(%w[crontab -l], cronargs)
|
322
318
|
rescue => detail
|
323
319
|
case detail.to_s
|
324
320
|
when /open.*in.*directory/
|
325
|
-
|
321
|
+
""
|
326
322
|
when /not.*authorized.*cron/
|
327
323
|
Puppet.debug _("The %{path} user is not authorized to use cron. Their crontab file is treated as empty in case Puppet authorizes them in the middle of the run (by, for example, modifying the cron.deny or cron.allow files).") % { path: @path }
|
328
324
|
|
329
|
-
|
325
|
+
""
|
330
326
|
else
|
331
327
|
raise FileReadError, _("Could not read crontab for %{path}: %{detail}") % { path: @path, detail: detail }, detail.backtrace
|
332
328
|
end
|
@@ -334,7 +330,7 @@ class Puppet::Util::FileType
|
|
334
330
|
|
335
331
|
# Remove a specific @path's cron tab.
|
336
332
|
def remove
|
337
|
-
Puppet::Util::Execution.execute(%w
|
333
|
+
Puppet::Util::Execution.execute(%w[crontab -r], cronargs)
|
338
334
|
rescue => detail
|
339
335
|
raise FileReadError, _("Could not remove crontab for %{path}: %{detail}") % { path: @path, detail: detail }, detail.backtrace
|
340
336
|
end
|
data/lib/puppet/util/inifile.rb
CHANGED
@@ -73,7 +73,7 @@ module Puppet::Util::IniConfig
|
|
73
73
|
# exists, return nil
|
74
74
|
def [](key)
|
75
75
|
entry = find_entry(key)
|
76
|
-
|
76
|
+
(entry.nil? ? nil : entry[1])
|
77
77
|
end
|
78
78
|
|
79
79
|
# Format the section as text in the way it should be
|
@@ -150,7 +150,7 @@ module Puppet::Util::IniConfig
|
|
150
150
|
)
|
151
151
|
INI_CONTINUATION = /^[ \t\r\n\f]/
|
152
152
|
INI_SECTION_NAME = /^\[([^\]]+)\]/
|
153
|
-
INI_PROPERTY = /^\s*([^\s=]+)\s
|
153
|
+
INI_PROPERTY = /^\s*([^\s=]+)\s*=\s*(.*)$/
|
154
154
|
|
155
155
|
# @api private
|
156
156
|
def parse(text)
|
@@ -184,7 +184,7 @@ module Puppet::Util::IniConfig
|
|
184
184
|
val = match[2].rstrip
|
185
185
|
|
186
186
|
if section.nil?
|
187
|
-
raise IniParseError
|
187
|
+
raise IniParseError, _("Property with key %{key} outside of a section") % { key: key.inspect }
|
188
188
|
end
|
189
189
|
|
190
190
|
section[key] = val
|
@@ -251,7 +251,7 @@ module Puppet::Util::IniConfig
|
|
251
251
|
private
|
252
252
|
|
253
253
|
def section_exists?(name)
|
254
|
-
if
|
254
|
+
if get_section(name)
|
255
255
|
true
|
256
256
|
elsif @file_collection and @file_collection.get_section(name)
|
257
257
|
true
|
@@ -275,9 +275,7 @@ module Puppet::Util::IniConfig
|
|
275
275
|
end
|
276
276
|
|
277
277
|
def store
|
278
|
-
@files.values.each
|
279
|
-
file.store
|
280
|
-
end
|
278
|
+
@files.values.each(&:store)
|
281
279
|
end
|
282
280
|
|
283
281
|
def each_section(&block)
|
@@ -318,11 +316,7 @@ module Puppet::Util::IniConfig
|
|
318
316
|
# Return a file if it's already been defined, create a new file if it hasn't
|
319
317
|
# been defined.
|
320
318
|
def get_physical_file(file)
|
321
|
-
|
322
|
-
@files[file]
|
323
|
-
else
|
324
|
-
new_physical_file(file)
|
325
|
-
end
|
319
|
+
@files[file] || new_physical_file(file)
|
326
320
|
end
|
327
321
|
|
328
322
|
# Create a new physical file and set required attributes on that file.
|
@@ -48,7 +48,7 @@ class Puppet::Util::Ldap::Connection
|
|
48
48
|
|
49
49
|
# Create a per-connection unique name.
|
50
50
|
def name
|
51
|
-
[host, port, user, password, ssl].collect
|
51
|
+
[host, port, user, password, ssl].collect(&:to_s).join("/")
|
52
52
|
end
|
53
53
|
|
54
54
|
# Should we reset the connection?
|
@@ -31,7 +31,7 @@ class Puppet::Util::Ldap::Manager
|
|
31
31
|
attributes = attributes.dup
|
32
32
|
|
33
33
|
# Add the objectclasses
|
34
|
-
attributes["objectClass"] = objectclasses.collect
|
34
|
+
attributes["objectClass"] = objectclasses.collect(&:to_s)
|
35
35
|
attributes["objectClass"] << "top" unless attributes["objectClass"].include?("top")
|
36
36
|
|
37
37
|
attributes[rdn.to_s] = [name]
|
@@ -109,21 +109,19 @@ class Puppet::Util::Ldap::Manager
|
|
109
109
|
|
110
110
|
# Create our normal search filter.
|
111
111
|
def filter
|
112
|
-
|
112
|
+
(objectclasses.length == 1 ? "objectclass=#{objectclasses[0]}" : "(&(objectclass=" + objectclasses.join(")(objectclass=") + "))")
|
113
113
|
end
|
114
114
|
|
115
115
|
# Find the associated entry for a resource. Returns a hash, minus
|
116
116
|
# 'dn', or nil if the entry cannot be found.
|
117
117
|
def find(name)
|
118
118
|
connect do |conn|
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
return entry2provider(result)
|
123
|
-
end
|
124
|
-
rescue
|
125
|
-
return nil
|
119
|
+
conn.search2(dn(name), 0, "objectclass=*") do |result|
|
120
|
+
# Convert to puppet-appropriate attributes
|
121
|
+
return entry2provider(result)
|
126
122
|
end
|
123
|
+
rescue
|
124
|
+
return nil
|
127
125
|
end
|
128
126
|
end
|
129
127
|
|
@@ -153,7 +151,7 @@ class Puppet::Util::Ldap::Manager
|
|
153
151
|
end
|
154
152
|
|
155
153
|
result = [result] unless result.is_a?(Array)
|
156
|
-
result = result.collect
|
154
|
+
result = result.collect(&:to_s)
|
157
155
|
|
158
156
|
values[generator.name] = result
|
159
157
|
end
|
@@ -215,7 +213,7 @@ class Puppet::Util::Ldap::Manager
|
|
215
213
|
result << entry2provider(entry)
|
216
214
|
end
|
217
215
|
end
|
218
|
-
|
216
|
+
(result.empty? ? nil : result)
|
219
217
|
end
|
220
218
|
|
221
219
|
# Update the ldap entry with the desired state.
|
@@ -278,7 +276,7 @@ class Puppet::Util::Ldap::Manager
|
|
278
276
|
# getting rid of :ensure and making sure everything's an array of strings.
|
279
277
|
def ldap_convert(attributes)
|
280
278
|
attributes.reject { |param, value| value == :absent or param == :ensure }.each_with_object({}) do |ary, result|
|
281
|
-
value = (ary[1].is_a?(Array) ? ary[1] : [ary[1]]).collect
|
279
|
+
value = (ary[1].is_a?(Array) ? ary[1] : [ary[1]]).collect(&:to_s)
|
282
280
|
result[ldap_name(ary[0])] = value
|
283
281
|
end
|
284
282
|
end
|
data/lib/puppet/util/lockfile.rb
CHANGED
@@ -25,14 +25,12 @@ class Puppet::Util::Lockfile
|
|
25
25
|
|
26
26
|
# @return [boolean] true if lock is successfully acquired, false otherwise.
|
27
27
|
def lock(lock_data = nil)
|
28
|
-
|
29
|
-
|
30
|
-
fd.print(lock_data)
|
31
|
-
end
|
32
|
-
true
|
33
|
-
rescue Errno::EEXIST
|
34
|
-
false
|
28
|
+
Puppet::FileSystem.exclusive_create(@file_path, nil) do |fd|
|
29
|
+
fd.print(lock_data)
|
35
30
|
end
|
31
|
+
true
|
32
|
+
rescue Errno::EEXIST
|
33
|
+
false
|
36
34
|
end
|
37
35
|
|
38
36
|
def unlock
|
@@ -53,7 +51,7 @@ class Puppet::Util::Lockfile
|
|
53
51
|
# was locked.
|
54
52
|
# @return [String] the data object.
|
55
53
|
def lock_data
|
56
|
-
|
54
|
+
File.read(@file_path) if file_locked?
|
57
55
|
end
|
58
56
|
|
59
57
|
# Private, internal utility method for encapsulating the logic about
|
@@ -19,8 +19,8 @@ Puppet::Util::Log.newdesttype :syslog do
|
|
19
19
|
str = Puppet[:syslogfacility]
|
20
20
|
begin
|
21
21
|
facility = Syslog.const_get("LOG_#{str.upcase}")
|
22
|
-
rescue NameError
|
23
|
-
raise Puppet::Error, _("Invalid syslog facility %{str}") % { str: str },
|
22
|
+
rescue NameError => e
|
23
|
+
raise Puppet::Error, _("Invalid syslog facility %{str}") % { str: str }, e.backtrace
|
24
24
|
end
|
25
25
|
|
26
26
|
@syslog = Syslog.open(name, options, facility)
|
@@ -72,7 +72,7 @@ Puppet::Util::Log.newdesttype :file do
|
|
72
72
|
# We can't just use 'Config.use' here, because they've
|
73
73
|
# specified a "special" destination.
|
74
74
|
unless Puppet::FileSystem.exist?(Puppet::FileSystem.dir(path))
|
75
|
-
FileUtils.mkdir_p(File.dirname(path), :mode =>
|
75
|
+
FileUtils.mkdir_p(File.dirname(path), :mode => 0o755)
|
76
76
|
Puppet.info _("Creating log directory %{dir}") % { dir: File.dirname(path) }
|
77
77
|
end
|
78
78
|
|
@@ -211,7 +211,7 @@ Puppet::Util::Log.newdesttype :eventlog do
|
|
211
211
|
Puppet::Util::Log::DestEventlog::EVENTLOG_ERROR_TYPE = 0x0001
|
212
212
|
Puppet::Util::Log::DestEventlog::EVENTLOG_WARNING_TYPE = 0x0002
|
213
213
|
Puppet::Util::Log::DestEventlog::EVENTLOG_INFORMATION_TYPE = 0x0004
|
214
|
-
Puppet::Util::Log::DestEventlog::EVENTLOG_CHARACTER_LIMIT =
|
214
|
+
Puppet::Util::Log::DestEventlog::EVENTLOG_CHARACTER_LIMIT = 31_838
|
215
215
|
|
216
216
|
def self.suitable?(obj)
|
217
217
|
Puppet::Util::Platform.windows?
|
data/lib/puppet/util/log.rb
CHANGED
@@ -64,7 +64,7 @@ class Puppet::Util::Log
|
|
64
64
|
close(dest)
|
65
65
|
}
|
66
66
|
# TRANSLATORS "Log.close_all" is a method name and should not be translated
|
67
|
-
raise Puppet::DevError
|
67
|
+
raise Puppet::DevError, _("Log.close_all failed to close %{destinations}") % { destinations: @destinations.keys.inspect } unless @destinations.empty?
|
68
68
|
end
|
69
69
|
|
70
70
|
# Flush any log destinations that support such operations.
|
@@ -135,7 +135,7 @@ class Puppet::Util::Log
|
|
135
135
|
klass.match?(dest)
|
136
136
|
end
|
137
137
|
|
138
|
-
if type.respond_to?(:suitable?) and
|
138
|
+
if type.respond_to?(:suitable?) and !type.suitable?(dest)
|
139
139
|
return
|
140
140
|
end
|
141
141
|
|
@@ -224,7 +224,7 @@ class Puppet::Util::Log
|
|
224
224
|
# error scenario.
|
225
225
|
# @return nil
|
226
226
|
def Log.force_flushqueue
|
227
|
-
if
|
227
|
+
if @destinations.empty? and !@queued.empty?
|
228
228
|
newdestination(:console)
|
229
229
|
end
|
230
230
|
flushqueue
|
@@ -257,8 +257,11 @@ class Puppet::Util::Log
|
|
257
257
|
|
258
258
|
def self.setup_default
|
259
259
|
Log.newdestination(
|
260
|
-
|
261
|
-
|
260
|
+
if Puppet.features.syslog?
|
261
|
+
:syslog
|
262
|
+
else
|
263
|
+
Puppet.features.eventlog? ? :eventlog : Puppet[:puppetdlog]
|
264
|
+
end
|
262
265
|
)
|
263
266
|
end
|
264
267
|
|
@@ -309,7 +312,7 @@ class Puppet::Util::Log
|
|
309
312
|
|
310
313
|
tags = args[:tags]
|
311
314
|
if tags
|
312
|
-
tags.each { |t|
|
315
|
+
tags.each { |t| tag(t) }
|
313
316
|
end
|
314
317
|
|
315
318
|
# Don't add these unless defined (preserve 3.x API as much as possible)
|
@@ -333,7 +336,7 @@ class Puppet::Util::Log
|
|
333
336
|
@time = Time.parse(@time)
|
334
337
|
end
|
335
338
|
# Don't add these unless defined (preserve 3.x API as much as possible)
|
336
|
-
%w
|
339
|
+
%w[file line pos issue_code environment node backtrace].each do |name|
|
337
340
|
value = data[name]
|
338
341
|
next unless value
|
339
342
|
|
@@ -342,7 +345,7 @@ class Puppet::Util::Log
|
|
342
345
|
end
|
343
346
|
|
344
347
|
def to_hash
|
345
|
-
|
348
|
+
to_data_hash
|
346
349
|
end
|
347
350
|
|
348
351
|
def to_data_hash
|
@@ -365,7 +368,7 @@ class Puppet::Util::Log
|
|
365
368
|
'tags' => @tags.to_a,
|
366
369
|
'time' => @time.iso8601(9),
|
367
370
|
}
|
368
|
-
%w
|
371
|
+
%w[file line pos issue_code environment node backtrace].each do |name|
|
369
372
|
attr_name = "@#{name}"
|
370
373
|
hash[name] = instance_variable_get(attr_name) if instance_variable_defined?(attr_name)
|
371
374
|
end
|
data/lib/puppet/util/logging.rb
CHANGED
@@ -160,7 +160,7 @@ module Logging
|
|
160
160
|
file = options[:file]
|
161
161
|
line = options[:line]
|
162
162
|
# TRANSLATORS the literals ":file", ":line", and ":key" should not be translated
|
163
|
-
raise Puppet::DevError, _("Need either :file and :line, or :key") if
|
163
|
+
raise Puppet::DevError, _("Need either :file and :line, or :key") if key.nil? && (file.nil? || line.nil?)
|
164
164
|
|
165
165
|
key ||= "#{file}:#{line}"
|
166
166
|
issue_deprecation_warning(message, key, file, line, false)
|
@@ -183,7 +183,7 @@ module Logging
|
|
183
183
|
|
184
184
|
$unique_warnings ||= {}
|
185
185
|
if $unique_warnings.length < 100 then
|
186
|
-
|
186
|
+
unless $unique_warnings.has_key?(key) then
|
187
187
|
$unique_warnings[key] = message
|
188
188
|
call_trace = if file == :default and line == :default
|
189
189
|
# Suppress the file and line number output
|
@@ -238,16 +238,16 @@ module Logging
|
|
238
238
|
|
239
239
|
# Deprecation messages are UTF-8 as they are produced by Ruby
|
240
240
|
Puppet::FileSystem.open(deprecations_file, nil, "a:UTF-8") do |f|
|
241
|
-
if
|
241
|
+
if $deprecation_warnings then
|
242
242
|
$deprecation_warnings.each do |offender, message|
|
243
|
-
if
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
243
|
+
next if $logged_deprecation_warnings.has_key?(offender)
|
244
|
+
|
245
|
+
$logged_deprecation_warnings[offender] = true
|
246
|
+
next unless pattern.nil? || (message =~ pattern)
|
247
|
+
|
248
|
+
f.puts(message)
|
249
|
+
f.puts(offender)
|
250
|
+
f.puts()
|
251
251
|
end
|
252
252
|
end
|
253
253
|
end
|
data/lib/puppet/util/metric.rb
CHANGED
@@ -36,9 +36,9 @@ class Puppet::Util::Metric
|
|
36
36
|
def [](name)
|
37
37
|
value = @values.find { |v| v[0] == name }
|
38
38
|
if value
|
39
|
-
|
39
|
+
value[2]
|
40
40
|
else
|
41
|
-
|
41
|
+
0
|
42
42
|
end
|
43
43
|
end
|
44
44
|
|
@@ -51,7 +51,7 @@ class Puppet::Util::Metric
|
|
51
51
|
end
|
52
52
|
|
53
53
|
def newvalue(name, value, label = nil)
|
54
|
-
raise ArgumentError
|
54
|
+
raise ArgumentError, "metric name #{name.inspect} is not a string" unless name.is_a? String
|
55
55
|
|
56
56
|
label ||= self.class.labelize(name)
|
57
57
|
@values.push [name, label, value]
|
@@ -17,7 +17,7 @@ module RDoc
|
|
17
17
|
def self.caller(skip = nil)
|
18
18
|
in_gem_wrapper = false
|
19
19
|
Kernel.caller.reject { |call|
|
20
|
-
in_gem_wrapper ||= call =~ /#{Regexp.escape $
|
20
|
+
in_gem_wrapper ||= call =~ /#{Regexp.escape $PROGRAM_NAME}:\d+:in `load'/
|
21
21
|
}
|
22
22
|
end
|
23
23
|
end
|
@@ -82,12 +82,10 @@ if Puppet::Util::Platform.windows?
|
|
82
82
|
unless @puppet_certs_loaded
|
83
83
|
@puppet_certs_loaded = true
|
84
84
|
|
85
|
-
Puppet::Util::Windows::RootCerts.instance.to_a.uniq
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
warn "Failed to add #{x509.subject.to_utf8}"
|
90
|
-
end
|
85
|
+
Puppet::Util::Windows::RootCerts.instance.to_a.uniq(&:to_der).each do |x509|
|
86
|
+
add_cert(x509)
|
87
|
+
rescue OpenSSL::X509::StoreError
|
88
|
+
warn "Failed to add #{x509.subject.to_utf8}"
|
91
89
|
end
|
92
90
|
end
|
93
91
|
|
@@ -6,7 +6,7 @@ require_relative '../../../puppet/util/network_device'
|
|
6
6
|
|
7
7
|
class Puppet::Util::NetworkDevice::Config
|
8
8
|
def self.main
|
9
|
-
@main ||=
|
9
|
+
@main ||= new
|
10
10
|
end
|
11
11
|
|
12
12
|
def self.devices
|
@@ -51,7 +51,7 @@ class Puppet::Util::NetworkDevice::Config
|
|
51
51
|
file_line_count += 1
|
52
52
|
next
|
53
53
|
when /^\[([\w.-]+)\]\s*$/ # [device.fqdn]
|
54
|
-
name =
|
54
|
+
name = ::Regexp.last_match(1)
|
55
55
|
name.chomp!
|
56
56
|
if devices.include?(name)
|
57
57
|
file_error_location = Puppet::Util::Errors.error_location(nil, file_line_count)
|
@@ -66,7 +66,7 @@ class Puppet::Util::NetworkDevice::Config
|
|
66
66
|
Puppet.debug "found device: #{device.name} at #{device.line}"
|
67
67
|
devices[name] = device
|
68
68
|
when /^\s*(type|url|debug)(\s+(.+)\s*)*$/
|
69
|
-
parse_directive(device,
|
69
|
+
parse_directive(device, ::Regexp.last_match(1), ::Regexp.last_match(3), file_line_count)
|
70
70
|
else
|
71
71
|
error_location_str = Puppet::Util::Errors.error_location(nil, file_line_count)
|
72
72
|
raise Puppet::Error, _("Invalid entry at %{error_location}: %{file_text}") %
|
@@ -110,42 +110,41 @@ module Puppet::Util::Package::Version
|
|
110
110
|
mine_index += mytilde.length
|
111
111
|
yours_index += yourstilde.length
|
112
112
|
|
113
|
-
|
113
|
+
next unless cmp == 0 # handle letters
|
114
114
|
|
115
|
-
|
116
|
-
|
115
|
+
_mymatch, myletters = *match_letters(mine.slice(mine_index..-1))
|
116
|
+
myletters ||= ''
|
117
117
|
|
118
|
-
|
119
|
-
|
118
|
+
_yoursmatch, yoursletters = *match_letters(yours.slice(yours_index..-1))
|
119
|
+
yoursletters ||= ''
|
120
120
|
|
121
|
-
|
122
|
-
|
123
|
-
|
121
|
+
cmp = myletters <=> yoursletters
|
122
|
+
mine_index += myletters.length
|
123
|
+
yours_index += yoursletters.length
|
124
124
|
|
125
|
-
|
126
|
-
_mymatch, mynon_letters = *match_non_letters(mine.slice(mine_index..-1))
|
127
|
-
mynon_letters ||= ''
|
125
|
+
next unless cmp == 0 # handle nonletters except tilde
|
128
126
|
|
129
|
-
|
130
|
-
|
127
|
+
_mymatch, mynon_letters = *match_non_letters(mine.slice(mine_index..-1))
|
128
|
+
mynon_letters ||= ''
|
131
129
|
|
132
|
-
|
133
|
-
|
134
|
-
yours_index += yoursnon_letters.length
|
130
|
+
_yoursmatch, yoursnon_letters = *match_non_letters(yours.slice(yours_index..-1))
|
131
|
+
yoursnon_letters ||= ''
|
135
132
|
|
136
|
-
|
137
|
-
|
138
|
-
|
133
|
+
cmp = mynon_letters <=> yoursnon_letters
|
134
|
+
mine_index += mynon_letters.length
|
135
|
+
yours_index += yoursnon_letters.length
|
139
136
|
|
140
|
-
|
141
|
-
yoursdigits ||= ''
|
137
|
+
next unless cmp == 0 # handle digits
|
142
138
|
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
139
|
+
_mymatch, mydigits = *match_digits(mine.slice(mine_index..-1))
|
140
|
+
mydigits ||= ''
|
141
|
+
|
142
|
+
_yoursmatch, yoursdigits = *match_digits(yours.slice(yours_index..-1))
|
143
|
+
yoursdigits ||= ''
|
144
|
+
|
145
|
+
cmp = mydigits.to_i <=> yoursdigits.to_i
|
146
|
+
mine_index += mydigits.length
|
147
|
+
yours_index += yoursdigits.length
|
149
148
|
end
|
150
149
|
if cmp == 0
|
151
150
|
if mine_index < mine.length && match_tildes(mine[mine_index])
|
@@ -164,7 +163,7 @@ module Puppet::Util::Package::Version
|
|
164
163
|
end
|
165
164
|
|
166
165
|
def match_non_letters(a)
|
167
|
-
a.match(/^([
|
166
|
+
a.match(/^([.+-]+)/)
|
168
167
|
end
|
169
168
|
|
170
169
|
def match_tildes(a)
|