puppet 6.14.0 → 6.19.0
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/CODEOWNERS +2 -7
- data/Gemfile +4 -2
- data/Gemfile.lock +36 -34
- data/README.md +3 -4
- data/Rakefile +4 -12
- data/ext/windows/service/daemon.rb +3 -3
- data/lib/puppet.rb +33 -9
- data/lib/puppet/agent.rb +20 -14
- data/lib/puppet/agent/locker.rb +0 -7
- data/lib/puppet/application/agent.rb +25 -9
- data/lib/puppet/application/apply.rb +18 -20
- data/lib/puppet/application/device.rb +1 -1
- data/lib/puppet/application/doc.rb +1 -1
- data/lib/puppet/application/filebucket.rb +5 -14
- data/lib/puppet/application/lookup.rb +16 -4
- data/lib/puppet/application/plugin.rb +1 -0
- data/lib/puppet/application/ssl.rb +3 -3
- data/lib/puppet/configurer.rb +68 -24
- data/lib/puppet/configurer/downloader.rb +31 -10
- data/lib/puppet/configurer/plugin_handler.rb +1 -1
- data/lib/puppet/confine.rb +2 -2
- data/lib/puppet/confine/any.rb +1 -1
- data/lib/puppet/context/trusted_information.rb +14 -8
- data/lib/puppet/daemon.rb +13 -27
- data/lib/puppet/defaults.rb +141 -41
- data/lib/puppet/environments.rb +55 -15
- data/lib/puppet/face/catalog.rb +1 -1
- data/lib/puppet/face/config.rb +46 -16
- data/lib/puppet/face/facts.rb +1 -1
- data/lib/puppet/face/help.rb +29 -3
- data/lib/puppet/face/module/search.rb +5 -0
- data/lib/puppet/face/node.rb +3 -3
- data/lib/puppet/face/node/clean.rb +2 -2
- data/lib/puppet/face/plugin.rb +2 -2
- data/lib/puppet/face/status.rb +1 -1
- data/lib/puppet/feature/base.rb +1 -1
- data/lib/puppet/file_bucket/dipper.rb +1 -1
- data/lib/puppet/file_serving/http_metadata.rb +14 -2
- data/lib/puppet/file_serving/metadata.rb +4 -1
- data/lib/puppet/file_serving/mount/locales.rb +1 -2
- data/lib/puppet/file_serving/mount/pluginfacts.rb +1 -2
- data/lib/puppet/file_serving/mount/plugins.rb +1 -2
- data/lib/puppet/file_serving/terminus_selector.rb +7 -8
- data/lib/puppet/file_system/file_impl.rb +17 -13
- data/lib/puppet/file_system/uniquefile.rb +12 -16
- data/lib/puppet/forge.rb +1 -1
- data/lib/puppet/forge/cache.rb +1 -1
- data/lib/puppet/forge/repository.rb +4 -7
- data/lib/puppet/functions/call.rb +1 -1
- data/lib/puppet/functions/filter.rb +1 -0
- data/lib/puppet/functions/lstrip.rb +4 -4
- data/lib/puppet/functions/new.rb +8 -3
- data/lib/puppet/functions/reduce.rb +2 -4
- data/lib/puppet/functions/reverse_each.rb +1 -1
- data/lib/puppet/functions/rstrip.rb +4 -4
- data/lib/puppet/functions/step.rb +1 -1
- data/lib/puppet/functions/strip.rb +4 -4
- data/lib/puppet/gettext/config.rb +5 -5
- data/lib/puppet/gettext/module_translations.rb +4 -4
- data/lib/puppet/http.rb +3 -0
- data/lib/puppet/http/client.rb +215 -60
- data/lib/puppet/http/external_client.rb +90 -0
- data/lib/puppet/http/redirector.rb +43 -7
- data/lib/puppet/http/resolver.rb +43 -3
- data/lib/puppet/http/resolver/server_list.rb +66 -24
- data/lib/puppet/http/resolver/settings.rb +21 -1
- data/lib/puppet/http/resolver/srv.rb +28 -2
- data/lib/puppet/http/response.rb +82 -1
- data/lib/puppet/http/retry_after_handler.rb +39 -0
- data/lib/puppet/http/service.rb +70 -2
- data/lib/puppet/http/service/ca.rb +71 -9
- data/lib/puppet/http/service/compiler.rb +214 -12
- data/lib/puppet/http/service/file_server.rb +106 -5
- data/lib/puppet/http/service/puppetserver.rb +39 -0
- data/lib/puppet/http/service/report.rb +36 -3
- data/lib/puppet/http/session.rb +60 -8
- data/lib/puppet/indirector.rb +1 -1
- data/lib/puppet/indirector/catalog/compiler.rb +1 -1
- data/lib/puppet/indirector/catalog/rest.rb +2 -1
- data/lib/puppet/indirector/exec.rb +1 -1
- data/lib/puppet/indirector/facts/facter.rb +3 -3
- data/lib/puppet/indirector/facts/rest.rb +2 -1
- data/lib/puppet/indirector/facts/yaml.rb +1 -1
- data/lib/puppet/indirector/file_bucket_file/rest.rb +48 -0
- data/lib/puppet/indirector/file_content/http.rb +5 -0
- data/lib/puppet/indirector/file_content/rest.rb +1 -1
- data/lib/puppet/indirector/file_metadata/http.rb +28 -8
- data/lib/puppet/indirector/file_metadata/rest.rb +6 -4
- data/lib/puppet/indirector/hiera.rb +4 -0
- data/lib/puppet/indirector/indirection.rb +1 -1
- data/lib/puppet/indirector/json.rb +1 -1
- data/lib/puppet/indirector/msgpack.rb +1 -1
- data/lib/puppet/indirector/node/rest.rb +2 -1
- data/lib/puppet/indirector/report/processor.rb +2 -2
- data/lib/puppet/indirector/report/yaml.rb +23 -0
- data/lib/puppet/indirector/request.rb +5 -5
- data/lib/puppet/indirector/rest.rb +7 -1
- data/lib/puppet/indirector/status/rest.rb +2 -1
- data/lib/puppet/indirector/yaml.rb +1 -1
- data/lib/puppet/metatype/manager.rb +80 -80
- data/lib/puppet/module.rb +1 -2
- data/lib/puppet/network/format_support.rb +2 -2
- data/lib/puppet/network/http/api/indirected_routes.rb +1 -1
- data/lib/puppet/network/http/api/master/v3/environment.rb +3 -0
- data/lib/puppet/network/http/api/master/v3/environments.rb +0 -1
- data/lib/puppet/network/http/base_pool.rb +6 -1
- data/lib/puppet/network/http/compression.rb +7 -0
- data/lib/puppet/network/http/connection.rb +2 -0
- data/lib/puppet/network/http/connection_adapter.rb +184 -0
- data/lib/puppet/network/http/nocache_pool.rb +1 -0
- data/lib/puppet/network/http/pool.rb +2 -4
- data/lib/puppet/network/http/route.rb +2 -2
- data/lib/puppet/network/http_pool.rb +2 -1
- data/lib/puppet/node/environment.rb +22 -5
- data/lib/puppet/node/facts.rb +17 -0
- data/lib/puppet/pal/catalog_compiler.rb +5 -0
- data/lib/puppet/pal/pal_impl.rb +30 -31
- data/lib/puppet/parameter.rb +1 -1
- data/lib/puppet/parser/ast/leaf.rb +5 -5
- data/lib/puppet/parser/ast/pops_bridge.rb +0 -4
- data/lib/puppet/parser/compiler.rb +43 -33
- data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +2 -0
- data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +2 -0
- data/lib/puppet/parser/environment_compiler.rb +4 -1
- data/lib/puppet/parser/functions.rb +18 -9
- data/lib/puppet/parser/functions/create_resources.rb +11 -7
- data/lib/puppet/parser/functions/filter.rb +1 -0
- data/lib/puppet/parser/resource.rb +3 -2
- data/lib/puppet/parser/resource/param.rb +6 -0
- data/lib/puppet/parser/type_loader.rb +2 -2
- data/lib/puppet/pops/adaptable.rb +7 -13
- data/lib/puppet/pops/adapters.rb +8 -4
- data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +1 -3
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +5 -5
- data/lib/puppet/pops/evaluator/runtime3_converter.rb +2 -2
- data/lib/puppet/pops/issues.rb +5 -0
- data/lib/puppet/pops/loader/runtime3_type_loader.rb +4 -2
- data/lib/puppet/pops/loaders.rb +24 -15
- data/lib/puppet/pops/lookup/context.rb +1 -1
- data/lib/puppet/pops/lookup/hiera_config.rb +14 -1
- data/lib/puppet/pops/resource/resource_type_impl.rb +2 -0
- data/lib/puppet/pops/types/iterable.rb +34 -8
- data/lib/puppet/pops/types/p_meta_type.rb +1 -1
- data/lib/puppet/pops/types/p_type_set_type.rb +4 -0
- data/lib/puppet/pops/validation/checker4_0.rb +29 -15
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -0
- data/lib/puppet/provider/file/windows.rb +1 -1
- data/lib/puppet/provider/group/windows_adsi.rb +3 -3
- data/lib/puppet/provider/package/aix.rb +17 -2
- data/lib/puppet/provider/package/apt.rb +98 -1
- data/lib/puppet/provider/package/aptitude.rb +1 -1
- data/lib/puppet/provider/package/dnfmodule.rb +61 -14
- data/lib/puppet/provider/package/dpkg.rb +1 -1
- data/lib/puppet/provider/package/gem.rb +45 -9
- data/lib/puppet/provider/package/pacman.rb +2 -5
- data/lib/puppet/provider/package/pip.rb +143 -48
- data/lib/puppet/provider/package/pip2.rb +17 -0
- data/lib/puppet/provider/package/pip3.rb +0 -2
- data/lib/puppet/provider/package/pkgdmg.rb +1 -1
- data/lib/puppet/provider/package/pkgng.rb +16 -4
- data/lib/puppet/provider/package/portage.rb +2 -2
- data/lib/puppet/provider/package/puppet_gem.rb +11 -2
- data/lib/puppet/provider/package/puppetserver_gem.rb +180 -0
- data/lib/puppet/provider/package/rpm.rb +6 -213
- data/lib/puppet/provider/package/yum.rb +101 -20
- data/lib/puppet/provider/package/zypper.rb +62 -1
- data/lib/puppet/provider/service/systemd.rb +22 -4
- data/lib/puppet/provider/service/windows.rb +23 -7
- data/lib/puppet/provider/user/aix.rb +1 -1
- data/lib/puppet/provider/user/user_role_add.rb +1 -1
- data/lib/puppet/provider/user/useradd.rb +16 -5
- data/lib/puppet/provider/user/windows_adsi.rb +18 -1
- data/lib/puppet/reports/http.rb +15 -9
- data/lib/puppet/resource.rb +2 -1
- data/lib/puppet/resource/type.rb +10 -1
- data/lib/puppet/resource/type_collection.rb +20 -16
- data/lib/puppet/rest/route.rb +2 -2
- data/lib/puppet/runtime.rb +25 -2
- data/lib/puppet/settings.rb +20 -6
- data/lib/puppet/ssl.rb +1 -0
- data/lib/puppet/ssl/host.rb +4 -4
- data/lib/puppet/ssl/oids.rb +1 -0
- data/lib/puppet/ssl/ssl_context.rb +2 -2
- data/lib/puppet/ssl/ssl_provider.rb +20 -1
- data/lib/puppet/ssl/state_machine.rb +79 -37
- data/lib/puppet/ssl/validator/default_validator.rb +1 -1
- data/lib/puppet/ssl/verifier_adapter.rb +9 -1
- data/lib/puppet/test/test_helper.rb +19 -14
- data/lib/puppet/transaction.rb +2 -2
- data/lib/puppet/transaction/persistence.rb +1 -1
- data/lib/puppet/transaction/report.rb +14 -10
- data/lib/puppet/trusted_external.rb +29 -1
- data/lib/puppet/type.rb +21 -8
- data/lib/puppet/type/file.rb +40 -15
- data/lib/puppet/type/file/checksum.rb +4 -4
- data/lib/puppet/type/file/source.rb +35 -13
- data/lib/puppet/type/filebucket.rb +1 -1
- data/lib/puppet/type/notify.rb +2 -2
- data/lib/puppet/type/package.rb +41 -3
- data/lib/puppet/type/service.rb +59 -8
- data/lib/puppet/type/user.rb +19 -29
- data/lib/puppet/util.rb +41 -3
- data/lib/puppet/util/at_fork.rb +1 -1
- data/lib/puppet/util/autoload.rb +13 -25
- data/lib/puppet/util/character_encoding.rb +9 -5
- data/lib/puppet/util/checksums.rb +19 -4
- data/lib/puppet/util/connection.rb +8 -8
- data/lib/puppet/util/execution.rb +2 -2
- data/lib/puppet/util/fileparsing.rb +2 -2
- data/lib/puppet/util/instance_loader.rb +14 -10
- data/lib/puppet/util/log/destinations.rb +1 -10
- data/lib/puppet/util/package/version/debian.rb +175 -0
- data/lib/puppet/util/package/version/gem.rb +15 -0
- data/lib/puppet/util/package/version/pip.rb +167 -0
- data/lib/puppet/util/package/version/range.rb +53 -0
- data/lib/puppet/util/package/version/range/eq.rb +14 -0
- data/lib/puppet/util/package/version/range/gt.rb +14 -0
- data/lib/puppet/util/package/version/range/gt_eq.rb +14 -0
- data/lib/puppet/util/package/version/range/lt.rb +14 -0
- data/lib/puppet/util/package/version/range/lt_eq.rb +14 -0
- data/lib/puppet/util/package/version/range/min_max.rb +21 -0
- data/lib/puppet/util/package/version/range/simple.rb +11 -0
- data/lib/puppet/util/package/version/rpm.rb +73 -0
- data/lib/puppet/util/pidlock.rb +13 -7
- data/lib/puppet/util/platform.rb +5 -0
- data/lib/puppet/util/provider_features.rb +1 -1
- data/lib/puppet/util/reference.rb +1 -1
- data/lib/puppet/util/rpm_compare.rb +193 -0
- data/lib/puppet/util/run_mode.rb +5 -1
- data/lib/puppet/util/windows.rb +1 -0
- data/lib/puppet/util/windows/adsi.rb +2 -2
- data/lib/puppet/util/windows/api_types.rb +60 -33
- data/lib/puppet/util/windows/eventlog.rb +1 -6
- data/lib/puppet/util/windows/monkey_patches/dir.rb +40 -0
- data/lib/puppet/util/windows/principal.rb +8 -6
- data/lib/puppet/util/windows/process.rb +15 -14
- data/lib/puppet/util/windows/registry.rb +11 -11
- data/lib/puppet/util/windows/security.rb +5 -4
- data/lib/puppet/util/windows/service.rb +43 -26
- data/lib/puppet/util/windows/sid.rb +3 -3
- data/lib/puppet/util/windows/user.rb +242 -8
- data/lib/puppet/version.rb +1 -1
- data/locales/puppet.pot +627 -507
- data/man/man5/puppet.conf.5 +93 -20
- data/man/man8/puppet-agent.8 +7 -4
- data/man/man8/puppet-apply.8 +1 -1
- data/man/man8/puppet-catalog.8 +1 -1
- data/man/man8/puppet-config.8 +6 -6
- 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 +6 -3
- data/man/man8/puppet-key.8 +1 -1
- data/man/man8/puppet-lookup.8 +2 -2
- data/man/man8/puppet-man.8 +1 -1
- data/man/man8/puppet-module.8 +4 -1
- data/man/man8/puppet-node.8 +4 -4
- 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 +1 -1
- data/man/man8/puppet-script.8 +1 -1
- data/man/man8/puppet-ssl.8 +1 -1
- data/man/man8/puppet-status.8 +2 -2
- data/man/man8/puppet.8 +2 -2
- data/spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/provider/applytest/applytest.rb +2 -0
- data/spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/type/applytest.rb +25 -0
- data/spec/fixtures/ssl/unknown-127.0.0.1-key.pem +67 -0
- data/spec/fixtures/ssl/unknown-127.0.0.1.pem +48 -0
- data/spec/fixtures/ssl/unknown-ca-key.pem +67 -0
- data/spec/fixtures/ssl/unknown-ca.pem +59 -0
- data/spec/fixtures/unit/forge/bacula-releases.json +128 -0
- data/spec/fixtures/unit/forge/bacula.tar.gz +0 -0
- data/spec/fixtures/unit/provider/package/dnfmodule/{dnf-module-list-installed.txt → dnf-module-list.txt} +8 -0
- data/spec/fixtures/unit/provider/package/pkgng/pkg.version +2 -0
- data/spec/fixtures/unit/provider/package/puppetserver_gem/gem-list-local-packages +30 -0
- data/spec/fixtures/unit/provider/package/yum/yum-check-update-subscription-manager.txt +9 -0
- data/spec/fixtures/unit/provider/package/zypper/zypper-search-uninstalled.out +13 -0
- data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services +9 -0
- data/spec/integration/application/agent_spec.rb +479 -0
- data/spec/integration/application/apply_spec.rb +279 -150
- data/spec/integration/application/config_spec.rb +74 -0
- data/spec/integration/application/doc_spec.rb +16 -6
- data/spec/integration/application/filebucket_spec.rb +239 -0
- data/spec/integration/application/help_spec.rb +42 -0
- data/spec/integration/application/lookup_spec.rb +13 -0
- data/spec/integration/application/module_spec.rb +68 -0
- data/spec/integration/application/plugin_spec.rb +123 -0
- data/spec/integration/configurer_spec.rb +14 -0
- data/spec/integration/data_binding_spec.rb +82 -0
- data/spec/integration/defaults_spec.rb +27 -3
- data/spec/integration/directory_environments_spec.rb +17 -17
- data/spec/integration/http/client_spec.rb +39 -40
- data/spec/integration/indirector/facts/facter_spec.rb +8 -6
- data/spec/integration/indirector/report/yaml.rb +83 -0
- data/spec/integration/network/http_pool_spec.rb +84 -19
- data/spec/integration/node/environment_spec.rb +15 -0
- data/spec/integration/parser/compiler_spec.rb +11 -0
- data/spec/integration/type/file_spec.rb +1 -1
- data/spec/integration/util/execution_spec.rb +22 -0
- data/spec/integration/util/windows/adsi_spec.rb +8 -3
- data/spec/integration/util/windows/monkey_patches/dir_spec.rb +11 -0
- data/spec/integration/util/windows/process_spec.rb +26 -32
- data/spec/integration/util/windows/registry_spec.rb +7 -7
- data/spec/integration/util/windows/user_spec.rb +47 -5
- data/spec/integration/util_spec.rb +7 -33
- data/spec/lib/puppet/test_ca.rb +2 -2
- data/spec/lib/puppet_spec/https.rb +16 -7
- data/spec/lib/puppet_spec/matchers.rb +0 -80
- data/spec/lib/puppet_spec/puppetserver.rb +127 -0
- data/spec/shared_contexts/https.rb +29 -0
- data/spec/shared_contexts/types_setup.rb +2 -0
- data/spec/unit/agent_spec.rb +80 -26
- data/spec/unit/application/agent_spec.rb +12 -9
- data/spec/unit/application/device_spec.rb +2 -2
- data/spec/unit/application/doc_spec.rb +2 -2
- data/spec/unit/application/face_base_spec.rb +6 -4
- data/spec/unit/application/facts_spec.rb +41 -10
- data/spec/unit/application/filebucket_spec.rb +22 -2
- data/spec/unit/application/man_spec.rb +52 -0
- data/spec/unit/application/resource_spec.rb +3 -1
- data/spec/unit/application/ssl_spec.rb +15 -2
- data/spec/unit/application_spec.rb +9 -4
- data/spec/unit/configurer/downloader_spec.rb +10 -0
- data/spec/unit/configurer/fact_handler_spec.rb +4 -4
- data/spec/unit/configurer_spec.rb +87 -38
- data/spec/unit/confine_spec.rb +2 -1
- data/spec/unit/context/trusted_information_spec.rb +25 -2
- data/spec/unit/daemon_spec.rb +5 -64
- data/spec/unit/defaults_spec.rb +24 -1
- data/spec/unit/environments_spec.rb +107 -32
- data/spec/unit/face/config_spec.rb +59 -1
- data/spec/unit/face/module/search_spec.rb +17 -0
- data/spec/unit/face/node_spec.rb +2 -2
- data/spec/unit/file_serving/http_metadata_spec.rb +37 -14
- data/spec/unit/file_serving/mount/locales_spec.rb +2 -2
- data/spec/unit/file_serving/mount/pluginfacts_spec.rb +2 -2
- data/spec/unit/file_serving/mount/plugins_spec.rb +2 -2
- data/spec/unit/file_serving/terminus_selector_spec.rb +45 -26
- data/spec/unit/file_system/uniquefile_spec.rb +29 -0
- data/spec/unit/file_system_spec.rb +11 -2
- data/spec/unit/http/client_spec.rb +173 -59
- data/spec/unit/http/external_client_spec.rb +201 -0
- data/spec/unit/http/resolver_spec.rb +44 -5
- data/spec/unit/http/response_spec.rb +6 -0
- data/spec/unit/http/service/ca_spec.rb +27 -5
- data/spec/unit/http/service/compiler_spec.rb +186 -9
- data/spec/unit/http/service/file_server_spec.rb +37 -6
- data/spec/unit/http/service/puppetserver_spec.rb +82 -0
- data/spec/unit/http/service/report_spec.rb +5 -4
- data/spec/unit/http/service_spec.rb +3 -4
- data/spec/unit/http/session_spec.rb +48 -12
- data/spec/unit/indirector/catalog/compiler_spec.rb +1 -0
- data/spec/unit/indirector/catalog/json_spec.rb +1 -1
- data/spec/unit/indirector/catalog/rest_spec.rb +1 -1
- data/spec/unit/indirector/facts/rest_spec.rb +1 -1
- data/spec/unit/indirector/file_bucket_file/rest_spec.rb +82 -2
- data/spec/unit/indirector/file_metadata/http_spec.rb +194 -0
- data/spec/unit/indirector/file_metadata/rest_spec.rb +15 -14
- data/spec/unit/indirector/json_spec.rb +8 -8
- data/spec/unit/indirector/msgpack_spec.rb +8 -8
- data/spec/unit/indirector/node/rest_spec.rb +1 -1
- data/spec/unit/indirector/request_spec.rb +5 -5
- data/spec/unit/indirector/rest_spec.rb +14 -1
- data/spec/unit/indirector/status/rest_spec.rb +1 -1
- data/spec/unit/indirector/yaml_spec.rb +7 -7
- data/spec/unit/interface_spec.rb +3 -3
- data/spec/unit/module_tool/tar/mini_spec.rb +20 -0
- data/spec/unit/network/format_support_spec.rb +3 -2
- data/spec/unit/network/http/api/indirected_routes_spec.rb +2 -1
- data/spec/unit/network/http/api/master/v3/environments_spec.rb +12 -23
- data/spec/unit/network/http/connection_spec.rb +552 -190
- data/spec/unit/network/http/nocache_pool_spec.rb +22 -0
- data/spec/unit/network/http/pool_spec.rb +3 -3
- data/spec/unit/network/http_pool_spec.rb +63 -57
- data/spec/unit/network/http_spec.rb +1 -1
- data/spec/unit/node/environment_spec.rb +33 -0
- data/spec/unit/parser/ast/block_expression_spec.rb +1 -1
- data/spec/unit/parser/environment_compiler_spec.rb +7 -0
- data/spec/unit/parser/scope_spec.rb +1 -1
- data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +15 -1
- data/spec/unit/pops/loaders/loaders_spec.rb +71 -1
- data/spec/unit/pops/lookup/lookup_spec.rb +25 -0
- data/spec/unit/pops/types/type_calculator_spec.rb +1 -11
- data/spec/unit/provider/exec_spec.rb +4 -3
- data/spec/unit/provider/group/windows_adsi_spec.rb +43 -10
- data/spec/unit/provider/package/aix_spec.rb +29 -0
- data/spec/unit/provider/package/apt_spec.rb +107 -0
- data/spec/unit/provider/package/aptitude_spec.rb +1 -0
- data/spec/unit/provider/package/dnfmodule_spec.rb +54 -15
- data/spec/unit/provider/package/dpkg_spec.rb +22 -7
- data/spec/unit/provider/package/gem_spec.rb +40 -0
- data/spec/unit/provider/package/openbsd_spec.rb +2 -0
- data/spec/unit/provider/package/pacman_spec.rb +6 -21
- data/spec/unit/provider/package/pip2_spec.rb +36 -0
- data/spec/unit/provider/package/pip_spec.rb +68 -19
- data/spec/unit/provider/package/pkgdmg_spec.rb +1 -1
- data/spec/unit/provider/package/pkgng_spec.rb +38 -0
- data/spec/unit/provider/package/portage_spec.rb +5 -0
- data/spec/unit/provider/package/puppet_gem_spec.rb +12 -1
- data/spec/unit/provider/package/puppetserver_gem_spec.rb +137 -0
- data/spec/unit/provider/package/rpm_spec.rb +0 -212
- data/spec/unit/provider/package/yum_spec.rb +274 -1
- data/spec/unit/provider/package/zypper_spec.rb +98 -0
- data/spec/unit/provider/service/base_spec.rb +2 -4
- data/spec/unit/provider/service/bsd_spec.rb +5 -1
- data/spec/unit/provider/service/daemontools_spec.rb +1 -1
- data/spec/unit/provider/service/debian_spec.rb +3 -5
- data/spec/unit/provider/service/freebsd_spec.rb +1 -1
- data/spec/unit/provider/service/gentoo_spec.rb +4 -5
- data/spec/unit/provider/service/init_spec.rb +46 -5
- data/spec/unit/provider/service/launchd_spec.rb +5 -6
- data/spec/unit/provider/service/openbsd_spec.rb +9 -0
- data/spec/unit/provider/service/openrc_spec.rb +4 -5
- data/spec/unit/provider/service/openwrt_spec.rb +2 -1
- data/spec/unit/provider/service/redhat_spec.rb +10 -1
- data/spec/unit/provider/service/runit_spec.rb +2 -1
- data/spec/unit/provider/service/smf_spec.rb +1 -1
- data/spec/unit/provider/service/src_spec.rb +3 -5
- data/spec/unit/provider/service/systemd_spec.rb +95 -18
- data/spec/unit/provider/service/upstart_spec.rb +4 -5
- data/spec/unit/provider/service/windows_spec.rb +50 -14
- data/spec/unit/provider/user/openbsd_spec.rb +1 -0
- data/spec/unit/provider/user/useradd_spec.rb +30 -16
- data/spec/unit/provider/user/windows_adsi_spec.rb +85 -3
- data/spec/unit/puppet_pal_2pec.rb +11 -0
- data/spec/unit/puppet_pal_catalog_spec.rb +43 -0
- data/spec/unit/puppet_spec.rb +33 -0
- data/spec/unit/reports/http_spec.rb +70 -52
- data/spec/unit/reports/store_spec.rb +17 -13
- data/spec/unit/resource_spec.rb +3 -3
- data/spec/unit/rest/route_spec.rb +4 -4
- data/spec/unit/settings_spec.rb +44 -22
- data/spec/unit/ssl/host_spec.rb +4 -2
- data/spec/unit/ssl/oids_spec.rb +1 -0
- data/spec/unit/ssl/ssl_provider_spec.rb +69 -43
- data/spec/unit/ssl/state_machine_spec.rb +90 -14
- data/spec/unit/test/test_helper_spec.rb +17 -0
- data/spec/unit/transaction/persistence_spec.rb +15 -0
- data/spec/unit/transaction/report_spec.rb +7 -1
- data/spec/unit/type/file/source_spec.rb +4 -4
- data/spec/unit/type/file_spec.rb +122 -96
- data/spec/unit/type/filebucket_spec.rb +1 -1
- data/spec/unit/type/service_spec.rb +218 -8
- data/spec/unit/type/user_spec.rb +32 -3
- data/spec/unit/type_spec.rb +50 -0
- data/spec/unit/util/at_fork_spec.rb +2 -2
- data/spec/unit/util/autoload_spec.rb +2 -1
- data/spec/unit/util/character_encoding_spec.rb +4 -4
- data/spec/unit/util/checksums_spec.rb +16 -0
- data/spec/unit/util/command_line_spec.rb +11 -6
- data/spec/unit/util/log/destinations_spec.rb +1 -29
- data/spec/unit/util/package/version/debian_spec.rb +83 -0
- data/spec/unit/util/package/version/pip_spec.rb +464 -0
- data/spec/unit/util/package/version/range_spec.rb +175 -0
- data/spec/unit/util/package/version/rpm_spec.rb +121 -0
- data/spec/unit/util/pidlock_spec.rb +83 -47
- data/spec/unit/util/rpm_compare_spec.rb +196 -0
- data/spec/unit/util/run_mode_spec.rb +6 -6
- data/spec/unit/util/windows/adsi_spec.rb +4 -4
- data/spec/unit/util/windows/api_types_spec.rb +104 -40
- data/spec/unit/util/windows/service_spec.rb +4 -4
- data/spec/unit/util/windows/sid_spec.rb +2 -2
- data/spec/unit/util_spec.rb +3 -3
- data/spec/unit/x509/cert_provider_spec.rb +1 -1
- data/tasks/generate_cert_fixtures.rake +15 -1
- data/tasks/manpages.rake +5 -35
- metadata +90 -51
- data/spec/integration/faces/config_spec.rb +0 -91
- data/spec/integration/faces/documentation_spec.rb +0 -57
- data/spec/integration/faces/plugin_spec.rb +0 -63
- data/spec/integration/file_bucket/file_spec.rb +0 -50
- data/spec/integration/file_serving/content_spec.rb +0 -7
- data/spec/integration/file_serving/fileset_spec.rb +0 -12
- data/spec/integration/file_serving/metadata_spec.rb +0 -8
- data/spec/integration/file_serving/terminus_helper_spec.rb +0 -20
- data/spec/integration/file_system/uniquefile_spec.rb +0 -26
- data/spec/integration/module_tool/forge_spec.rb +0 -64
- data/spec/integration/module_tool/tar/mini_spec.rb +0 -28
- data/spec/integration/provider/service/init_spec.rb +0 -48
- data/spec/integration/provider/service/systemd_spec.rb +0 -25
- data/spec/integration/provider/service/windows_spec.rb +0 -50
- data/spec/integration/reference/providers_spec.rb +0 -21
- data/spec/integration/reports_spec.rb +0 -13
- data/spec/integration/ssl/certificate_request_spec.rb +0 -44
- data/spec/integration/ssl/host_spec.rb +0 -72
- data/spec/integration/ssl/key_spec.rb +0 -99
- data/spec/integration/test/test_helper_spec.rb +0 -31
- data/spec/shared_behaviours/file_serving_model.rb +0 -51
- data/spec/unit/face/man_spec.rb +0 -25
- data/spec/unit/man_spec.rb +0 -31
data/lib/puppet/confine/any.rb
CHANGED
@@ -29,11 +29,6 @@ class Puppet::Context::TrustedInformation
|
|
29
29
|
# @return [String]
|
30
30
|
attr_reader :hostname
|
31
31
|
|
32
|
-
# Additional external facts loaded through `trusted_external_command`.
|
33
|
-
#
|
34
|
-
# @return [Hash]
|
35
|
-
attr_reader :external
|
36
|
-
|
37
32
|
def initialize(authenticated, certname, extensions, external = {})
|
38
33
|
@authenticated = authenticated.freeze
|
39
34
|
@certname = certname.freeze
|
@@ -46,11 +41,11 @@ class Puppet::Context::TrustedInformation
|
|
46
41
|
end
|
47
42
|
@hostname = hostname.freeze
|
48
43
|
@domain = domain.freeze
|
49
|
-
@external = external.freeze
|
44
|
+
@external = external.is_a?(Proc) ? external : external.freeze
|
50
45
|
end
|
51
46
|
|
52
47
|
def self.remote(authenticated, node_name, certificate)
|
53
|
-
external = retrieve_trusted_external(node_name)
|
48
|
+
external = proc { retrieve_trusted_external(node_name) }
|
54
49
|
|
55
50
|
if authenticated
|
56
51
|
extensions = {}
|
@@ -70,8 +65,19 @@ class Puppet::Context::TrustedInformation
|
|
70
65
|
def self.local(node)
|
71
66
|
# Always trust local data by picking up the available parameters.
|
72
67
|
client_cert = node ? node.parameters['clientcert'] : nil
|
68
|
+
external = proc { retrieve_trusted_external(client_cert) }
|
69
|
+
|
70
|
+
new('local', client_cert, {}, external)
|
71
|
+
end
|
73
72
|
|
74
|
-
|
73
|
+
# Additional external facts loaded through `trusted_external_command`.
|
74
|
+
#
|
75
|
+
# @return [Hash]
|
76
|
+
def external
|
77
|
+
if @external.is_a?(Proc)
|
78
|
+
@external = @external.call.freeze
|
79
|
+
end
|
80
|
+
@external
|
75
81
|
end
|
76
82
|
|
77
83
|
def self.retrieve_trusted_external(certname)
|
data/lib/puppet/daemon.rb
CHANGED
@@ -1,19 +1,15 @@
|
|
1
1
|
require 'puppet/application'
|
2
2
|
require 'puppet/scheduler'
|
3
3
|
|
4
|
-
# Run periodic actions
|
4
|
+
# Run periodic actions in a daemonized process.
|
5
5
|
#
|
6
|
-
# A Daemon has
|
6
|
+
# A Daemon has 2 parts:
|
7
7
|
# * config reparse
|
8
|
-
# *
|
9
|
-
# * (optional) a server that response to #stop, #start, and #wait_for_shutdown
|
8
|
+
# * an agent that responds to #run
|
10
9
|
#
|
11
|
-
# The config reparse will occur periodically based on Settings. The
|
12
|
-
#
|
13
|
-
#
|
14
|
-
# #wait_for_shutdown method. The agent is run periodically and a time interval
|
15
|
-
# based on Settings. The config reparse will update this time interval when
|
16
|
-
# needed.
|
10
|
+
# The config reparse will occur periodically based on Settings. The agent
|
11
|
+
# is run periodically and a time interval based on Settings. The config
|
12
|
+
# reparse will update this time interval when needed.
|
17
13
|
#
|
18
14
|
# The Daemon is also responsible for signal handling, starting, stopping,
|
19
15
|
# running the agent on demand, and reloading the entire process. It ensures
|
@@ -23,12 +19,14 @@ require 'puppet/scheduler'
|
|
23
19
|
class Puppet::Daemon
|
24
20
|
SIGNAL_CHECK_INTERVAL = 5
|
25
21
|
|
26
|
-
attr_accessor :
|
27
|
-
attr_reader :signals
|
22
|
+
attr_accessor :argv
|
23
|
+
attr_reader :signals, :agent
|
28
24
|
|
29
|
-
def initialize(pidfile, scheduler = Puppet::Scheduler::Scheduler.new())
|
25
|
+
def initialize(agent, pidfile, scheduler = Puppet::Scheduler::Scheduler.new())
|
26
|
+
raise Puppet::DevError, _("Daemons must have an agent") unless agent
|
30
27
|
@scheduler = scheduler
|
31
28
|
@pidfile = pidfile
|
29
|
+
@agent = agent
|
32
30
|
@signals = []
|
33
31
|
end
|
34
32
|
|
@@ -88,7 +86,6 @@ class Puppet::Daemon
|
|
88
86
|
end
|
89
87
|
|
90
88
|
def reload
|
91
|
-
return unless agent
|
92
89
|
agent.run({:splay => false})
|
93
90
|
rescue Puppet::LockError
|
94
91
|
Puppet.notice "Not triggering already-running agent"
|
@@ -96,7 +93,7 @@ class Puppet::Daemon
|
|
96
93
|
|
97
94
|
def restart
|
98
95
|
Puppet::Application.restart!
|
99
|
-
reexec
|
96
|
+
reexec
|
100
97
|
end
|
101
98
|
|
102
99
|
def reopen_logs
|
@@ -129,8 +126,6 @@ class Puppet::Daemon
|
|
129
126
|
def stop(args = {:exit => true})
|
130
127
|
Puppet::Application.stop!
|
131
128
|
|
132
|
-
server.stop if server
|
133
|
-
|
134
129
|
remove_pidfile
|
135
130
|
|
136
131
|
Puppet::Util::Log.close_all
|
@@ -140,16 +135,7 @@ class Puppet::Daemon
|
|
140
135
|
|
141
136
|
def start
|
142
137
|
create_pidfile
|
143
|
-
|
144
|
-
raise Puppet::DevError, _("Daemons must have an agent, server, or both") unless agent or server
|
145
|
-
|
146
|
-
# Start the listening server, if required.
|
147
|
-
server.start if server
|
148
|
-
|
149
|
-
# Finally, loop forever running events - or, at least, until we exit.
|
150
138
|
run_event_loop
|
151
|
-
|
152
|
-
server.wait_for_shutdown if server
|
153
139
|
end
|
154
140
|
|
155
141
|
private
|
@@ -165,6 +151,7 @@ class Puppet::Daemon
|
|
165
151
|
@pidfile.unlock
|
166
152
|
end
|
167
153
|
|
154
|
+
# Loop forever running events - or, at least, until we exit.
|
168
155
|
def run_event_loop
|
169
156
|
agent_run = Puppet::Scheduler.create_job(Puppet[:runinterval], Puppet[:splay], Puppet[:splaylimit]) do
|
170
157
|
# Splay for the daemon is handled in the scheduler
|
@@ -189,7 +176,6 @@ class Puppet::Daemon
|
|
189
176
|
end
|
190
177
|
|
191
178
|
reparse_run.disable if Puppet[:filetimeout] == 0
|
192
|
-
agent_run.disable unless agent
|
193
179
|
|
194
180
|
@scheduler.run_loop([reparse_run, agent_run, signal_loop])
|
195
181
|
end
|
data/lib/puppet/defaults.rb
CHANGED
@@ -81,7 +81,10 @@ module Puppet
|
|
81
81
|
begin
|
82
82
|
original_facter = Object.const_get(:Facter)
|
83
83
|
Object.send(:remove_const, :Facter)
|
84
|
+
|
84
85
|
require 'facter-ng'
|
86
|
+
# It is required to re-setup logger for facter-ng
|
87
|
+
Puppet::Util::Logging.setup_facter_logging!
|
85
88
|
rescue LoadError
|
86
89
|
Object.const_set(:Facter, original_facter)
|
87
90
|
raise ArgumentError, 'facter-ng could not be loaded'
|
@@ -344,8 +347,7 @@ module Puppet
|
|
344
347
|
:default => "ansi",
|
345
348
|
:type => :string,
|
346
349
|
:desc => "Whether to use colors when logging to the console. Valid values are
|
347
|
-
`ansi` (equivalent to `true`), `html`, and `false`, which produces no color.
|
348
|
-
Defaults to false on Windows, as its console does not support ansi colors.",
|
350
|
+
`ansi` (equivalent to `true`), `html`, and `false`, which produces no color."
|
349
351
|
},
|
350
352
|
:mkusers => {
|
351
353
|
:default => false,
|
@@ -372,7 +374,7 @@ module Puppet
|
|
372
374
|
from the parent process.
|
373
375
|
|
374
376
|
This setting can only be set in the `[main]` section of puppet.conf; it cannot
|
375
|
-
be set in `[
|
377
|
+
be set in `[server]`, `[agent]`, or an environment config section.",
|
376
378
|
:call_hook => :on_define_and_write,
|
377
379
|
:hook => proc do |value|
|
378
380
|
Puppet::Util.set_env('PATH', '') if Puppet::Util.get_env('PATH').nil?
|
@@ -560,7 +562,7 @@ module Puppet
|
|
560
562
|
config = File.expand_path(File.join(settings[:confdir], 'hiera.yaml')) if config.nil?
|
561
563
|
config
|
562
564
|
end,
|
563
|
-
:desc => "The hiera configuration file. Puppet only reads this file on startup, so you must restart the puppet
|
565
|
+
:desc => "The hiera configuration file. Puppet only reads this file on startup, so you must restart the puppet server every time you edit it.",
|
564
566
|
:type => :file,
|
565
567
|
},
|
566
568
|
:binder_config => {
|
@@ -587,13 +589,22 @@ module Puppet
|
|
587
589
|
},
|
588
590
|
:trusted_external_command => {
|
589
591
|
:default => nil,
|
590
|
-
:
|
592
|
+
:type => :file_or_directory,
|
593
|
+
:desc => "The external trusted facts script or directory to use.
|
591
594
|
This setting's value can be set to the path to an executable command that
|
592
|
-
can produce external trusted facts
|
595
|
+
can produce external trusted facts or to a directory containing those
|
596
|
+
executable commands. The command(s) must:
|
593
597
|
|
594
598
|
* Take the name of a node as a command-line argument.
|
595
599
|
* Return a JSON hash with the external trusted facts for this node.
|
596
|
-
* For unknown or invalid nodes, exit with a non-zero exit code.
|
600
|
+
* For unknown or invalid nodes, exit with a non-zero exit code.
|
601
|
+
|
602
|
+
If the setting points to an executable command, then the external trusted
|
603
|
+
facts will be stored in the 'external' key of the trusted facts hash. Otherwise
|
604
|
+
for each executable file in the directory, the external trusted facts will be
|
605
|
+
stored in the `<basename>` key of the `trusted['external']` hash. For example,
|
606
|
+
if the files foo.rb and bar.sh are in the directory, then `trusted['external']`
|
607
|
+
will be the hash `{ 'foo' => <foo.rb output>, 'bar' => <bar.sh output> }`.",
|
597
608
|
},
|
598
609
|
:default_file_terminus => {
|
599
610
|
:type => :terminus,
|
@@ -689,40 +700,54 @@ Valid values are 0 (never cache) and 15 (15 second minimum wait time).
|
|
689
700
|
:environment_timeout => {
|
690
701
|
:default => "0",
|
691
702
|
:type => :ttl,
|
692
|
-
:desc => "How long the Puppet
|
703
|
+
:desc => "How long the Puppet server should cache data it loads from an
|
693
704
|
environment.
|
694
705
|
|
695
706
|
A value of `0` will disable caching. This setting can also be set to
|
696
|
-
`unlimited`, which will cache environments until the
|
697
|
-
or told to refresh the cache.
|
707
|
+
`unlimited`, which will cache environments until the server is restarted
|
708
|
+
or told to refresh the cache. All other values will result in Puppet
|
709
|
+
server evicting expired environments. The expiration time is computed
|
710
|
+
based on either when the environment was created or last accessed, see
|
711
|
+
`environment_timeout_mode`.
|
698
712
|
|
699
713
|
You should change this setting once your Puppet deployment is doing
|
700
714
|
non-trivial work. We chose the default value of `0` because it lets new
|
701
715
|
users update their code without any extra steps, but it lowers the
|
702
|
-
performance of your Puppet
|
703
|
-
|
704
|
-
|
705
|
-
|
706
|
-
|
707
|
-
*
|
708
|
-
|
709
|
-
|
710
|
-
|
711
|
-
|
712
|
-
|
713
|
-
|
714
|
-
|
716
|
+
performance of your Puppet server. We recommend either:
|
717
|
+
|
718
|
+
* Setting this to `unlimited` and explicitly refreshing your Puppet server
|
719
|
+
as part of your code deployment process.
|
720
|
+
|
721
|
+
* Setting this to a number that will keep your most actively used
|
722
|
+
environments cached, but allow testing environments to fall out of the
|
723
|
+
cache and reduce memory usage. A value of 3 minutes (3m) is a reasonable
|
724
|
+
value. This option requires setting `environment_timeout_mode` to
|
725
|
+
`from_last_used`.
|
726
|
+
|
727
|
+
Once you set `environment_timeout` to a non-zero value, you need to tell
|
728
|
+
Puppet server to read new code from disk using the `environment-cache` API
|
729
|
+
endpoint after you deploy new code. See the docs for the Puppet Server
|
730
|
+
[administrative API](https://puppet.com/docs/puppetserver/latest/admin-api/v1/environment-cache.html).
|
731
|
+
",
|
715
732
|
:hook => proc do |val|
|
716
|
-
|
717
|
-
|
718
|
-
|
719
|
-
|
720
|
-
and the environment-cache endpoint in Puppet Server's administrative
|
721
|
-
API to expire the cache as needed
|
722
|
-
WARNING
|
733
|
+
if Puppet[:environment_timeout_mode] == :from_created
|
734
|
+
unless [0, 'unlimited', Float::INFINITY].include?(val)
|
735
|
+
Puppet.deprecation_warning("Evicting environments based on their creation time is deprecated, please set `environment_timeout_mode` to `from_last_used` instead.")
|
736
|
+
end
|
723
737
|
end
|
724
738
|
end
|
725
739
|
},
|
740
|
+
:environment_timeout_mode => {
|
741
|
+
:default => :from_created,
|
742
|
+
:type => :symbolic_enum,
|
743
|
+
:values => [:from_created, :from_last_used],
|
744
|
+
:desc => "How Puppet interprets the `environment_timeout` setting when
|
745
|
+
`environment_timeout` is neither `0` nor `unlimited`. If set to
|
746
|
+
`from_created`, then the environment will be evicted `environment_timeout`
|
747
|
+
seconds from when it was created. If set to `from_last_used` then the
|
748
|
+
environment will be evicted `environment_timeout` seconds from when it
|
749
|
+
was last used."
|
750
|
+
},
|
726
751
|
:environment_data_provider => {
|
727
752
|
:desc => "The name of a registered environment data provider used when obtaining environment
|
728
753
|
specific data. The three built in and registered providers are 'none' (no data), 'function' (data
|
@@ -811,7 +836,9 @@ API to expire the cache as needed
|
|
811
836
|
only use lowercase letters, numbers, periods, underscores, and dashes. (That is,
|
812
837
|
it should match `/\A[a-z0-9._-]+\Z/`.)
|
813
838
|
* The special value `ca` is reserved, and can't be used as the certname
|
814
|
-
for a normal node.
|
839
|
+
for a normal node.
|
840
|
+
|
841
|
+
**Note:** You must set the certname in the main section of the puppet.conf file. Setting it in a different section causes errors.
|
815
842
|
|
816
843
|
Defaults to the node's fully qualified domain name.",
|
817
844
|
:hook => proc { |value| raise(ArgumentError, _("Certificate names must be lower case")) unless value == value.downcase }},
|
@@ -989,6 +1016,15 @@ EOT
|
|
989
1016
|
and reject the CA certificate if the values do not match. This only applies
|
990
1017
|
during the first download of the CA certificate."
|
991
1018
|
},
|
1019
|
+
:ssl_trust_store => {
|
1020
|
+
:default => nil,
|
1021
|
+
:type => :file,
|
1022
|
+
:desc => "A file containing CA certificates in PEM format that puppet should trust
|
1023
|
+
when making HTTPS requests. This **only** applies to https requests to non-puppet
|
1024
|
+
infrastructure, such as retrieving file metadata and content from https file sources,
|
1025
|
+
puppet module tool and the 'http' report processor. This setting is ignored when
|
1026
|
+
making requests to puppet:// URLs such as catalog and report requests.",
|
1027
|
+
},
|
992
1028
|
:ssl_client_ca_auth => {
|
993
1029
|
:type => :file,
|
994
1030
|
:mode => "0644",
|
@@ -1281,7 +1317,7 @@ EOT
|
|
1281
1317
|
}
|
1282
1318
|
)
|
1283
1319
|
|
1284
|
-
settings.define_settings(:
|
1320
|
+
settings.define_settings(:server,
|
1285
1321
|
:user => {
|
1286
1322
|
:default => "puppet",
|
1287
1323
|
:desc => "The user Puppet Server will run as. Used to ensure
|
@@ -1331,11 +1367,23 @@ EOT
|
|
1331
1367
|
by `puppet`, and should only be set if you're writing your own Puppet
|
1332
1368
|
executable.",
|
1333
1369
|
},
|
1370
|
+
:serverport => {
|
1371
|
+
:default => 8140,
|
1372
|
+
:desc => "The default port puppet subcommands use to communicate
|
1373
|
+
with Puppet Server. (eg `puppet facts upload`, `puppet agent`). May be
|
1374
|
+
overridden by more specific settings (see `ca_port`, `report_port`).",
|
1375
|
+
:hook => proc do |value|
|
1376
|
+
Puppet[:masterport] = value unless Puppet.settings.set_by_config?(:masterport)
|
1377
|
+
end
|
1378
|
+
},
|
1334
1379
|
:masterport => {
|
1335
1380
|
:default => 8140,
|
1336
1381
|
:desc => "The default port puppet subcommands use to communicate
|
1337
1382
|
with Puppet Server. (eg `puppet facts upload`, `puppet agent`). May be
|
1338
1383
|
overridden by more specific settings (see `ca_port`, `report_port`).",
|
1384
|
+
:hook => proc do |value|
|
1385
|
+
Puppet[:serverport] = value unless Puppet.settings.set_by_config?(:serverport)
|
1386
|
+
end
|
1339
1387
|
},
|
1340
1388
|
:node_name => {
|
1341
1389
|
:default => 'cert',
|
@@ -1533,7 +1581,7 @@ EOT
|
|
1533
1581
|
:statefile => {
|
1534
1582
|
:default => "$statedir/state.yaml",
|
1535
1583
|
:type => :file,
|
1536
|
-
:mode => "
|
1584
|
+
:mode => "0640",
|
1537
1585
|
:desc => "Where puppet agent and puppet master store state associated
|
1538
1586
|
with the running configuration. In the case of puppet master,
|
1539
1587
|
this file reflects the state discovered through interacting
|
@@ -1555,7 +1603,7 @@ EOT
|
|
1555
1603
|
:transactionstorefile => {
|
1556
1604
|
:default => "$statedir/transactionstore.yaml",
|
1557
1605
|
:type => :file,
|
1558
|
-
:mode => "
|
1606
|
+
:mode => "0640",
|
1559
1607
|
:desc => "Transactional storage file for persisting data between
|
1560
1608
|
transactions for the purposes of infering information (such as
|
1561
1609
|
corrective_change) on new data received."
|
@@ -1637,7 +1685,7 @@ EOT
|
|
1637
1685
|
:default => [],
|
1638
1686
|
:type => :http_extra_headers,
|
1639
1687
|
:desc => "The list of extra headers that will be sent with http requests to the master.
|
1640
|
-
The header definition consists of a name and a value separated by a colon."
|
1688
|
+
The header definition consists of a name and a value separated by a colon."
|
1641
1689
|
},
|
1642
1690
|
:ignoreschedules => {
|
1643
1691
|
:default => false,
|
@@ -1681,8 +1729,7 @@ EOT
|
|
1681
1729
|
:type => :duration,
|
1682
1730
|
:desc => "How often puppet agent applies the catalog.
|
1683
1731
|
Note that a runinterval of 0 means \"run continuously\" rather than
|
1684
|
-
\"never run.\"
|
1685
|
-
it with the `--no-client` option. #{AS_DURATION}",
|
1732
|
+
\"never run.\" #{AS_DURATION}",
|
1686
1733
|
},
|
1687
1734
|
:runtimeout => {
|
1688
1735
|
:default => "1h",
|
@@ -1698,7 +1745,7 @@ EOT
|
|
1698
1745
|
and does not need to horizontally scale.",
|
1699
1746
|
},
|
1700
1747
|
:ca_port => {
|
1701
|
-
:default => "$
|
1748
|
+
:default => "$serverport",
|
1702
1749
|
:desc => "The port to use for the certificate authority.",
|
1703
1750
|
},
|
1704
1751
|
:preferred_serialization_format => {
|
@@ -1787,7 +1834,7 @@ EOT
|
|
1787
1834
|
:desc => "The server to send transaction reports to.",
|
1788
1835
|
},
|
1789
1836
|
:report_port => {
|
1790
|
-
:default => "$
|
1837
|
+
:default => "$serverport",
|
1791
1838
|
:desc => "The port to communicate with the report_server.",
|
1792
1839
|
},
|
1793
1840
|
:report => {
|
@@ -1795,10 +1842,27 @@ EOT
|
|
1795
1842
|
:type => :boolean,
|
1796
1843
|
:desc => "Whether to send reports after every transaction.",
|
1797
1844
|
},
|
1845
|
+
:report_include_system_store => {
|
1846
|
+
:default => false,
|
1847
|
+
:type => :boolean,
|
1848
|
+
:desc => "Whether the 'http' report processor should include the system
|
1849
|
+
certificate store when submitting reports to HTTPS URLs. If false, then
|
1850
|
+
the 'http' processor will only trust HTTPS report servers whose certificates
|
1851
|
+
are issued by the puppet CA or one of its intermediate CAs. If true, the
|
1852
|
+
processor will additionally trust CA certificates in the system's
|
1853
|
+
certificate store."
|
1854
|
+
},
|
1798
1855
|
:resubmit_facts => {
|
1799
1856
|
:default => false,
|
1800
1857
|
:type => :boolean,
|
1801
|
-
:desc => "Whether to send updated facts after every transaction.
|
1858
|
+
:desc => "Whether to send updated facts after every transaction. By default
|
1859
|
+
puppet only submits facts at the beginning of the transaction before applying a
|
1860
|
+
catalog. Since puppet can modify the state of the system, the value of the facts
|
1861
|
+
may change after puppet finishes. Therefore, any facts stored in puppetdb may not
|
1862
|
+
be consistent until the agent next runs, typically in 30 minutes. If this feature
|
1863
|
+
is enabled, puppet will resubmit facts after applying its catalog, ensuring facts
|
1864
|
+
for the node stored in puppetdb are current. However, this will double the fact
|
1865
|
+
submission load on puppetdb, so it is disabled by default.",
|
1802
1866
|
},
|
1803
1867
|
:lastrunfile => {
|
1804
1868
|
:default => "$statedir/last_run_summary.yaml",
|
@@ -1862,6 +1926,25 @@ EOT
|
|
1862
1926
|
certificate request to be signed. A value of `unlimited` will cause puppet agent
|
1863
1927
|
to ask for a signed certificate indefinitely.
|
1864
1928
|
#{AS_DURATION}",
|
1929
|
+
},
|
1930
|
+
:waitforlock => {
|
1931
|
+
:default => "0",
|
1932
|
+
:type => :duration,
|
1933
|
+
:desc => "How frequently puppet agent should try running when there is an
|
1934
|
+
already ongoing puppet agent instance.
|
1935
|
+
|
1936
|
+
This argument is by default disabled (value set to 0). In this case puppet agent will
|
1937
|
+
immediately exit if it cannot run at that moment. When a value other than 0 is set, this
|
1938
|
+
can also be used in combination with the `maxwaitforlock` argument.
|
1939
|
+
#{AS_DURATION}",
|
1940
|
+
},
|
1941
|
+
:maxwaitforlock => {
|
1942
|
+
:default => "1m",
|
1943
|
+
:type => :ttl,
|
1944
|
+
:desc => "The maximum amount of time the puppet agent should wait for an
|
1945
|
+
already running puppet agent to finish before starting a new one. This is set by default to 1 minute.
|
1946
|
+
A value of `unlimited` will cause puppet agent to wait indefinitely.
|
1947
|
+
#{AS_DURATION}",
|
1865
1948
|
}
|
1866
1949
|
)
|
1867
1950
|
|
@@ -1902,9 +1985,26 @@ EOT
|
|
1902
1985
|
is used for retrieval, so anything that is a valid file source can
|
1903
1986
|
be used here.",
|
1904
1987
|
},
|
1988
|
+
:pluginsync => {
|
1989
|
+
:default => true,
|
1990
|
+
:type => :boolean,
|
1991
|
+
:desc => "Whether plugins should be synced with the central server. This setting is
|
1992
|
+
deprecated.",
|
1993
|
+
:hook => proc { |value|
|
1994
|
+
#TRANSLATORS 'pluginsync' is a setting and should not be translated
|
1995
|
+
Puppet.deprecation_warning(_("Setting 'pluginsync' is deprecated."))
|
1996
|
+
}
|
1997
|
+
},
|
1905
1998
|
:pluginsignore => {
|
1906
1999
|
:default => ".svn CVS .git .hg",
|
1907
2000
|
:desc => "What files to ignore when pulling down plugins.",
|
2001
|
+
},
|
2002
|
+
:ignore_plugin_errors => {
|
2003
|
+
:default => true,
|
2004
|
+
:type => :boolean,
|
2005
|
+
:desc => "Whether the puppet run should ignore errors during pluginsync. If the setting
|
2006
|
+
is false and there are errors during pluginsync, then the agent will abort the run and
|
2007
|
+
submit a report containing information about the failed run."
|
1908
2008
|
}
|
1909
2009
|
)
|
1910
2010
|
|
@@ -2049,7 +2149,7 @@ EOT
|
|
2049
2149
|
}
|
2050
2150
|
)
|
2051
2151
|
|
2052
|
-
settings.define_settings(:
|
2152
|
+
settings.define_settings(:server,
|
2053
2153
|
:storeconfigs => {
|
2054
2154
|
:default => false,
|
2055
2155
|
:type => :boolean,
|