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
@@ -3,6 +3,7 @@
|
|
3
3
|
# @api private
|
4
4
|
class Puppet::Network::HTTP::NoCachePool < Puppet::Network::HTTP::BasePool
|
5
5
|
def initialize(factory = Puppet::Network::HTTP::Factory.new)
|
6
|
+
Puppet.deprecation_warning(_('Puppet::Network::HTTP::NoCachePool is deprecated.'))
|
6
7
|
@factory = factory
|
7
8
|
end
|
8
9
|
|
@@ -9,11 +9,9 @@
|
|
9
9
|
# @api private
|
10
10
|
#
|
11
11
|
class Puppet::Network::HTTP::Pool < Puppet::Network::HTTP::BasePool
|
12
|
-
|
12
|
+
attr_reader :factory, :keepalive_timeout
|
13
13
|
|
14
|
-
|
15
|
-
|
16
|
-
def initialize(keepalive_timeout = FIFTEEN_SECONDS)
|
14
|
+
def initialize(keepalive_timeout)
|
17
15
|
@pool = {}
|
18
16
|
@factory = Puppet::Network::HTTP::Factory.new
|
19
17
|
@keepalive_timeout = keepalive_timeout
|
@@ -75,9 +73,14 @@ class Puppet::Network::HTTP::Pool < Puppet::Network::HTTP::BasePool
|
|
75
73
|
# @api private
|
76
74
|
def borrow(site, verifier)
|
77
75
|
@pool[site] = active_sessions(site)
|
78
|
-
index = @pool[site].index
|
76
|
+
index = @pool[site].index do |session|
|
77
|
+
(verifier.nil? && session.verifier.nil?) ||
|
78
|
+
(!verifier.nil? && verifier.reusable?(session.verifier))
|
79
|
+
end
|
79
80
|
session = index ? @pool[site].delete_at(index) : nil
|
80
81
|
if session
|
82
|
+
@pool.delete(site) if @pool[site].empty?
|
83
|
+
|
81
84
|
Puppet.debug("Using cached connection for #{site}")
|
82
85
|
session.connection
|
83
86
|
else
|
@@ -67,11 +67,11 @@ class Puppet::Network::HTTP::Route
|
|
67
67
|
end
|
68
68
|
|
69
69
|
def matches?(request)
|
70
|
-
Puppet.debug
|
70
|
+
Puppet.debug { "Evaluating match for #{self.inspect}" }
|
71
71
|
if match(request.routing_path)
|
72
72
|
return true
|
73
73
|
else
|
74
|
-
Puppet.debug
|
74
|
+
Puppet.debug { "Did not match path (#{request.routing_path.inspect})" }
|
75
75
|
end
|
76
76
|
return false
|
77
77
|
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'puppet/network/http/connection'
|
2
|
+
require 'puppet/network/http/connection_adapter'
|
2
3
|
require 'puppet/util/platform'
|
3
4
|
|
4
5
|
module Puppet::Network; end
|
@@ -12,7 +13,7 @@ module Puppet::Network; end
|
|
12
13
|
#
|
13
14
|
module Puppet::Network::HttpPool
|
14
15
|
|
15
|
-
@http_client_class = Puppet::Network::HTTP::
|
16
|
+
@http_client_class = Puppet::Network::HTTP::ConnectionAdapter
|
16
17
|
|
17
18
|
def self.http_client_class
|
18
19
|
@http_client_class
|
@@ -162,6 +162,10 @@ class Puppet::Node::Environment
|
|
162
162
|
# @api private
|
163
163
|
attr_accessor :loaders
|
164
164
|
|
165
|
+
# Lock for compilation that needs exclusive access to the environment
|
166
|
+
# @api private
|
167
|
+
attr_reader :lock
|
168
|
+
|
165
169
|
# Checks to make sure that this environment did not have a manifest set in
|
166
170
|
# its original environment.conf if Puppet is configured with
|
167
171
|
# +disable_per_environment_manifest+ set true. If it did, the environment's
|
@@ -262,7 +266,7 @@ class Puppet::Node::Environment
|
|
262
266
|
# @param name [String] The module name
|
263
267
|
# @return [Puppet::Module, nil] The module if found, else nil
|
264
268
|
def module(name)
|
265
|
-
|
269
|
+
modules_by_name[name]
|
266
270
|
end
|
267
271
|
|
268
272
|
# Locate a module instance by the full forge name (EG authorname/module)
|
@@ -293,7 +297,13 @@ class Puppet::Node::Environment
|
|
293
297
|
def modules
|
294
298
|
if @modules.nil?
|
295
299
|
module_references = []
|
296
|
-
|
300
|
+
project = Puppet.lookup(:bolt_project) { nil }
|
301
|
+
seen_modules = if project && project.load_as_module?
|
302
|
+
module_references << project.to_h
|
303
|
+
{ project.name => true }
|
304
|
+
else
|
305
|
+
{}
|
306
|
+
end
|
297
307
|
modulepath.each do |path|
|
298
308
|
Dir.entries(path).each do |name|
|
299
309
|
next unless Puppet::Module.is_module_directory?(name, path)
|
@@ -317,6 +327,12 @@ class Puppet::Node::Environment
|
|
317
327
|
@modules
|
318
328
|
end
|
319
329
|
|
330
|
+
# @api private
|
331
|
+
def modules_by_name
|
332
|
+
@modules_by_name ||= Hash[modules.map { |mod| [mod.name, mod] }]
|
333
|
+
end
|
334
|
+
private :modules_by_name
|
335
|
+
|
320
336
|
# Generate a warning if the given directory in a module path entry is named `lib`.
|
321
337
|
#
|
322
338
|
# @api private
|
@@ -325,9 +341,10 @@ class Puppet::Node::Environment
|
|
325
341
|
# @param name [String] The directory name
|
326
342
|
def warn_about_mistaken_path(path, name)
|
327
343
|
if name == "lib"
|
328
|
-
Puppet.debug
|
329
|
-
|
330
|
-
|
344
|
+
Puppet.debug {
|
345
|
+
"Warning: Found directory named 'lib' in module path ('#{path}/lib'); unless you \
|
346
|
+
are expecting to load a module named 'lib', your module path may be set incorrectly."
|
347
|
+
}
|
331
348
|
end
|
332
349
|
end
|
333
350
|
|
@@ -97,6 +97,11 @@ module Pal
|
|
97
97
|
internal_compiler.evaluate_additions
|
98
98
|
end
|
99
99
|
|
100
|
+
# Attempts to evaluate AST for node defnintions https://puppet.com/docs/puppet/latest/lang_node_definitions.html
|
101
|
+
# if there are any.
|
102
|
+
def evaluate_ast_node
|
103
|
+
internal_compiler.evaluate_ast_node
|
104
|
+
end
|
100
105
|
end
|
101
106
|
|
102
107
|
end
|
data/lib/puppet/pal/pal_impl.rb
CHANGED
@@ -49,6 +49,7 @@ module Pal
|
|
49
49
|
# If given at the environment level, the facts given here are merged with higher priority.
|
50
50
|
# @param variables [Hash] optional map of fully qualified variable name to value. If given at the environment level, the variables
|
51
51
|
# given here are merged with higher priority.
|
52
|
+
# @param set_local_facts [Boolean] when true, the $facts, $server_facts, and $trusted variables are set for the scope.
|
52
53
|
# @param block [Proc] the block performing operations on compiler
|
53
54
|
# @return [Object] what the block returns
|
54
55
|
# @yieldparam [Puppet::Pal::ScriptCompiler] compiler, a ScriptCompiler to perform operations on.
|
@@ -59,6 +60,7 @@ module Pal
|
|
59
60
|
code_string: nil,
|
60
61
|
facts: nil,
|
61
62
|
variables: nil,
|
63
|
+
set_local_facts: true,
|
62
64
|
&block
|
63
65
|
)
|
64
66
|
# TRANSLATORS: do not translate variable name strings in these assertions
|
@@ -91,7 +93,7 @@ module Pal
|
|
91
93
|
|
92
94
|
# If manifest_file is nil, the #main method will use the env configured manifest
|
93
95
|
# to do things in the block while a Script Compiler is in effect
|
94
|
-
main(manifest_file, facts, variables, :script, &block)
|
96
|
+
main(manifest_file, facts, variables, :script, set_local_facts, &block)
|
95
97
|
ensure
|
96
98
|
Puppet[:tasks] = previous_tasks_value
|
97
99
|
Puppet[:code] = previous_code_value
|
@@ -191,7 +193,7 @@ module Pal
|
|
191
193
|
|
192
194
|
# If manifest_file is nil, the #main method will use the env configured manifest
|
193
195
|
# to do things in the block while a Script Compiler is in effect
|
194
|
-
main(manifest_file, facts, variables, :catalog, &block)
|
196
|
+
main(manifest_file, facts, variables, :catalog, false, &block)
|
195
197
|
ensure
|
196
198
|
# Clean up after ourselves
|
197
199
|
Puppet[:tasks] = previous_tasks_value
|
@@ -379,7 +381,13 @@ module Pal
|
|
379
381
|
# Picks up information from the puppet context and configures a script compiler which is given to
|
380
382
|
# the provided block
|
381
383
|
#
|
382
|
-
def self.main(
|
384
|
+
def self.main(
|
385
|
+
manifest,
|
386
|
+
facts,
|
387
|
+
variables,
|
388
|
+
internal_compiler_class,
|
389
|
+
set_local_facts
|
390
|
+
)
|
383
391
|
# Configure the load path
|
384
392
|
env = Puppet.lookup(:pal_env)
|
385
393
|
env.each_plugin_directory do |dir|
|
@@ -422,45 +430,32 @@ module Pal
|
|
422
430
|
# TRANSLATORS, the string "For puppet PAL" is not user facing
|
423
431
|
Puppet.override({:current_environment => apply_environment}, "For puppet PAL") do
|
424
432
|
begin
|
425
|
-
# support the following features when evaluating puppet code
|
426
|
-
# * $facts with facts from host running the script
|
427
|
-
# * $settings with 'settings::*' namespace populated, and '$settings::all_local' hash
|
428
|
-
# * $trusted as setup when using puppet apply
|
429
|
-
# * an environment
|
430
|
-
#
|
431
|
-
|
432
|
-
# fixup trusted information
|
433
433
|
node.sanitize()
|
434
|
-
|
435
434
|
compiler = create_internal_compiler(internal_compiler_class, node)
|
436
|
-
# compiler = Puppet::Parser::ScriptCompiler.new(node.environment, node.name)
|
437
|
-
topscope = compiler.topscope
|
438
435
|
|
439
|
-
|
436
|
+
case internal_compiler_class
|
437
|
+
when :script
|
438
|
+
pal_compiler = ScriptCompiler.new(compiler)
|
439
|
+
overrides[:pal_script_compiler] = overrides[:pal_compiler] = pal_compiler
|
440
|
+
when :catalog
|
441
|
+
pal_compiler = CatalogCompiler.new(compiler)
|
442
|
+
overrides[:pal_catalog_compiler] = overrides[:pal_compiler] = pal_compiler
|
443
|
+
end
|
444
|
+
|
445
|
+
# When scripting the trusted data are always local; default is to set them anyway
|
440
446
|
# When compiling for a catalog, the catalog compiler does this
|
441
|
-
|
442
|
-
topscope.set_trusted(node.trusted_data)
|
447
|
+
if set_local_facts
|
448
|
+
compiler.topscope.set_trusted(node.trusted_data)
|
443
449
|
|
444
450
|
# Server facts are always about the local node's version etc.
|
445
|
-
topscope.set_server_facts(node.server_facts)
|
451
|
+
compiler.topscope.set_server_facts(node.server_facts)
|
446
452
|
|
447
453
|
# Set $facts for the node running the script
|
448
454
|
facts_hash = node.facts.nil? ? {} : node.facts.values
|
449
|
-
topscope.set_facts(facts_hash)
|
455
|
+
compiler.topscope.set_facts(facts_hash)
|
450
456
|
|
451
457
|
# create the $settings:: variables
|
452
|
-
topscope.merge_settings(node.environment.name, false)
|
453
|
-
end
|
454
|
-
|
455
|
-
add_variables(topscope, pal_variables)
|
456
|
-
|
457
|
-
case internal_compiler_class
|
458
|
-
when :script
|
459
|
-
pal_compiler = ScriptCompiler.new(compiler)
|
460
|
-
overrides[:pal_script_compiler] = overrides[:pal_compiler] = pal_compiler
|
461
|
-
when :catalog
|
462
|
-
pal_compiler = CatalogCompiler.new(compiler)
|
463
|
-
overrides[:pal_catalog_compiler] = overrides[:pal_compiler] = pal_compiler
|
458
|
+
compiler.topscope.merge_settings(node.environment.name, false)
|
464
459
|
end
|
465
460
|
|
466
461
|
# Make compiler available to Puppet#lookup and injection in functions
|
@@ -468,6 +463,10 @@ module Pal
|
|
468
463
|
# TRANSLATORS: Do not translate, symbolic name
|
469
464
|
Puppet.override(overrides, "PAL::with_#{internal_compiler_class}_compiler") do
|
470
465
|
compiler.compile do | compiler_yield |
|
466
|
+
# In case the varaibles passed to the compiler are PCore types defined in modules, they
|
467
|
+
# need to be deserialized and added from within the this scope, so that loaders are
|
468
|
+
# available during deserizlization.
|
469
|
+
add_variables(compiler.topscope, Puppet::Pops::Serialization::FromDataConverter.convert(pal_variables))
|
471
470
|
# wrap the internal compiler to prevent it from leaking in the PAL API
|
472
471
|
if block_given?
|
473
472
|
yield(pal_compiler)
|
data/lib/puppet/parameter.rb
CHANGED
@@ -429,7 +429,7 @@ class Puppet::Parameter
|
|
429
429
|
begin
|
430
430
|
ret = unsafe_munge(value)
|
431
431
|
rescue Puppet::Error => detail
|
432
|
-
Puppet.debug "Reraising #{detail}"
|
432
|
+
Puppet.debug { "Reraising #{detail}" }
|
433
433
|
raise
|
434
434
|
rescue => detail
|
435
435
|
raise Puppet::DevError, _("Munging failed for value %{value} in class %{class_name}: %{detail}") % { value: value.inspect, class_name: self.name, detail: detail }, detail.backtrace
|
@@ -17,17 +17,17 @@ class Puppet::Parser::AST::Leaf < Puppet::Parser::AST
|
|
17
17
|
@value.to_s unless @value.nil?
|
18
18
|
end
|
19
19
|
|
20
|
-
def initialize(value: nil,
|
20
|
+
def initialize(value: nil, file: nil, line: nil, pos: nil)
|
21
21
|
@value = value
|
22
|
-
super(
|
22
|
+
super(file: file, line: line, pos: pos)
|
23
23
|
end
|
24
24
|
end
|
25
25
|
|
26
26
|
# Host names, either fully qualified or just the short name, or even a regex
|
27
27
|
#
|
28
28
|
class Puppet::Parser::AST::HostName < Puppet::Parser::AST::Leaf
|
29
|
-
def initialize(
|
30
|
-
super
|
29
|
+
def initialize(value: nil, file: nil, line: nil, pos: nil)
|
30
|
+
super(value: value, file: file, line: line, pos: pos)
|
31
31
|
|
32
32
|
# Note that this is an AST::Regex, not a Regexp
|
33
33
|
unless @value.is_a?(Regex)
|
@@ -51,7 +51,7 @@ end
|
|
51
51
|
|
52
52
|
class Puppet::Parser::AST::Regex < Puppet::Parser::AST::Leaf
|
53
53
|
def initialize(hash)
|
54
|
-
super
|
54
|
+
super(**hash)
|
55
55
|
# transform value from hash options unless it is already a regular expression
|
56
56
|
@value = Regexp.new(@value) unless @value.is_a?(Regexp)
|
57
57
|
end
|
@@ -348,6 +348,34 @@ class Puppet::Parser::Compiler
|
|
348
348
|
end
|
349
349
|
end
|
350
350
|
|
351
|
+
|
352
|
+
# If ast nodes are enabled, then see if we can find and evaluate one.
|
353
|
+
#
|
354
|
+
# @api private
|
355
|
+
def evaluate_ast_node
|
356
|
+
krt = environment.known_resource_types
|
357
|
+
return unless krt.nodes? #ast_nodes?
|
358
|
+
|
359
|
+
# Now see if we can find the node.
|
360
|
+
astnode = nil
|
361
|
+
@node.names.each do |name|
|
362
|
+
astnode = krt.node(name.to_s.downcase)
|
363
|
+
break if astnode
|
364
|
+
end
|
365
|
+
|
366
|
+
unless (astnode ||= krt.node("default"))
|
367
|
+
raise Puppet::ParseError, _("Could not find node statement with name 'default' or '%{names}'") % { names: node.names.join(", ") }
|
368
|
+
end
|
369
|
+
|
370
|
+
# Create a resource to model this node, and then add it to the list
|
371
|
+
# of resources.
|
372
|
+
resource = astnode.ensure_in_catalog(topscope)
|
373
|
+
|
374
|
+
resource.evaluate
|
375
|
+
|
376
|
+
@node_scope = topscope.class_scope(astnode)
|
377
|
+
end
|
378
|
+
|
351
379
|
# Evaluates each specified class in turn. If there are any classes that
|
352
380
|
# can't be found, an error is raised. This method really just creates resource objects
|
353
381
|
# that point back to the classes, and then the resources are themselves
|
@@ -420,7 +448,7 @@ class Puppet::Parser::Compiler
|
|
420
448
|
# using the top scope.
|
421
449
|
def newscope(parent, options = {})
|
422
450
|
parent ||= topscope
|
423
|
-
scope = Puppet::Parser::Scope.new(self, options)
|
451
|
+
scope = Puppet::Parser::Scope.new(self, **options)
|
424
452
|
scope.parent = parent
|
425
453
|
scope
|
426
454
|
end
|
@@ -486,31 +514,6 @@ class Puppet::Parser::Compiler
|
|
486
514
|
krt.capability_mappings.clear # No longer needed
|
487
515
|
end
|
488
516
|
|
489
|
-
# If ast nodes are enabled, then see if we can find and evaluate one.
|
490
|
-
def evaluate_ast_node
|
491
|
-
krt = environment.known_resource_types
|
492
|
-
return unless krt.nodes? #ast_nodes?
|
493
|
-
|
494
|
-
# Now see if we can find the node.
|
495
|
-
astnode = nil
|
496
|
-
@node.names.each do |name|
|
497
|
-
astnode = krt.node(name.to_s.downcase)
|
498
|
-
break if astnode
|
499
|
-
end
|
500
|
-
|
501
|
-
unless (astnode ||= krt.node("default"))
|
502
|
-
raise Puppet::ParseError, _("Could not find node statement with name 'default' or '%{names}'") % { names: node.names.join(", ") }
|
503
|
-
end
|
504
|
-
|
505
|
-
# Create a resource to model this node, and then add it to the list
|
506
|
-
# of resources.
|
507
|
-
resource = astnode.ensure_in_catalog(topscope)
|
508
|
-
|
509
|
-
resource.evaluate
|
510
|
-
|
511
|
-
@node_scope = topscope.class_scope(astnode)
|
512
|
-
end
|
513
|
-
|
514
517
|
# Evaluate our collections and return true if anything returned an object.
|
515
518
|
# The 'true' is used to continue a loop, so it's important.
|
516
519
|
def evaluate_collections
|
@@ -777,13 +780,7 @@ class Puppet::Parser::Compiler
|
|
777
780
|
SETTINGS = 'settings'.freeze
|
778
781
|
|
779
782
|
def create_settings_scope
|
780
|
-
|
781
|
-
settings_type = resource_types.hostclass(SETTINGS)
|
782
|
-
if settings_type.nil?
|
783
|
-
settings_type = Puppet::Resource::Type.new(:hostclass, SETTINGS)
|
784
|
-
resource_types.add(settings_type)
|
785
|
-
end
|
786
|
-
|
783
|
+
settings_type = create_settings_type
|
787
784
|
settings_resource = Puppet::Parser::Resource.new('class', SETTINGS, :scope => @topscope)
|
788
785
|
|
789
786
|
@catalog.add_resource(settings_resource)
|
@@ -794,6 +791,19 @@ class Puppet::Parser::Compiler
|
|
794
791
|
scope.merge_settings(environment.name)
|
795
792
|
end
|
796
793
|
|
794
|
+
def create_settings_type
|
795
|
+
environment.lock.synchronize do
|
796
|
+
resource_types = environment.known_resource_types
|
797
|
+
settings_type = resource_types.hostclass(SETTINGS)
|
798
|
+
if settings_type.nil?
|
799
|
+
settings_type = Puppet::Resource::Type.new(:hostclass, SETTINGS)
|
800
|
+
resource_types.add(settings_type)
|
801
|
+
end
|
802
|
+
|
803
|
+
settings_type
|
804
|
+
end
|
805
|
+
end
|
806
|
+
|
797
807
|
# Return an array of all of the unevaluated resources. These will be definitions,
|
798
808
|
# which need to get evaluated into native resources.
|
799
809
|
def unevaluated_resources
|
@@ -1,6 +1,8 @@
|
|
1
1
|
class Puppet::Parser::Compiler
|
2
2
|
# Validator that asserts that all capability resources that are referenced by 'consume' or 'require' has
|
3
3
|
# been exported by some other resource in the environment
|
4
|
+
#
|
5
|
+
# @deprecated application orchestration will be removed in puppet 7
|
4
6
|
class CatalogValidator::EnvironmentRelationshipValidator < CatalogValidator
|
5
7
|
|
6
8
|
def validate
|
@@ -1,5 +1,7 @@
|
|
1
1
|
class Puppet::Parser::Compiler
|
2
2
|
# Validator that asserts that only application components can appear inside a site.
|
3
|
+
#
|
4
|
+
# @deprecated application orchestration will be removed in puppet 7
|
3
5
|
class CatalogValidator::SiteValidator < CatalogValidator
|
4
6
|
def self.validation_stage?(stage)
|
5
7
|
PRE_FINISH.equal?(stage)
|
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'puppet/parser/compiler'
|
2
2
|
|
3
|
+
# @deprecated application orchestration will be removed in puppet 7
|
3
4
|
class Puppet::Parser::EnvironmentCompiler < Puppet::Parser::Compiler
|
4
5
|
def self.compile(env, code_id=nil)
|
5
6
|
begin
|
@@ -16,7 +17,7 @@ class Puppet::Parser::EnvironmentCompiler < Puppet::Parser::Compiler
|
|
16
17
|
end
|
17
18
|
|
18
19
|
def initialize(node, options = {})
|
19
|
-
super
|
20
|
+
super(node, **options)
|
20
21
|
@overridden_functions = {}
|
21
22
|
end
|
22
23
|
|
@@ -54,6 +55,8 @@ class Puppet::Parser::EnvironmentCompiler < Puppet::Parser::Compiler
|
|
54
55
|
end
|
55
56
|
|
56
57
|
def compile
|
58
|
+
Puppet.deprecation_warning("Application orchestration is deprecated. See https://puppet.com/docs/puppet/5.5/deprecated_language.html")
|
59
|
+
|
57
60
|
add_function_overrides
|
58
61
|
begin
|
59
62
|
Puppet.override(@context_overrides, _("For compiling environment catalog %{env}") % { env: environment.name }) do
|