puppet 6.15.0-x64-mingw32 → 6.19.1-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/Gemfile +4 -2
- data/Gemfile.lock +29 -27
- data/README.md +3 -4
- data/Rakefile +4 -12
- data/lib/puppet.rb +32 -8
- data/lib/puppet/agent.rb +18 -4
- data/lib/puppet/agent/locker.rb +0 -7
- data/lib/puppet/application/agent.rb +23 -8
- 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/lookup.rb +16 -4
- data/lib/puppet/application/plugin.rb +1 -0
- data/lib/puppet/application/ssl.rb +1 -1
- data/lib/puppet/configurer.rb +61 -21
- data/lib/puppet/configurer/downloader.rb +31 -10
- 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 +119 -39
- data/lib/puppet/environments.rb +51 -10
- 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 +1 -1
- 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 +4 -4
- 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/filter.rb +1 -0
- data/lib/puppet/functions/lstrip.rb +4 -4
- data/lib/puppet/functions/new.rb +8 -3
- 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 +1 -0
- data/lib/puppet/http/client.rb +28 -12
- data/lib/puppet/http/external_client.rb +0 -6
- data/lib/puppet/http/redirector.rb +9 -7
- data/lib/puppet/http/resolver.rb +5 -8
- data/lib/puppet/http/resolver/server_list.rb +18 -36
- data/lib/puppet/http/resolver/settings.rb +4 -4
- data/lib/puppet/http/resolver/srv.rb +5 -5
- data/lib/puppet/http/response.rb +19 -0
- data/lib/puppet/http/service.rb +3 -1
- data/lib/puppet/http/service/compiler.rb +1 -1
- data/lib/puppet/http/service/file_server.rb +1 -1
- data/lib/puppet/http/service/puppetserver.rb +39 -0
- data/lib/puppet/http/session.rb +5 -4
- data/lib/puppet/indirector.rb +1 -1
- data/lib/puppet/indirector/catalog/compiler.rb +1 -1
- data/lib/puppet/indirector/exec.rb +1 -1
- data/lib/puppet/indirector/facts/facter.rb +3 -3
- data/lib/puppet/indirector/facts/yaml.rb +1 -1
- 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 +2 -2
- 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/report/processor.rb +2 -2
- data/lib/puppet/indirector/request.rb +5 -5
- data/lib/puppet/indirector/rest.rb +7 -1
- data/lib/puppet/indirector/yaml.rb +1 -1
- 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/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/route.rb +2 -2
- data/lib/puppet/network/http_pool.rb +2 -2
- data/lib/puppet/node/environment.rb +12 -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 +31 -4
- 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 +29 -26
- 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 +21 -17
- 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 +18 -11
- 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/package/aix.rb +17 -2
- data/lib/puppet/provider/package/apt.rb +38 -1
- data/lib/puppet/provider/package/aptitude.rb +1 -1
- data/lib/puppet/provider/package/dnfmodule.rb +24 -4
- data/lib/puppet/provider/package/dpkg.rb +1 -1
- data/lib/puppet/provider/package/gem.rb +4 -2
- data/lib/puppet/provider/package/pip.rb +60 -37
- data/lib/puppet/provider/package/pip2.rb +17 -0
- data/lib/puppet/provider/package/portage.rb +2 -2
- data/lib/puppet/provider/package/puppet_gem.rb +5 -0
- data/lib/puppet/provider/package/puppetserver_gem.rb +180 -0
- data/lib/puppet/provider/package/yum.rb +9 -1
- data/lib/puppet/provider/package/zypper.rb +62 -1
- data/lib/puppet/provider/service/systemd.rb +21 -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 +7 -3
- data/lib/puppet/resource.rb +2 -1
- data/lib/puppet/resource/type.rb +10 -1
- data/lib/puppet/rest/route.rb +2 -2
- data/lib/puppet/runtime.rb +25 -2
- data/lib/puppet/settings.rb +43 -6
- 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 +33 -8
- 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 +12 -8
- data/lib/puppet/trusted_external.rb +29 -1
- data/lib/puppet/type.rb +15 -7
- data/lib/puppet/type/file.rb +40 -15
- data/lib/puppet/type/file/checksum.rb +4 -4
- data/lib/puppet/type/file/source.rb +33 -13
- data/lib/puppet/type/filebucket.rb +1 -1
- data/lib/puppet/type/notify.rb +2 -2
- data/lib/puppet/type/package.rb +16 -1
- data/lib/puppet/type/service.rb +59 -8
- data/lib/puppet/type/user.rb +19 -10
- data/lib/puppet/util.rb +41 -3
- data/lib/puppet/util/autoload.rb +10 -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/log/destinations.rb +1 -10
- data/lib/puppet/util/package/version/range.rb +4 -1
- data/lib/puppet/util/package/version/range/eq.rb +14 -0
- data/lib/puppet/util/provider_features.rb +1 -1
- data/lib/puppet/util/reference.rb +1 -1
- data/lib/puppet/util/run_mode.rb +5 -1
- data/lib/puppet/util/windows.rb +1 -0
- 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/registry.rb +11 -11
- data/lib/puppet/util/windows/security.rb +4 -4
- data/lib/puppet/util/windows/service.rb +43 -26
- data/lib/puppet/util/windows/user.rb +242 -8
- data/lib/puppet/version.rb +1 -1
- data/locales/puppet.pot +541 -427
- data/man/man5/puppet.conf.5 +84 -19
- 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/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-enabled.txt → dnf-module-list.txt} +6 -0
- data/spec/fixtures/unit/provider/package/puppetserver_gem/gem-list-local-packages +30 -0
- data/spec/fixtures/unit/provider/package/zypper/zypper-search-uninstalled.out +13 -0
- data/spec/integration/application/agent_spec.rb +202 -52
- data/spec/integration/application/apply_spec.rb +149 -149
- 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 +70 -21
- 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 +75 -2
- 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 +6 -1
- data/spec/integration/indirector/facts/facter_spec.rb +8 -6
- data/spec/integration/network/http_pool_spec.rb +73 -0
- data/spec/integration/node/environment_spec.rb +1 -1
- 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 +7 -2
- 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_spec/https.rb +6 -0
- data/spec/lib/puppet_spec/matchers.rb +0 -80
- data/spec/lib/puppet_spec/puppetserver.rb +8 -0
- data/spec/shared_contexts/types_setup.rb +2 -0
- data/spec/unit/agent_spec.rb +47 -1
- data/spec/unit/application/agent_spec.rb +7 -8
- 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/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 +86 -37
- 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/environments_spec.rb +99 -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 +1 -2
- data/spec/unit/http/client_spec.rb +74 -19
- data/spec/unit/http/external_client_spec.rb +9 -9
- data/spec/unit/http/resolver_spec.rb +24 -5
- data/spec/unit/http/response_spec.rb +6 -0
- data/spec/unit/http/service/ca_spec.rb +2 -3
- data/spec/unit/http/service/compiler_spec.rb +2 -3
- data/spec/unit/http/service/file_server_spec.rb +2 -3
- data/spec/unit/http/service/puppetserver_spec.rb +82 -0
- data/spec/unit/http/service/report_spec.rb +2 -3
- data/spec/unit/http/service_spec.rb +0 -1
- data/spec/unit/http/session_spec.rb +8 -21
- 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_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 +63 -57
- data/spec/unit/network/http_spec.rb +1 -1
- data/spec/unit/node/environment_spec.rb +18 -1
- 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/package/aix_spec.rb +29 -0
- data/spec/unit/provider/package/apt_spec.rb +77 -0
- data/spec/unit/provider/package/aptitude_spec.rb +1 -0
- data/spec/unit/provider/package/dnfmodule_spec.rb +25 -5
- data/spec/unit/provider/package/dpkg_spec.rb +22 -7
- data/spec/unit/provider/package/openbsd_spec.rb +2 -0
- data/spec/unit/provider/package/pip2_spec.rb +36 -0
- data/spec/unit/provider/package/pip_spec.rb +42 -16
- data/spec/unit/provider/package/portage_spec.rb +5 -0
- data/spec/unit/provider/package/puppet_gem_spec.rb +4 -1
- data/spec/unit/provider/package/puppetserver_gem_spec.rb +137 -0
- data/spec/unit/provider/package/yum_spec.rb +47 -8
- 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 +87 -19
- 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 +82 -0
- data/spec/unit/puppet_pal_2pec.rb +40 -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 +1 -1
- 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 +182 -22
- data/spec/unit/ssl/ssl_provider_spec.rb +69 -43
- data/spec/unit/ssl/state_machine_spec.rb +52 -8
- 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 +3 -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/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/range_spec.rb +22 -1
- data/spec/unit/util/run_mode_spec.rb +6 -6
- 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_spec.rb +3 -3
- data/spec/unit/x509/cert_provider_spec.rb +1 -1
- data/tasks/manpages.rake +5 -35
- metadata +43 -49
- data/spec/integration/faces/config_spec.rb +0 -91
- data/spec/integration/faces/documentation_spec.rb +0 -57
- 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 -51
- 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
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bebf7c1f070e9b926268d10514168aa9c980571fb38937cca7d0ecd453b46571
|
4
|
+
data.tar.gz: 5085ac016a244c154912c61e51d0f7c88e1d0795633087c60d51b1918f69549c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 420e17e3874a6acd6429883fa2933c9128d4d0c8603df758a71cc51d9d00c58cc17f89a67d587516aba460a4fa56ed2a5c44a4c61772536c847215e519193f45
|
7
|
+
data.tar.gz: b059f4655feb7d7ef87a443116c28028bcf2a6c9d21222c89614a39014558e436871e3a5c743fe1b102d4949332b405121b8b640cab80095c87c84bd9386a08b
|
data/CODEOWNERS
CHANGED
@@ -11,13 +11,8 @@
|
|
11
11
|
/lib/puppet/provider/service @puppetlabs/night-s-watch
|
12
12
|
/lib/puppet/provider/user @puppetlabs/night-s-watch
|
13
13
|
|
14
|
-
#
|
15
|
-
/lib/puppet/
|
16
|
-
/lib/puppet/functions @puppetlabs/language
|
17
|
-
/lib/puppet/pal @puppetlabs/language
|
18
|
-
/lib/puppet/parser @puppetlabs/language
|
19
|
-
/lib/puppet/pops @puppetlabs/language
|
20
|
-
/lib/puppet/syntax_checkers @puppetlabs/language
|
14
|
+
# PAL
|
15
|
+
/lib/puppet/pal @puppetlabs/bolt
|
21
16
|
|
22
17
|
# puppet device
|
23
18
|
/lib/puppet/application/device.rb @puppetlabs/networking
|
data/Gemfile
CHANGED
@@ -3,9 +3,9 @@ source ENV['GEM_SOURCE'] || "https://rubygems.org"
|
|
3
3
|
gemspec
|
4
4
|
|
5
5
|
def location_for(place, fake_version = nil)
|
6
|
-
if place =~ /^(git[:@][^#]*)#(.*)/
|
6
|
+
if place.is_a?(String) && place =~ /^(git[:@][^#]*)#(.*)/
|
7
7
|
[fake_version, { git: $1, branch: $2, require: false }].compact
|
8
|
-
elsif place =~ /^file:\/\/(.*)/
|
8
|
+
elsif place.is_a?(String) && place =~ /^file:\/\/(.*)/
|
9
9
|
['>= 0', { path: File.expand_path($1), require: false }]
|
10
10
|
else
|
11
11
|
[place, { require: false }]
|
@@ -19,6 +19,8 @@ gem "hiera", *location_for(ENV['HIERA_LOCATION']) if ENV.has_key?('HIERA_LOCATIO
|
|
19
19
|
gem "semantic_puppet", *location_for(ENV['SEMANTIC_PUPPET_LOCATION'] || ["~> 1.0"])
|
20
20
|
gem "puppet-resource_api", *location_for(ENV['RESOURCE_API_LOCATION'] || ["~> 1.5"])
|
21
21
|
|
22
|
+
gem "scanf" if RUBY_VERSION.to_f >= 2.7
|
23
|
+
|
22
24
|
group(:features) do
|
23
25
|
gem 'diff-lcs', '~> 1.3', require: false
|
24
26
|
gem 'hiera-eyaml', *location_for(ENV['HIERA_EYAML_LOCATION'])
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
puppet (6.
|
4
|
+
puppet (6.19.1)
|
5
5
|
CFPropertyList (~> 2.2)
|
6
6
|
concurrent-ruby (~> 1.0)
|
7
7
|
deep_merge (~> 1.0)
|
@@ -20,16 +20,17 @@ GEM
|
|
20
20
|
addressable (2.7.0)
|
21
21
|
public_suffix (>= 2.0.2, < 5.0)
|
22
22
|
artifactory (2.8.2)
|
23
|
-
ast (2.4.
|
24
|
-
coderay (1.1.
|
25
|
-
concurrent-ruby (1.1.
|
26
|
-
crack (0.4.
|
27
|
-
|
28
|
-
csv (3.1.2)
|
23
|
+
ast (2.4.1)
|
24
|
+
coderay (1.1.3)
|
25
|
+
concurrent-ruby (1.1.7)
|
26
|
+
crack (0.4.4)
|
27
|
+
csv (3.1.5)
|
29
28
|
deep_merge (1.2.1)
|
30
|
-
diff-lcs (1.
|
29
|
+
diff-lcs (1.4.4)
|
31
30
|
docopt (0.6.1)
|
32
|
-
facter (
|
31
|
+
facter (4.0.44)
|
32
|
+
hocon (~> 1.3)
|
33
|
+
thor (>= 1.0.1, < 2.0)
|
33
34
|
fast_gettext (1.1.2)
|
34
35
|
gettext (3.2.9)
|
35
36
|
locale (>= 2.0.5)
|
@@ -44,7 +45,7 @@ GEM
|
|
44
45
|
highline (~> 1.6.19)
|
45
46
|
optimist
|
46
47
|
highline (1.6.21)
|
47
|
-
hocon (1.3.
|
48
|
+
hocon (1.3.1)
|
48
49
|
hpricot (0.8.6)
|
49
50
|
httpclient (2.8.3)
|
50
51
|
json-schema (2.8.1)
|
@@ -54,30 +55,31 @@ GEM
|
|
54
55
|
method_source (1.0.0)
|
55
56
|
minitar (0.9)
|
56
57
|
msgpack (1.3.3)
|
57
|
-
multi_json (1.
|
58
|
+
multi_json (1.15.0)
|
58
59
|
mustache (1.1.1)
|
59
60
|
optimist (3.0.1)
|
60
|
-
packaging (0.99.
|
61
|
+
packaging (0.99.71)
|
61
62
|
artifactory (~> 2)
|
63
|
+
csv (= 3.1.5)
|
62
64
|
rake (>= 12.3)
|
63
65
|
release-metrics
|
64
|
-
parallel (1.19.
|
65
|
-
parser (2.7.
|
66
|
-
ast (~> 2.4.
|
66
|
+
parallel (1.19.2)
|
67
|
+
parser (2.7.2.0)
|
68
|
+
ast (~> 2.4.1)
|
67
69
|
powerpack (0.1.2)
|
68
70
|
pry (0.13.1)
|
69
71
|
coderay (~> 1.1)
|
70
72
|
method_source (~> 1.0)
|
71
|
-
public_suffix (4.0.
|
73
|
+
public_suffix (4.0.6)
|
72
74
|
puppet-resource_api (1.8.13)
|
73
75
|
hocon (>= 1.0)
|
74
|
-
puppetserver-ca (1.
|
75
|
-
facter (>= 2.0.1, <
|
76
|
+
puppetserver-ca (1.8.0)
|
77
|
+
facter (>= 2.0.1, < 5)
|
76
78
|
racc (1.4.9)
|
77
79
|
rainbow (2.2.2)
|
78
80
|
rake
|
79
81
|
rake (12.3.3)
|
80
|
-
rdiscount (2.2.0.
|
82
|
+
rdiscount (2.2.0.2)
|
81
83
|
rdoc (6.2.1)
|
82
84
|
release-metrics (1.1.0)
|
83
85
|
csv
|
@@ -90,9 +92,9 @@ GEM
|
|
90
92
|
rspec-core (~> 3.9.0)
|
91
93
|
rspec-expectations (~> 3.9.0)
|
92
94
|
rspec-mocks (~> 3.9.0)
|
93
|
-
rspec-core (3.9.
|
94
|
-
rspec-support (~> 3.9.
|
95
|
-
rspec-expectations (3.9.
|
95
|
+
rspec-core (3.9.3)
|
96
|
+
rspec-support (~> 3.9.3)
|
97
|
+
rspec-expectations (3.9.2)
|
96
98
|
diff-lcs (>= 1.2.0, < 2.0)
|
97
99
|
rspec-support (~> 3.9.0)
|
98
100
|
rspec-its (1.3.0)
|
@@ -101,7 +103,7 @@ GEM
|
|
101
103
|
rspec-mocks (3.9.1)
|
102
104
|
diff-lcs (>= 1.2.0, < 2.0)
|
103
105
|
rspec-support (~> 3.9.0)
|
104
|
-
rspec-support (3.9.
|
106
|
+
rspec-support (3.9.3)
|
105
107
|
rubocop (0.49.1)
|
106
108
|
parallel (~> 1.10)
|
107
109
|
parser (>= 2.3.3.1, < 3.0)
|
@@ -111,18 +113,18 @@ GEM
|
|
111
113
|
unicode-display_width (~> 1.0, >= 1.0.1)
|
112
114
|
rubocop-i18n (1.2.0)
|
113
115
|
rubocop (~> 0.49.0)
|
114
|
-
ruby-prof (1.
|
116
|
+
ruby-prof (1.4.1)
|
115
117
|
ruby-progressbar (1.10.1)
|
116
|
-
safe_yaml (1.0.5)
|
117
118
|
semantic_puppet (1.0.2)
|
118
119
|
text (1.3.1)
|
120
|
+
thor (1.0.1)
|
119
121
|
unicode-display_width (1.7.0)
|
120
122
|
vcr (5.1.0)
|
121
|
-
webmock (3.
|
123
|
+
webmock (3.9.3)
|
122
124
|
addressable (>= 2.3.6)
|
123
125
|
crack (>= 0.3.2)
|
124
126
|
hashdiff (>= 0.4.0, < 2.0.0)
|
125
|
-
yard (0.9.
|
127
|
+
yard (0.9.25)
|
126
128
|
|
127
129
|
PLATFORMS
|
128
130
|
ruby
|
data/README.md
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
# Puppet
|
2
2
|
|
3
|
-
|
4
|
-
[![Appveyor Status](https://ci.appveyor.com/api/projects/status/cvhpypd4504sevqq/branch/master?svg=true)](https://ci.appveyor.com/project/puppetlabs/puppet/branch/master)
|
3
|
+
![RSpec tests](https://github.com/puppetlabs/puppet/workflows/RSpec%20tests/badge.svg)
|
5
4
|
[![Gem Version](https://badge.fury.io/rb/puppet.svg)](https://badge.fury.io/rb/puppet)
|
6
5
|
[![Inline docs](https://inch-ci.org/github/puppetlabs/puppet.svg)](https://inch-ci.org/github/puppetlabs/puppet)
|
7
6
|
|
@@ -25,10 +24,10 @@ which also includes orchestration features, a web console, and professional supp
|
|
25
24
|
The PE documentation is [available here.](https://puppet.com/docs/pe/latest)
|
26
25
|
|
27
26
|
To install an open source release of Puppet,
|
28
|
-
[see the installation guide on the docs site.](https://puppet.com/docs/puppet/
|
27
|
+
[see the installation guide on the docs site.](https://puppet.com/docs/puppet/latest/installing_and_upgrading.html)
|
29
28
|
|
30
29
|
If you need to run Puppet from source as a tester or developer,
|
31
|
-
see the [
|
30
|
+
see the [Quick Start to Developing on Puppet](docs/quickstart.md) guide.
|
32
31
|
|
33
32
|
## Developing and Contributing
|
34
33
|
|
data/Rakefile
CHANGED
@@ -61,12 +61,8 @@ end
|
|
61
61
|
desc "verify that commit messages match CONTRIBUTING.md requirements"
|
62
62
|
task(:commits) do
|
63
63
|
# This rake task looks at the summary from every commit from this branch not
|
64
|
-
# in the branch targeted for a PR.
|
65
|
-
|
66
|
-
# populated with the range of commits the PR contains. If not available, this
|
67
|
-
# falls back to `master..HEAD` as a next best bet as `master` is unlikely to
|
68
|
-
# ever be absent.
|
69
|
-
commit_range = ENV['TRAVIS_COMMIT_RANGE'].nil? ? 'master..HEAD' : ENV['TRAVIS_COMMIT_RANGE'].sub(/\.\.\./, '..')
|
64
|
+
# in the branch targeted for a PR.
|
65
|
+
commit_range = 'HEAD^..HEAD'
|
70
66
|
puts "Checking commits #{commit_range}"
|
71
67
|
%x{git log --no-merges --pretty=%s #{commit_range}}.each_line do |commit_summary|
|
72
68
|
# This regex tests for the currently supported commit summary tokens: maint, doc, packaging, or pup-<number>.
|
@@ -91,12 +87,8 @@ end
|
|
91
87
|
|
92
88
|
desc "verify that changed files are clean of Ruby warnings"
|
93
89
|
task(:warnings) do
|
94
|
-
# This rake task looks at all files modified in this branch.
|
95
|
-
|
96
|
-
# is present in travis CI and populated with the range of commits the PR
|
97
|
-
# contains. If not available, this falls back to `master..HEAD` as a next
|
98
|
-
# best bet as `master` is unlikely to ever be absent.
|
99
|
-
commit_range = ENV['TRAVIS_COMMIT_RANGE'].nil? ? 'master...HEAD' : ENV['TRAVIS_COMMIT_RANGE']
|
90
|
+
# This rake task looks at all files modified in this branch.
|
91
|
+
commit_range = 'HEAD^..HEAD'
|
100
92
|
ruby_files_ok = true
|
101
93
|
puts "Checking modified files #{commit_range}"
|
102
94
|
%x{git diff --diff-filter=ACM --name-only #{commit_range}}.each_line do |modified_file|
|
data/lib/puppet.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'puppet/version'
|
2
|
+
require 'puppet/concurrent/synchronized'
|
2
3
|
|
3
4
|
if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new("2.3.0")
|
4
5
|
raise LoadError, "Puppet #{Puppet.version} requires Ruby 2.3.0 or greater, found Ruby #{RUBY_VERSION.dup}."
|
@@ -6,6 +7,8 @@ end
|
|
6
7
|
|
7
8
|
Puppet::OLDEST_RECOMMENDED_RUBY_VERSION = '2.3.0'
|
8
9
|
|
10
|
+
$LOAD_PATH.extend(Puppet::Concurrent::Synchronized)
|
11
|
+
|
9
12
|
# see the bottom of the file for further inclusions
|
10
13
|
# Also see the new Vendor support - towards the end
|
11
14
|
#
|
@@ -150,21 +153,45 @@ module Puppet
|
|
150
153
|
# @param args [Array<String>] the command line arguments to use for initialization
|
151
154
|
# @param require_config [Boolean] controls loading of Puppet configuration files
|
152
155
|
# @param global_settings [Boolean] controls push to global context after settings object initialization
|
156
|
+
# @param runtime_implementations [Hash<Symbol, Object>] runtime implementations to register
|
153
157
|
# @return [void]
|
154
|
-
def self.initialize_settings(args = [], require_config = true, push_settings_globally = true)
|
155
|
-
do_initialize_settings_for_run_mode(:user, args, require_config, push_settings_globally)
|
158
|
+
def self.initialize_settings(args = [], require_config = true, push_settings_globally = true, runtime_implementations = {})
|
159
|
+
do_initialize_settings_for_run_mode(:user, args, require_config, push_settings_globally, runtime_implementations)
|
160
|
+
end
|
161
|
+
|
162
|
+
def self.vendored_modules
|
163
|
+
dir = Puppet[:vendormoduledir]
|
164
|
+
if dir && File.directory?(dir)
|
165
|
+
Dir.entries(dir)
|
166
|
+
.reject { |f| f =~ /^\./ }
|
167
|
+
.map { |f| File.join(dir, f, "lib") }
|
168
|
+
.select { |d| FileTest.directory?(d) }
|
169
|
+
else
|
170
|
+
[]
|
171
|
+
end
|
156
172
|
end
|
173
|
+
private_class_method :vendored_modules
|
174
|
+
|
175
|
+
def self.initialize_load_path
|
176
|
+
$LOAD_PATH.unshift(Puppet[:libdir])
|
177
|
+
$LOAD_PATH.concat(vendored_modules)
|
178
|
+
end
|
179
|
+
private_class_method :initialize_load_path
|
157
180
|
|
158
181
|
# private helper method to provide the implementation details of initializing for a run mode,
|
159
182
|
# but allowing us to control where the deprecation warning is issued
|
160
|
-
def self.do_initialize_settings_for_run_mode(run_mode, args, require_config
|
183
|
+
def self.do_initialize_settings_for_run_mode(run_mode, args, require_config, push_settings_globally, runtime_implementations)
|
161
184
|
Puppet.settings.initialize_global_settings(args, require_config)
|
162
185
|
run_mode = Puppet::Util::RunMode[run_mode]
|
163
186
|
Puppet.settings.initialize_app_defaults(Puppet::Settings.app_defaults_for_run_mode(run_mode))
|
164
187
|
if push_settings_globally
|
188
|
+
initialize_load_path
|
165
189
|
push_context_global(Puppet.base_context(Puppet.settings), "Initial context after settings initialization")
|
166
190
|
Puppet::Parser::Functions.reset
|
167
191
|
end
|
192
|
+
runtime_implementations.each_pair do |name, impl|
|
193
|
+
Puppet.runtime[name] = impl
|
194
|
+
end
|
168
195
|
end
|
169
196
|
private_class_method :do_initialize_settings_for_run_mode
|
170
197
|
|
@@ -218,10 +245,7 @@ module Puppet
|
|
218
245
|
|
219
246
|
{
|
220
247
|
:environments => Puppet::Environments::Cached.new(Puppet::Environments::Combined.new(*loaders)),
|
221
|
-
:http_pool => proc {
|
222
|
-
require 'puppet/network/http'
|
223
|
-
Puppet::Network::HTTP::NoCachePool.new
|
224
|
-
},
|
248
|
+
:http_pool => proc { Puppet.runtime[:http].pool },
|
225
249
|
:ssl_context => proc {
|
226
250
|
begin
|
227
251
|
cert = Puppet::X509::CertProvider.new
|
@@ -237,7 +261,7 @@ module Puppet
|
|
237
261
|
end
|
238
262
|
},
|
239
263
|
:ssl_host => proc { Puppet::SSL::Host.localhost(true) },
|
240
|
-
:http_session => proc { Puppet.runtime[
|
264
|
+
:http_session => proc { Puppet.runtime[:http].create_session },
|
241
265
|
:plugins => proc { Puppet::Plugins::Configuration.load_plugins },
|
242
266
|
:rich_data => false
|
243
267
|
}
|
data/lib/puppet/agent.rb
CHANGED
@@ -43,6 +43,7 @@ class Puppet::Agent
|
|
43
43
|
end
|
44
44
|
|
45
45
|
result = nil
|
46
|
+
wait_for_lock_deadline = nil
|
46
47
|
block_run = Puppet::Application.controlled_run do
|
47
48
|
splay client_options.fetch :splay, Puppet[:splay]
|
48
49
|
result = run_in_fork(should_fork) do
|
@@ -60,16 +61,29 @@ class Puppet::Agent
|
|
60
61
|
end
|
61
62
|
end
|
62
63
|
rescue Puppet::LockError
|
63
|
-
|
64
|
-
|
64
|
+
now = Time.now.to_i
|
65
|
+
wait_for_lock_deadline ||= now + Puppet[:maxwaitforlock]
|
66
|
+
|
67
|
+
if Puppet[:waitforlock] < 1
|
68
|
+
Puppet.notice _("Run of %{client_class} already in progress; skipping (%{lockfile_path} exists)") % { client_class: client_class, lockfile_path: lockfile_path }
|
69
|
+
nil
|
70
|
+
elsif now >= wait_for_lock_deadline
|
71
|
+
Puppet.notice _("Exiting now because the maxwaitforlock timeout has been exceeded.")
|
72
|
+
nil
|
73
|
+
else
|
74
|
+
Puppet.info _("Another puppet instance is already running; --waitforlock flag used, waiting for running instance to finish.")
|
75
|
+
Puppet.info _("Will try again in %{time} seconds.") % {time: Puppet[:waitforlock]}
|
76
|
+
sleep Puppet[:waitforlock]
|
77
|
+
retry
|
78
|
+
end
|
65
79
|
rescue RunTimeoutError => detail
|
66
80
|
Puppet.log_exception(detail, _("Execution of %{client_class} did not complete within %{runtimeout} seconds and was terminated.") %
|
67
81
|
{client_class: client_class,
|
68
82
|
runtimeout: Puppet[:runtimeout]})
|
69
|
-
|
83
|
+
nil
|
70
84
|
rescue StandardError => detail
|
71
85
|
Puppet.log_exception(detail, _("Could not run %{client_class}: %{detail}") % { client_class: client_class, detail: detail })
|
72
|
-
|
86
|
+
nil
|
73
87
|
end
|
74
88
|
end
|
75
89
|
end
|
data/lib/puppet/agent/locker.rb
CHANGED
@@ -27,14 +27,7 @@ module Puppet::Agent::Locker
|
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
30
|
-
# @deprecated
|
31
30
|
def running?
|
32
|
-
#TRANSLATORS 'Puppet::Agent::Locker.running?' is a method name and should not be translated
|
33
|
-
message = _('Puppet::Agent::Locker.running? is deprecated as it is inherently unsafe.')
|
34
|
-
#TRANSLATORS 'LockError' should not be translated
|
35
|
-
message += ' ' + _('The only safe way to know if the lock is locked is to try lock and perform some '\
|
36
|
-
'action and then handle the LockError that may result.')
|
37
|
-
Puppet.deprecation_warning(message)
|
38
31
|
lockfile.locked?
|
39
32
|
end
|
40
33
|
|
@@ -103,7 +103,7 @@ USAGE
|
|
103
103
|
puppet agent [--certname <NAME>] [-D|--daemonize|--no-daemonize]
|
104
104
|
[-d|--debug] [--detailed-exitcodes] [--digest <DIGEST>] [--disable [MESSAGE]] [--enable]
|
105
105
|
[--fingerprint] [-h|--help] [-l|--logdest syslog|eventlog|<ABS FILEPATH>|console]
|
106
|
-
[--
|
106
|
+
[--serverport <PORT>] [--noop] [-o|--onetime] [--sourceaddress <IP_ADDRESS>] [-t|--test]
|
107
107
|
[-v|--verbose] [-V|--version] [-w|--waitforcert <SECONDS>]
|
108
108
|
|
109
109
|
|
@@ -258,7 +258,9 @@ generated by running puppet agent with '--genconfig'.
|
|
258
258
|
|
259
259
|
* --job-id:
|
260
260
|
Attach the specified job id to the catalog request and the report used for
|
261
|
-
this agent run. This option only works when '--onetime' is used.
|
261
|
+
this agent run. This option only works when '--onetime' is used. When using
|
262
|
+
Puppet Enterprise this flag should not be used as the orchestrator sets the
|
263
|
+
job-id for you and it must be unique.
|
262
264
|
|
263
265
|
* --logdest:
|
264
266
|
Where to send log messages. Choose between 'syslog' (the POSIX syslog
|
@@ -275,8 +277,9 @@ generated by running puppet agent with '--genconfig'.
|
|
275
277
|
format.
|
276
278
|
|
277
279
|
* --masterport:
|
278
|
-
The port on which to contact the
|
279
|
-
(This is a Puppet setting, and can go in puppet.conf.
|
280
|
+
The port on which to contact the Puppet Server.
|
281
|
+
(This is a Puppet setting, and can go in puppet.conf.
|
282
|
+
Deprecated in favor of the 'serverport' setting.)
|
280
283
|
|
281
284
|
* --noop:
|
282
285
|
Use 'noop' mode where the daemon runs in a no-op or dry-run mode. This
|
@@ -292,6 +295,10 @@ generated by running puppet agent with '--genconfig'.
|
|
292
295
|
(This is a Puppet setting, and can go in puppet.conf. Note the special 'no-'
|
293
296
|
prefix for boolean settings on the command line.)
|
294
297
|
|
298
|
+
* --serverport:
|
299
|
+
The port on which to contact the Puppet Server.
|
300
|
+
(This is a Puppet setting, and can go in puppet.conf.)
|
301
|
+
|
295
302
|
* --sourceaddress:
|
296
303
|
Set the source IP address for transactions. This defaults to automatically selected.
|
297
304
|
(This is a Puppet setting, and can go in puppet.conf.)
|
@@ -363,8 +370,17 @@ Copyright (c) 2011 Puppet Inc., LLC Licensed under the Apache 2.0 License
|
|
363
370
|
daemon.set_signal_traps
|
364
371
|
|
365
372
|
log_config if Puppet[:daemonize]
|
366
|
-
|
367
|
-
|
373
|
+
|
374
|
+
# run ssl state machine, waiting if needed
|
375
|
+
ssl_context = wait_for_certificates
|
376
|
+
|
377
|
+
# Each application is responsible for pushing loaders onto the context.
|
378
|
+
# Use the current environment that has already been established, though
|
379
|
+
# it may change later during the configurer run.
|
380
|
+
env = Puppet.lookup(:current_environment)
|
381
|
+
Puppet.override(ssl_context: ssl_context,
|
382
|
+
current_environment: env,
|
383
|
+
loaders: Puppet::Pops::Loaders.new(env, true)) do
|
368
384
|
if Puppet[:onetime]
|
369
385
|
onetime(daemon)
|
370
386
|
else
|
@@ -489,9 +505,8 @@ Copyright (c) 2011 Puppet Inc., LLC Licensed under the Apache 2.0 License
|
|
489
505
|
end
|
490
506
|
|
491
507
|
def daemonize_process_when(should_daemonize)
|
492
|
-
daemon = Puppet::Daemon.new(Puppet::Util::Pidlock.new(Puppet[:pidfile]))
|
508
|
+
daemon = Puppet::Daemon.new(@agent, Puppet::Util::Pidlock.new(Puppet[:pidfile]))
|
493
509
|
daemon.argv = @argv
|
494
|
-
daemon.agent = @agent
|
495
510
|
|
496
511
|
daemon.daemonize if should_daemonize
|
497
512
|
|
@@ -190,7 +190,7 @@ Copyright (c) 2011 Puppet Inc., LLC Licensed under the Apache 2.0 License
|
|
190
190
|
text = Puppet::FileSystem.read(options[:catalog], :encoding => 'utf-8')
|
191
191
|
end
|
192
192
|
env = Puppet.lookup(:environments).get(Puppet[:environment])
|
193
|
-
Puppet.override(:current_environment => env, :loaders =>
|
193
|
+
Puppet.override(:current_environment => env, :loaders => create_loaders(env)) do
|
194
194
|
catalog = read_catalog(text)
|
195
195
|
apply_catalog(catalog)
|
196
196
|
end
|
@@ -204,7 +204,7 @@ Copyright (c) 2011 Puppet Inc., LLC Licensed under the Apache 2.0 License
|
|
204
204
|
apply_environment = get_configured_environment(node, manifest)
|
205
205
|
|
206
206
|
# TRANSLATORS "puppet apply" is a program command and should not be translated
|
207
|
-
Puppet.override({:current_environment => apply_environment}, _("For puppet apply")) do
|
207
|
+
Puppet.override({:current_environment => apply_environment, :loaders => create_loaders(apply_environment)}, _("For puppet apply")) do
|
208
208
|
configure_node_facts(node, facts)
|
209
209
|
|
210
210
|
# Allow users to load the classes that puppet agent creates.
|
@@ -235,30 +235,23 @@ Copyright (c) 2011 Puppet Inc., LLC Licensed under the Apache 2.0 License
|
|
235
235
|
exit(1)
|
236
236
|
end
|
237
237
|
|
238
|
-
#
|
239
|
-
|
240
|
-
# required steps as it is expensive to set up loaders twice (once for
|
241
|
-
# resolution and once for the apply).
|
242
|
-
#
|
243
|
-
exit_status = Puppet.override(:loaders => Puppet::Pops::Loaders.new(apply_environment)) do
|
238
|
+
# Resolve all deferred values and replace them / mutate the catalog
|
239
|
+
Puppet::Pops::Evaluator::DeferredResolver.resolve_and_replace(node.facts, catalog)
|
244
240
|
|
245
|
-
|
246
|
-
|
241
|
+
# Translate it to a RAL catalog
|
242
|
+
catalog = catalog.to_ral
|
247
243
|
|
248
|
-
|
249
|
-
catalog = catalog.to_ral
|
244
|
+
catalog.finalize
|
250
245
|
|
251
|
-
|
246
|
+
catalog.retrieval_duration = Time.now - starttime
|
252
247
|
|
253
|
-
|
248
|
+
if options[:write_catalog_summary]
|
249
|
+
catalog.write_class_file
|
250
|
+
catalog.write_resource_file
|
251
|
+
end
|
254
252
|
|
255
|
-
|
256
|
-
catalog.write_class_file
|
257
|
-
catalog.write_resource_file
|
258
|
-
end
|
253
|
+
exit_status = apply_catalog(catalog)
|
259
254
|
|
260
|
-
apply_catalog(catalog)
|
261
|
-
end
|
262
255
|
if not exit_status
|
263
256
|
exit(1)
|
264
257
|
elsif options[:detailed_exitcodes] then
|
@@ -313,6 +306,11 @@ Copyright (c) 2011 Puppet Inc., LLC Licensed under the Apache 2.0 License
|
|
313
306
|
|
314
307
|
private
|
315
308
|
|
309
|
+
def create_loaders(env)
|
310
|
+
# Ignore both 'cached_puppet_lib' and pcore resource type loaders
|
311
|
+
Puppet::Pops::Loaders.new(env, false, false)
|
312
|
+
end
|
313
|
+
|
316
314
|
def read_catalog(text)
|
317
315
|
facts = get_facts()
|
318
316
|
node = get_node()
|