puppet 6.13.0-x64-mingw32 → 6.18.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/CODEOWNERS +2 -7
- data/CONTRIBUTING.md +7 -13
- data/Gemfile +4 -2
- data/Gemfile.lock +36 -32
- data/README.md +17 -24
- data/ext/windows/service/daemon.rb +3 -3
- data/lib/puppet.rb +33 -9
- data/lib/puppet/agent.rb +20 -14
- data/lib/puppet/application/agent.rb +26 -17
- data/lib/puppet/application/apply.rb +18 -20
- data/lib/puppet/application/describe.rb +7 -5
- data/lib/puppet/application/device.rb +2 -2
- data/lib/puppet/application/filebucket.rb +19 -15
- data/lib/puppet/application/lookup.rb +16 -4
- data/lib/puppet/application/plugin.rb +1 -0
- data/lib/puppet/application/ssl.rb +4 -4
- data/lib/puppet/configurer.rb +58 -57
- data/lib/puppet/configurer/downloader.rb +31 -10
- data/lib/puppet/configurer/plugin_handler.rb +10 -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 +92 -12
- data/lib/puppet/environments.rb +4 -5
- 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/plugin.rb +2 -2
- data/lib/puppet/feature/base.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/eyaml_lookup_key.rb +13 -8
- data/lib/puppet/functions/filter.rb +1 -0
- data/lib/puppet/functions/lstrip.rb +4 -4
- 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 +263 -73
- data/lib/puppet/http/external_client.rb +90 -0
- data/lib/puppet/http/redirector.rb +43 -7
- data/lib/puppet/http/resolver.rb +46 -3
- data/lib/puppet/http/resolver/server_list.rb +76 -16
- data/lib/puppet/http/resolver/settings.rb +23 -3
- data/lib/puppet/http/resolver/srv.rb +29 -3
- data/lib/puppet/http/response.rb +87 -1
- data/lib/puppet/http/retry_after_handler.rb +39 -0
- data/lib/puppet/http/service.rb +97 -12
- data/lib/puppet/http/service/ca.rb +76 -14
- data/lib/puppet/http/service/compiler.rb +249 -16
- data/lib/puppet/http/service/file_server.rb +141 -20
- data/lib/puppet/http/service/report.rb +47 -17
- data/lib/puppet/http/session.rb +96 -7
- data/lib/puppet/indirector.rb +1 -1
- data/lib/puppet/indirector/catalog/rest.rb +34 -0
- data/lib/puppet/indirector/exec.rb +1 -1
- data/lib/puppet/indirector/facts/facter.rb +3 -3
- data/lib/puppet/indirector/facts/rest.rb +42 -0
- 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 +30 -0
- data/lib/puppet/indirector/file_metadata/http.rb +28 -8
- data/lib/puppet/indirector/file_metadata/rest.rb +52 -0
- data/lib/puppet/indirector/hiera.rb +4 -0
- data/lib/puppet/indirector/indirection.rb +1 -1
- data/lib/puppet/indirector/node/rest.rb +24 -0
- data/lib/puppet/indirector/report/processor.rb +2 -2
- data/lib/puppet/indirector/report/rest.rb +19 -0
- data/lib/puppet/indirector/report/yaml.rb +23 -0
- data/lib/puppet/indirector/request.rb +1 -1
- data/lib/puppet/indirector/rest.rb +12 -0
- data/lib/puppet/indirector/status/rest.rb +18 -0
- data/lib/puppet/loaders.rb +6 -0
- 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/base_pool.rb +7 -2
- 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 +8 -5
- 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/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/evaluator_impl.rb +5 -5
- 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/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/groupadd.rb +9 -4
- 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/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/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/rpm.rb +6 -213
- data/lib/puppet/provider/package/yum.rb +100 -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 +8 -0
- data/lib/puppet/resource/type_collection.rb +20 -16
- data/lib/puppet/runtime.rb +31 -1
- data/lib/puppet/settings.rb +3 -1
- data/lib/puppet/settings/http_extra_headers_setting.rb +25 -0
- 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 +81 -35
- 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 +21 -14
- data/lib/puppet/transaction.rb +2 -2
- data/lib/puppet/transaction/persistence.rb +1 -1
- data/lib/puppet/transaction/report.rb +3 -3
- data/lib/puppet/trusted_external.rb +29 -1
- data/lib/puppet/type.rb +21 -8
- data/lib/puppet/type/file.rb +51 -13
- data/lib/puppet/type/file/checksum.rb +4 -4
- data/lib/puppet/type/file/source.rb +75 -64
- 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/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/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 +641 -511
- data/man/man5/puppet.conf.5 +75 -10
- data/man/man8/puppet-agent.8 +7 -7
- data/man/man8/puppet-apply.8 +1 -1
- data/man/man8/puppet-catalog.8 +1 -1
- data/man/man8/puppet-config.8 +1 -1
- data/man/man8/puppet-describe.8 +1 -1
- data/man/man8/puppet-device.8 +2 -2
- 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 +17 -2
- 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 +1 -1
- data/man/man8/puppet-parser.8 +1 -1
- data/man/man8/puppet-plugin.8 +1 -1
- data/man/man8/puppet-report.8 +1 -1
- data/man/man8/puppet-resource.8 +1 -1
- data/man/man8/puppet-script.8 +1 -1
- data/man/man8/puppet-ssl.8 +2 -2
- data/man/man8/puppet-status.8 +1 -1
- 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/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/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_md5/should_fetch_if_not_on_the_local_disk.yml +1 -67
- data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_md5/should_not_update_if_content_on_disk_is_up-to-date.yml +1 -69
- data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_md5/should_update_if_content_differs_on_disk.yml +1 -69
- data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_fetch_if_mtime_is_older_on_disk.yml +1 -67
- data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_fetch_if_no_header_specified.yml +1 -65
- data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_fetch_if_not_on_the_local_disk.yml +1 -67
- data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_not_update_if_mtime_is_newer_on_disk.yml +1 -67
- data/spec/integration/application/agent_spec.rb +475 -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/data_binding_spec.rb +82 -0
- data/spec/integration/defaults_spec.rb +1 -2
- data/spec/integration/directory_environments_spec.rb +17 -17
- data/spec/integration/http/client_spec.rb +47 -37
- 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 +93 -20
- 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 +6 -1
- 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/unit/agent_spec.rb +80 -26
- data/spec/unit/application/agent_spec.rb +12 -9
- data/spec/unit/application/describe_spec.rb +88 -50
- data/spec/unit/application/device_spec.rb +2 -2
- data/spec/unit/application/face_base_spec.rb +6 -4
- data/spec/unit/application/facts_spec.rb +39 -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/configurer/downloader_spec.rb +10 -0
- data/spec/unit/configurer/fact_handler_spec.rb +4 -4
- data/spec/unit/configurer/plugin_handler_spec.rb +36 -19
- data/spec/unit/configurer_spec.rb +64 -46
- 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 +8 -0
- data/spec/unit/face/config_spec.rb +3 -1
- data/spec/unit/face/module/search_spec.rb +17 -0
- data/spec/unit/face/plugin_spec.rb +12 -10
- 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 +10 -0
- data/spec/unit/functions/lookup_spec.rb +13 -0
- data/spec/unit/http/client_spec.rb +321 -36
- data/spec/unit/http/external_client_spec.rb +201 -0
- data/spec/unit/http/resolver_spec.rb +34 -3
- data/spec/unit/http/response_spec.rb +75 -0
- data/spec/unit/http/service/ca_spec.rb +53 -12
- data/spec/unit/http/service/compiler_spec.rb +332 -28
- data/spec/unit/http/service/file_server_spec.rb +100 -12
- data/spec/unit/http/service/report_spec.rb +19 -9
- data/spec/unit/http/service_spec.rb +94 -6
- data/spec/unit/http/session_spec.rb +159 -8
- data/spec/unit/indirector/catalog/compiler_spec.rb +1 -0
- data/spec/unit/indirector/catalog/rest_spec.rb +59 -2
- data/spec/unit/indirector/facts/rest_spec.rb +79 -24
- data/spec/unit/indirector/file_bucket_file/rest_spec.rb +82 -2
- data/spec/unit/indirector/file_content/rest_spec.rb +53 -2
- data/spec/unit/indirector/file_metadata/http_spec.rb +194 -0
- data/spec/unit/indirector/file_metadata/rest_spec.rb +110 -2
- data/spec/unit/indirector/node/rest_spec.rb +57 -2
- data/spec/unit/indirector/report/rest_spec.rb +58 -51
- data/spec/unit/indirector/request_spec.rb +1 -1
- data/spec/unit/indirector/resource/ral_spec.rb +7 -8
- data/spec/unit/indirector/rest_spec.rb +13 -0
- data/spec/unit/indirector/status/rest_spec.rb +43 -2
- 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/connection_spec.rb +552 -190
- data/spec/unit/network/http/nocache_pool_spec.rb +22 -0
- data/spec/unit/network/http/pool_spec.rb +59 -13
- 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/group/groupadd_spec.rb +22 -8
- 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/gem_spec.rb +40 -0
- data/spec/unit/provider/package/pacman_spec.rb +6 -21
- 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/rpm_spec.rb +0 -212
- data/spec/unit/provider/package/yum_spec.rb +243 -1
- data/spec/unit/provider/package/zypper_spec.rb +98 -0
- data/spec/unit/provider/service/init_spec.rb +42 -0
- data/spec/unit/provider/service/openbsd_spec.rb +9 -0
- data/spec/unit/provider/service/openwrt_spec.rb +1 -0
- data/spec/unit/provider/service/redhat_spec.rb +9 -0
- data/spec/unit/provider/service/systemd_spec.rb +93 -18
- 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/settings/autosign_setting_spec.rb +1 -1
- data/spec/unit/settings/http_extra_headers_spec.rb +64 -0
- 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 +99 -13
- 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 +5 -1
- data/spec/unit/transaction_spec.rb +0 -2
- data/spec/unit/type/file/ensure_spec.rb +1 -2
- data/spec/unit/type/file/source_spec.rb +89 -38
- data/spec/unit/type/file_spec.rb +122 -96
- 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 +3 -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 +102 -54
- data/spec/unit/util/rpm_compare_spec.rb +196 -0
- 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 +84 -52
- data/COMMITTERS.md +0 -244
- 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 -61
- 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
@@ -11,32 +11,53 @@ class Puppet::Configurer::Downloader
|
|
11
11
|
files = []
|
12
12
|
begin
|
13
13
|
catalog.apply do |trans|
|
14
|
+
unless Puppet[:ignore_plugin_errors]
|
15
|
+
# Propagate the first failure associated with the transaction. The any_failed?
|
16
|
+
# method returns the first resource status that failed or nil, not a boolean.
|
17
|
+
first_failure = trans.any_failed?
|
18
|
+
if first_failure
|
19
|
+
event = (first_failure.events || []).first
|
20
|
+
detail = event ? event.message : 'unknown'
|
21
|
+
raise Puppet::Error.new(_("Failed to retrieve %{name}: %{detail}") % { name: name, detail: detail })
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
14
25
|
trans.changed?.each do |resource|
|
15
26
|
yield resource if block_given?
|
16
27
|
files << resource[:path]
|
17
28
|
end
|
18
29
|
end
|
19
30
|
rescue Puppet::Error => detail
|
20
|
-
Puppet
|
31
|
+
if Puppet[:ignore_plugin_errors]
|
32
|
+
Puppet.log_exception(detail, _("Could not retrieve %{name}: %{detail}") % { name: name, detail: detail })
|
33
|
+
else
|
34
|
+
raise detail
|
35
|
+
end
|
21
36
|
end
|
22
37
|
files
|
23
38
|
end
|
24
39
|
|
25
40
|
def initialize(name, path, source, ignore = nil, environment = nil, source_permissions = :ignore)
|
26
41
|
@name, @path, @source, @ignore, @environment, @source_permissions = name, path, source, ignore, environment, source_permissions
|
27
|
-
end
|
28
42
|
|
29
|
-
def catalog
|
30
|
-
catalog = Puppet::Resource::Catalog.new("PluginSync", @environment)
|
31
|
-
catalog.host_config = false
|
32
|
-
catalog.add_resource(file)
|
33
|
-
catalog
|
34
43
|
end
|
35
44
|
|
36
45
|
def file
|
37
|
-
|
38
|
-
|
39
|
-
|
46
|
+
unless @file
|
47
|
+
args = default_arguments.merge(:path => path, :source => source)
|
48
|
+
args[:ignore] = ignore.split if ignore
|
49
|
+
@file = Puppet::Type.type(:file).new(args)
|
50
|
+
end
|
51
|
+
@file
|
52
|
+
end
|
53
|
+
|
54
|
+
def catalog
|
55
|
+
unless @catalog
|
56
|
+
@catalog = Puppet::Resource::Catalog.new("PluginSync", @environment)
|
57
|
+
@catalog.host_config = false
|
58
|
+
@catalog.add_resource(file)
|
59
|
+
end
|
60
|
+
@catalog
|
40
61
|
end
|
41
62
|
|
42
63
|
private
|
@@ -29,8 +29,17 @@ class Puppet::Configurer::PluginHandler
|
|
29
29
|
result += plugin_fact_downloader.evaluate
|
30
30
|
result += plugin_downloader.evaluate
|
31
31
|
|
32
|
+
# until file metadata/content are using the rest client, we need to check
|
33
|
+
# both :server_agent_version and the session to see if the server supports
|
34
|
+
# the "locales" mount
|
32
35
|
server_agent_version = Puppet.lookup(:server_agent_version) { "0.0" }
|
33
|
-
|
36
|
+
locales = Gem::Version.new(server_agent_version) >= SUPPORTED_LOCALES_MOUNT_AGENT_VERSION
|
37
|
+
unless locales
|
38
|
+
session = Puppet.lookup(:http_session)
|
39
|
+
locales = session.supports?(:fileserver, 'locales') || session.supports?(:puppet, 'locales')
|
40
|
+
end
|
41
|
+
|
42
|
+
if locales
|
34
43
|
locales_downloader = Puppet::Configurer::Downloader.new(
|
35
44
|
"locales",
|
36
45
|
Puppet[:localedest],
|
data/lib/puppet/confine.rb
CHANGED
@@ -26,7 +26,7 @@ class Puppet::Confine
|
|
26
26
|
require "puppet/confine/#{name}"
|
27
27
|
rescue LoadError => detail
|
28
28
|
unless detail.to_s =~ /No such file|cannot load such file/i
|
29
|
-
|
29
|
+
Puppet.warning("Could not load confine test '#{name}': #{detail}")
|
30
30
|
end
|
31
31
|
# Could not find file
|
32
32
|
if !Puppet[:always_retry_plugins]
|
@@ -67,7 +67,7 @@ class Puppet::Confine
|
|
67
67
|
def valid?
|
68
68
|
values.each do |value|
|
69
69
|
unless pass?(value)
|
70
|
-
Puppet.debug
|
70
|
+
Puppet.debug { label + ": " + message(value) }
|
71
71
|
return false
|
72
72
|
end
|
73
73
|
end
|
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,
|
@@ -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,
|
@@ -811,7 +822,9 @@ API to expire the cache as needed
|
|
811
822
|
only use lowercase letters, numbers, periods, underscores, and dashes. (That is,
|
812
823
|
it should match `/\A[a-z0-9._-]+\Z/`.)
|
813
824
|
* The special value `ca` is reserved, and can't be used as the certname
|
814
|
-
for a normal node.
|
825
|
+
for a normal node.
|
826
|
+
|
827
|
+
**Note:** You must set the certname in the main section of the puppet.conf file. Setting it in a different section causes errors.
|
815
828
|
|
816
829
|
Defaults to the node's fully qualified domain name.",
|
817
830
|
:hook => proc { |value| raise(ArgumentError, _("Certificate names must be lower case")) unless value == value.downcase }},
|
@@ -989,6 +1002,15 @@ EOT
|
|
989
1002
|
and reject the CA certificate if the values do not match. This only applies
|
990
1003
|
during the first download of the CA certificate."
|
991
1004
|
},
|
1005
|
+
:ssl_trust_store => {
|
1006
|
+
:default => nil,
|
1007
|
+
:type => :file,
|
1008
|
+
:desc => "A file containing CA certificates in PEM format that puppet should trust
|
1009
|
+
when making HTTPS requests. This **only** applies to https requests to non-puppet
|
1010
|
+
infrastructure, such as retrieving file metadata and content from https file sources,
|
1011
|
+
puppet module tool and the 'http' report processor. This setting is ignored when
|
1012
|
+
making requests to puppet:// URLs such as catalog and report requests.",
|
1013
|
+
},
|
992
1014
|
:ssl_client_ca_auth => {
|
993
1015
|
:type => :file,
|
994
1016
|
:mode => "0644",
|
@@ -1167,7 +1189,7 @@ EOT
|
|
1167
1189
|
the request.
|
1168
1190
|
|
1169
1191
|
For info on autosign configuration files, see
|
1170
|
-
[the guide to Puppet's config files](https://puppet.com/docs/puppet/latest/
|
1192
|
+
[the guide to Puppet's config files](https://puppet.com/docs/puppet/latest/config_file_autosign.html).",
|
1171
1193
|
},
|
1172
1194
|
:allow_duplicate_certs => {
|
1173
1195
|
:default => false,
|
@@ -1533,7 +1555,7 @@ EOT
|
|
1533
1555
|
:statefile => {
|
1534
1556
|
:default => "$statedir/state.yaml",
|
1535
1557
|
:type => :file,
|
1536
|
-
:mode => "
|
1558
|
+
:mode => "0640",
|
1537
1559
|
:desc => "Where puppet agent and puppet master store state associated
|
1538
1560
|
with the running configuration. In the case of puppet master,
|
1539
1561
|
this file reflects the state discovered through interacting
|
@@ -1555,7 +1577,7 @@ EOT
|
|
1555
1577
|
:transactionstorefile => {
|
1556
1578
|
:default => "$statedir/transactionstore.yaml",
|
1557
1579
|
:type => :file,
|
1558
|
-
:mode => "
|
1580
|
+
:mode => "0640",
|
1559
1581
|
:desc => "Transactional storage file for persisting data between
|
1560
1582
|
transactions for the purposes of infering information (such as
|
1561
1583
|
corrective_change) on new data received."
|
@@ -1633,6 +1655,12 @@ EOT
|
|
1633
1655
|
:default => lambda { Puppet::Settings.domain_fact },
|
1634
1656
|
:desc => "The domain which will be queried to find the SRV records of servers to use.",
|
1635
1657
|
},
|
1658
|
+
:http_extra_headers => {
|
1659
|
+
:default => [],
|
1660
|
+
:type => :http_extra_headers,
|
1661
|
+
:desc => "The list of extra headers that will be sent with http requests to the master.
|
1662
|
+
The header definition consists of a name and a value separated by a colon."
|
1663
|
+
},
|
1636
1664
|
:ignoreschedules => {
|
1637
1665
|
:default => false,
|
1638
1666
|
:type => :boolean,
|
@@ -1675,8 +1703,7 @@ EOT
|
|
1675
1703
|
:type => :duration,
|
1676
1704
|
:desc => "How often puppet agent applies the catalog.
|
1677
1705
|
Note that a runinterval of 0 means \"run continuously\" rather than
|
1678
|
-
\"never run.\"
|
1679
|
-
it with the `--no-client` option. #{AS_DURATION}",
|
1706
|
+
\"never run.\" #{AS_DURATION}",
|
1680
1707
|
},
|
1681
1708
|
:runtimeout => {
|
1682
1709
|
:default => "1h",
|
@@ -1789,10 +1816,27 @@ EOT
|
|
1789
1816
|
:type => :boolean,
|
1790
1817
|
:desc => "Whether to send reports after every transaction.",
|
1791
1818
|
},
|
1819
|
+
:report_include_system_store => {
|
1820
|
+
:default => false,
|
1821
|
+
:type => :boolean,
|
1822
|
+
:desc => "Whether the 'http' report processor should include the system
|
1823
|
+
certificate store when submitting reports to HTTPS URLs. If false, then
|
1824
|
+
the 'http' processor will only trust HTTPS report servers whose certificates
|
1825
|
+
are issued by the puppet CA or one of its intermediate CAs. If true, the
|
1826
|
+
processor will additionally trust CA certificates in the system's
|
1827
|
+
certificate store."
|
1828
|
+
},
|
1792
1829
|
:resubmit_facts => {
|
1793
1830
|
:default => false,
|
1794
1831
|
:type => :boolean,
|
1795
|
-
:desc => "Whether to send updated facts after every transaction.
|
1832
|
+
:desc => "Whether to send updated facts after every transaction. By default
|
1833
|
+
puppet only submits facts at the beginning of the transaction before applying a
|
1834
|
+
catalog. Since puppet can modify the state of the system, the value of the facts
|
1835
|
+
may change after puppet finishes. Therefore, any facts stored in puppetdb may not
|
1836
|
+
be consistent until the agent next runs, typically in 30 minutes. If this feature
|
1837
|
+
is enabled, puppet will resubmit facts after applying its catalog, ensuring facts
|
1838
|
+
for the node stored in puppetdb are current. However, this will double the fact
|
1839
|
+
submission load on puppetdb, so it is disabled by default.",
|
1796
1840
|
},
|
1797
1841
|
:lastrunfile => {
|
1798
1842
|
:default => "$statedir/last_run_summary.yaml",
|
@@ -1856,6 +1900,25 @@ EOT
|
|
1856
1900
|
certificate request to be signed. A value of `unlimited` will cause puppet agent
|
1857
1901
|
to ask for a signed certificate indefinitely.
|
1858
1902
|
#{AS_DURATION}",
|
1903
|
+
},
|
1904
|
+
:waitforlock => {
|
1905
|
+
:default => "0",
|
1906
|
+
:type => :duration,
|
1907
|
+
:desc => "How frequently puppet agent should try running when there is an
|
1908
|
+
already ongoing puppet agent instance.
|
1909
|
+
|
1910
|
+
This argument is by default disabled (value set to 0). In this case puppet agent will
|
1911
|
+
immediately exit if it cannot run at that moment. When a value other than 0 is set, this
|
1912
|
+
can also be used in combination with the `maxwaitforlock` argument.
|
1913
|
+
#{AS_DURATION}",
|
1914
|
+
},
|
1915
|
+
:maxwaitforlock => {
|
1916
|
+
:default => "1m",
|
1917
|
+
:type => :ttl,
|
1918
|
+
:desc => "The maximum amount of time the puppet agent should wait for an
|
1919
|
+
already running puppet agent to finish before starting a new one. This is set by default to 1 minute.
|
1920
|
+
A value of `unlimited` will cause puppet agent to wait indefinitely.
|
1921
|
+
#{AS_DURATION}",
|
1859
1922
|
}
|
1860
1923
|
)
|
1861
1924
|
|
@@ -1896,9 +1959,26 @@ EOT
|
|
1896
1959
|
is used for retrieval, so anything that is a valid file source can
|
1897
1960
|
be used here.",
|
1898
1961
|
},
|
1962
|
+
:pluginsync => {
|
1963
|
+
:default => true,
|
1964
|
+
:type => :boolean,
|
1965
|
+
:desc => "Whether plugins should be synced with the central server. This setting is
|
1966
|
+
deprecated.",
|
1967
|
+
:hook => proc { |value|
|
1968
|
+
#TRANSLATORS 'pluginsync' is a setting and should not be translated
|
1969
|
+
Puppet.deprecation_warning(_("Setting 'pluginsync' is deprecated."))
|
1970
|
+
}
|
1971
|
+
},
|
1899
1972
|
:pluginsignore => {
|
1900
1973
|
:default => ".svn CVS .git .hg",
|
1901
1974
|
:desc => "What files to ignore when pulling down plugins.",
|
1975
|
+
},
|
1976
|
+
:ignore_plugin_errors => {
|
1977
|
+
:default => true,
|
1978
|
+
:type => :boolean,
|
1979
|
+
:desc => "Whether the puppet run should ignore errors during pluginsync. If the setting
|
1980
|
+
is false and there are errors during pluginsync, then the agent will abort the run and
|
1981
|
+
submit a report containing information about the failed run."
|
1902
1982
|
}
|
1903
1983
|
)
|
1904
1984
|
|