puppet 8.5.1-universal-darwin → 8.7.0-universal-darwin
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +6 -2
- data/Gemfile.lock +55 -48
- data/Rakefile +45 -22
- data/examples/hiera/README.md +68 -57
- data/examples/hiera/data/common.yaml +12 -0
- data/examples/hiera/data/dc1.yaml +6 -0
- data/examples/hiera/hiera.yaml +15 -0
- data/examples/hiera/modules/ntp/data/common.yaml +4 -0
- data/examples/hiera/modules/ntp/hiera.yaml +9 -0
- data/examples/hiera/modules/ntp/manifests/config.pp +16 -4
- data/examples/hiera/modules/ntp/templates/ntp.conf.epp +3 -0
- data/examples/hiera/modules/users/manifests/common.pp +7 -2
- data/examples/hiera/modules/users/manifests/dc1.pp +7 -2
- data/examples/hiera/site.pp +1 -1
- data/ext/project_data.yaml +0 -45
- 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 +4 -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 +5 -5
- 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/module_data_provider.rb +9 -9
- 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/aix_object.rb +1 -1
- 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 +32 -11
- 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/xbps.rb +127 -0
- 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/scheduler/splay_job.rb +9 -0
- 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 +51 -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 +60 -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 +18 -19
- 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/com.rb +2 -2
- 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/locales/puppet.pot +604 -600
- 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 +23 -27
- data/examples/hiera/etc/hiera.yaml +0 -15
- data/examples/hiera/etc/hieradb/common.yaml +0 -3
- data/examples/hiera/etc/hieradb/dc1.yaml +0 -6
- data/examples/hiera/etc/hieradb/development.yaml +0 -2
- data/examples/hiera/etc/puppet.conf +0 -3
- data/examples/hiera/modules/data/manifests/common.pp +0 -4
- data/examples/hiera/modules/ntp/manifests/data.pp +0 -4
- data/examples/hiera/modules/ntp/templates/ntp.conf.erb +0 -3
- data/examples/hiera/modules/users/manifests/development.pp +0 -4
- data/tasks/benchmark.rake +0 -180
- data/tasks/cfpropertylist.rake +0 -15
- data/tasks/ci.rake +0 -24
- data/tasks/generate_ast_model.rake +0 -90
- data/tasks/generate_cert_fixtures.rake +0 -199
- data/tasks/manpages.rake +0 -67
- data/tasks/memwalk.rake +0 -195
- data/tasks/parallel.rake +0 -410
- data/tasks/parser.rake +0 -22
- data/tasks/yard.rake +0 -59
data/lib/puppet/type.rb
CHANGED
@@ -103,7 +103,7 @@ class Type
|
|
103
103
|
return nil unless other.is_a?(Puppet::CompilableResourceType) || other.class.is_a?(Puppet::CompilableResourceType)
|
104
104
|
|
105
105
|
# against other type instances.
|
106
|
-
|
106
|
+
ref <=> other.ref
|
107
107
|
end
|
108
108
|
|
109
109
|
# Code related to resource type attributes.
|
@@ -123,7 +123,7 @@ class Type
|
|
123
123
|
# @return [Array<String>] all type attribute names in a defined order.
|
124
124
|
#
|
125
125
|
def self.allattrs
|
126
|
-
key_attributes | (parameters & [:provider]) | properties.collect
|
126
|
+
key_attributes | (parameters & [:provider]) | properties.collect(&:name) | parameters | metaparams
|
127
127
|
end
|
128
128
|
|
129
129
|
# Returns the class associated with the given attribute name.
|
@@ -136,7 +136,7 @@ class Type
|
|
136
136
|
# We cache the value, since this method gets called such a huge number
|
137
137
|
# of times (as in, hundreds of thousands in a given run).
|
138
138
|
unless @attrclasses.include?(name)
|
139
|
-
@attrclasses[name] = case
|
139
|
+
@attrclasses[name] = case attrtype(name)
|
140
140
|
when :property; @validproperties[name]
|
141
141
|
when :meta; @@metaparamhash[name]
|
142
142
|
when :param; @paramhash[name]
|
@@ -193,10 +193,10 @@ class Type
|
|
193
193
|
#
|
194
194
|
def self.ensurable(&block)
|
195
195
|
if block_given?
|
196
|
-
|
196
|
+
newproperty(:ensure, :parent => Puppet::Property::Ensure, &block)
|
197
197
|
else
|
198
|
-
|
199
|
-
|
198
|
+
newproperty(:ensure, :parent => Puppet::Property::Ensure) do
|
199
|
+
defaultvalues
|
200
200
|
end
|
201
201
|
end
|
202
202
|
end
|
@@ -211,7 +211,7 @@ class Type
|
|
211
211
|
# If the class has all three of these methods defined, then it's
|
212
212
|
# ensurable.
|
213
213
|
[:exists?, :create, :destroy].all? { |method|
|
214
|
-
|
214
|
+
public_method_defined?(method)
|
215
215
|
}
|
216
216
|
end
|
217
217
|
|
@@ -275,7 +275,7 @@ class Type
|
|
275
275
|
define_method(name.to_s + "?") do
|
276
276
|
val = self[name]
|
277
277
|
if val == :true or val == true
|
278
|
-
|
278
|
+
true
|
279
279
|
end
|
280
280
|
end
|
281
281
|
end
|
@@ -304,7 +304,7 @@ class Type
|
|
304
304
|
# @return [Array<String>] all meta-parameter names
|
305
305
|
#
|
306
306
|
def self.metaparams
|
307
|
-
@@metaparams.collect
|
307
|
+
@@metaparams.collect(&:name)
|
308
308
|
end
|
309
309
|
|
310
310
|
# Returns the documentation for a given meta-parameter of this type.
|
@@ -389,7 +389,7 @@ class Type
|
|
389
389
|
def self.key_attributes
|
390
390
|
# This is a cache miss around 0.05 percent of the time. --daniel 2012-07-17
|
391
391
|
# rubocop:disable Naming/MemoizedInstanceVariableName
|
392
|
-
@key_attributes_cache ||= key_attribute_parameters.collect
|
392
|
+
@key_attributes_cache ||= key_attribute_parameters.collect(&:name)
|
393
393
|
# rubocop:enable Naming/MemoizedInstanceVariableName
|
394
394
|
end
|
395
395
|
|
@@ -443,7 +443,7 @@ class Type
|
|
443
443
|
# @return [Object] an object that is a _uniqueness_key_ for this object
|
444
444
|
#
|
445
445
|
def uniqueness_key
|
446
|
-
self.class.key_attributes.sort_by
|
446
|
+
self.class.key_attributes.sort_by(&:to_s).map { |attribute_name| self[attribute_name] }
|
447
447
|
end
|
448
448
|
|
449
449
|
# Creates a new parameter.
|
@@ -553,7 +553,7 @@ class Type
|
|
553
553
|
def self.parameters
|
554
554
|
return [] unless defined?(@parameters)
|
555
555
|
|
556
|
-
@parameters.collect
|
556
|
+
@parameters.collect(&:name)
|
557
557
|
end
|
558
558
|
|
559
559
|
# @return [Puppet::Parameter] Returns the parameter class associated with the given parameter name.
|
@@ -576,7 +576,7 @@ class Type
|
|
576
576
|
@validattrs ||= {}
|
577
577
|
|
578
578
|
unless @validattrs.include?(name)
|
579
|
-
@validattrs[name] = !!(
|
579
|
+
@validattrs[name] = !!(validproperty?(name) or validparameter?(name) or metaparam?(name))
|
580
580
|
end
|
581
581
|
|
582
582
|
@validattrs[name]
|
@@ -622,7 +622,7 @@ class Type
|
|
622
622
|
# @return [Boolean] true if a new parameter was added, false otherwise
|
623
623
|
def add_property_parameter(prop_name)
|
624
624
|
if self.class.validproperty?(prop_name) && !@parameters[prop_name]
|
625
|
-
|
625
|
+
newattr(prop_name)
|
626
626
|
return true
|
627
627
|
end
|
628
628
|
false
|
@@ -662,7 +662,7 @@ class Type
|
|
662
662
|
# not the current value.
|
663
663
|
obj.value
|
664
664
|
else
|
665
|
-
|
665
|
+
nil
|
666
666
|
end
|
667
667
|
end
|
668
668
|
|
@@ -680,9 +680,9 @@ class Type
|
|
680
680
|
nv = name_var
|
681
681
|
name = nv if nv
|
682
682
|
end
|
683
|
-
raise Puppet::Error
|
683
|
+
raise Puppet::Error, "Got nil value for #{name}" if value.nil?
|
684
684
|
|
685
|
-
property =
|
685
|
+
property = newattr(name)
|
686
686
|
|
687
687
|
if property
|
688
688
|
begin
|
@@ -710,7 +710,7 @@ class Type
|
|
710
710
|
if @parameters.has_key?(attr)
|
711
711
|
@parameters.delete(attr)
|
712
712
|
else
|
713
|
-
raise Puppet::DevError
|
713
|
+
raise Puppet::DevError, _("Undefined attribute '%{attribute}' in %{name}") % { attribute: attr, name: self }
|
714
714
|
end
|
715
715
|
end
|
716
716
|
|
@@ -933,9 +933,9 @@ class Type
|
|
933
933
|
# @return [Boolean] true, if this type's name is isomorphic with the object
|
934
934
|
def self.isomorphic?
|
935
935
|
if defined?(@isomorphic)
|
936
|
-
|
936
|
+
@isomorphic
|
937
937
|
else
|
938
|
-
|
938
|
+
true
|
939
939
|
end
|
940
940
|
end
|
941
941
|
|
@@ -965,7 +965,7 @@ class Type
|
|
965
965
|
end
|
966
966
|
}
|
967
967
|
end
|
968
|
-
|
968
|
+
@managed
|
969
969
|
end
|
970
970
|
|
971
971
|
###############################
|
@@ -995,7 +995,7 @@ class Type
|
|
995
995
|
@parent = nil
|
996
996
|
|
997
997
|
# Remove the reference to the provider.
|
998
|
-
if
|
998
|
+
if provider
|
999
999
|
@provider.clear
|
1000
1000
|
@provider = nil
|
1001
1001
|
end
|
@@ -1035,7 +1035,7 @@ class Type
|
|
1035
1035
|
#
|
1036
1036
|
# @return [???, nil] WHAT DOES IT RETURN? GUESS IS VOID
|
1037
1037
|
def flush
|
1038
|
-
|
1038
|
+
provider.flush if provider and provider.respond_to?(:flush)
|
1039
1039
|
end
|
1040
1040
|
|
1041
1041
|
# Says if the ensure property should be retrieved if the resource is ensurable
|
@@ -1051,7 +1051,7 @@ class Type
|
|
1051
1051
|
# @return [Puppet::Resource] array of all property values (mix of types)
|
1052
1052
|
# @raise [fail???] if there is a provider and it is not suitable for the host this is evaluated for.
|
1053
1053
|
def retrieve
|
1054
|
-
fail "Provider #{provider.class.name} is not functional on this host" if
|
1054
|
+
fail "Provider #{provider.class.name} is not functional on this host" if provider.is_a?(Puppet::Provider) and !provider.class.suitable?
|
1055
1055
|
|
1056
1056
|
result = Puppet::Resource.new(self.class, title)
|
1057
1057
|
|
@@ -1115,7 +1115,7 @@ class Type
|
|
1115
1115
|
# is the first property, which is important for skipping 'retrieve' on
|
1116
1116
|
# all the properties if the resource is absent.
|
1117
1117
|
ensure_state = false
|
1118
|
-
|
1118
|
+
properties.each_with_object({}) do |property, prophash|
|
1119
1119
|
if property.name == :ensure
|
1120
1120
|
ensure_state = property.retrieve
|
1121
1121
|
prophash[property] = ensure_state
|
@@ -1151,7 +1151,7 @@ class Type
|
|
1151
1151
|
# Either requires providers or must be overridden.
|
1152
1152
|
# @raise [Puppet::DevError] when there are no providers and the implementation has not overridden this method.
|
1153
1153
|
def self.instances
|
1154
|
-
raise Puppet::DevError, _("%{name} has no providers and has not overridden 'instances'") % { name:
|
1154
|
+
raise Puppet::DevError, _("%{name} has no providers and has not overridden 'instances'") % { name: name } if provider_hash.empty?
|
1155
1155
|
|
1156
1156
|
# Put the default provider first, then the rest of the suitable providers.
|
1157
1157
|
provider_instances = {}
|
@@ -1163,7 +1163,7 @@ class Type
|
|
1163
1163
|
other = provider_instances[title]
|
1164
1164
|
if other
|
1165
1165
|
Puppet.debug {
|
1166
|
-
"%s %s found in both %s and %s; skipping the %s version" % [
|
1166
|
+
"%s %s found in both %s and %s; skipping the %s version" % [name.to_s.capitalize, title, other.class.name, instance.class.name, instance.class.name]
|
1167
1167
|
}
|
1168
1168
|
next
|
1169
1169
|
end
|
@@ -1229,9 +1229,9 @@ class Type
|
|
1229
1229
|
def pathbuilder
|
1230
1230
|
p = parent
|
1231
1231
|
if p
|
1232
|
-
[p.pathbuilder,
|
1232
|
+
[p.pathbuilder, ref].flatten
|
1233
1233
|
else
|
1234
|
-
[
|
1234
|
+
[ref]
|
1235
1235
|
end
|
1236
1236
|
end
|
1237
1237
|
|
@@ -1309,7 +1309,7 @@ class Type
|
|
1309
1309
|
and the second run will log the edit made by Puppet.)"
|
1310
1310
|
|
1311
1311
|
validate do |list|
|
1312
|
-
list = Array(list).collect
|
1312
|
+
list = Array(list).collect(&:to_sym)
|
1313
1313
|
unless list == [:all]
|
1314
1314
|
list.each do |param|
|
1315
1315
|
next if @resource.class.validattr?(param)
|
@@ -1330,16 +1330,14 @@ class Type
|
|
1330
1330
|
def all_properties
|
1331
1331
|
resource.class.properties.find_all do |property|
|
1332
1332
|
resource.provider.nil? or resource.provider.class.supports_parameter?(property)
|
1333
|
-
end.collect
|
1334
|
-
property.name
|
1335
|
-
end
|
1333
|
+
end.collect(&:name)
|
1336
1334
|
end
|
1337
1335
|
|
1338
1336
|
def properties_to_audit(list)
|
1339
1337
|
if !list.is_a?(Array) && list.to_sym == :all
|
1340
1338
|
all_properties
|
1341
1339
|
else
|
1342
|
-
Array(list).collect
|
1340
|
+
Array(list).collect(&:to_sym)
|
1343
1341
|
end
|
1344
1342
|
end
|
1345
1343
|
end
|
@@ -1375,7 +1373,7 @@ class Type
|
|
1375
1373
|
end
|
1376
1374
|
|
1377
1375
|
newmetaparam(:alias) do
|
1378
|
-
desc
|
1376
|
+
desc "Creates an alias for the resource. Puppet uses this internally when you
|
1379
1377
|
provide a symbolic title and an explicit namevar value:
|
1380
1378
|
|
1381
1379
|
file { 'sshdconfig':
|
@@ -1411,7 +1409,7 @@ class Type
|
|
1411
1409
|
There's no way here for the Puppet parser to know that these two stanzas
|
1412
1410
|
should be affecting the same file.
|
1413
1411
|
|
1414
|
-
|
1412
|
+
"
|
1415
1413
|
|
1416
1414
|
munge do |aliases|
|
1417
1415
|
aliases = [aliases] unless aliases.is_a?(Array)
|
@@ -1494,11 +1492,11 @@ class Type
|
|
1494
1492
|
# @return [void]
|
1495
1493
|
def validate_relationship
|
1496
1494
|
@value.each do |ref|
|
1497
|
-
|
1498
|
-
|
1499
|
-
|
1500
|
-
|
1501
|
-
|
1495
|
+
next if @resource.catalog.resource(ref.to_s)
|
1496
|
+
|
1497
|
+
description = self.class.direction == :in ? "dependency" : "dependent"
|
1498
|
+
fail ResourceError, _("Could not find %{description} %{ref} for %{resource}") %
|
1499
|
+
{ description: description, ref: ref, resource: resource.ref }
|
1502
1500
|
end
|
1503
1501
|
end
|
1504
1502
|
|
@@ -1550,7 +1548,7 @@ class Type
|
|
1550
1548
|
|
1551
1549
|
## Corrected syntax of debug statement to reflect the way this was called.
|
1552
1550
|
# i.e. before, after, subscribe, notify
|
1553
|
-
|
1551
|
+
debug do
|
1554
1552
|
relation = case self.class.name
|
1555
1553
|
when "subscribe"
|
1556
1554
|
"subscribes"
|
@@ -1711,16 +1709,16 @@ class Type
|
|
1711
1709
|
suitable = suitableprovider
|
1712
1710
|
|
1713
1711
|
# Find which providers are a default for this system.
|
1714
|
-
defaults = suitable.find_all
|
1712
|
+
defaults = suitable.find_all(&:default?)
|
1715
1713
|
|
1716
1714
|
# If we don't have any default we use suitable providers
|
1717
1715
|
defaults = suitable if defaults.empty?
|
1718
|
-
max = defaults.collect
|
1716
|
+
max = defaults.collect(&:specificity).max
|
1719
1717
|
defaults = defaults.find_all { |provider| provider.specificity == max }
|
1720
1718
|
|
1721
1719
|
if defaults.length > 1
|
1722
1720
|
Puppet.warning(_("Found multiple default providers for %{name}: %{provider_list}; using %{selected_provider}") %
|
1723
|
-
{ name:
|
1721
|
+
{ name: name, provider_list: defaults.collect { |i| i.name.to_s }.join(", "), selected_provider: defaults[0].name })
|
1724
1722
|
end
|
1725
1723
|
|
1726
1724
|
@defaultprovider = defaults.shift unless defaults.empty?
|
@@ -1736,7 +1734,7 @@ class Type
|
|
1736
1734
|
# @return [Hash{ ??? => Puppet::Provider}] Returns a hash of WHAT EXACTLY for this type.
|
1737
1735
|
# @see provider_hash_by_type method to get the same for some other type
|
1738
1736
|
def self.provider_hash
|
1739
|
-
Puppet::Type.provider_hash_by_type(
|
1737
|
+
Puppet::Type.provider_hash_by_type(name)
|
1740
1738
|
end
|
1741
1739
|
|
1742
1740
|
# Returns the provider having the given name.
|
@@ -1772,7 +1770,7 @@ class Type
|
|
1772
1770
|
def self.validprovider?(name)
|
1773
1771
|
name = name.intern
|
1774
1772
|
|
1775
|
-
|
1773
|
+
provider_hash.has_key?(name) && provider_hash[name].suitable?
|
1776
1774
|
end
|
1777
1775
|
|
1778
1776
|
# Creates a new provider of a type.
|
@@ -1803,11 +1801,7 @@ class Type
|
|
1803
1801
|
pname
|
1804
1802
|
else
|
1805
1803
|
provider = self.provider(pname)
|
1806
|
-
|
1807
|
-
provider
|
1808
|
-
else
|
1809
|
-
raise Puppet::DevError, _("Could not find parent provider %{parent} of %{name}") % { parent: pname, name: name }
|
1810
|
-
end
|
1804
|
+
provider || raise(Puppet::DevError, _("Could not find parent provider %{parent} of %{name}") % { parent: pname, name: name })
|
1811
1805
|
end
|
1812
1806
|
else
|
1813
1807
|
Puppet::Provider
|
@@ -1815,9 +1809,9 @@ class Type
|
|
1815
1809
|
|
1816
1810
|
options[:resource_type] ||= self
|
1817
1811
|
|
1818
|
-
|
1812
|
+
providify
|
1819
1813
|
|
1820
|
-
|
1814
|
+
genclass(
|
1821
1815
|
name,
|
1822
1816
|
:parent => parent,
|
1823
1817
|
:hash => provider_hash,
|
@@ -1827,8 +1821,6 @@ class Type
|
|
1827
1821
|
:extend => feature_module,
|
1828
1822
|
:attributes => options
|
1829
1823
|
)
|
1830
|
-
|
1831
|
-
provider
|
1832
1824
|
end
|
1833
1825
|
|
1834
1826
|
# Ensures there is a `:provider` parameter defined.
|
@@ -1843,7 +1835,7 @@ class Type
|
|
1843
1835
|
# We expect that the class in which this code is executed will be something
|
1844
1836
|
# like Puppet::Type::Ssh_authorized_key::ParameterProvider.
|
1845
1837
|
desc <<-EOT
|
1846
|
-
The specific backend to use for this `#{
|
1838
|
+
The specific backend to use for this `#{to_s.split('::')[2].downcase}`
|
1847
1839
|
resource. You will seldom need to specify this --- Puppet will usually
|
1848
1840
|
discover the appropriate provider for your platform.
|
1849
1841
|
EOT
|
@@ -1912,7 +1904,7 @@ class Type
|
|
1912
1904
|
|
1913
1905
|
# Returns a list of suitable providers for the given type.
|
1914
1906
|
# A call to this method will load all providers if not already loaded and ask each if it is
|
1915
|
-
# suitable - those that are
|
1907
|
+
# suitable - those that are included in the result.
|
1916
1908
|
# @note This method also does some special processing which rejects a provider named `:fake` (for testing purposes).
|
1917
1909
|
# @return [Array<Puppet::Provider>] Returns an array of all suitable providers.
|
1918
1910
|
#
|
@@ -2094,7 +2086,7 @@ class Type
|
|
2094
2086
|
next unless Puppet::Type.type(type)
|
2095
2087
|
|
2096
2088
|
# Retrieve the list of names from the block.
|
2097
|
-
list =
|
2089
|
+
list = instance_eval(&block)
|
2098
2090
|
next unless list
|
2099
2091
|
|
2100
2092
|
list = [list] unless list.is_a?(Array)
|
@@ -2337,7 +2329,7 @@ class Type
|
|
2337
2329
|
[:file, :line, :catalog, :exported, :virtual].each do |getter|
|
2338
2330
|
setter = getter.to_s + "="
|
2339
2331
|
val = resource.send(getter)
|
2340
|
-
|
2332
|
+
send(setter, val) if val
|
2341
2333
|
end
|
2342
2334
|
|
2343
2335
|
merge_tags_from(resource)
|
@@ -2363,13 +2355,11 @@ class Type
|
|
2363
2355
|
#
|
2364
2356
|
# @return [void]
|
2365
2357
|
def validate_resource
|
2366
|
-
|
2367
|
-
|
2368
|
-
|
2369
|
-
|
2370
|
-
|
2371
|
-
raise error
|
2372
|
-
end
|
2358
|
+
validate if respond_to?(:validate)
|
2359
|
+
rescue Puppet::Error, ArgumentError => detail
|
2360
|
+
error = Puppet::ResourceError.new("Validation of #{ref} failed: #{detail}")
|
2361
|
+
adderrorcontext(error, detail)
|
2362
|
+
raise error
|
2373
2363
|
end
|
2374
2364
|
|
2375
2365
|
protected
|
@@ -2454,22 +2444,20 @@ class Type
|
|
2454
2444
|
# on invalid attributes.
|
2455
2445
|
no_values = []
|
2456
2446
|
(self.class.allattrs + hash.keys).uniq.each do |attr|
|
2457
|
-
|
2458
|
-
|
2459
|
-
|
2460
|
-
|
2461
|
-
|
2462
|
-
|
2463
|
-
|
2464
|
-
no_values << attr
|
2465
|
-
end
|
2466
|
-
rescue ArgumentError, Puppet::Error, TypeError
|
2467
|
-
raise
|
2468
|
-
rescue => detail
|
2469
|
-
error = Puppet::DevError.new(_("Could not set %{attribute} on %{class_name}: %{detail}") % { attribute: attr, class_name: self.class.name, detail: detail })
|
2470
|
-
error.set_backtrace(detail.backtrace)
|
2471
|
-
raise error
|
2447
|
+
# Set any defaults immediately. This is mostly done so
|
2448
|
+
# that the default provider is available for any other
|
2449
|
+
# property validation.
|
2450
|
+
if hash.has_key?(attr)
|
2451
|
+
self[attr] = hash[attr]
|
2452
|
+
else
|
2453
|
+
no_values << attr
|
2472
2454
|
end
|
2455
|
+
rescue ArgumentError, Puppet::Error, TypeError
|
2456
|
+
raise
|
2457
|
+
rescue => detail
|
2458
|
+
error = Puppet::DevError.new(_("Could not set %{attribute} on %{class_name}: %{detail}") % { attribute: attr, class_name: self.class.name, detail: detail })
|
2459
|
+
error.set_backtrace(detail.backtrace)
|
2460
|
+
raise error
|
2473
2461
|
end
|
2474
2462
|
no_values.each do |attr|
|
2475
2463
|
set_default(attr)
|
@@ -2536,7 +2524,7 @@ class Type
|
|
2536
2524
|
def ref
|
2537
2525
|
# memoizing this is worthwhile ~ 3 percent of calls are the "first time
|
2538
2526
|
# around" in an average run of Puppet. --daniel 2012-07-17
|
2539
|
-
@ref ||= "#{self.class.name.to_s.capitalize}[#{
|
2527
|
+
@ref ||= "#{self.class.name.to_s.capitalize}[#{title}]"
|
2540
2528
|
end
|
2541
2529
|
|
2542
2530
|
# (see self_refresh)
|
@@ -2582,9 +2570,9 @@ class Type
|
|
2582
2570
|
if self.class.validparameter?(name_var)
|
2583
2571
|
@title = self[:name]
|
2584
2572
|
elsif self.class.validproperty?(name_var)
|
2585
|
-
@title =
|
2573
|
+
@title = should(name_var)
|
2586
2574
|
else
|
2587
|
-
|
2575
|
+
devfail "Could not find namevar #{name_var} for #{self.class.name}"
|
2588
2576
|
end
|
2589
2577
|
end
|
2590
2578
|
|
@@ -2595,19 +2583,19 @@ class Type
|
|
2595
2583
|
# @see #ref
|
2596
2584
|
#
|
2597
2585
|
def to_s
|
2598
|
-
|
2586
|
+
ref
|
2599
2587
|
end
|
2600
2588
|
|
2601
2589
|
# Convert this resource type instance to a Puppet::Resource.
|
2602
2590
|
# @return [Puppet::Resource] Returns a serializable representation of this resource
|
2603
2591
|
#
|
2604
2592
|
def to_resource
|
2605
|
-
resource =
|
2593
|
+
resource = retrieve_resource
|
2606
2594
|
resource.merge_tags_from(self)
|
2607
2595
|
|
2608
2596
|
@parameters.each do |name, param|
|
2609
2597
|
# Avoid adding each instance name twice
|
2610
|
-
next if param.class.isnamevar? and param.value ==
|
2598
|
+
next if param.class.isnamevar? and param.value == title
|
2611
2599
|
|
2612
2600
|
# We've already got property values
|
2613
2601
|
next if param.is_a?(Puppet::Property)
|
@@ -36,7 +36,7 @@ class Puppet::Util::AtFork::Solaris
|
|
36
36
|
[:ct_status_read, Fiddle::TYPE_INT, Fiddle::TYPE_INT, Fiddle::TYPE_INT, Fiddle::TYPE_VOIDP],
|
37
37
|
|
38
38
|
[:ct_status_get_id, Fiddle::TYPE_INT, Fiddle::TYPE_VOIDP],
|
39
|
-
[:ct_status_free, Fiddle::TYPE_VOID, Fiddle::TYPE_VOIDP]
|
39
|
+
[:ct_status_free, Fiddle::TYPE_VOID, Fiddle::TYPE_VOIDP]
|
40
40
|
],
|
41
41
|
}.each do |library, functions|
|
42
42
|
libhandle = Fiddle::Handle.new(library)
|
@@ -46,9 +46,9 @@ class Puppet::Util::AtFork::Solaris
|
|
46
46
|
end
|
47
47
|
end
|
48
48
|
|
49
|
-
CTFS_PR_ROOT = File.join('', %w
|
50
|
-
CTFS_PR_TEMPLATE = File.join(CTFS_PR_ROOT,
|
51
|
-
CTFS_PR_LATEST = File.join(CTFS_PR_ROOT,
|
49
|
+
CTFS_PR_ROOT = File.join('', %w[system contract process])
|
50
|
+
CTFS_PR_TEMPLATE = File.join(CTFS_PR_ROOT, 'template')
|
51
|
+
CTFS_PR_LATEST = File.join(CTFS_PR_ROOT, 'latest')
|
52
52
|
|
53
53
|
CT_PR_PGRPONLY = 0x4
|
54
54
|
CT_PR_EV_HWERR = 0x20
|
@@ -63,27 +63,25 @@ class Puppet::Util::AtFork::Solaris
|
|
63
63
|
end
|
64
64
|
|
65
65
|
def activate_new_contract_template
|
66
|
-
|
67
|
-
tmpl = File.new(CTFS_PR_TEMPLATE, File::RDWR)
|
68
|
-
|
69
|
-
begin
|
70
|
-
tmpl_fd = tmpl.fileno
|
66
|
+
tmpl = File.new(CTFS_PR_TEMPLATE, File::RDWR)
|
71
67
|
|
72
|
-
|
73
|
-
|
74
|
-
raise_if_error { ct_tmpl_set_critical(tmpl_fd, 0) }
|
75
|
-
raise_if_error { ct_tmpl_set_informative(tmpl_fd, CT_PR_EV_HWERR) }
|
68
|
+
begin
|
69
|
+
tmpl_fd = tmpl.fileno
|
76
70
|
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
end
|
71
|
+
raise_if_error { ct_pr_tmpl_set_param(tmpl_fd, CT_PR_PGRPONLY) }
|
72
|
+
raise_if_error { ct_pr_tmpl_set_fatal(tmpl_fd, CT_PR_EV_HWERR) }
|
73
|
+
raise_if_error { ct_tmpl_set_critical(tmpl_fd, 0) }
|
74
|
+
raise_if_error { ct_tmpl_set_informative(tmpl_fd, CT_PR_EV_HWERR) }
|
82
75
|
|
83
|
-
|
84
|
-
rescue
|
85
|
-
|
76
|
+
raise_if_error { ct_tmpl_activate(tmpl_fd) }
|
77
|
+
rescue
|
78
|
+
tmpl.close
|
79
|
+
raise
|
86
80
|
end
|
81
|
+
|
82
|
+
@tmpl = tmpl
|
83
|
+
rescue => detail
|
84
|
+
Puppet.log_exception(detail, _('Failed to activate a new process contract template'))
|
87
85
|
end
|
88
86
|
|
89
87
|
def deactivate_contract_template(parent)
|
@@ -108,24 +106,22 @@ class Puppet::Util::AtFork::Solaris
|
|
108
106
|
end
|
109
107
|
|
110
108
|
def get_latest_child_contract_id
|
111
|
-
|
112
|
-
stat = File.new(CTFS_PR_LATEST, File::RDONLY)
|
109
|
+
stat = File.new(CTFS_PR_LATEST, File::RDONLY)
|
113
110
|
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
raise_if_error { ct_status_read(stat.fileno, CTD_COMMON, stathdl.ref) }
|
118
|
-
ctid = ct_status_get_id(stathdl)
|
119
|
-
ct_status_free(stathdl)
|
120
|
-
ensure
|
121
|
-
stat.close
|
122
|
-
end
|
111
|
+
begin
|
112
|
+
stathdl = Fiddle::Pointer.new(0)
|
123
113
|
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
114
|
+
raise_if_error { ct_status_read(stat.fileno, CTD_COMMON, stathdl.ref) }
|
115
|
+
ctid = ct_status_get_id(stathdl)
|
116
|
+
ct_status_free(stathdl)
|
117
|
+
ensure
|
118
|
+
stat.close
|
128
119
|
end
|
120
|
+
|
121
|
+
ctid
|
122
|
+
rescue => detail
|
123
|
+
Puppet.log_exception(detail, _('Failed to get latest child process contract id'))
|
124
|
+
nil
|
129
125
|
end
|
130
126
|
|
131
127
|
def abandon_latest_child_contract
|
@@ -133,7 +129,7 @@ class Puppet::Util::AtFork::Solaris
|
|
133
129
|
return if ctid.nil?
|
134
130
|
|
135
131
|
begin
|
136
|
-
ctl = File.new(File.join(CTFS_PR_ROOT, ctid.to_s,
|
132
|
+
ctl = File.new(File.join(CTFS_PR_ROOT, ctid.to_s, 'ctl'), File::WRONLY)
|
137
133
|
|
138
134
|
begin
|
139
135
|
raise_if_error { ct_ctl_abandon(ctl.fileno) }
|
data/lib/puppet/util/autoload.rb
CHANGED
@@ -81,7 +81,7 @@ class Puppet::Util::Autoload
|
|
81
81
|
begin
|
82
82
|
mark_loaded(name, file)
|
83
83
|
Kernel.load file
|
84
|
-
|
84
|
+
true
|
85
85
|
rescue SystemExit, NoMemoryError
|
86
86
|
raise
|
87
87
|
rescue Exception => detail
|
@@ -111,7 +111,7 @@ class Puppet::Util::Autoload
|
|
111
111
|
# returns nil if no file is found
|
112
112
|
# @api private
|
113
113
|
def get_file(name, env)
|
114
|
-
name
|
114
|
+
name += '.rb' unless name =~ /\.rb$/
|
115
115
|
path = search_directories(env).find { |dir| Puppet::FileSystem.exist?(File.join(dir, name)) }
|
116
116
|
path and File.join(path, name)
|
117
117
|
end
|
data/lib/puppet/util/backups.rb
CHANGED
@@ -13,13 +13,13 @@ module Puppet::Util::Backups
|
|
13
13
|
file ||= self[:path]
|
14
14
|
return true unless Puppet::FileSystem.exist?(file)
|
15
15
|
|
16
|
-
|
16
|
+
(bucket ? perform_backup_with_bucket(file) : perform_backup_with_backuplocal(file, self[:backup]))
|
17
17
|
end
|
18
18
|
|
19
19
|
private
|
20
20
|
|
21
21
|
def perform_backup_with_bucket(fileobj)
|
22
|
-
file =
|
22
|
+
file = fileobj.instance_of?(String) ? fileobj : fileobj.name
|
23
23
|
case Puppet::FileSystem.lstat(file).ftype
|
24
24
|
when "directory"
|
25
25
|
# we don't need to backup directories when recurse is on
|
@@ -34,7 +34,7 @@ module Puppet::Util::Backups
|
|
34
34
|
end
|
35
35
|
|
36
36
|
def perform_backup_with_backuplocal(fileobj, backup)
|
37
|
-
file =
|
37
|
+
file = fileobj.instance_of?(String) ? fileobj : fileobj.name
|
38
38
|
newfile = file + backup
|
39
39
|
|
40
40
|
remove_backup(newfile)
|
@@ -44,7 +44,7 @@ module Puppet::Util::Backups
|
|
44
44
|
|
45
45
|
# N.B. cp_r works on both files and directories
|
46
46
|
FileUtils.cp_r(file, bfile, :preserve => true)
|
47
|
-
|
47
|
+
true
|
48
48
|
rescue => detail
|
49
49
|
# since they said they want a backup, let's error out
|
50
50
|
# if we couldn't make one
|
@@ -53,7 +53,7 @@ module Puppet::Util::Backups
|
|
53
53
|
end
|
54
54
|
|
55
55
|
def remove_backup(newfile)
|
56
|
-
if
|
56
|
+
if instance_of?(Puppet::Type::File) and self[:links] != :follow
|
57
57
|
method = :lstat
|
58
58
|
else
|
59
59
|
method = :stat
|
@@ -75,14 +75,14 @@ module Puppet::Util::Backups
|
|
75
75
|
Puppet::FileSystem.unlink(newfile)
|
76
76
|
rescue => detail
|
77
77
|
message = _("Could not remove old backup: %{detail}") % { detail: detail }
|
78
|
-
|
78
|
+
log_exception(detail, message)
|
79
79
|
self.fail Puppet::Error, message, detail
|
80
80
|
end
|
81
81
|
end
|
82
82
|
|
83
83
|
def backup_file_with_filebucket(f)
|
84
|
-
sum =
|
85
|
-
|
86
|
-
|
84
|
+
sum = bucket.backup(f)
|
85
|
+
info _("Filebucketed %{f} to %{filebucket} with sum %{sum}") % { f: f, filebucket: bucket.name, sum: sum }
|
86
|
+
sum
|
87
87
|
end
|
88
88
|
end
|