puppet 6.15.0-x64-mingw32 → 6.19.1-x64-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
    
        data/man/man8/puppet-man.8
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            .\" generated with Ronn/v0.7.3
         | 
| 2 2 | 
             
            .\" http://github.com/rtomayko/ronn/tree/0.7.3
         | 
| 3 3 | 
             
            .
         | 
| 4 | 
            -
            .TH "PUPPET\-MAN" "8" " | 
| 4 | 
            +
            .TH "PUPPET\-MAN" "8" "October 2020" "Puppet, Inc." "Puppet manual"
         | 
| 5 5 | 
             
            .
         | 
| 6 6 | 
             
            .SH "NAME"
         | 
| 7 7 | 
             
            \fBpuppet\-man\fR \- Display Puppet manual pages\.
         | 
    
        data/man/man8/puppet-module.8
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            .\" generated with Ronn/v0.7.3
         | 
| 2 2 | 
             
            .\" http://github.com/rtomayko/ronn/tree/0.7.3
         | 
| 3 3 | 
             
            .
         | 
| 4 | 
            -
            .TH "PUPPET\-MODULE" "8" " | 
| 4 | 
            +
            .TH "PUPPET\-MODULE" "8" "October 2020" "Puppet, Inc." "Puppet manual"
         | 
| 5 5 | 
             
            .
         | 
| 6 6 | 
             
            .SH "NAME"
         | 
| 7 7 | 
             
            \fBpuppet\-module\fR \- Creates, installs and searches for modules on the Puppet Forge\.
         | 
| @@ -170,6 +170,9 @@ puppet module search \fIsearch_term\fR | |
| 170 170 | 
             
            \fBDESCRIPTION\fR
         | 
| 171 171 | 
             
            .
         | 
| 172 172 | 
             
            .IP
         | 
| 173 | 
            +
            This action has been deprecated\. Please use the Puppet Forge to search for modules\.
         | 
| 174 | 
            +
            .
         | 
| 175 | 
            +
            .IP
         | 
| 173 176 | 
             
            Searches a repository for modules whose names, descriptions, or keywords match the provided search term\.
         | 
| 174 177 | 
             
            .
         | 
| 175 178 | 
             
            .IP
         | 
    
        data/man/man8/puppet-node.8
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            .\" generated with Ronn/v0.7.3
         | 
| 2 2 | 
             
            .\" http://github.com/rtomayko/ronn/tree/0.7.3
         | 
| 3 3 | 
             
            .
         | 
| 4 | 
            -
            .TH "PUPPET\-NODE" "8" " | 
| 4 | 
            +
            .TH "PUPPET\-NODE" "8" "October 2020" "Puppet, Inc." "Puppet manual"
         | 
| 5 5 | 
             
            .
         | 
| 6 6 | 
             
            .SH "NAME"
         | 
| 7 7 | 
             
            \fBpuppet\-node\fR \- View and manage node definitions\.
         | 
