puppet 7.6.1-x64-mingw32 → 7.10.0-x64-mingw32
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of puppet might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CONTRIBUTING.md +7 -7
- data/Gemfile +2 -1
- data/Gemfile.lock +18 -18
- data/README.md +4 -4
- data/{ext → examples/enc}/regexp_nodes/classes/databases +0 -0
- data/{ext → examples/enc}/regexp_nodes/classes/webservers +0 -0
- data/{ext → examples/enc}/regexp_nodes/environment/development +0 -0
- data/{ext → examples/enc}/regexp_nodes/parameters/service/prod +0 -0
- data/{ext → examples/enc}/regexp_nodes/parameters/service/qa +0 -0
- data/{ext → examples/enc}/regexp_nodes/parameters/service/sandbox +0 -0
- data/{ext → examples/enc}/regexp_nodes/regexp_nodes.rb +0 -0
- data/{ext → examples}/nagios/check_puppet.rb +2 -2
- data/ext/README.md +13 -0
- data/ext/osx/puppet.plist +2 -0
- data/ext/project_data.yaml +1 -0
- data/install.rb +11 -15
- data/lib/hiera_puppet.rb +1 -1
- data/lib/puppet.rb +40 -40
- data/lib/puppet/agent.rb +6 -6
- data/lib/puppet/agent/disabler.rb +1 -1
- data/lib/puppet/agent/locker.rb +2 -2
- data/lib/puppet/application.rb +6 -6
- data/lib/puppet/application/agent.rb +18 -11
- data/lib/puppet/application/apply.rb +6 -5
- data/lib/puppet/application/catalog.rb +1 -1
- data/lib/puppet/application/config.rb +1 -1
- data/lib/puppet/application/describe.rb +1 -1
- data/lib/puppet/application/device.rb +8 -7
- data/lib/puppet/application/doc.rb +7 -7
- data/lib/puppet/application/epp.rb +2 -2
- data/lib/puppet/application/face_base.rb +2 -2
- data/lib/puppet/application/facts.rb +1 -1
- data/lib/puppet/application/filebucket.rb +3 -2
- data/lib/puppet/application/generate.rb +1 -1
- data/lib/puppet/application/help.rb +1 -1
- data/lib/puppet/application/indirection_base.rb +1 -1
- data/lib/puppet/application/lookup.rb +6 -6
- data/lib/puppet/application/module.rb +1 -1
- data/lib/puppet/application/node.rb +1 -1
- data/lib/puppet/application/parser.rb +2 -2
- data/lib/puppet/application/plugin.rb +1 -1
- data/lib/puppet/application/report.rb +1 -1
- data/lib/puppet/application/resource.rb +18 -4
- data/lib/puppet/application/script.rb +6 -5
- data/lib/puppet/application/ssl.rb +3 -2
- data/lib/puppet/application_support.rb +4 -4
- data/lib/puppet/compilable_resource_type.rb +1 -1
- data/lib/puppet/concurrent/lock.rb +1 -1
- data/lib/puppet/configurer.rb +159 -50
- data/lib/puppet/configurer/downloader.rb +4 -3
- data/lib/puppet/configurer/fact_handler.rb +3 -3
- data/lib/puppet/configurer/plugin_handler.rb +1 -1
- data/lib/puppet/confine.rb +1 -1
- data/lib/puppet/confine/boolean.rb +1 -1
- data/lib/puppet/confine/exists.rb +1 -1
- data/lib/puppet/confine/false.rb +1 -1
- data/lib/puppet/confine/feature.rb +1 -1
- data/lib/puppet/confine/true.rb +1 -1
- data/lib/puppet/confine/variable.rb +1 -1
- data/lib/puppet/confine_collection.rb +1 -1
- data/lib/puppet/confiner.rb +1 -1
- data/lib/puppet/context.rb +2 -2
- data/lib/puppet/context/trusted_information.rb +1 -1
- data/lib/puppet/daemon.rb +2 -2
- data/lib/puppet/data_binding.rb +1 -1
- data/lib/puppet/datatypes/error.rb +1 -1
- data/lib/puppet/defaults.rb +67 -33
- data/lib/puppet/environments.rb +76 -26
- data/lib/puppet/etc.rb +1 -1
- data/lib/puppet/external/pson/common.rb +1 -1
- data/lib/puppet/external/pson/pure.rb +3 -3
- data/lib/puppet/face.rb +1 -1
- data/lib/puppet/face/catalog.rb +1 -1
- data/lib/puppet/face/config.rb +2 -2
- data/lib/puppet/face/epp.rb +6 -6
- data/lib/puppet/face/facts.rb +2 -2
- data/lib/puppet/face/generate.rb +2 -2
- data/lib/puppet/face/help.rb +3 -3
- data/lib/puppet/face/help/action.erb +1 -0
- data/lib/puppet/face/help/face.erb +1 -0
- data/lib/puppet/face/module.rb +3 -3
- data/lib/puppet/face/module/install.rb +2 -2
- data/lib/puppet/face/node.rb +1 -1
- data/lib/puppet/face/node/clean.rb +1 -1
- data/lib/puppet/face/parser.rb +4 -4
- data/lib/puppet/face/plugin.rb +2 -2
- data/lib/puppet/face/report.rb +1 -1
- data/lib/puppet/face/resource.rb +1 -1
- data/lib/puppet/feature/base.rb +2 -2
- data/lib/puppet/feature/bolt.rb +1 -1
- data/lib/puppet/feature/cfpropertylist.rb +1 -1
- data/lib/puppet/feature/eventlog.rb +1 -1
- data/lib/puppet/feature/hiera_eyaml.rb +1 -1
- data/lib/puppet/feature/hocon.rb +1 -1
- data/lib/puppet/feature/libuser.rb +2 -2
- data/lib/puppet/feature/msgpack.rb +1 -1
- data/lib/puppet/feature/pe_license.rb +1 -1
- data/lib/puppet/feature/selinux.rb +1 -1
- data/lib/puppet/feature/ssh.rb +1 -1
- data/lib/puppet/feature/telnet.rb +1 -1
- data/lib/puppet/feature/zlib.rb +1 -1
- data/lib/puppet/ffi/posix.rb +2 -2
- data/lib/puppet/ffi/posix/constants.rb +1 -1
- data/lib/puppet/ffi/posix/functions.rb +1 -1
- data/lib/puppet/ffi/windows.rb +4 -4
- data/lib/puppet/ffi/windows/api_types.rb +2 -2
- data/lib/puppet/ffi/windows/constants.rb +1 -1
- data/lib/puppet/ffi/windows/functions.rb +1 -1
- data/lib/puppet/ffi/windows/structs.rb +1 -1
- data/lib/puppet/file_bucket/dipper.rb +4 -4
- data/lib/puppet/file_bucket/file.rb +3 -3
- data/lib/puppet/file_serving/base.rb +2 -2
- data/lib/puppet/file_serving/configuration.rb +12 -10
- data/lib/puppet/file_serving/configuration/parser.rb +4 -2
- data/lib/puppet/file_serving/content.rb +3 -3
- data/lib/puppet/file_serving/fileset.rb +16 -4
- data/lib/puppet/file_serving/http_metadata.rb +1 -1
- data/lib/puppet/file_serving/metadata.rb +6 -6
- data/lib/puppet/file_serving/mount.rb +4 -4
- data/lib/puppet/file_serving/mount/file.rb +1 -1
- data/lib/puppet/file_serving/mount/locales.rb +1 -1
- data/lib/puppet/file_serving/mount/modules.rb +1 -1
- data/lib/puppet/file_serving/mount/pluginfacts.rb +1 -1
- data/lib/puppet/file_serving/mount/plugins.rb +1 -1
- data/lib/puppet/file_serving/mount/scripts.rb +24 -0
- data/lib/puppet/file_serving/mount/tasks.rb +1 -1
- data/lib/puppet/file_serving/terminus_helper.rb +2 -2
- data/lib/puppet/file_serving/terminus_selector.rb +1 -1
- data/lib/puppet/file_system.rb +9 -9
- data/lib/puppet/file_system/file_impl.rb +1 -1
- data/lib/puppet/file_system/jruby.rb +1 -1
- data/lib/puppet/file_system/path_pattern.rb +1 -1
- data/lib/puppet/file_system/uniquefile.rb +1 -1
- data/lib/puppet/file_system/windows.rb +4 -4
- data/lib/puppet/forge.rb +8 -8
- data/lib/puppet/forge/cache.rb +2 -2
- data/lib/puppet/forge/errors.rb +3 -3
- data/lib/puppet/forge/repository.rb +4 -4
- data/lib/puppet/functions/all.rb +1 -1
- data/lib/puppet/functions/camelcase.rb +1 -1
- data/lib/puppet/functions/capitalize.rb +2 -2
- data/lib/puppet/functions/downcase.rb +2 -2
- data/lib/puppet/functions/empty.rb +8 -0
- data/lib/puppet/functions/find_template.rb +2 -2
- data/lib/puppet/functions/get.rb +5 -5
- data/lib/puppet/functions/group_by.rb +13 -5
- data/lib/puppet/functions/lest.rb +1 -1
- data/lib/puppet/functions/new.rb +100 -100
- data/lib/puppet/functions/partition.rb +4 -4
- data/lib/puppet/functions/require.rb +5 -5
- data/lib/puppet/functions/sort.rb +3 -3
- data/lib/puppet/functions/strftime.rb +1 -0
- data/lib/puppet/functions/tree_each.rb +7 -9
- data/lib/puppet/functions/type.rb +4 -4
- data/lib/puppet/functions/unwrap.rb +17 -2
- data/lib/puppet/functions/upcase.rb +2 -2
- data/lib/puppet/functions/versioncmp.rb +1 -1
- data/lib/puppet/generate/models/type/type.rb +1 -1
- data/lib/puppet/generate/type.rb +2 -2
- data/lib/puppet/gettext/config.rb +3 -3
- data/lib/puppet/gettext/module_translations.rb +1 -1
- data/lib/puppet/graph.rb +6 -6
- data/lib/puppet/graph/simple_graph.rb +2 -2
- data/lib/puppet/http.rb +26 -26
- data/lib/puppet/http/factory.rb +2 -2
- data/lib/puppet/http/proxy.rb +1 -1
- data/lib/puppet/http/resolver/server_list.rb +15 -4
- data/lib/puppet/http/service/compiler.rb +79 -2
- data/lib/puppet/http/service/file_server.rb +3 -2
- data/lib/puppet/indirector.rb +5 -5
- data/lib/puppet/indirector/catalog/compiler.rb +28 -9
- data/lib/puppet/indirector/catalog/json.rb +2 -2
- data/lib/puppet/indirector/catalog/msgpack.rb +2 -2
- data/lib/puppet/indirector/catalog/rest.rb +3 -2
- data/lib/puppet/indirector/catalog/store_configs.rb +2 -2
- data/lib/puppet/indirector/catalog/yaml.rb +2 -2
- data/lib/puppet/indirector/code.rb +1 -1
- data/lib/puppet/indirector/data_binding/hiera.rb +1 -1
- data/lib/puppet/indirector/data_binding/none.rb +1 -1
- data/lib/puppet/indirector/direct_file_server.rb +2 -2
- data/lib/puppet/indirector/envelope.rb +1 -1
- data/lib/puppet/indirector/errors.rb +1 -1
- data/lib/puppet/indirector/exec.rb +2 -2
- data/lib/puppet/indirector/face.rb +1 -1
- data/lib/puppet/indirector/facts/facter.rb +2 -2
- data/lib/puppet/indirector/facts/json.rb +3 -3
- data/lib/puppet/indirector/facts/memory.rb +2 -2
- data/lib/puppet/indirector/facts/network_device.rb +2 -2
- data/lib/puppet/indirector/facts/rest.rb +2 -2
- data/lib/puppet/indirector/facts/store_configs.rb +2 -2
- data/lib/puppet/indirector/facts/yaml.rb +3 -3
- data/lib/puppet/indirector/file_bucket_file/file.rb +4 -4
- data/lib/puppet/indirector/file_bucket_file/rest.rb +2 -2
- data/lib/puppet/indirector/file_bucket_file/selector.rb +1 -1
- data/lib/puppet/indirector/file_content.rb +1 -1
- data/lib/puppet/indirector/file_content/file.rb +3 -3
- data/lib/puppet/indirector/file_content/file_server.rb +3 -3
- data/lib/puppet/indirector/file_content/rest.rb +3 -3
- data/lib/puppet/indirector/file_content/selector.rb +4 -4
- data/lib/puppet/indirector/file_metadata.rb +1 -1
- data/lib/puppet/indirector/file_metadata/file.rb +3 -3
- data/lib/puppet/indirector/file_metadata/file_server.rb +3 -3
- data/lib/puppet/indirector/file_metadata/http.rb +3 -3
- data/lib/puppet/indirector/file_metadata/rest.rb +4 -3
- data/lib/puppet/indirector/file_metadata/selector.rb +4 -4
- data/lib/puppet/indirector/file_server.rb +4 -4
- data/lib/puppet/indirector/generic_http.rb +1 -1
- data/lib/puppet/indirector/hiera.rb +1 -1
- data/lib/puppet/indirector/indirection.rb +5 -5
- data/lib/puppet/indirector/json.rb +2 -2
- data/lib/puppet/indirector/memory.rb +1 -1
- data/lib/puppet/indirector/msgpack.rb +2 -2
- data/lib/puppet/indirector/node/exec.rb +2 -2
- data/lib/puppet/indirector/node/json.rb +2 -2
- data/lib/puppet/indirector/node/memory.rb +2 -2
- data/lib/puppet/indirector/node/msgpack.rb +2 -2
- data/lib/puppet/indirector/node/plain.rb +2 -2
- data/lib/puppet/indirector/node/rest.rb +2 -2
- data/lib/puppet/indirector/node/store_configs.rb +2 -2
- data/lib/puppet/indirector/node/yaml.rb +2 -2
- data/lib/puppet/indirector/none.rb +1 -1
- data/lib/puppet/indirector/plain.rb +1 -1
- data/lib/puppet/indirector/report/json.rb +2 -2
- data/lib/puppet/indirector/report/msgpack.rb +2 -2
- data/lib/puppet/indirector/report/processor.rb +3 -3
- data/lib/puppet/indirector/report/rest.rb +1 -1
- data/lib/puppet/indirector/report/yaml.rb +2 -2
- data/lib/puppet/indirector/request.rb +3 -3
- data/lib/puppet/indirector/resource/ral.rb +7 -2
- data/lib/puppet/indirector/resource/store_configs.rb +2 -2
- data/lib/puppet/indirector/terminus.rb +9 -5
- data/lib/puppet/indirector/yaml.rb +2 -2
- data/lib/puppet/info_service.rb +3 -3
- data/lib/puppet/info_service/class_information_service.rb +3 -3
- data/lib/puppet/info_service/plan_information_service.rb +1 -1
- data/lib/puppet/info_service/task_information_service.rb +1 -1
- data/lib/puppet/interface.rb +10 -10
- data/lib/puppet/interface/documentation.rb +2 -1
- data/lib/puppet/loaders.rb +21 -21
- data/lib/puppet/metatype/manager.rb +3 -3
- data/lib/puppet/module.rb +4 -4
- data/lib/puppet/module/plan.rb +1 -2
- data/lib/puppet/module/task.rb +2 -2
- data/lib/puppet/module_tool.rb +10 -10
- data/lib/puppet/module_tool/applications.rb +7 -7
- data/lib/puppet/module_tool/applications/application.rb +2 -2
- data/lib/puppet/module_tool/applications/checksummer.rb +2 -2
- data/lib/puppet/module_tool/applications/installer.rb +19 -11
- data/lib/puppet/module_tool/applications/unpacker.rb +2 -2
- data/lib/puppet/module_tool/applications/upgrader.rb +5 -5
- data/lib/puppet/module_tool/checksums.rb +1 -1
- data/lib/puppet/module_tool/contents_description.rb +1 -1
- data/lib/puppet/module_tool/dependency.rb +2 -2
- data/lib/puppet/module_tool/errors.rb +6 -6
- data/lib/puppet/module_tool/errors/shared.rb +17 -0
- data/lib/puppet/module_tool/install_directory.rb +2 -2
- data/lib/puppet/module_tool/installed_modules.rb +2 -2
- data/lib/puppet/module_tool/local_tarball.rb +2 -2
- data/lib/puppet/module_tool/metadata.rb +3 -3
- data/lib/puppet/module_tool/tar.rb +4 -4
- data/lib/puppet/module_tool/tar/mini.rb +1 -1
- data/lib/puppet/network/format.rb +1 -1
- data/lib/puppet/network/format_handler.rb +3 -3
- data/lib/puppet/network/format_support.rb +1 -1
- data/lib/puppet/network/formats.rb +2 -2
- data/lib/puppet/network/http.rb +12 -12
- data/lib/puppet/network/http/api.rb +1 -1
- data/lib/puppet/network/http/api/indirected_routes.rb +2 -2
- data/lib/puppet/network/http/api/master.rb +1 -1
- data/lib/puppet/network/http/api/master/v3.rb +2 -2
- data/lib/puppet/network/http/api/master/v3/environments.rb +2 -2
- data/lib/puppet/network/http/api/server/v3.rb +2 -2
- data/lib/puppet/network/http/api/server/v3/environments.rb +1 -1
- data/lib/puppet/network/http/connection.rb +1 -1
- data/lib/puppet/network/http/error.rb +1 -1
- data/lib/puppet/network/http/handler.rb +3 -3
- data/lib/puppet/network/http_pool.rb +1 -1
- data/lib/puppet/node.rb +3 -3
- data/lib/puppet/node/environment.rb +13 -14
- data/lib/puppet/node/facts.rb +3 -3
- data/lib/puppet/pal/pal_api.rb +10 -10
- data/lib/puppet/pal/pal_impl.rb +3 -3
- data/lib/puppet/parameter.rb +4 -4
- data/lib/puppet/parameter/boolean.rb +1 -1
- data/lib/puppet/parameter/package_options.rb +1 -1
- data/lib/puppet/parameter/path.rb +1 -1
- data/lib/puppet/parameter/value.rb +1 -1
- data/lib/puppet/parameter/value_collection.rb +1 -1
- data/lib/puppet/parser.rb +10 -10
- data/lib/puppet/parser/ast.rb +8 -8
- data/lib/puppet/parser/ast/hostclass.rb +1 -1
- data/lib/puppet/parser/ast/pops_bridge.rb +2 -2
- data/lib/puppet/parser/catalog_compiler.rb +2 -2
- data/lib/puppet/parser/compiler.rb +5 -5
- data/lib/puppet/parser/e4_parser_adapter.rb +1 -1
- data/lib/puppet/parser/functions.rb +4 -4
- data/lib/puppet/parser/functions/digest.rb +1 -1
- data/lib/puppet/parser/functions/file.rb +1 -1
- data/lib/puppet/parser/functions/fqdn_rand.rb +14 -6
- data/lib/puppet/parser/functions/versioncmp.rb +1 -1
- data/lib/puppet/parser/parser_factory.rb +2 -2
- data/lib/puppet/parser/resource.rb +3 -3
- data/lib/puppet/parser/scope.rb +3 -3
- data/lib/puppet/parser/script_compiler.rb +2 -2
- data/lib/puppet/parser/templatewrapper.rb +2 -2
- data/lib/puppet/parser/type_loader.rb +1 -1
- data/lib/puppet/plugins/configuration.rb +5 -5
- data/lib/puppet/pops.rb +57 -57
- data/lib/puppet/pops/evaluator/deferred_resolver.rb +1 -1
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +7 -7
- data/lib/puppet/pops/evaluator/external_syntax_support.rb +1 -1
- data/lib/puppet/pops/loader/task_instantiator.rb +1 -1
- data/lib/puppet/pops/lookup/invocation.rb +1 -1
- data/lib/puppet/pops/model/ast_transformer.rb +1 -1
- data/lib/puppet/pops/model/pn_transformer.rb +1 -1
- data/lib/puppet/pops/parser/eparser.rb +2 -2
- data/lib/puppet/pops/parser/evaluating_parser.rb +1 -1
- data/lib/puppet/pops/parser/lexer2.rb +5 -5
- data/lib/puppet/pops/parser/lexer_support.rb +1 -1
- data/lib/puppet/pops/parser/parser_support.rb +4 -4
- data/lib/puppet/pops/puppet_stack.rb +1 -1
- data/lib/puppet/pops/serialization/json.rb +1 -1
- data/lib/puppet/pops/serialization/json_path.rb +1 -1
- data/lib/puppet/pops/serialization/to_data_converter.rb +18 -6
- data/lib/puppet/pops/time/timespan.rb +1 -1
- data/lib/puppet/pops/types/p_sem_ver_type.rb +8 -2
- data/lib/puppet/pops/types/p_sensitive_type.rb +10 -0
- data/lib/puppet/pops/types/string_converter.rb +1 -1
- data/lib/puppet/pops/types/type_calculator.rb +1 -1
- data/lib/puppet/pops/types/type_formatter.rb +1 -1
- data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -1
- data/lib/puppet/pops/types/type_parser.rb +1 -1
- data/lib/puppet/pops/types/types.rb +1 -1
- data/lib/puppet/pops/validation/checker4_0.rb +1 -1
- data/lib/puppet/property.rb +3 -3
- data/lib/puppet/property/boolean.rb +1 -1
- data/lib/puppet/property/ensure.rb +1 -1
- data/lib/puppet/property/keyvalue.rb +1 -1
- data/lib/puppet/property/list.rb +1 -1
- data/lib/puppet/property/ordered_list.rb +1 -1
- data/lib/puppet/provider.rb +2 -2
- data/lib/puppet/provider/confine.rb +2 -2
- data/lib/puppet/provider/exec.rb +2 -2
- data/lib/puppet/provider/exec/posix.rb +17 -5
- data/lib/puppet/provider/exec/windows.rb +1 -1
- data/lib/puppet/provider/file/posix.rb +1 -1
- data/lib/puppet/provider/file/windows.rb +1 -1
- data/lib/puppet/provider/group/aix.rb +1 -1
- data/lib/puppet/provider/group/directoryservice.rb +1 -1
- data/lib/puppet/provider/group/groupadd.rb +2 -2
- data/lib/puppet/provider/group/ldap.rb +1 -1
- data/lib/puppet/provider/group/pw.rb +1 -1
- data/lib/puppet/provider/group/windows_adsi.rb +1 -1
- data/lib/puppet/provider/ldap.rb +2 -2
- data/lib/puppet/provider/nameservice.rb +1 -1
- data/lib/puppet/provider/nameservice/directoryservice.rb +3 -3
- data/lib/puppet/provider/nameservice/objectadd.rb +1 -1
- data/lib/puppet/provider/nameservice/pw.rb +1 -1
- data/lib/puppet/provider/package.rb +1 -1
- data/lib/puppet/provider/package/aix.rb +2 -2
- 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 +5 -5
- data/lib/puppet/provider/package/dnfmodule.rb +1 -1
- data/lib/puppet/provider/package/dpkg.rb +1 -1
- data/lib/puppet/provider/package/gem.rb +3 -3
- data/lib/puppet/provider/package/hpux.rb +1 -1
- data/lib/puppet/provider/package/macports.rb +2 -2
- data/lib/puppet/provider/package/nim.rb +13 -8
- data/lib/puppet/provider/package/openbsd.rb +1 -1
- data/lib/puppet/provider/package/opkg.rb +1 -1
- data/lib/puppet/provider/package/pacman.rb +1 -1
- data/lib/puppet/provider/package/pip.rb +18 -6
- data/lib/puppet/provider/package/pkg.rb +10 -3
- data/lib/puppet/provider/package/pkgdmg.rb +3 -3
- data/lib/puppet/provider/package/pkgin.rb +1 -1
- data/lib/puppet/provider/package/pkgng.rb +1 -1
- data/lib/puppet/provider/package/portage.rb +1 -1
- data/lib/puppet/provider/package/portupgrade.rb +1 -1
- data/lib/puppet/provider/package/puppetserver_gem.rb +0 -0
- data/lib/puppet/provider/package/rpm.rb +2 -2
- data/lib/puppet/provider/package/sun.rb +1 -1
- data/lib/puppet/provider/package/windows.rb +17 -4
- data/lib/puppet/provider/package/windows/exe_package.rb +31 -2
- data/lib/puppet/provider/package/windows/msi_package.rb +1 -1
- data/lib/puppet/provider/package/windows/package.rb +6 -5
- data/lib/puppet/provider/package/yum.rb +6 -6
- data/lib/puppet/provider/package/zypper.rb +3 -3
- data/lib/puppet/provider/package_targetable.rb +1 -1
- data/lib/puppet/provider/parsedfile.rb +6 -3
- data/lib/puppet/provider/service/base.rb +6 -4
- data/lib/puppet/provider/service/daemontools.rb +0 -1
- data/lib/puppet/provider/service/debian.rb +3 -5
- data/lib/puppet/provider/service/freebsd.rb +1 -1
- data/lib/puppet/provider/service/init.rb +1 -1
- data/lib/puppet/provider/service/launchd.rb +10 -4
- data/lib/puppet/provider/service/service.rb +28 -3
- data/lib/puppet/provider/service/smf.rb +0 -24
- data/lib/puppet/provider/service/src.rb +2 -2
- data/lib/puppet/provider/service/systemd.rb +18 -8
- data/lib/puppet/provider/service/windows.rb +38 -0
- data/lib/puppet/provider/user/aix.rb +2 -2
- data/lib/puppet/provider/user/directoryservice.rb +26 -13
- data/lib/puppet/provider/user/ldap.rb +1 -1
- data/lib/puppet/provider/user/openbsd.rb +1 -1
- data/lib/puppet/provider/user/pw.rb +1 -1
- data/lib/puppet/provider/user/user_role_add.rb +2 -2
- data/lib/puppet/provider/user/useradd.rb +45 -12
- data/lib/puppet/provider/user/windows_adsi.rb +1 -1
- data/lib/puppet/reference/configuration.rb +1 -1
- data/lib/puppet/reference/indirection.rb +4 -4
- data/lib/puppet/reference/report.rb +1 -1
- data/lib/puppet/reports.rb +1 -1
- data/lib/puppet/reports/http.rb +2 -2
- data/lib/puppet/reports/log.rb +1 -1
- data/lib/puppet/reports/store.rb +2 -2
- data/lib/puppet/resource.rb +4 -4
- data/lib/puppet/resource/catalog.rb +5 -5
- data/lib/puppet/resource/status.rb +2 -2
- data/lib/puppet/resource/type.rb +4 -4
- data/lib/puppet/resource/type_collection.rb +6 -4
- data/lib/puppet/runtime.rb +1 -1
- data/lib/puppet/scheduler.rb +4 -4
- data/lib/puppet/settings.rb +58 -35
- data/lib/puppet/settings/autosign_setting.rb +1 -1
- data/lib/puppet/settings/base_setting.rb +2 -2
- data/lib/puppet/settings/certificate_revocation_setting.rb +1 -1
- data/lib/puppet/settings/config_file.rb +2 -9
- data/lib/puppet/settings/errors.rb +1 -1
- data/lib/puppet/settings/priority_setting.rb +3 -3
- data/lib/puppet/settings/value_translator.rb +0 -1
- data/lib/puppet/ssl.rb +11 -11
- data/lib/puppet/ssl/base.rb +3 -3
- data/lib/puppet/ssl/certificate.rb +1 -1
- data/lib/puppet/ssl/certificate_request.rb +2 -2
- data/lib/puppet/ssl/certificate_request_attributes.rb +2 -2
- data/lib/puppet/ssl/oids.rb +1 -1
- data/lib/puppet/ssl/openssl_loader.rb +1 -1
- data/lib/puppet/ssl/ssl_context.rb +1 -1
- data/lib/puppet/ssl/ssl_provider.rb +1 -1
- data/lib/puppet/ssl/state_machine.rb +2 -2
- data/lib/puppet/ssl/verifier.rb +5 -1
- data/lib/puppet/syntax_checkers/base64.rb +1 -1
- data/lib/puppet/syntax_checkers/epp.rb +1 -1
- data/lib/puppet/syntax_checkers/json.rb +1 -1
- data/lib/puppet/syntax_checkers/pp.rb +1 -1
- data/lib/puppet/transaction.rb +11 -11
- data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
- data/lib/puppet/transaction/event.rb +4 -4
- data/lib/puppet/transaction/event_manager.rb +1 -1
- data/lib/puppet/transaction/persistence.rb +12 -2
- data/lib/puppet/transaction/report.rb +17 -3
- data/lib/puppet/transaction/resource_harness.rb +1 -1
- data/lib/puppet/type.rb +15 -15
- data/lib/puppet/type/component.rb +3 -3
- data/lib/puppet/type/exec.rb +26 -4
- data/lib/puppet/type/file.rb +43 -25
- data/lib/puppet/type/file/checksum.rb +1 -1
- data/lib/puppet/type/file/checksum_value.rb +2 -2
- data/lib/puppet/type/file/content.rb +2 -2
- data/lib/puppet/type/file/data_sync.rb +2 -2
- data/lib/puppet/type/file/ensure.rb +1 -1
- data/lib/puppet/type/file/group.rb +1 -1
- data/lib/puppet/type/file/mode.rb +7 -1
- data/lib/puppet/type/file/selcontext.rb +2 -2
- data/lib/puppet/type/file/source.rb +4 -4
- data/lib/puppet/type/filebucket.rb +3 -3
- data/lib/puppet/type/group.rb +2 -2
- data/lib/puppet/type/package.rb +2 -2
- data/lib/puppet/type/resources.rb +2 -2
- data/lib/puppet/type/service.rb +18 -38
- data/lib/puppet/type/tidy.rb +25 -6
- data/lib/puppet/type/user.rb +43 -25
- data/lib/puppet/util.rb +43 -34
- data/lib/puppet/util/at_fork.rb +3 -3
- data/lib/puppet/util/at_fork/solaris.rb +1 -1
- data/lib/puppet/util/autoload.rb +4 -4
- data/lib/puppet/util/checksums.rb +3 -3
- data/lib/puppet/util/colors.rb +1 -1
- data/lib/puppet/util/command_line.rb +6 -6
- data/lib/puppet/util/command_line/puppet_option_parser.rb +2 -2
- data/lib/puppet/util/execution.rb +2 -2
- data/lib/puppet/util/feature.rb +2 -2
- data/lib/puppet/util/filetype.rb +1 -1
- data/lib/puppet/util/http_proxy.rb +1 -1
- data/lib/puppet/util/inifile.rb +2 -2
- data/lib/puppet/util/instance_loader.rb +3 -3
- data/lib/puppet/util/json_lockfile.rb +1 -1
- data/lib/puppet/util/ldap/connection.rb +1 -1
- data/lib/puppet/util/ldap/generator.rb +1 -1
- data/lib/puppet/util/ldap/manager.rb +3 -3
- data/lib/puppet/util/limits.rb +1 -1
- data/lib/puppet/util/log.rb +6 -6
- data/lib/puppet/util/log/destinations.rb +1 -1
- data/lib/puppet/util/logging.rb +2 -2
- data/lib/puppet/util/metric.rb +2 -2
- data/lib/puppet/util/monkey_patches.rb +9 -20
- data/lib/puppet/util/network_device/base.rb +3 -3
- data/lib/puppet/util/network_device/config.rb +2 -2
- data/lib/puppet/util/network_device/transport.rb +1 -1
- data/lib/puppet/util/network_device/transport/base.rb +2 -2
- data/lib/puppet/util/package/version/range.rb +6 -6
- data/lib/puppet/util/package/version/range/eq.rb +1 -1
- data/lib/puppet/util/package/version/range/gt.rb +1 -1
- data/lib/puppet/util/package/version/range/gt_eq.rb +1 -1
- data/lib/puppet/util/package/version/range/lt.rb +1 -1
- data/lib/puppet/util/package/version/range/lt_eq.rb +1 -1
- data/lib/puppet/util/package/version/range/min_max.rb +1 -1
- data/lib/puppet/util/package/version/range/simple.rb +1 -1
- data/lib/puppet/util/package/version/rpm.rb +1 -1
- data/lib/puppet/util/pidlock.rb +1 -1
- data/lib/puppet/util/plist.rb +1 -1
- data/lib/puppet/util/posix.rb +1 -1
- data/lib/puppet/util/profiler.rb +3 -3
- data/lib/puppet/util/profiler/aggregate.rb +2 -2
- data/lib/puppet/util/profiler/object_counts.rb +1 -1
- data/lib/puppet/util/profiler/wall_clock.rb +1 -1
- data/lib/puppet/util/provider_features.rb +2 -2
- data/lib/puppet/util/rdoc.rb +2 -2
- data/lib/puppet/util/rdoc/generators/puppet_generator.rb +2 -2
- data/lib/puppet/util/rdoc/parser.rb +6 -6
- data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -1
- data/lib/puppet/util/reference.rb +1 -1
- data/lib/puppet/util/resource_template.rb +2 -2
- data/lib/puppet/util/rubygems.rb +1 -1
- data/lib/puppet/util/selinux.rb +30 -4
- data/lib/puppet/util/skip_tags.rb +1 -1
- data/lib/puppet/util/storage.rb +1 -1
- data/lib/puppet/util/suidmanager.rb +2 -2
- data/lib/puppet/util/symbolic_file_mode.rb +30 -18
- data/lib/puppet/util/tag_set.rb +1 -1
- data/lib/puppet/util/tagging.rb +1 -1
- data/lib/puppet/util/watched_file.rb +1 -1
- data/lib/puppet/util/watcher.rb +3 -3
- data/lib/puppet/util/windows.rb +20 -20
- data/lib/puppet/util/windows/access_control_entry.rb +1 -1
- data/lib/puppet/util/windows/adsi.rb +1 -1
- data/lib/puppet/util/windows/daemon.rb +1 -1
- data/lib/puppet/util/windows/error.rb +2 -2
- data/lib/puppet/util/windows/file.rb +1 -1
- data/lib/puppet/util/windows/monkey_patches/process.rb +2 -2
- data/lib/puppet/util/windows/principal.rb +1 -1
- data/lib/puppet/util/windows/process.rb +2 -2
- data/lib/puppet/util/windows/registry.rb +1 -1
- data/lib/puppet/util/windows/root_certs.rb +2 -2
- data/lib/puppet/util/windows/security.rb +1 -1
- data/lib/puppet/util/windows/security_descriptor.rb +1 -1
- data/lib/puppet/util/windows/service.rb +1 -1
- data/lib/puppet/util/windows/sid.rb +4 -2
- data/lib/puppet/util/windows/user.rb +1 -1
- data/lib/puppet/vendor.rb +1 -1
- data/lib/puppet/version.rb +1 -1
- data/lib/puppet/x509.rb +4 -4
- data/lib/puppet/x509/cert_provider.rb +4 -22
- data/lib/puppet/x509/pem_store.rb +1 -1
- data/lib/puppet_pal.rb +2 -2
- data/locales/puppet.pot +441 -357
- data/man/man5/puppet.conf.5 +322 -264
- data/man/man8/puppet-agent.8 +1 -1
- data/man/man8/puppet-apply.8 +1 -1
- data/man/man8/puppet-catalog.8 +9 -9
- 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 +7 -7
- 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 +3 -3
- data/man/man8/puppet-node.8 +5 -5
- data/man/man8/puppet-parser.8 +1 -1
- data/man/man8/puppet-plugin.8 +1 -1
- data/man/man8/puppet-report.8 +5 -5
- data/man/man8/puppet-resource.8 +1 -1
- data/man/man8/puppet-script.8 +1 -1
- data/man/man8/puppet-ssl.8 +1 -1
- data/man/man8/puppet.8 +2 -2
- data/spec/fixtures/integration/application/agent/lib/facter/agent_spec_role.rb +3 -0
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Gemfile +4 -0
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Rakefile +3 -0
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/lib/puppet/functions/l10n.rb +8 -0
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/config.yaml +25 -0
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/ja/puppet-l10n.po +19 -0
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/puppet-l10n.pot +20 -0
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/metadata.json +8 -0
- data/spec/fixtures/ssl/127.0.0.1-key.pem +107 -57
- data/spec/fixtures/ssl/127.0.0.1.pem +52 -31
- data/spec/fixtures/ssl/bad-basic-constraints.pem +57 -35
- data/spec/fixtures/ssl/bad-int-basic-constraints.pem +57 -35
- data/spec/fixtures/ssl/ca.pem +57 -35
- data/spec/fixtures/ssl/crl.pem +28 -18
- data/spec/fixtures/ssl/ec-key-openssl.pem +8 -0
- data/spec/fixtures/ssl/ec-key-pk8.pem +5 -0
- data/spec/fixtures/ssl/ec-key.pem +11 -11
- data/spec/fixtures/ssl/ec.pem +33 -24
- data/spec/fixtures/ssl/encrypted-ec-key.pem +12 -12
- data/spec/fixtures/ssl/encrypted-key.pem +108 -58
- data/spec/fixtures/ssl/intermediate-agent-crl.pem +28 -19
- data/spec/fixtures/ssl/intermediate-agent.pem +57 -36
- data/spec/fixtures/ssl/intermediate-crl.pem +31 -21
- data/spec/fixtures/ssl/intermediate.pem +57 -36
- data/spec/fixtures/ssl/oid-key.pem +117 -0
- data/spec/fixtures/ssl/oid.pem +69 -0
- data/spec/fixtures/ssl/pluto-key.pem +107 -57
- data/spec/fixtures/ssl/pluto.pem +52 -30
- data/spec/fixtures/ssl/request-key.pem +107 -57
- data/spec/fixtures/ssl/request.pem +47 -26
- data/spec/fixtures/ssl/revoked-key.pem +107 -57
- data/spec/fixtures/ssl/revoked.pem +52 -30
- data/spec/fixtures/ssl/signed-key.pem +107 -57
- data/spec/fixtures/ssl/signed.pem +52 -30
- data/spec/fixtures/ssl/tampered-cert.pem +52 -30
- data/spec/fixtures/ssl/tampered-csr.pem +47 -26
- data/spec/fixtures/ssl/trusted_oid_mapping.yaml +5 -0
- data/spec/fixtures/ssl/unknown-127.0.0.1-key.pem +107 -57
- data/spec/fixtures/ssl/unknown-127.0.0.1.pem +50 -29
- data/spec/fixtures/ssl/unknown-ca-key.pem +107 -57
- data/spec/fixtures/ssl/unknown-ca.pem +55 -33
- data/spec/integration/application/agent_spec.rb +102 -52
- data/spec/integration/application/filebucket_spec.rb +16 -0
- data/spec/integration/application/module_spec.rb +21 -0
- data/spec/integration/application/resource_spec.rb +64 -0
- data/spec/integration/application/ssl_spec.rb +20 -0
- data/spec/integration/configurer_spec.rb +17 -1
- data/spec/integration/defaults_spec.rb +5 -0
- data/spec/integration/environments/settings_interpolation_spec.rb +0 -4
- data/spec/integration/indirector/facts/facter_spec.rb +90 -36
- data/spec/integration/l10n/compiler_spec.rb +37 -0
- data/spec/integration/type/exec_spec.rb +70 -45
- data/spec/integration/type/file_spec.rb +5 -5
- data/spec/lib/puppet/test_ca.rb +7 -2
- data/spec/lib/puppet_spec/files.rb +1 -1
- data/spec/lib/puppet_spec/modules.rb +13 -2
- data/spec/lib/puppet_spec/puppetserver.rb +15 -0
- data/spec/lib/puppet_spec/settings.rb +1 -0
- data/spec/shared_behaviours/documentation_on_faces.rb +0 -2
- data/spec/shared_contexts/l10n.rb +27 -0
- data/spec/shared_contexts/provider.rb +16 -0
- data/spec/spec_helper.rb +1 -10
- data/spec/unit/application/agent_spec.rb +7 -2
- data/spec/unit/configurer/downloader_spec.rb +6 -0
- data/spec/unit/configurer_spec.rb +288 -54
- data/spec/unit/environments_spec.rb +184 -0
- data/spec/unit/file_bucket/dipper_spec.rb +1 -1
- data/spec/unit/file_serving/configuration/parser_spec.rb +23 -0
- data/spec/unit/file_serving/configuration_spec.rb +12 -4
- data/spec/unit/file_serving/fileset_spec.rb +60 -0
- data/spec/unit/file_serving/mount/scripts_spec.rb +69 -0
- data/spec/unit/file_system_spec.rb +6 -0
- data/spec/unit/functions/assert_type_spec.rb +1 -1
- data/spec/unit/functions/empty_spec.rb +10 -0
- data/spec/unit/functions/logging_spec.rb +1 -0
- data/spec/unit/functions/lookup_spec.rb +23 -0
- data/spec/unit/functions/unwrap_spec.rb +8 -0
- data/spec/unit/functions4_spec.rb +19 -10
- data/spec/unit/gettext/config_spec.rb +12 -0
- data/spec/unit/http/service/compiler_spec.rb +131 -0
- data/spec/unit/indirector/catalog/compiler_spec.rb +101 -10
- data/spec/unit/indirector/catalog/rest_spec.rb +8 -0
- data/spec/unit/indirector/resource/ral_spec.rb +40 -75
- data/spec/unit/interface/action_spec.rb +0 -9
- data/spec/unit/module_spec.rb +14 -0
- data/spec/unit/module_tool/applications/installer_spec.rb +52 -14
- data/spec/unit/parser/compiler_spec.rb +29 -0
- data/spec/unit/parser/functions/fqdn_rand_spec.rb +15 -1
- data/spec/unit/parser/templatewrapper_spec.rb +12 -2
- data/spec/unit/pops/loaders/dependency_loader_spec.rb +0 -9
- data/spec/unit/pops/lookup/context_spec.rb +1 -1
- data/spec/unit/pops/parser/lexer2_spec.rb +0 -4
- data/spec/unit/pops/parser/parse_containers_spec.rb +0 -11
- data/spec/unit/pops/serialization/to_from_hr_spec.rb +58 -0
- data/spec/unit/pops/types/p_sem_ver_type_spec.rb +18 -0
- data/spec/unit/pops/types/p_sensitive_type_spec.rb +18 -0
- data/spec/unit/provider/package/dnfmodule_spec.rb +3 -3
- data/spec/unit/provider/package/gem_spec.rb +3 -1
- data/spec/unit/provider/package/nim_spec.rb +42 -0
- data/spec/unit/provider/package/pip2_spec.rb +3 -1
- data/spec/unit/provider/package/pip3_spec.rb +3 -1
- data/spec/unit/provider/package/pip_spec.rb +40 -1
- data/spec/unit/provider/package/pkg_spec.rb +63 -49
- data/spec/unit/provider/package/puppet_gem_spec.rb +3 -1
- data/spec/unit/provider/package/puppetserver_gem_spec.rb +2 -0
- data/spec/unit/provider/package/windows/exe_package_spec.rb +17 -0
- data/spec/unit/provider/parsedfile_spec.rb +10 -0
- data/spec/unit/provider/service/base_spec.rb +8 -8
- data/spec/unit/provider/service/bsd_spec.rb +0 -4
- data/spec/unit/provider/service/daemontools_spec.rb +1 -1
- data/spec/unit/provider/service/debian_spec.rb +15 -17
- data/spec/unit/provider/service/freebsd_spec.rb +1 -1
- data/spec/unit/provider/service/gentoo_spec.rb +19 -14
- data/spec/unit/provider/service/init_spec.rb +29 -20
- data/spec/unit/provider/service/launchd_spec.rb +21 -12
- data/spec/unit/provider/service/openbsd_spec.rb +21 -35
- data/spec/unit/provider/service/openrc_spec.rb +15 -14
- data/spec/unit/provider/service/openwrt_spec.rb +3 -1
- data/spec/unit/provider/service/redhat_spec.rb +20 -19
- data/spec/unit/provider/service/smf_spec.rb +6 -5
- data/spec/unit/provider/service/src_spec.rb +5 -10
- data/spec/unit/provider/service/systemd_spec.rb +70 -30
- data/spec/unit/provider/service/upstart_spec.rb +25 -20
- data/spec/unit/provider/service/windows_spec.rb +202 -0
- data/spec/unit/provider/user/directoryservice_spec.rb +67 -35
- data/spec/unit/provider/user/useradd_spec.rb +3 -2
- data/spec/unit/resource/catalog_spec.rb +1 -1
- data/spec/unit/resource/type_collection_spec.rb +16 -0
- data/spec/unit/resource/type_spec.rb +2 -2
- data/spec/unit/settings/config_file_spec.rb +1 -11
- data/spec/unit/settings/value_translator_spec.rb +4 -5
- data/spec/unit/settings_spec.rb +120 -79
- data/spec/unit/ssl/ssl_provider_spec.rb +18 -16
- data/spec/unit/ssl/state_machine_spec.rb +19 -5
- data/spec/unit/transaction/additional_resource_generator_spec.rb +0 -2
- data/spec/unit/transaction_spec.rb +18 -20
- data/spec/unit/type/exec_spec.rb +76 -29
- data/spec/unit/type/file/selinux_spec.rb +3 -3
- data/spec/unit/type/file/source_spec.rb +4 -4
- data/spec/unit/type/service_spec.rb +59 -188
- data/spec/unit/type/tidy_spec.rb +24 -7
- data/spec/unit/type/user_spec.rb +45 -0
- data/spec/unit/util/at_fork_spec.rb +9 -9
- data/spec/unit/util/ldap/connection_spec.rb +10 -10
- data/spec/unit/util/ldap/manager_spec.rb +2 -2
- data/spec/unit/util/posix_spec.rb +1 -1
- data/spec/unit/util/selinux_spec.rb +87 -16
- data/spec/unit/util/windows/sid_spec.rb +39 -4
- data/spec/unit/util_spec.rb +1 -3
- data/spec/unit/x509/cert_provider_spec.rb +9 -1
- data/tasks/generate_cert_fixtures.rake +12 -3
- metadata +52 -95
- data/ext/README.environment +0 -8
- data/ext/dbfix.sql +0 -132
- data/ext/debian/README.Debian +0 -8
- data/ext/debian/README.source +0 -2
- data/ext/debian/TODO.Debian +0 -1
- data/ext/debian/changelog.erb +0 -1122
- data/ext/debian/compat +0 -1
- data/ext/debian/control +0 -144
- data/ext/debian/copyright +0 -339
- data/ext/debian/docs +0 -1
- data/ext/debian/fileserver.conf +0 -41
- data/ext/debian/puppet-common.dirs +0 -13
- data/ext/debian/puppet-common.install +0 -3
- data/ext/debian/puppet-common.lintian-overrides +0 -5
- data/ext/debian/puppet-common.manpages +0 -28
- data/ext/debian/puppet-common.postinst +0 -35
- data/ext/debian/puppet-common.postrm +0 -33
- data/ext/debian/puppet-el.dirs +0 -1
- data/ext/debian/puppet-el.emacsen-install +0 -25
- data/ext/debian/puppet-el.emacsen-remove +0 -11
- data/ext/debian/puppet-el.emacsen-startup +0 -9
- data/ext/debian/puppet-el.install +0 -1
- data/ext/debian/puppet-testsuite.install +0 -2
- data/ext/debian/puppet-testsuite.lintian-overrides +0 -4
- data/ext/debian/puppet.lintian-overrides +0 -3
- data/ext/debian/puppet.logrotate +0 -20
- data/ext/debian/puppet.postinst +0 -20
- data/ext/debian/puppet.postrm +0 -20
- data/ext/debian/puppet.preinst +0 -20
- data/ext/debian/puppetmaster-common.install +0 -2
- data/ext/debian/puppetmaster-common.manpages +0 -2
- data/ext/debian/puppetmaster-common.postinst +0 -6
- data/ext/debian/puppetmaster-passenger.dirs +0 -4
- data/ext/debian/puppetmaster-passenger.postinst +0 -162
- data/ext/debian/puppetmaster-passenger.postrm +0 -61
- data/ext/debian/puppetmaster.README.debian +0 -17
- data/ext/debian/puppetmaster.default +0 -14
- data/ext/debian/puppetmaster.init +0 -137
- data/ext/debian/puppetmaster.lintian-overrides +0 -3
- data/ext/debian/puppetmaster.postinst +0 -20
- data/ext/debian/puppetmaster.postrm +0 -5
- data/ext/debian/puppetmaster.preinst +0 -22
- data/ext/debian/rules +0 -132
- data/ext/debian/source/format +0 -1
- data/ext/debian/source/options +0 -1
- data/ext/debian/vim-puppet.README.Debian +0 -13
- data/ext/debian/vim-puppet.dirs +0 -5
- data/ext/debian/vim-puppet.yaml +0 -7
- data/ext/debian/watch +0 -2
- data/ext/freebsd/puppetd +0 -26
- data/ext/freebsd/puppetmasterd +0 -26
- data/ext/gentoo/conf.d/puppet +0 -5
- data/ext/gentoo/conf.d/puppetmaster +0 -12
- data/ext/gentoo/init.d/puppet +0 -38
- data/ext/gentoo/init.d/puppetmaster +0 -51
- data/ext/gentoo/puppet/fileserver.conf +0 -41
- data/ext/ips/puppet-agent +0 -44
- data/ext/ips/puppet-master +0 -44
- data/ext/ips/puppet.p5m.erb +0 -12
- data/ext/ips/puppetagent.xml +0 -42
- data/ext/ips/puppetmaster.xml +0 -42
- data/ext/ips/rules +0 -19
- data/ext/ips/transforms +0 -34
- data/ext/ldap/puppet.schema +0 -24
- data/ext/logcheck/puppet +0 -23
- data/ext/osx/file_mapping.yaml +0 -28
- data/ext/osx/postflight.erb +0 -109
- data/ext/osx/preflight.erb +0 -52
- data/ext/osx/prototype.plist.erb +0 -38
- data/ext/redhat/fileserver.conf +0 -41
- data/ext/redhat/logrotate +0 -21
- data/ext/redhat/puppet.spec.erb +0 -841
- data/ext/redhat/server.init +0 -128
- data/ext/redhat/server.sysconfig +0 -13
- data/ext/solaris/pkginfo +0 -6
- data/ext/solaris/smf/puppetd.xml +0 -77
- data/ext/solaris/smf/puppetmasterd.xml +0 -77
- data/ext/solaris/smf/svc-puppetd +0 -71
- data/ext/solaris/smf/svc-puppetmasterd +0 -67
- data/ext/suse/puppet.spec +0 -310
- data/ext/suse/server.init +0 -173
- data/ext/yaml_nodes.rb +0 -105
- data/spec/unit/indirector/store_configs_spec.rb +0 -7
data/lib/puppet/confiner.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
require_relative '../puppet/confine_collection'
|
2
2
|
|
3
3
|
# The Confiner module contains methods for managing a Provider's confinement (suitability under given
|
4
4
|
# conditions). The intent is to include this module in an object where confinement management is wanted.
|
data/lib/puppet/context.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
require_relative '../puppet/thread_local'
|
2
2
|
|
3
3
|
# Puppet::Context is a system for tracking services and contextual information
|
4
4
|
# that puppet needs to be able to run. Values are "bound" in a context when it is created
|
@@ -11,7 +11,7 @@ require 'puppet/thread_local'
|
|
11
11
|
#
|
12
12
|
# @api private
|
13
13
|
class Puppet::Context
|
14
|
-
|
14
|
+
require_relative 'context/trusted_information'
|
15
15
|
|
16
16
|
class UndefinedBindingError < Puppet::Error; end
|
17
17
|
class StackUnderflow < Puppet::Error; end
|
data/lib/puppet/daemon.rb
CHANGED
data/lib/puppet/data_binding.rb
CHANGED
data/lib/puppet/defaults.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
require_relative '../puppet/util/platform'
|
2
2
|
|
3
3
|
module Puppet
|
4
4
|
|
@@ -199,7 +199,7 @@ module Puppet
|
|
199
199
|
|
200
200
|
The strictness level is for both language semantics and runtime
|
201
201
|
evaluation validation. In addition to controlling the behavior with
|
202
|
-
this
|
202
|
+
this primary server switch some individual warnings may also be controlled
|
203
203
|
by the disable_warnings setting.
|
204
204
|
|
205
205
|
No new validations will be added to a micro (x.y.z) release,
|
@@ -219,7 +219,7 @@ module Puppet
|
|
219
219
|
as well as any translations in the report and CLI.",
|
220
220
|
:hook => proc do |value|
|
221
221
|
if value
|
222
|
-
|
222
|
+
require_relative '../puppet/gettext/stubs'
|
223
223
|
Puppet::GettextConfig.disable_gettext
|
224
224
|
end
|
225
225
|
end
|
@@ -268,7 +268,7 @@ module Puppet
|
|
268
268
|
:default => true,
|
269
269
|
:type => :boolean,
|
270
270
|
:desc => "Whether to compile a [static catalog](https://puppet.com/docs/puppet/latest/static_catalogs.html#enabling-or-disabling-static-catalogs),
|
271
|
-
which occurs only on
|
271
|
+
which occurs only on Puppet Server when the `code-id-command` and
|
272
272
|
`code-content-command` settings are configured in its `puppetserver.conf` file.",
|
273
273
|
},
|
274
274
|
:settings_catalog => {
|
@@ -391,13 +391,13 @@ module Puppet
|
|
391
391
|
:default => "production",
|
392
392
|
:desc => "The environment in which Puppet is running. For clients,
|
393
393
|
such as `puppet agent`, this determines the environment itself, which
|
394
|
-
Puppet uses to find modules and much more. For servers, such as `puppet
|
394
|
+
Puppet uses to find modules and much more. For servers, such as `puppet server`,
|
395
395
|
this provides the default environment for nodes that Puppet knows nothing about.
|
396
396
|
|
397
397
|
When defining an environment in the `[agent]` section, this refers to the
|
398
|
-
environment that the agent requests from the
|
398
|
+
environment that the agent requests from the primary server. The environment doesn't
|
399
399
|
have to exist on the local filesystem because the agent fetches it from the
|
400
|
-
|
400
|
+
primary server. This definition is used when running `puppet agent`.
|
401
401
|
|
402
402
|
When defined in the `[user]` section, the environment refers to the path that
|
403
403
|
Puppet uses to search for code and modules related to its execution. This
|
@@ -478,6 +478,7 @@ module Puppet
|
|
478
478
|
},
|
479
479
|
:maximum_uid => {
|
480
480
|
:default => 4294967290,
|
481
|
+
:type => :integer,
|
481
482
|
:desc => "The maximum allowed UID. Some platforms use negative UIDs
|
482
483
|
but then ship with tools that do not know how to handle signed ints,
|
483
484
|
so the UIDs show up as huge numbers that can then not be fed back into
|
@@ -615,6 +616,7 @@ module Puppet
|
|
615
616
|
},
|
616
617
|
:http_proxy_port => {
|
617
618
|
:default => 3128,
|
619
|
+
:type => :port,
|
618
620
|
:desc => "The HTTP proxy port to use for outgoing connections",
|
619
621
|
},
|
620
622
|
:http_proxy_user => {
|
@@ -789,7 +791,7 @@ Valid values are 0 (never cache) and 15 (15 second minimum wait time).
|
|
789
791
|
:certname => {
|
790
792
|
:default => lambda { Puppet::Settings.default_certname.downcase },
|
791
793
|
:desc => "The name to use when handling certificates. When a node
|
792
|
-
requests a certificate from the CA
|
794
|
+
requests a certificate from the CA Puppet Server, it uses the value of the
|
793
795
|
`certname` setting as its requested Subject CN.
|
794
796
|
|
795
797
|
This is the name used when managing a node's permissions in
|
@@ -837,8 +839,8 @@ names.
|
|
837
839
|
**Note:** The list of alternate names is locked in when the server's
|
838
840
|
certificate is signed. If you need to change the list later, you can't just
|
839
841
|
change this setting; you also need to regenerate the certificate. For more
|
840
|
-
information on that process, see the
|
841
|
-
(https://puppet.com/docs/puppet/latest/ssl_regenerate_certificates.html).
|
842
|
+
information on that process, see the
|
843
|
+
[cert regen docs](https://puppet.com/docs/puppet/latest/ssl_regenerate_certificates.html).
|
842
844
|
|
843
845
|
To see all the alternate names your servers are using, log into your CA server
|
844
846
|
and run `puppetserver ca list --all`, then check the output for `(alt names: ...)`.
|
@@ -852,7 +854,7 @@ EOT
|
|
852
854
|
:desc => <<EOT
|
853
855
|
An optional file containing custom attributes to add to certificate signing
|
854
856
|
requests (CSRs). You should ensure that this file does not exist on your CA
|
855
|
-
|
857
|
+
Puppet Server; if it does, unwanted certificate extensions may leak into
|
856
858
|
certificates created with the `puppetserver ca generate` command.
|
857
859
|
|
858
860
|
If present, this file must be a YAML hash containing a `custom_attributes` key
|
@@ -1141,7 +1143,7 @@ EOT
|
|
1141
1143
|
:default => "$confdir/autosign.conf",
|
1142
1144
|
:type => :autosign,
|
1143
1145
|
:desc => "Whether (and how) to autosign certificate requests. This setting
|
1144
|
-
is only relevant on a
|
1146
|
+
is only relevant on a Puppet Server acting as a certificate authority (CA).
|
1145
1147
|
|
1146
1148
|
Valid values are true (autosigns all certificate requests; not recommended),
|
1147
1149
|
false (disables autosigning certificates), or the absolute path to a file.
|
@@ -1152,7 +1154,7 @@ EOT
|
|
1152
1154
|
file, it will be treated as a policy executable; otherwise, it will be
|
1153
1155
|
treated as a config file.
|
1154
1156
|
|
1155
|
-
If a custom policy executable is configured, the CA
|
1157
|
+
If a custom policy executable is configured, the CA Puppet Server will run it
|
1156
1158
|
every time it receives a CSR. The executable will be passed the subject CN of the
|
1157
1159
|
request _as a command line argument,_ and the contents of the CSR in PEM format
|
1158
1160
|
_on stdin._ It should exit with a status of 0 if the cert should be autosigned
|
@@ -1197,6 +1199,7 @@ EOT
|
|
1197
1199
|
},
|
1198
1200
|
:keylength => {
|
1199
1201
|
:default => 4096,
|
1202
|
+
:type => :integer,
|
1200
1203
|
:desc => "The bit length of keys.",
|
1201
1204
|
},
|
1202
1205
|
:cert_inventory => {
|
@@ -1238,7 +1241,7 @@ EOT
|
|
1238
1241
|
:manifest => {
|
1239
1242
|
:default => nil,
|
1240
1243
|
:type => :file_or_directory,
|
1241
|
-
:desc => "The entry-point manifest for
|
1244
|
+
:desc => "The entry-point manifest for the primary server. This can be one file
|
1242
1245
|
or a directory of manifests to be evaluated in alphabetical order. Puppet manages
|
1243
1246
|
this path as a directory if one exists or if the path ends with a / or \\.
|
1244
1247
|
|
@@ -1418,15 +1421,17 @@ EOT
|
|
1418
1421
|
their names should be comma-separated, with whitespace allowed. (For example,
|
1419
1422
|
`reports = http, store`.)
|
1420
1423
|
|
1421
|
-
This setting is relevant to puppet
|
1422
|
-
|
1424
|
+
This setting is relevant to puppet server and puppet apply. The primary Puppet
|
1425
|
+
server will call these report handlers with the reports it receives from
|
1423
1426
|
agent nodes, and puppet apply will call them with its own report. (In
|
1424
1427
|
all cases, the node applying the catalog must have `report = true`.)
|
1425
1428
|
|
1426
1429
|
See the report reference for information on the built-in report
|
1427
1430
|
handlers; custom report handlers can also be loaded from modules.
|
1428
1431
|
(Report handlers are loaded from the lib directory, at
|
1429
|
-
`puppet/reports/NAME.rb`.)
|
1432
|
+
`puppet/reports/NAME.rb`.)
|
1433
|
+
|
1434
|
+
To turn off reports entirely, set this to `none`",
|
1430
1435
|
},
|
1431
1436
|
:reportdir => {
|
1432
1437
|
:default => "$vardir/reports",
|
@@ -1469,14 +1474,14 @@ EOT
|
|
1469
1474
|
:node_name_value => {
|
1470
1475
|
:default => "$certname",
|
1471
1476
|
:desc => "The explicit value used for the node name for all requests the agent
|
1472
|
-
makes to the
|
1477
|
+
makes to the primary server. WARNING: This setting is mutually exclusive with
|
1473
1478
|
node_name_fact. Changing this setting also requires changes to
|
1474
1479
|
Puppet Server's default [auth.conf](https://puppet.com/docs/puppetserver/latest/config_file_auth.html)."
|
1475
1480
|
},
|
1476
1481
|
:node_name_fact => {
|
1477
1482
|
:default => "",
|
1478
1483
|
:desc => "The fact name used to determine the node name used for all requests the agent
|
1479
|
-
makes to the
|
1484
|
+
makes to the primary server. WARNING: This setting is mutually exclusive with
|
1480
1485
|
node_name_value. Changing this setting also requires changes to
|
1481
1486
|
Puppet Server's default [auth.conf](https://puppet.com/docs/puppetserver/latest/config_file_auth.html).",
|
1482
1487
|
:hook => proc do |value|
|
@@ -1489,8 +1494,8 @@ EOT
|
|
1489
1494
|
:default => "$statedir/state.yaml",
|
1490
1495
|
:type => :file,
|
1491
1496
|
:mode => "0640",
|
1492
|
-
:desc => "Where
|
1493
|
-
with the running configuration. In the case of
|
1497
|
+
:desc => "Where Puppet agent and Puppet Server store state associated
|
1498
|
+
with the running configuration. In the case of Puppet Server,
|
1494
1499
|
this file reflects the state discovered through interacting
|
1495
1500
|
with clients."
|
1496
1501
|
},
|
@@ -1553,11 +1558,11 @@ EOT
|
|
1553
1558
|
the POSIX syslog service and the Windows Event Log are unavailable. (Currently,
|
1554
1559
|
no supported operating systems match that description.)
|
1555
1560
|
|
1556
|
-
Despite the name, both puppet agent and puppet
|
1561
|
+
Despite the name, both puppet agent and puppet server will use this file
|
1557
1562
|
as the fallback logging destination.
|
1558
1563
|
|
1559
1564
|
For control over logging destinations, see the `--logdest` command line
|
1560
|
-
option in the manual pages for puppet
|
1565
|
+
option in the manual pages for puppet server, puppet agent, and puppet
|
1561
1566
|
apply. You can see man pages by running `puppet <SUBCOMMAND> --help`,
|
1562
1567
|
or read them online at https://puppet.com/docs/puppet/latest/man/."
|
1563
1568
|
},
|
@@ -1571,12 +1576,12 @@ EOT
|
|
1571
1576
|
},
|
1572
1577
|
:server => {
|
1573
1578
|
:default => "puppet",
|
1574
|
-
:desc => "The
|
1579
|
+
:desc => "The primary Puppet server to which the Puppet agent should connect.",
|
1575
1580
|
},
|
1576
1581
|
:server_list => {
|
1577
1582
|
:default => [],
|
1578
1583
|
:type => :server_list,
|
1579
|
-
:desc => "The list of Puppet
|
1584
|
+
:desc => "The list of primary Puppet servers to which the Puppet agent should connect,
|
1580
1585
|
in the order that they will be tried. Each value should be a fully qualified domain name, followed by an optional ':' and port number. If a port is omitted, Puppet uses masterport for that host.",
|
1581
1586
|
},
|
1582
1587
|
:use_srv_records => {
|
@@ -1591,7 +1596,7 @@ EOT
|
|
1591
1596
|
:http_extra_headers => {
|
1592
1597
|
:default => [],
|
1593
1598
|
:type => :http_extra_headers,
|
1594
|
-
:desc => "The list of extra headers that will be sent with http requests to the
|
1599
|
+
:desc => "The list of extra headers that will be sent with http requests to the primary server.
|
1595
1600
|
The header definition consists of a name and a value separated by a colon."
|
1596
1601
|
},
|
1597
1602
|
:ignoreschedules => {
|
@@ -1617,7 +1622,7 @@ EOT
|
|
1617
1622
|
like it does when running normally. However, if a resource attribute is not in
|
1618
1623
|
the desired state (as declared in the catalog), Puppet will take no
|
1619
1624
|
action, and will instead report the changes it _would_ have made. These
|
1620
|
-
simulated changes will appear in the report sent to the
|
1625
|
+
simulated changes will appear in the report sent to the primary Puppet server, or
|
1621
1626
|
be shown on the console if running puppet agent or puppet apply in the
|
1622
1627
|
foreground. The simulated changes will not send refresh events to any
|
1623
1628
|
subscribing or notified resources, although Puppet will log that a refresh
|
@@ -1684,13 +1689,38 @@ EOT
|
|
1684
1689
|
new configurations, where you want to fix the broken configuration
|
1685
1690
|
rather than reverting to a known-good one.",
|
1686
1691
|
},
|
1692
|
+
:fact_name_length_soft_limit => {
|
1693
|
+
:default => 2560,
|
1694
|
+
:type => :integer,
|
1695
|
+
:desc => "The soft limit for the length of a fact name.",
|
1696
|
+
},
|
1697
|
+
:fact_value_length_soft_limit => {
|
1698
|
+
:default => 4096,
|
1699
|
+
:type => :integer,
|
1700
|
+
:desc => "The soft limit for the length of a fact value.",
|
1701
|
+
},
|
1702
|
+
:top_level_facts_soft_limit => {
|
1703
|
+
:default => 512,
|
1704
|
+
:type => :integer,
|
1705
|
+
:desc => "The soft limit for the number of top level facts.",
|
1706
|
+
},
|
1707
|
+
:number_of_facts_soft_limit => {
|
1708
|
+
:default => 2048,
|
1709
|
+
:type => :integer,
|
1710
|
+
:desc => "The soft limit for the total number of facts.",
|
1711
|
+
},
|
1712
|
+
:payload_soft_limit => {
|
1713
|
+
:default => 16 * 1024 * 1024,
|
1714
|
+
:type => :integer,
|
1715
|
+
:desc => "The soft limit for the size of the payload.",
|
1716
|
+
},
|
1687
1717
|
:use_cached_catalog => {
|
1688
1718
|
:default => false,
|
1689
1719
|
:type => :boolean,
|
1690
1720
|
:desc => "Whether to only use the cached catalog rather than compiling a new catalog
|
1691
1721
|
on every run. Puppet can be run with this enabled by default and then selectively
|
1692
1722
|
disabled when a recompile is desired. Because a Puppet agent using cached catalogs
|
1693
|
-
does not contact the
|
1723
|
+
does not contact the primary server for a new catalog, it also does not upload facts at
|
1694
1724
|
the beginning of the Puppet run.",
|
1695
1725
|
},
|
1696
1726
|
:ignoremissingtypes => {
|
@@ -1698,7 +1728,7 @@ EOT
|
|
1698
1728
|
:type => :boolean,
|
1699
1729
|
:desc => "Skip searching for classes and definitions that were missing during a
|
1700
1730
|
prior compilation. The list of missing objects is maintained per-environment and
|
1701
|
-
persists until the environment is cleared or the
|
1731
|
+
persists until the environment is cleared or the primary server is restarted.",
|
1702
1732
|
},
|
1703
1733
|
:splaylimit => {
|
1704
1734
|
:default => "$runinterval",
|
@@ -1728,7 +1758,7 @@ EOT
|
|
1728
1758
|
If you restart an agent's puppet service with `splay` enabled, it
|
1729
1759
|
recalculates its splay period and delays its first agent run after
|
1730
1760
|
restarting for this new period. If you simultaneously restart a group of
|
1731
|
-
puppet agents with `splay` enabled, their checkins to your
|
1761
|
+
puppet agents with `splay` enabled, their checkins to your primary servers
|
1732
1762
|
can be distributed more evenly.",
|
1733
1763
|
},
|
1734
1764
|
:clientbucketdir => {
|
@@ -1827,7 +1857,7 @@ EOT
|
|
1827
1857
|
|
1828
1858
|
When starting for the first time, puppet agent will submit a certificate
|
1829
1859
|
signing request (CSR) to the server named in the `ca_server` setting
|
1830
|
-
(usually the
|
1860
|
+
(usually the primary Puppet server); this may be autosigned, or may need to be
|
1831
1861
|
approved by a human, depending on the CA server's configuration.
|
1832
1862
|
|
1833
1863
|
Puppet agent cannot apply configurations until its approved certificate is
|
@@ -2021,6 +2051,7 @@ EOT
|
|
2021
2051
|
},
|
2022
2052
|
:ldapport => {
|
2023
2053
|
:default => 389,
|
2054
|
+
:type => :port,
|
2024
2055
|
:desc => "The LDAP port.",
|
2025
2056
|
},
|
2026
2057
|
|
@@ -2082,8 +2113,8 @@ EOT
|
|
2082
2113
|
# Call our hook with the default value, so we always get the libdir set.
|
2083
2114
|
:call_hook => :on_initialize_and_write,
|
2084
2115
|
:hook => proc do |value|
|
2085
|
-
|
2086
|
-
|
2116
|
+
require_relative '../puppet/node'
|
2117
|
+
require_relative '../puppet/node/facts'
|
2087
2118
|
if value
|
2088
2119
|
Puppet::Resource::Catalog.indirection.set_global_setting(:cache_class, :store_configs)
|
2089
2120
|
settings.override_default(:catalog_cache_terminus, :store_configs)
|
@@ -2104,6 +2135,7 @@ EOT
|
|
2104
2135
|
settings.define_settings(:parser,
|
2105
2136
|
:max_errors => {
|
2106
2137
|
:default => 10,
|
2138
|
+
:type => :integer,
|
2107
2139
|
:desc => <<-'EOT'
|
2108
2140
|
Sets the max number of logged/displayed parser validation errors in case
|
2109
2141
|
multiple errors have been detected. A value of 0 is the same as a value of 1; a
|
@@ -2112,6 +2144,7 @@ EOT
|
|
2112
2144
|
},
|
2113
2145
|
:max_warnings => {
|
2114
2146
|
:default => 10,
|
2147
|
+
:type => :integer,
|
2115
2148
|
:desc => <<-'EOT'
|
2116
2149
|
Sets the max number of logged/displayed parser validation warnings in
|
2117
2150
|
case multiple warnings have been detected. A value of 0 blocks logging of
|
@@ -2120,6 +2153,7 @@ EOT
|
|
2120
2153
|
},
|
2121
2154
|
:max_deprecations => {
|
2122
2155
|
:default => 10,
|
2156
|
+
:type => :integer,
|
2123
2157
|
:desc => <<-'EOT'
|
2124
2158
|
Sets the max number of logged/displayed parser validation deprecation
|
2125
2159
|
warnings in case multiple deprecation warnings have been detected. A value of 0
|
data/lib/puppet/environments.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
require_relative '../puppet/concurrent/synchronized'
|
2
2
|
|
3
3
|
# @api private
|
4
4
|
module Puppet::Environments
|
@@ -48,6 +48,13 @@ module Puppet::Environments
|
|
48
48
|
root.instance_variable_set(:@rich_data, nil)
|
49
49
|
end
|
50
50
|
end
|
51
|
+
|
52
|
+
# The base implementation is a noop, because `get` returns a new environment
|
53
|
+
# each time.
|
54
|
+
#
|
55
|
+
# @see Puppet::Environments::Cached#guard
|
56
|
+
def guard(name); end
|
57
|
+
def unguard(name); end
|
51
58
|
end
|
52
59
|
|
53
60
|
# @!macro [new] loader_search_paths
|
@@ -188,7 +195,7 @@ module Puppet::Environments
|
|
188
195
|
|
189
196
|
def self.real_path(dir)
|
190
197
|
if Puppet::FileSystem.symlink?(dir) && Puppet[:versioned_environment_dirs]
|
191
|
-
dir = Puppet::FileSystem.expand_path(Puppet::FileSystem.readlink(dir))
|
198
|
+
dir = Pathname.new Puppet::FileSystem.expand_path(Puppet::FileSystem.readlink(dir))
|
192
199
|
end
|
193
200
|
return dir
|
194
201
|
end
|
@@ -241,7 +248,7 @@ module Puppet::Environments
|
|
241
248
|
|
242
249
|
def validated_directory(envdir)
|
243
250
|
env_name = Puppet::FileSystem.basename_string(envdir)
|
244
|
-
envdir = Puppet::Environments::Directories.real_path(envdir)
|
251
|
+
envdir = Puppet::Environments::Directories.real_path(envdir).to_s
|
245
252
|
if Puppet::FileSystem.directory?(envdir) && Puppet::Node::Environment.valid_name?(env_name)
|
246
253
|
envdir
|
247
254
|
else
|
@@ -330,21 +337,13 @@ module Puppet::Environments
|
|
330
337
|
end
|
331
338
|
|
332
339
|
def self.cache_expiration_service=(service)
|
333
|
-
@
|
340
|
+
@cache_expiration_service_singleton = service
|
334
341
|
end
|
335
342
|
|
336
343
|
def self.cache_expiration_service
|
337
|
-
@
|
338
|
-
end
|
339
|
-
|
340
|
-
# Returns the end of time (the next Mesoamerican Long Count cycle-end after 2012 (5125+2012) = 7137
|
341
|
-
def self.end_of_time
|
342
|
-
Time.gm(7137)
|
344
|
+
@cache_expiration_service_singleton || DefaultCacheExpirationService.new
|
343
345
|
end
|
344
346
|
|
345
|
-
END_OF_TIME = end_of_time
|
346
|
-
START_OF_TIME = Time.gm(1)
|
347
|
-
|
348
347
|
def initialize(loader)
|
349
348
|
@loader = loader
|
350
349
|
@cache_expiration_service = Puppet::Environments::Cached.cache_expiration_service
|
@@ -356,6 +355,16 @@ module Puppet::Environments
|
|
356
355
|
# Evict all that have expired, in the same way as `get`
|
357
356
|
clear_all_expired
|
358
357
|
|
358
|
+
# Evict all that was removed from disk
|
359
|
+
cached_envs = @cache.keys.map!(&:to_sym)
|
360
|
+
loader_envs = @loader.list.map!(&:name)
|
361
|
+
removed_envs = cached_envs - loader_envs
|
362
|
+
|
363
|
+
removed_envs.each do |env_name|
|
364
|
+
Puppet.debug { "Environment no longer exists '#{env_name}'"}
|
365
|
+
clear(env_name)
|
366
|
+
end
|
367
|
+
|
359
368
|
@loader.list.map do |env|
|
360
369
|
name = env.name
|
361
370
|
old_entry = @cache[name]
|
@@ -375,27 +384,35 @@ module Puppet::Environments
|
|
375
384
|
|
376
385
|
# @!macro loader_get
|
377
386
|
def get(name)
|
387
|
+
entry = get_entry(name)
|
388
|
+
entry ? entry.value : nil
|
389
|
+
end
|
390
|
+
|
391
|
+
# Get a cache entry for an envionment. It returns nil if the
|
392
|
+
# environment doesn't exist.
|
393
|
+
def get_entry(name, check_expired = true)
|
378
394
|
# Aggressively evict all that has expired
|
379
395
|
# This strategy favors smaller memory footprint over environment
|
380
396
|
# retrieval time.
|
381
|
-
clear_all_expired
|
382
|
-
|
383
|
-
|
384
|
-
|
397
|
+
clear_all_expired if check_expired
|
398
|
+
name = name.to_sym
|
399
|
+
entry = @cache[name]
|
400
|
+
if entry
|
401
|
+
Puppet.debug {"Found in cache #{name.inspect} #{entry.label}"}
|
385
402
|
# found in cache
|
386
|
-
|
387
|
-
|
388
|
-
elsif (result = @loader.get(name))
|
403
|
+
entry.touch
|
404
|
+
elsif (env = @loader.get(name))
|
389
405
|
# environment loaded, cache it
|
390
|
-
|
391
|
-
add_entry(name,
|
392
|
-
result
|
406
|
+
entry = entry(env)
|
407
|
+
add_entry(name, entry)
|
393
408
|
end
|
409
|
+
entry
|
394
410
|
end
|
411
|
+
private :get_entry
|
395
412
|
|
396
413
|
# Adds a cache entry to the cache
|
397
414
|
def add_entry(name, cache_entry)
|
398
|
-
Puppet.debug {"Caching environment
|
415
|
+
Puppet.debug {"Caching environment #{name.inspect} #{cache_entry.label}"}
|
399
416
|
@cache[name] = cache_entry
|
400
417
|
@cache_expiration_service.created(cache_entry.value)
|
401
418
|
end
|
@@ -403,7 +420,7 @@ module Puppet::Environments
|
|
403
420
|
|
404
421
|
def clear_entry(name, entry)
|
405
422
|
@cache.delete(name)
|
406
|
-
Puppet.debug {"Evicting cache entry for environment
|
423
|
+
Puppet.debug {"Evicting cache entry for environment #{name.inspect}"}
|
407
424
|
@cache_expiration_service.evicted(name.to_sym)
|
408
425
|
Puppet::GettextConfig.delete_text_domain(name)
|
409
426
|
Puppet.settings.clear_environment_settings(name)
|
@@ -413,6 +430,7 @@ module Puppet::Environments
|
|
413
430
|
# Clears the cache of the environment with the given name.
|
414
431
|
# (The intention is that this could be used from a MANUAL cache eviction command (TBD)
|
415
432
|
def clear(name)
|
433
|
+
name = name.to_sym
|
416
434
|
entry = @cache[name]
|
417
435
|
clear_entry(name, entry) if entry
|
418
436
|
end
|
@@ -433,19 +451,21 @@ module Puppet::Environments
|
|
433
451
|
# Clears all environments that have expired, either by exceeding their time to live, or
|
434
452
|
# through an explicit eviction determined by the cache expiration service.
|
435
453
|
#
|
436
|
-
def clear_all_expired
|
454
|
+
def clear_all_expired
|
437
455
|
t = Time.now
|
438
456
|
|
439
457
|
@cache.each_pair do |name, entry|
|
440
458
|
clear_if_expired(name, entry, t)
|
441
459
|
end
|
442
460
|
end
|
461
|
+
private :clear_all_expired
|
443
462
|
|
444
463
|
# Clear an environment if it is expired, either by exceeding its time to live, or
|
445
464
|
# through an explicit eviction determined by the cache expiration service.
|
446
465
|
#
|
447
466
|
def clear_if_expired(name, entry, t = Time.now)
|
448
467
|
return unless entry
|
468
|
+
return if entry.guarded?
|
449
469
|
|
450
470
|
if entry.expired?(t) || @cache_expiration_service.expired?(name.to_sym)
|
451
471
|
clear_entry(name, entry)
|
@@ -462,10 +482,25 @@ module Puppet::Environments
|
|
462
482
|
#
|
463
483
|
# @!macro loader_get_conf
|
464
484
|
def get_conf(name)
|
485
|
+
name = name.to_sym
|
465
486
|
clear_if_expired(name, @cache[name])
|
466
487
|
@loader.get_conf(name)
|
467
488
|
end
|
468
489
|
|
490
|
+
# Guard an environment so it can't be evicted while it's in use. The method
|
491
|
+
# may be called multiple times, provided it is unguarded the same number of
|
492
|
+
# times. If you call this method, you must call `unguard` in an ensure block.
|
493
|
+
def guard(name)
|
494
|
+
entry = get_entry(name, false)
|
495
|
+
entry.guard if entry
|
496
|
+
end
|
497
|
+
|
498
|
+
# Unguard an environment.
|
499
|
+
def unguard(name)
|
500
|
+
entry = get_entry(name, false)
|
501
|
+
entry.unguard if entry
|
502
|
+
end
|
503
|
+
|
469
504
|
# Creates a suitable cache entry given the time to live for one environment
|
470
505
|
#
|
471
506
|
def entry(env)
|
@@ -491,6 +526,7 @@ module Puppet::Environments
|
|
491
526
|
|
492
527
|
def initialize(value)
|
493
528
|
@value = value
|
529
|
+
@guards = 0
|
494
530
|
end
|
495
531
|
|
496
532
|
def touch
|
@@ -503,6 +539,20 @@ module Puppet::Environments
|
|
503
539
|
def label
|
504
540
|
""
|
505
541
|
end
|
542
|
+
|
543
|
+
# These are not protected with a lock, because all of the Cached
|
544
|
+
# methods are protected.
|
545
|
+
def guarded?
|
546
|
+
@guards > 0
|
547
|
+
end
|
548
|
+
|
549
|
+
def guard
|
550
|
+
@guards += 1
|
551
|
+
end
|
552
|
+
|
553
|
+
def unguard
|
554
|
+
@guards -= 1
|
555
|
+
end
|
506
556
|
end
|
507
557
|
|
508
558
|
# Always evicting entry
|