| @@ -119,13 +119,13 @@ Retrieve an "empty" (no classes, no ENC\-imposed parameters, and an environment | |
| 119 119 | 
             
            $ puppet node find somenode\.puppetlabs\.lan \-\-terminus plain \-\-render\-as yaml
         | 
| 120 120 | 
             
            .
         | 
| 121 121 | 
             
            .P
         | 
| 122 | 
            -
            Retrieve a node using the  | 
| 122 | 
            +
            Retrieve a node using the Puppet Server\'s configured ENC:
         | 
| 123 123 | 
             
            .
         | 
| 124 124 | 
             
            .P
         | 
| 125 | 
            -
            $ puppet node find somenode\.puppetlabs\.lan \-\-terminus exec \-\-run_mode  | 
| 125 | 
            +
            $ puppet node find somenode\.puppetlabs\.lan \-\-terminus exec \-\-run_mode server \-\-render\-as yaml
         | 
| 126 126 | 
             
            .
         | 
| 127 127 | 
             
            .P
         | 
| 128 | 
            -
            Retrieve the same node from the  | 
| 128 | 
            +
            Retrieve the same node from the Puppet Server:
         | 
| 129 129 | 
             
            .
         | 
| 130 130 | 
             
            .P
         | 
| 131 131 | 
             
            $ puppet node find somenode\.puppetlabs\.lan \-\-terminus rest \-\-render\-as yaml
         | 
    
        data/man/man8/puppet-parser.8
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            .\" generated with Ronn/v0.7.3
         | 
| 2 2 | 
             
            .\" http://github.com/rtomayko/ronn/tree/0.7.3
         | 
| 3 3 | 
             
            .
         | 
| 4 | 
            -
            .TH "PUPPET\-PARSER" "8" " | 
| 4 | 
            +
            .TH "PUPPET\-PARSER" "8" "October 2020" "Puppet, Inc." "Puppet manual"
         | 
| 5 5 | 
             
            .
         | 
| 6 6 | 
             
            .SH "NAME"
         | 
| 7 7 | 
             
            \fBpuppet\-parser\fR \- Interact directly with the parser\.
         | 
    
        data/man/man8/puppet-plugin.8
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            .\" generated with Ronn/v0.7.3
         | 
| 2 2 | 
             
            .\" http://github.com/rtomayko/ronn/tree/0.7.3
         | 
| 3 3 | 
             
            .
         | 
| 4 | 
            -
            .TH "PUPPET\-PLUGIN" "8" " | 
| 4 | 
            +
            .TH "PUPPET\-PLUGIN" "8" "October 2020" "Puppet, Inc." "Puppet manual"
         | 
| 5 5 | 
             
            .
         | 
| 6 6 | 
             
            .SH "NAME"
         | 
| 7 7 | 
             
            \fBpuppet\-plugin\fR \- Interact with the Puppet plugin system\.
         | 
    
        data/man/man8/puppet-report.8
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            .\" generated with Ronn/v0.7.3
         | 
| 2 2 | 
             
            .\" http://github.com/rtomayko/ronn/tree/0.7.3
         | 
| 3 3 | 
             
            .
         | 
| 4 | 
            -
            .TH "PUPPET\-REPORT" "8" " | 
| 4 | 
            +
            .TH "PUPPET\-REPORT" "8" "October 2020" "Puppet, Inc." "Puppet manual"
         | 
| 5 5 | 
             
            .
         | 
| 6 6 | 
             
            .SH "NAME"
         | 
| 7 7 | 
             
            \fBpuppet\-report\fR \- Create, display, and submit reports\.
         | 
    
        data/man/man8/puppet-resource.8
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            .\" generated with Ronn/v0.7.3
         | 
| 2 2 | 
             
            .\" http://github.com/rtomayko/ronn/tree/0.7.3
         | 
| 3 3 | 
             
            .
         | 
| 4 | 
            -
            .TH "PUPPET\-RESOURCE" "8" " | 
| 4 | 
            +
            .TH "PUPPET\-RESOURCE" "8" "October 2020" "Puppet, Inc." "Puppet manual"
         | 
| 5 5 | 
             
            .
         | 
| 6 6 | 
             
            .SH "NAME"
         | 
| 7 7 | 
             
            \fBpuppet\-resource\fR \- The resource abstraction layer shell
         | 
    
        data/man/man8/puppet-script.8
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            .\" generated with Ronn/v0.7.3
         | 
| 2 2 | 
             
            .\" http://github.com/rtomayko/ronn/tree/0.7.3
         | 
| 3 3 | 
             
            .
         | 
| 4 | 
            -
            .TH "PUPPET\-SCRIPT" "8" " | 
| 4 | 
            +
            .TH "PUPPET\-SCRIPT" "8" "October 2020" "Puppet, Inc." "Puppet manual"
         | 
| 5 5 | 
             
            .
         | 
| 6 6 | 
             
            .SH "NAME"
         | 
| 7 7 | 
             
            \fBpuppet\-script\fR \- Run a puppet manifests as a script without compiling a catalog
         | 
    
        data/man/man8/puppet-ssl.8
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            .\" generated with Ronn/v0.7.3
         | 
| 2 2 | 
             
            .\" http://github.com/rtomayko/ronn/tree/0.7.3
         | 
| 3 3 | 
             
            .
         | 
| 4 | 
            -
            .TH "PUPPET\-SSL" "8" " | 
| 4 | 
            +
            .TH "PUPPET\-SSL" "8" "October 2020" "Puppet, Inc." "Puppet manual"
         | 
| 5 5 | 
             
            .
         | 
| 6 6 | 
             
            .SH "NAME"
         | 
| 7 7 | 
             
            \fBpuppet\-ssl\fR \- Manage SSL keys and certificates for puppet SSL clients
         | 
    
        data/man/man8/puppet-status.8
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            .\" generated with Ronn/v0.7.3
         | 
| 2 2 | 
             
            .\" http://github.com/rtomayko/ronn/tree/0.7.3
         | 
| 3 3 | 
             
            .
         | 
| 4 | 
            -
            .TH "PUPPET\-STATUS" "8" " | 
| 4 | 
            +
            .TH "PUPPET\-STATUS" "8" "October 2020" "Puppet, Inc." "Puppet manual"
         | 
| 5 5 | 
             
            .
         | 
| 6 6 | 
             
            .SH "NAME"
         | 
| 7 7 | 
             
            \fBpuppet\-status\fR \- View puppet server status\.
         | 
| @@ -57,7 +57,7 @@ puppet status [\-\-terminus _TERMINUS] [\-\-extra HASH] [\fIkey\fR] | |
| 57 57 | 
             
            Checks whether a Puppet server is properly receiving and processing HTTP requests\. This action is only useful when used with \'\-\-terminus rest\'; when invoked with the \fBlocal\fR terminus, \fBfind\fR will always return true\.
         | 
| 58 58 | 
             
            .
         | 
| 59 59 | 
             
            .IP
         | 
| 60 | 
            -
            Over REST, this action will query the configured puppet master by default\. To query other servers, including puppet agent nodes started with the \fI\-\-listen\fR option, you can set the global \fI\-\-server\fR and \fI\-\- | 
| 60 | 
            +
            Over REST, this action will query the configured puppet master by default\. To query other servers, including puppet agent nodes started with the \fI\-\-listen\fR option, you can set the global \fI\-\-server\fR and \fI\-\-serverport\fR options on the command line; note that agent nodes listen on port 8139\.
         | 
| 61 61 | 
             
            .
         | 
| 62 62 | 
             
            .IP
         | 
| 63 63 | 
             
            \fBRETURNS\fR
         | 
    
        data/man/man8/puppet.8
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            .\" generated with Ronn/v0.7.3
         | 
| 2 2 | 
             
            .\" http://github.com/rtomayko/ronn/tree/0.7.3
         | 
| 3 3 | 
             
            .
         | 
| 4 | 
            -
            .TH "PUPPET" "8" " | 
| 4 | 
            +
            .TH "PUPPET" "8" "October 2020" "Puppet, Inc." "Puppet manual"
         | 
| 5 5 | 
             
            .
         | 
| 6 6 | 
             
            .SH "NAME"
         | 
| 7 7 | 
             
            \fBpuppet\fR
         | 
| @@ -25,4 +25,4 @@ Specialized: | |
| 25 25 | 
             
            catalog Compile, save, view, and convert catalogs\. describe Display help about resource types device Manage remote network devices doc Generate Puppet references epp Interact directly with the EPP template parser/renderer\. facts Retrieve and store facts\. filebucket Store and retrieve files in a filebucket generate Generates Puppet code from Ruby definitions\. node View and manage node definitions\. parser Interact directly with the parser\. plugin Interact with the Puppet plugin system\. script Run a puppet manifests as a script without compiling a catalog ssl Manage SSL keys and certificates for puppet SSL clients
         | 
| 26 26 | 
             
            .
         | 
| 27 27 | 
             
            .P
         | 
| 28 | 
            -
            See \'puppet help \fIsubcommand\fR \fIaction\fR\' for help on a specific subcommand action\. See \'puppet help \fIsubcommand\fR\' for help on a specific subcommand\. Puppet v6\. | 
| 28 | 
            +
            See \'puppet help \fIsubcommand\fR \fIaction\fR\' for help on a specific subcommand action\. See \'puppet help \fIsubcommand\fR\' for help on a specific subcommand\. Puppet v6\.19\.0
         | 
| @@ -0,0 +1,25 @@ | |
| 1 | 
            +
            # If you make changes to this file, regenerate the pcore resource type using
         | 
| 2 | 
            +
            # bundle exec puppet generate types --environmentpath spec/fixtures/integration/application/apply/environments -E spec
         | 
| 3 | 
            +
            Puppet::Type.newtype(:applytest) do
         | 
| 4 | 
            +
              newproperty(:message) do
         | 
| 5 | 
            +
                def sync
         | 
| 6 | 
            +
                  Puppet.send(@resource[:loglevel], self.should)
         | 
| 7 | 
            +
                end
         | 
| 8 | 
            +
             | 
| 9 | 
            +
                def retrieve
         | 
| 10 | 
            +
                  :absent
         | 
| 11 | 
            +
                end
         | 
| 12 | 
            +
             | 
| 13 | 
            +
                def insync?(is)
         | 
| 14 | 
            +
                  false
         | 
| 15 | 
            +
                end
         | 
| 16 | 
            +
             | 
| 17 | 
            +
                defaultto { @resource[:name] }
         | 
| 18 | 
            +
              end
         | 
| 19 | 
            +
             | 
| 20 | 
            +
              newparam(:name) do
         | 
| 21 | 
            +
                desc "An arbitrary tag for your own reference; the name of the message."
         | 
| 22 | 
            +
                Puppet.notice('the Puppet::Type says hello')
         | 
| 23 | 
            +
                isnamevar
         | 
| 24 | 
            +
              end
         | 
| 25 | 
            +
            end
         | 
| @@ -0,0 +1,128 @@ | |
| 1 | 
            +
            {
         | 
| 2 | 
            +
              "pagination": {
         | 
| 3 | 
            +
                "limit": 20,
         | 
| 4 | 
            +
                "offset": 0,
         | 
| 5 | 
            +
                "first": "/v3/releases?module=puppetlabs-bacula&sort_by=version&exclude_fields=readme%2Cchangelog%2Clicense%2Curi%2Cmodule%2Ctags%2Csupported%2Cfile_size%2Cdownloads%2Ccreated_at%2Cupdated_at%2Cdeleted_at&limit=20&offset=0",
         | 
| 6 | 
            +
                "previous": null,
         | 
| 7 | 
            +
                "current": "/v3/releases?module=puppetlabs-bacula&sort_by=version&exclude_fields=readme%2Cchangelog%2Clicense%2Curi%2Cmodule%2Ctags%2Csupported%2Cfile_size%2Cdownloads%2Ccreated_at%2Cupdated_at%2Cdeleted_at&limit=20&offset=0",
         | 
| 8 | 
            +
                "next": null,
         | 
| 9 | 
            +
                "total": 2
         | 
| 10 | 
            +
              },
         | 
| 11 | 
            +
              "results": [
         | 
| 12 | 
            +
                {
         | 
| 13 | 
            +
                  "slug": "puppetlabs-bacula-0.0.2",
         | 
| 14 | 
            +
                  "version": "0.0.2",
         | 
| 15 | 
            +
                  "metadata": {
         | 
| 16 | 
            +
                    "description": "This module manages Bacula, a complete backup solution",
         | 
| 17 | 
            +
                    "source": "http://github.com/puppetlabs/puppetlabs-bacula",
         | 
| 18 | 
            +
                    "checksums": {
         | 
| 19 | 
            +
                      "templates/client_config.erb": "5d4005eda5ace78fd90a8cb6dcb388bd",
         | 
| 20 | 
            +
                      "spec/spec_helper.rb": "ca19ec4f451ebc7fdb035b52eae6e909",
         | 
| 21 | 
            +
                      "templates/bacula-fd.conf.erb": "344fff616e138fbf8cd150f4bab8125d",
         | 
| 22 | 
            +
                      "CHANGELOG": "a20043858790de6086b9b30c36806cd2",
         | 
| 23 | 
            +
                      "manifests/config/validate.pp": "7d2f9f7cffb2bd1d221eb699ea55f246",
         | 
| 24 | 
            +
                      "LICENSE": "26ce13c80c7a8493533c65c32dc29f09",
         | 
| 25 | 
            +
                      "manifests/director.pp": "36f34f749314634173b6a47b92a58421",
         | 
| 26 | 
            +
                      "manifests/config/client.pp": "5d25cbfd94be2829d9d530673cd2307f",
         | 
| 27 | 
            +
                      "lib/puppet/parser/functions/generate_clients.rb": "e09d77f88d18ec3e59bbe7bae4a48036",
         | 
| 28 | 
            +
                      "manifests/common.pp": "67391e5560ee7fc97d873ab5c3e2f84c",
         | 
| 29 | 
            +
                      "manifests/client.pp": "42e9255711d0a6abed6ab8deafb1248c",
         | 
| 30 | 
            +
                      "manifests/console.pp": "4cf8ac2f96f9268e2a3d70ed777797b7",
         | 
| 31 | 
            +
                      "README.md": "13d0f1119d510e41c539cbc3825a4f82",
         | 
| 32 | 
            +
                      "templates/bacula-sd.conf.erb": "df7987695bf1dd18bb789a2673b2cd95",
         | 
| 33 | 
            +
                      "manifests/config.pp": "624a225f85f907e7db5cf717561953f3",
         | 
| 34 | 
            +
                      "tests/init.pp": "b95d199119d5e592df7e1580bf23fe06",
         | 
| 35 | 
            +
                      "templates/bconsole.conf.erb": "ba5e1ef7d320a48bde6e403dc956952a",
         | 
| 36 | 
            +
                      "manifests/bat.pp": "3743bddf0197b4110e54a8e297e927e8",
         | 
| 37 | 
            +
                      "manifests/storage.pp": "84f4ec1413df4fdec7288c18d6ba2897",
         | 
| 38 | 
            +
                      "templates/bacula-dir.conf.erb": "5ab5aa263cf318ebf65c6b52a0726647",
         | 
| 39 | 
            +
                      "metadata.json": "d34d0b70aba36510fbc2df4e667479ef",
         | 
| 40 | 
            +
                      "spec/spec.opts": "a600ded995d948e393fbe2320ba8e51c",
         | 
| 41 | 
            +
                      "Modulefile": "63f93af605871a69211cd3f79ac62582",
         | 
| 42 | 
            +
                      "manifests/init.pp": "fafac38161dd69f4b7e452cf910812f4"
         | 
| 43 | 
            +
                    },
         | 
| 44 | 
            +
                    "summary": "This module manages a bacula infrastructure",
         | 
| 45 | 
            +
                    "author": "Puppet Labs",
         | 
| 46 | 
            +
                    "dependencies": [
         | 
| 47 | 
            +
             | 
| 48 | 
            +
                    ],
         | 
| 49 | 
            +
                    "project_page": "http://github.com/puppetlabs/puppetlabs-bacula",
         | 
| 50 | 
            +
                    "types": [
         | 
| 51 | 
            +
             | 
| 52 | 
            +
                    ],
         | 
| 53 | 
            +
                    "license": "Apache",
         | 
| 54 | 
            +
                    "version": "0.0.2",
         | 
| 55 | 
            +
                    "name": "puppetlabs-bacula"
         | 
| 56 | 
            +
                  },
         | 
| 57 | 
            +
                  "pdk": false,
         | 
| 58 | 
            +
                  "validation_score": 22,
         | 
| 59 | 
            +
                  "file_uri": "/v3/files/puppetlabs-bacula-0.0.2.tar.gz",
         | 
| 60 | 
            +
                  "file_md5": "6cd7b8a3ec788e4ddbd06ae59be45d7a",
         | 
| 61 | 
            +
                  "file_sha256": "4cea5bae3c2b3dbe236bdc87ab9caa4f6d41943d1bf81651b2c0e08205910cdd",
         | 
| 62 | 
            +
                  "reference": null,
         | 
| 63 | 
            +
                  "tasks": [
         | 
| 64 | 
            +
             | 
| 65 | 
            +
                  ],
         | 
| 66 | 
            +
                  "plans": [
         | 
| 67 | 
            +
             | 
| 68 | 
            +
                  ],
         | 
| 69 | 
            +
                  "deleted_for": null
         | 
| 70 | 
            +
                },
         | 
| 71 | 
            +
                {
         | 
| 72 | 
            +
                  "slug": "puppetlabs-bacula-0.0.1",
         | 
| 73 | 
            +
                  "version": "0.0.1",
         | 
| 74 | 
            +
                  "metadata": {
         | 
| 75 | 
            +
                    "description": "This module manages Bacula, a complete backup solution",
         | 
| 76 | 
            +
                    "source": "http://github.com/puppetlabs/puppetlabs-bacula",
         | 
| 77 | 
            +
                    "checksums": {
         | 
| 78 | 
            +
                      "spec/spec_helper.rb": "ca19ec4f451ebc7fdb035b52eae6e909",
         | 
| 79 | 
            +
                      "templates/bacula-fd.conf.erb": "344fff616e138fbf8cd150f4bab8125d",
         | 
| 80 | 
            +
                      "CHANGELOG": "28c8a36d149971979b867491203b5fef",
         | 
| 81 | 
            +
                      "manifests/config/validate.pp": "e74d9dfbf4814d455a2c4a27ac516571",
         | 
| 82 | 
            +
                      "LICENSE": "26ce13c80c7a8493533c65c32dc29f09",
         | 
| 83 | 
            +
                      "manifests/director.pp": "bec6d5b6b8befca9640edb8bdb8b5b10",
         | 
| 84 | 
            +
                      "manifests/common.pp": "9c037f51fd8b70c4bed0ceeb55f93ffb",
         | 
| 85 | 
            +
                      "manifests/client.pp": "42e9255711d0a6abed6ab8deafb1248c",
         | 
| 86 | 
            +
                      "manifests/console.pp": "1ee546361e47c0bc43299b3b62baa925",
         | 
| 87 | 
            +
                      "README.md": "470c6e1e9b4d877bcfdc88d751de8d19",
         | 
| 88 | 
            +
                      "templates/bacula-sd.conf.erb": "df7987695bf1dd18bb789a2673b2cd95",
         | 
| 89 | 
            +
                      "manifests/config.pp": "4410fadc6d82543e0b19039e3365fd3a",
         | 
| 90 | 
            +
                      "tests/init.pp": "b95d199119d5e592df7e1580bf23fe06",
         | 
| 91 | 
            +
                      "templates/bconsole.conf.erb": "ba5e1ef7d320a48bde6e403dc956952a",
         | 
| 92 | 
            +
                      "manifests/bat.pp": "3743bddf0197b4110e54a8e297e927e8",
         | 
| 93 | 
            +
                      "manifests/storage.pp": "13eadb4376a07d095d1ee13e8ff60846",
         | 
| 94 | 
            +
                      "templates/bacula-dir.conf.erb": "c0b1b57660cf965bcff7e5fda547ee03",
         | 
| 95 | 
            +
                      "metadata.json": "d34d0b70aba36510fbc2df4e667479ef",
         | 
| 96 | 
            +
                      "spec/spec.opts": "a600ded995d948e393fbe2320ba8e51c",
         | 
| 97 | 
            +
                      "Modulefile": "082b764ac91831266b7cbda75f79c199",
         | 
| 98 | 
            +
                      "manifests/init.pp": "6b9d2e9ca0a06c1a318837307fadcc70"
         | 
| 99 | 
            +
                    },
         | 
| 100 | 
            +
                    "summary": "This module manages a bacula infrastructure",
         | 
| 101 | 
            +
                    "author": "Puppet Labs",
         | 
| 102 | 
            +
                    "dependencies": [
         | 
| 103 | 
            +
             | 
| 104 | 
            +
                    ],
         | 
| 105 | 
            +
                    "project_page": "http://github.com/puppetlabs/puppetlabs-bacula",
         | 
| 106 | 
            +
                    "types": [
         | 
| 107 | 
            +
             | 
| 108 | 
            +
                    ],
         | 
| 109 | 
            +
                    "license": "Apache",
         | 
| 110 | 
            +
                    "version": "0.0.1",
         | 
| 111 | 
            +
                    "name": "puppetlabs-bacula"
         | 
| 112 | 
            +
                  },
         | 
| 113 | 
            +
                  "pdk": false,
         | 
| 114 | 
            +
                  "validation_score": 38,
         | 
| 115 | 
            +
                  "file_uri": "/v3/files/puppetlabs-bacula-0.0.1.tar.gz",
         | 
| 116 | 
            +
                  "file_md5": "c29882cf29eff17f18dcb74cc544c200",
         | 
| 117 | 
            +
                  "file_sha256": "7a68af4ab6e413a1cb3ec1694ddc3956138aa4c34d97abbe61a50947d0b12069",
         | 
| 118 | 
            +
                  "reference": null,
         | 
| 119 | 
            +
                  "tasks": [
         | 
| 120 | 
            +
             | 
| 121 | 
            +
                  ],
         | 
| 122 | 
            +
                  "plans": [
         | 
| 123 | 
            +
             | 
| 124 | 
            +
                  ],
         | 
| 125 | 
            +
                  "deleted_for": null
         | 
| 126 | 
            +
                }
         | 
| 127 | 
            +
              ]
         | 
| 128 | 
            +
            }
         | 
| Binary file | 
| @@ -9,5 +9,11 @@ postgresql   10 [d][e]    client, server [d] [i]                    PostgreSQL s | |
| 9 9 | 
             
            ruby         2.5 [d][e]   common [d]                                An interpreter of object-oriented scripting language                  
         | 
| 10 10 | 
             
            rust-toolset rhel8 [d][e] common [d] [i]                            Rust                                                               
         | 
| 11 11 | 
             
            subversion   1.10 [d][e]  common [d], server [i]                    Apache Subversion                                                  
         | 
| 12 | 
            +
            scala        2.10 [d]     common [d]                                A hybrid functional/object-oriented language for the JVM
         | 
| 13 | 
            +
            squid        4 [d]        common [d]                                Squid - Optimising Web Delivery
         | 
| 14 | 
            +
            subversion   1.10 [d]     common [d], server                        Apache Subversion
         | 
| 15 | 
            +
            swig         3.0 [d][x]   common [d], complete                      Connects C/C++/Objective C to some high-level programming languages
         | 
| 16 | 
            +
            varnish      6 [d]        common [d]                                Varnish HTTP cache
         | 
| 17 | 
            +
            virt         rhel [d][x]  common [d]                                Virtualization module
         | 
| 12 18 |  | 
| 13 19 | 
             
            Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
         | 
| @@ -0,0 +1,30 @@ | |
| 1 | 
            +
            concurrent-ruby (1.1.5)
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            deep_merge (1.0.1)
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            fast_gettext (1.1.2)
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            gettext (3.2.2)
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            hiera-eyaml (3.2.0)
         | 
| 10 | 
            +
             | 
| 11 | 
            +
            highline (1.6.21)
         | 
| 12 | 
            +
             | 
| 13 | 
            +
            hocon (1.3.1, 1.2.5)
         | 
| 14 | 
            +
             | 
| 15 | 
            +
            locale (2.1.3, 2.1.2)
         | 
| 16 | 
            +
             | 
| 17 | 
            +
            multi_json (1.14.1)
         | 
| 18 | 
            +
             | 
| 19 | 
            +
            optimist (3.0.1)
         | 
| 20 | 
            +
             | 
| 21 | 
            +
            puppet-resource_api (1.8.13)
         | 
| 22 | 
            +
             | 
| 23 | 
            +
            puppetserver-ca (1.8.0)
         | 
| 24 | 
            +
             | 
| 25 | 
            +
            semantic_puppet (1.0.2)
         | 
| 26 | 
            +
             | 
| 27 | 
            +
            text (1.3.1)
         | 
| 28 | 
            +
             | 
| 29 | 
            +
            world_airports (1.1.3)
         | 
| 30 | 
            +
             | 
| @@ -0,0 +1,13 @@ | |
| 1 | 
            +
            Refreshing service 'spacewalk'.
         | 
| 2 | 
            +
            Problem retrieving the repository index file for service 'spacewalk':
         | 
| 3 | 
            +
            [|] This client is not registered to any spacewalk server.
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            Skipping service 'spacewalk' because of the above error.
         | 
| 6 | 
            +
            Loading repository data...
         | 
| 7 | 
            +
            Reading installed packages...
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            S | Name    | Type    | Version           | Arch   | Repository                                      
         | 
| 10 | 
            +
            --+---------+---------+-------------------+--------+-------------------------------------------------
         | 
| 11 | 
            +
              | vim     | package | 1.0.20040813-19.9 | noarch | localmirror-os                                  
         | 
| 12 | 
            +
              | vim     | package | 1.0.20040813-19.9 | noarch | localmirror-os                                  
         | 
| 13 | 
            +
              | vim     | package | 1.0.20040813-19.9 | noarch | SUSE-Linux-Enterprise-Server-11-SP4 11.4.4-1.109
         | 
| @@ -15,21 +15,17 @@ describe "puppet agent", unless: Puppet::Util::Platform.jruby? do | |
| 15 15 | 
             
              let(:formatter) { Puppet::Network::FormatHandler.format(:rich_data_json) }
         | 
| 16 16 |  | 
| 17 17 | 
             
              context 'server_list' do
         | 
| 18 | 
            -
                before :each do
         | 
| 19 | 
            -
                  Puppet[:log_level] = 'debug'
         | 
| 20 | 
            -
                end
         | 
| 21 | 
            -
             | 
| 22 18 | 
             
                it "uses the first server in the list" do
         | 
| 23 19 | 
             
                  Puppet[:server_list] = '127.0.0.1'
         | 
| 20 | 
            +
                  Puppet[:log_level] = 'debug'
         | 
| 24 21 |  | 
| 25 22 | 
             
                  server.start_server do |port|
         | 
| 26 | 
            -
                    Puppet[: | 
| 23 | 
            +
                    Puppet[:serverport] = port
         | 
| 27 24 | 
             
                    expect {
         | 
| 28 | 
            -
                       | 
| 29 | 
            -
             | 
| 30 | 
            -
             | 
| 31 | 
            -
             | 
| 32 | 
            -
                    }.to output(%r{HTTP GET https://127.0.0.1:#{port}/status/v1/simple/master returned 200 OK}).to_stdout
         | 
| 25 | 
            +
                      agent.command_line.args << '--test'
         | 
| 26 | 
            +
                      agent.run
         | 
| 27 | 
            +
                    }.to exit_with(0)
         | 
| 28 | 
            +
                     .and output(%r{HTTP GET https://127.0.0.1:#{port}/status/v1/simple/master returned 200 OK}).to_stdout
         | 
| 33 29 | 
             
                  end
         | 
| 34 30 | 
             
                end
         | 
| 35 31 |  | 
| @@ -37,16 +33,17 @@ describe "puppet agent", unless: Puppet::Util::Platform.jruby? do | |
| 37 33 | 
             
                  Puppet[:server_list] = "puppet.example.com,#{Puppet[:server]}"
         | 
| 38 34 |  | 
| 39 35 | 
             
                  server.start_server do |port|
         | 
| 40 | 
            -
                    Puppet[: | 
| 36 | 
            +
                    Puppet[:serverport] = port
         | 
| 41 37 | 
             
                    expect {
         | 
| 42 | 
            -
                       | 
| 43 | 
            -
             | 
| 44 | 
            -
             | 
| 45 | 
            -
             | 
| 46 | 
            -
             | 
| 38 | 
            +
                      agent.command_line.args << '--test'
         | 
| 39 | 
            +
                      agent.run
         | 
| 40 | 
            +
                    }.to exit_with(0)
         | 
| 41 | 
            +
                     .and output(%r{Notice: Applied catalog}).to_stdout
         | 
| 42 | 
            +
                     .and output(%r{Unable to connect to server from server_list setting: Request to https://puppet.example.com:#{port}/status/v1/simple/master failed}).to_stderr
         | 
| 47 43 |  | 
| 48 44 | 
             
                    report = Puppet::Transaction::Report.convert_from(:yaml, File.read(Puppet[:lastrunreport]))
         | 
| 49 45 | 
             
                    expect(report.master_used).to eq("127.0.0.1:#{port}")
         | 
| 46 | 
            +
                    expect(report.server_used).to eq("127.0.0.1:#{port}")
         | 
| 50 47 | 
             
                  end
         | 
| 51 48 | 
             
                end
         | 
| 52 49 |  | 
| @@ -54,32 +51,51 @@ describe "puppet agent", unless: Puppet::Util::Platform.jruby? do | |
| 54 51 | 
             
                  Puppet[:server_list] = "puppet.example.com"
         | 
| 55 52 |  | 
| 56 53 | 
             
                  expect {
         | 
| 57 | 
            -
                     | 
| 58 | 
            -
             | 
| 59 | 
            -
             | 
| 60 | 
            -
             | 
| 61 | 
            -
             | 
| 62 | 
            -
                    }.to output(%r{Unable to connect to server from server_list setting: Could not select a functional puppet master from server_list: 'puppet.example.com'}).to_stdout
         | 
| 63 | 
            -
                  }.to output(/Error: Could not run Puppet configuration client: Could not select a functional puppet master from server_list: 'puppet.example.com'/).to_stderr
         | 
| 54 | 
            +
                    agent.command_line.args << '--test'
         | 
| 55 | 
            +
                    agent.run
         | 
| 56 | 
            +
                  }.to exit_with(1)
         | 
| 57 | 
            +
                   .and output(a_string_matching(%r{Unable to connect to server from server_list setting})
         | 
| 58 | 
            +
                   .and matching(/Error: Could not run Puppet configuration client: Could not select a functional puppet server from server_list: 'puppet.example.com'/)).to_stderr
         | 
| 64 59 |  | 
| 65 60 | 
             
                  # I'd expect puppet to update the last run report even if the server_list was
         | 
| 66 61 | 
             
                  # exhausted, but it doesn't work that way currently, see PUP-6708
         | 
| 67 62 | 
             
                  expect(File).to_not be_exist(Puppet[:lastrunreport])
         | 
| 68 63 | 
             
                end
         | 
| 69 64 |  | 
| 70 | 
            -
                it "omits  | 
| 65 | 
            +
                it "omits server_used when not using server_list" do
         | 
| 66 | 
            +
                  Puppet[:log_level] = 'debug'
         | 
| 67 | 
            +
             | 
| 71 68 | 
             
                  server.start_server do |port|
         | 
| 72 | 
            -
                    Puppet[: | 
| 69 | 
            +
                    Puppet[:serverport] = port
         | 
| 73 70 | 
             
                    expect {
         | 
| 74 | 
            -
                       | 
| 75 | 
            -
             | 
| 76 | 
            -
             | 
| 77 | 
            -
             | 
| 78 | 
            -
                    }.to output(%r{Resolved service 'puppet' to https://127.0.0.1:#{port}/puppet/v3}).to_stdout
         | 
| 71 | 
            +
                      agent.command_line.args << '--test'
         | 
| 72 | 
            +
                      agent.run
         | 
| 73 | 
            +
                    }.to exit_with(0)
         | 
| 74 | 
            +
                     .and output(%r{Resolved service 'puppet' to https://127.0.0.1:#{port}/puppet/v3}).to_stdout
         | 
| 79 75 | 
             
                  end
         | 
| 80 76 |  | 
| 81 77 | 
             
                  report = Puppet::Transaction::Report.convert_from(:yaml, File.read(Puppet[:lastrunreport]))
         | 
| 82 78 | 
             
                  expect(report.master_used).to be_nil
         | 
| 79 | 
            +
                  expect(report.server_used).to be_nil
         | 
| 80 | 
            +
                end
         | 
| 81 | 
            +
             | 
| 82 | 
            +
                it "server_list takes precedence over server" do
         | 
| 83 | 
            +
                  Puppet[:server] = 'notvalid.example.com'
         | 
| 84 | 
            +
                  Puppet[:log_level] = 'debug'
         | 
| 85 | 
            +
             | 
| 86 | 
            +
                  server.start_server do |port|
         | 
| 87 | 
            +
                    Puppet[:server_list] = "127.0.0.1:#{port}"
         | 
| 88 | 
            +
             | 
| 89 | 
            +
                    expect {
         | 
| 90 | 
            +
                      agent.command_line.args << '--test'
         | 
| 91 | 
            +
                      agent.run
         | 
| 92 | 
            +
                    }.to exit_with(0)
         | 
| 93 | 
            +
                     .and output(%r{Debug: Resolved service 'puppet' to https://127.0.0.1:#{port}/puppet/v3}).to_stdout
         | 
| 94 | 
            +
             | 
| 95 | 
            +
                    report = Puppet::Transaction::Report.convert_from(:yaml, File.read(Puppet[:lastrunreport]))
         | 
| 96 | 
            +
                    expect(report.master_used).to eq("127.0.0.1:#{port}")
         | 
| 97 | 
            +
                    expect(report.server_used).to eq("127.0.0.1:#{port}")
         | 
| 98 | 
            +
                  end
         | 
| 83 99 | 
             
                end
         | 
| 84 100 | 
             
              end
         | 
| 85 101 |  | 
| @@ -97,13 +113,12 @@ describe "puppet agent", unless: Puppet::Util::Platform.jruby? do | |
| 97 113 | 
             
                  }
         | 
| 98 114 |  | 
| 99 115 | 
             
                  server.start_server(mounts: {catalog: catalog_handler}) do |port|
         | 
| 100 | 
            -
                    Puppet[: | 
| 116 | 
            +
                    Puppet[:serverport] = port
         | 
| 101 117 | 
             
                    expect {
         | 
| 102 | 
            -
                       | 
| 103 | 
            -
             | 
| 104 | 
            -
             | 
| 105 | 
            -
             | 
| 106 | 
            -
                    }.to output(%r{Notice: /Stage\[main\]/Main/Notify\[deferred\]/message: defined 'message' as '1:2:3'}).to_stdout
         | 
| 118 | 
            +
                      agent.command_line.args << '--test'
         | 
| 119 | 
            +
                      agent.run
         | 
| 120 | 
            +
                    }.to exit_with(2)
         | 
| 121 | 
            +
                     .and output(%r{Notice: /Stage\[main\]/Main/Notify\[deferred\]/message: defined 'message' as '1:2:3'}).to_stdout
         | 
| 107 122 | 
             
                  end
         | 
| 108 123 | 
             
                end
         | 
| 109 124 |  | 
| @@ -120,19 +135,40 @@ describe "puppet agent", unless: Puppet::Util::Platform.jruby? do | |
| 120 135 | 
             
                  }
         | 
| 121 136 |  | 
| 122 137 | 
             
                  server.start_server(mounts: {catalog: catalog_handler}) do |port|
         | 
| 123 | 
            -
                    Puppet[: | 
| 138 | 
            +
                    Puppet[:serverport] = port
         | 
| 124 139 | 
             
                    expect {
         | 
| 125 | 
            -
                       | 
| 126 | 
            -
             | 
| 127 | 
            -
             | 
| 128 | 
            -
             | 
| 129 | 
            -
                    }.to output(a_string_matching(
         | 
| 140 | 
            +
                      agent.command_line.args << '--test'
         | 
| 141 | 
            +
                      agent.run
         | 
| 142 | 
            +
                    }.to exit_with(2)
         | 
| 143 | 
            +
                     .and output(a_string_matching(
         | 
| 130 144 | 
             
                      /Notice: Sensitive \[value redacted\]/
         | 
| 131 145 | 
             
                    ).and matching(
         | 
| 132 146 | 
             
                      /Notify\[sensitive\]\/message: changed \[redacted\] to \[redacted\]/
         | 
| 133 147 | 
             
                    )).to_stdout
         | 
| 134 148 | 
             
                  end
         | 
| 135 149 | 
             
                end
         | 
| 150 | 
            +
             | 
| 151 | 
            +
                it "applies binary data in a cached catalog" do
         | 
| 152 | 
            +
                  catalog = compile_to_catalog(<<-MANIFEST, node)
         | 
| 153 | 
            +
                      notify { 'some title':
         | 
| 154 | 
            +
                        message => Binary.new('aGk=')
         | 
| 155 | 
            +
                      }
         | 
| 156 | 
            +
                    MANIFEST
         | 
| 157 | 
            +
             | 
| 158 | 
            +
                  catalog_dir = File.join(Puppet[:client_datadir], 'catalog')
         | 
| 159 | 
            +
                  Puppet::FileSystem.mkpath(catalog_dir)
         | 
| 160 | 
            +
                  cached_catalog = "#{File.join(catalog_dir, Puppet[:certname])}.json"
         | 
| 161 | 
            +
                  File.write(cached_catalog, catalog.render(:rich_data_json))
         | 
| 162 | 
            +
             | 
| 163 | 
            +
                  expect {
         | 
| 164 | 
            +
                    Puppet[:report] = false
         | 
| 165 | 
            +
                    Puppet[:use_cached_catalog] = true
         | 
| 166 | 
            +
                    Puppet[:usecacheonfailure] = false
         | 
| 167 | 
            +
                    agent.command_line.args << '-t'
         | 
| 168 | 
            +
                    agent.run
         | 
| 169 | 
            +
                  }.to exit_with(2)
         | 
| 170 | 
            +
                   .and output(%r{defined 'message' as 'hi'}).to_stdout
         | 
| 171 | 
            +
                end
         | 
| 136 172 | 
             
              end
         | 
| 137 173 |  | 
| 138 174 | 
             
              context 'static catalogs' do
         | 
| @@ -163,7 +199,7 @@ describe "puppet agent", unless: Puppet::Util::Platform.jruby? do | |
| 163 199 | 
             
                  }
         | 
| 164 200 |  | 
| 165 201 | 
             
                  server.start_server(mounts: {catalog: catalog_handler}) do |port|
         | 
| 166 | 
            -
                    Puppet[: | 
| 202 | 
            +
                    Puppet[:serverport] = port
         | 
| 167 203 | 
             
                    expect {
         | 
| 168 204 | 
             
                      expect {
         | 
| 169 205 | 
             
                        agent.command_line.args << '--test'
         | 
| @@ -208,13 +244,12 @@ describe "puppet agent", unless: Puppet::Util::Platform.jruby? do | |
| 208 244 | 
             
                  }
         | 
| 209 245 |  | 
| 210 246 | 
             
                  server.start_server(mounts: mounts) do |port|
         | 
| 211 | 
            -
                    Puppet[: | 
| 247 | 
            +
                    Puppet[:serverport] = port
         | 
| 212 248 | 
             
                    expect {
         | 
| 213 | 
            -
                       | 
| 214 | 
            -
             | 
| 215 | 
            -
             | 
| 216 | 
            -
             | 
| 217 | 
            -
                    }.to output(/content changed '{md5}d41d8cd98f00b204e9800998ecf8427e' to '{md5}4cf49285ae567157ebfba72bd04ccf32'/).to_stdout
         | 
| 249 | 
            +
                      agent.command_line.args << '--test'
         | 
| 250 | 
            +
                      agent.run
         | 
| 251 | 
            +
                    }.to exit_with(2)
         | 
| 252 | 
            +
                     .and output(/content changed '{md5}d41d8cd98f00b204e9800998ecf8427e' to '{md5}4cf49285ae567157ebfba72bd04ccf32'/).to_stdout
         | 
| 218 253 |  | 
| 219 254 | 
             
                    # verify puppet restored binary content
         | 
| 220 255 | 
             
                    expect(File.binread(path)).to eq(binary_content)
         | 
| @@ -257,7 +292,7 @@ describe "puppet agent", unless: Puppet::Util::Platform.jruby? do | |
| 257 292 | 
             
                    }
         | 
| 258 293 |  | 
| 259 294 | 
             
                    server.start_server(mounts: {catalog: catalog_handler}) do |puppetserver_port|
         | 
| 260 | 
            -
                      Puppet[: | 
| 295 | 
            +
                      Puppet[:serverport] = puppetserver_port
         | 
| 261 296 |  | 
| 262 297 | 
             
                      # override path to system cacert bundle, this must be done before
         | 
| 263 298 | 
             
                      # the SSLContext is created and the call to X509::Store.set_default_paths
         | 
| @@ -267,7 +302,7 @@ describe "puppet agent", unless: Puppet::Util::Platform.jruby? do | |
| 267 302 | 
             
                          agent.run
         | 
| 268 303 | 
             
                        }.to exit_with(4)
         | 
| 269 304 | 
             
                         .and output(/Notice: Applied catalog/).to_stdout
         | 
| 270 | 
            -
                         .and output(%r{Error: Could not retrieve file metadata for https://127.0.0.1:#{https_port}/path/to/file:  | 
| 305 | 
            +
                         .and output(%r{Error: Could not retrieve file metadata for https://127.0.0.1:#{https_port}/path/to/file: certificate verify failed}).to_stderr
         | 
| 271 306 | 
             
                      end
         | 
| 272 307 |  | 
| 273 308 | 
             
                      expect(File).to_not be_exist(path)
         | 
| @@ -309,7 +344,7 @@ describe "puppet agent", unless: Puppet::Util::Platform.jruby? do | |
| 309 344 | 
             
                    }
         | 
| 310 345 |  | 
| 311 346 | 
             
                    server.start_server(mounts: {catalog: catalog_handler}) do |puppetserver_port|
         | 
| 312 | 
            -
                      Puppet[: | 
| 347 | 
            +
                      Puppet[:serverport] = puppetserver_port
         | 
| 313 348 |  | 
| 314 349 | 
             
                      # override path to system cacert bundle, this must be done before
         | 
| 315 350 | 
             
                      # the SSLContext is created and the call to X509::Store.set_default_paths
         | 
| @@ -325,5 +360,120 @@ describe "puppet agent", unless: Puppet::Util::Platform.jruby? do | |
| 325 360 | 
             
                    end
         | 
| 326 361 | 
             
                  end
         | 
| 327 362 | 
             
                end
         | 
| 363 | 
            +
             | 
| 364 | 
            +
                it 'accepts HTTPS servers whose cert is in the external CA store' do
         | 
| 365 | 
            +
                  unknown_ca_cert = cert_fixture('unknown-ca.pem')
         | 
| 366 | 
            +
                  https = PuppetSpec::HTTPSServer.new(
         | 
| 367 | 
            +
                    ca_cert: unknown_ca_cert,
         | 
| 368 | 
            +
                    server_cert: cert_fixture('unknown-127.0.0.1.pem'),
         | 
| 369 | 
            +
                    server_key: key_fixture('unknown-127.0.0.1-key.pem')
         | 
| 370 | 
            +
                  )
         | 
| 371 | 
            +
             | 
| 372 | 
            +
                  # create a temp cacert bundle
         | 
| 373 | 
            +
                  ssl_file = tmpfile('systemstore')
         | 
| 374 | 
            +
                  File.write(ssl_file, unknown_ca_cert.to_pem)
         | 
| 375 | 
            +
             | 
| 376 | 
            +
                  response_proc = -> (req, res) {
         | 
| 377 | 
            +
                    res.status = 200
         | 
| 378 | 
            +
                    res.body = response_body
         | 
| 379 | 
            +
                  }
         | 
| 380 | 
            +
             | 
| 381 | 
            +
                  https.start_server(response_proc: response_proc) do |https_port|
         | 
| 382 | 
            +
                    catalog_handler = -> (req, res) {
         | 
| 383 | 
            +
                      catalog = compile_to_catalog(<<-MANIFEST, node)
         | 
| 384 | 
            +
                        file { "#{path}":
         | 
| 385 | 
            +
                          ensure => file,
         | 
| 386 | 
            +
                          backup => false,
         | 
| 387 | 
            +
                          checksum => sha1,
         | 
| 388 | 
            +
                          checksum_value => '#{digest}',
         | 
| 389 | 
            +
                          source => "https://127.0.0.1:#{https_port}/path/to/file"
         | 
| 390 | 
            +
                        }
         | 
| 391 | 
            +
                      MANIFEST
         | 
| 392 | 
            +
             | 
| 393 | 
            +
                      res.body = formatter.render(catalog)
         | 
| 394 | 
            +
                      res['Content-Type'] = formatter.mime
         | 
| 395 | 
            +
                    }
         | 
| 396 | 
            +
             | 
| 397 | 
            +
                    server.start_server(mounts: {catalog: catalog_handler}) do |puppetserver_port|
         | 
| 398 | 
            +
                      Puppet[:serverport] = puppetserver_port
         | 
| 399 | 
            +
             | 
| 400 | 
            +
                      # set path to external cacert bundle, this must be done before
         | 
| 401 | 
            +
                      # the SSLContext is created
         | 
| 402 | 
            +
                      Puppet[:ssl_trust_store] = ssl_file
         | 
| 403 | 
            +
                      expect {
         | 
| 404 | 
            +
                        agent.command_line.args << '--test'
         | 
| 405 | 
            +
                        agent.run
         | 
| 406 | 
            +
                      }.to exit_with(2)
         | 
| 407 | 
            +
                       .and output(%r{https_file_source.*/ensure: created}).to_stdout
         | 
| 408 | 
            +
                    end
         | 
| 409 | 
            +
             | 
| 410 | 
            +
                    expect(File.binread(path)).to eq("from https server")
         | 
| 411 | 
            +
                  end
         | 
| 412 | 
            +
                end
         | 
| 413 | 
            +
              end
         | 
| 414 | 
            +
             | 
| 415 | 
            +
              context 'multiple agents running' do
         | 
| 416 | 
            +
                it "exits if an agent is already running" do
         | 
| 417 | 
            +
                  path = Puppet[:agent_catalog_run_lockfile]
         | 
| 418 | 
            +
             | 
| 419 | 
            +
                  th = Thread.new {
         | 
| 420 | 
            +
                    %x{ruby -e "$0 = 'puppet'; File.write('#{path}', Process.pid); sleep(2)"}
         | 
| 421 | 
            +
                  }
         | 
| 422 | 
            +
             | 
| 423 | 
            +
                  until File.exists?(path) && File.size(path) > 0 do
         | 
| 424 | 
            +
                    sleep 0.1
         | 
| 425 | 
            +
                  end
         | 
| 426 | 
            +
             | 
| 427 | 
            +
                  expect {
         | 
| 428 | 
            +
                    agent.command_line.args << '--test'
         | 
| 429 | 
            +
                    agent.run
         | 
| 430 | 
            +
                  }.to exit_with(1).and output(/Run of Puppet configuration client already in progress; skipping/).to_stdout
         | 
| 431 | 
            +
             | 
| 432 | 
            +
                  th.kill # kill thread so we don't wait too much
         | 
| 433 | 
            +
                end
         | 
| 434 | 
            +
             | 
| 435 | 
            +
                it "waits for other agent run to finish before starting" do
         | 
| 436 | 
            +
                  server.start_server do |port|
         | 
| 437 | 
            +
                    path = Puppet[:agent_catalog_run_lockfile]
         | 
| 438 | 
            +
                    Puppet[:serverport] = port
         | 
| 439 | 
            +
                    Puppet[:waitforlock] = 1
         | 
| 440 | 
            +
             | 
| 441 | 
            +
                    th = Thread.new {
         | 
| 442 | 
            +
                      %x{ruby -e "$0 = 'puppet'; File.write('#{path}', Process.pid); sleep(2)"}
         | 
| 443 | 
            +
                    }
         | 
| 444 | 
            +
             | 
| 445 | 
            +
                    until File.exists?(path) && File.size(path) > 0 do
         | 
| 446 | 
            +
                      sleep 0.1
         | 
| 447 | 
            +
                    end
         | 
| 448 | 
            +
             | 
| 449 | 
            +
                    expect {
         | 
| 450 | 
            +
                      agent.command_line.args << '--test'
         | 
| 451 | 
            +
                      agent.run
         | 
| 452 | 
            +
                    }.to exit_with(0).and output(/Info: Will try again in #{Puppet[:waitforlock]} seconds./).to_stdout
         | 
| 453 | 
            +
             | 
| 454 | 
            +
                    th.kill # kill thread so we don't wait too much
         | 
| 455 | 
            +
                  end
         | 
| 456 | 
            +
                end
         | 
| 457 | 
            +
             | 
| 458 | 
            +
                it "exits if maxwaitforlock is exceeded" do
         | 
| 459 | 
            +
                  path = Puppet[:agent_catalog_run_lockfile]
         | 
| 460 | 
            +
                  Puppet[:waitforlock] = 1
         | 
| 461 | 
            +
                  Puppet[:maxwaitforlock] = 0
         | 
| 462 | 
            +
             | 
| 463 | 
            +
                  th = Thread.new {
         | 
| 464 | 
            +
                    %x{ruby -e "$0 = 'puppet'; File.write('#{path}', Process.pid); sleep(2)"}
         | 
| 465 | 
            +
                  }
         | 
| 466 | 
            +
             | 
| 467 | 
            +
                  until File.exists?(path) && File.size(path) > 0 do
         | 
| 468 | 
            +
                    sleep 0.1
         | 
| 469 | 
            +
                  end
         | 
| 470 | 
            +
             | 
| 471 | 
            +
                  expect {
         | 
| 472 | 
            +
                    agent.command_line.args << '--test'
         | 
| 473 | 
            +
                    agent.run
         | 
| 474 | 
            +
                  }.to exit_with(1).and output(/Exiting now because the maxwaitforlock timeout has been exceeded./).to_stdout
         | 
| 475 | 
            +
             | 
| 476 | 
            +
                  th.kill # kill thread so we don't wait too much
         | 
| 477 | 
            +
                end
         | 
| 328 478 | 
             
              end
         | 
| 329 479 | 
             
            end
         |