puppet 7.7.0-universal-darwin → 7.11.0-universal-darwin
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/CONTRIBUTING.md +7 -7
- data/Gemfile +4 -3
- data/Gemfile.lock +18 -18
- data/README.md +4 -4
- data/{ext → examples/enc}/regexp_nodes/classes/databases +0 -0
- data/{ext → examples/enc}/regexp_nodes/classes/webservers +0 -0
- data/{ext → examples/enc}/regexp_nodes/environment/development +0 -0
- data/{ext → examples/enc}/regexp_nodes/parameters/service/prod +0 -0
- data/{ext → examples/enc}/regexp_nodes/parameters/service/qa +0 -0
- data/{ext → examples/enc}/regexp_nodes/parameters/service/sandbox +0 -0
- data/{ext → examples/enc}/regexp_nodes/regexp_nodes.rb +0 -0
- data/{ext → examples}/nagios/check_puppet.rb +2 -2
- data/ext/README.md +13 -0
- data/ext/osx/puppet.plist +2 -0
- data/ext/project_data.yaml +1 -0
- data/install.rb +0 -4
- data/lib/puppet/application/agent.rb +4 -0
- data/lib/puppet/application/apply.rb +20 -2
- data/lib/puppet/application/filebucket.rb +1 -0
- data/lib/puppet/application/resource.rb +30 -15
- data/lib/puppet/application/ssl.rb +1 -0
- data/lib/puppet/concurrent/thread_local_singleton.rb +1 -0
- data/lib/puppet/configurer.rb +169 -50
- data/lib/puppet/confine/variable.rb +1 -1
- data/lib/puppet/defaults.rb +70 -30
- data/lib/puppet/environments.rb +75 -25
- data/lib/puppet/face/help/action.erb +1 -0
- data/lib/puppet/face/help/face.erb +1 -0
- data/lib/puppet/face/node/clean.rb +1 -1
- data/lib/puppet/facter_impl.rb +96 -0
- data/lib/puppet/file_serving/configuration/parser.rb +2 -0
- data/lib/puppet/file_serving/configuration.rb +2 -0
- data/lib/puppet/file_serving/mount/file.rb +4 -4
- data/lib/puppet/file_serving/mount/scripts.rb +24 -0
- data/lib/puppet/file_system/file_impl.rb +3 -1
- data/lib/puppet/file_system/windows.rb +2 -2
- data/lib/puppet/forge/cache.rb +1 -1
- data/lib/puppet/forge.rb +4 -4
- data/lib/puppet/functions/empty.rb +8 -0
- data/lib/puppet/functions/find_template.rb +2 -2
- data/lib/puppet/functions/strftime.rb +1 -0
- data/lib/puppet/functions/unwrap.rb +17 -2
- data/lib/puppet/http/service/compiler.rb +6 -1
- data/lib/puppet/indirector/catalog/compiler.rb +24 -6
- data/lib/puppet/indirector/catalog/rest.rb +1 -0
- data/lib/puppet/indirector/facts/facter.rb +6 -6
- data/lib/puppet/indirector/indirection.rb +1 -1
- data/lib/puppet/indirector/resource/ral.rb +6 -1
- data/lib/puppet/indirector/terminus.rb +4 -0
- data/lib/puppet/interface/documentation.rb +1 -0
- data/lib/puppet/module/plan.rb +0 -1
- data/lib/puppet/module/task.rb +1 -1
- data/lib/puppet/module_tool/applications/installer.rb +12 -4
- data/lib/puppet/module_tool/applications/uninstaller.rb +1 -1
- data/lib/puppet/module_tool/applications/upgrader.rb +1 -1
- data/lib/puppet/module_tool/errors/shared.rb +17 -0
- data/lib/puppet/module_tool/tar/mini.rb +1 -1
- data/lib/puppet/network/http/api/indirected_routes.rb +1 -1
- data/lib/puppet/node/environment.rb +10 -11
- data/lib/puppet/pal/pal_impl.rb +1 -1
- data/lib/puppet/parser/scope.rb +8 -7
- data/lib/puppet/parser/templatewrapper.rb +1 -0
- data/lib/puppet/pops/lookup/lookup_adapter.rb +3 -2
- data/lib/puppet/pops/model/ast.rb +1 -0
- data/lib/puppet/pops/model/factory.rb +14 -13
- data/lib/puppet/pops/parser/egrammar.ra +2 -2
- data/lib/puppet/pops/parser/eparser.rb +752 -753
- data/lib/puppet/pops/parser/lexer2.rb +69 -68
- data/lib/puppet/pops/parser/slurp_support.rb +1 -0
- data/lib/puppet/pops/serialization/to_data_converter.rb +18 -6
- data/lib/puppet/pops/serialization/to_stringified_converter.rb +1 -1
- data/lib/puppet/pops/types/p_sem_ver_type.rb +8 -2
- data/lib/puppet/pops/types/p_sensitive_type.rb +10 -0
- data/lib/puppet/pops/types/type_formatter.rb +7 -6
- data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -1
- data/lib/puppet/pops/types/types.rb +1 -1
- data/lib/puppet/provider/aix_object.rb +1 -1
- data/lib/puppet/provider/exec/posix.rb +16 -4
- data/lib/puppet/provider/group/groupadd.rb +5 -2
- data/lib/puppet/provider/package/apt.rb +3 -3
- data/lib/puppet/provider/package/nim.rb +11 -6
- data/lib/puppet/provider/package/pip.rb +15 -3
- data/lib/puppet/provider/package/pkg.rb +9 -2
- data/lib/puppet/provider/package/puppet_gem.rb +1 -1
- data/lib/puppet/provider/package/puppetserver_gem.rb +1 -1
- data/lib/puppet/provider/package/windows/exe_package.rb +30 -1
- data/lib/puppet/provider/package/windows/package.rb +2 -1
- data/lib/puppet/provider/package/windows.rb +14 -1
- data/lib/puppet/provider/package/yum.rb +4 -4
- data/lib/puppet/provider/package/zypper.rb +3 -3
- data/lib/puppet/provider/parsedfile.rb +3 -0
- data/lib/puppet/provider/service/base.rb +1 -1
- data/lib/puppet/provider/service/freebsd.rb +1 -1
- data/lib/puppet/provider/service/init.rb +5 -5
- data/lib/puppet/provider/service/launchd.rb +2 -2
- data/lib/puppet/provider/service/redhat.rb +1 -1
- data/lib/puppet/provider/service/smf.rb +3 -3
- data/lib/puppet/provider/service/systemd.rb +8 -3
- data/lib/puppet/provider/service/upstart.rb +5 -5
- data/lib/puppet/provider/user/aix.rb +44 -1
- data/lib/puppet/provider/user/directoryservice.rb +25 -12
- data/lib/puppet/provider/user/useradd.rb +52 -16
- data/lib/puppet/provider.rb +1 -1
- data/lib/puppet/reference/providers.rb +2 -2
- data/lib/puppet/resource/type_collection.rb +4 -1
- data/lib/puppet/runtime.rb +11 -1
- data/lib/puppet/settings/config_file.rb +1 -8
- data/lib/puppet/settings/file_setting.rb +3 -8
- data/lib/puppet/settings/value_translator.rb +0 -1
- data/lib/puppet/settings.rb +32 -9
- data/lib/puppet/test/test_helper.rb +4 -1
- data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
- data/lib/puppet/transaction/persistence.rb +11 -1
- data/lib/puppet/transaction/report.rb +15 -1
- data/lib/puppet/type/exec.rb +35 -5
- data/lib/puppet/type/file/mode.rb +6 -0
- data/lib/puppet/type/file.rb +6 -6
- data/lib/puppet/type/filebucket.rb +2 -2
- data/lib/puppet/type/group.rb +0 -1
- data/lib/puppet/type/resources.rb +1 -1
- data/lib/puppet/type/service.rb +8 -9
- data/lib/puppet/type/tidy.rb +1 -1
- data/lib/puppet/type/user.rb +39 -22
- data/lib/puppet/type.rb +1 -1
- data/lib/puppet/util/command_line.rb +1 -1
- data/lib/puppet/util/filetype.rb +2 -2
- data/lib/puppet/util/log.rb +1 -2
- data/lib/puppet/util/logging.rb +1 -25
- data/lib/puppet/util/monkey_patches.rb +2 -17
- data/lib/puppet/util/pidlock.rb +1 -1
- data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +1 -1
- data/lib/puppet/util/suidmanager.rb +1 -2
- data/lib/puppet/util/symbolic_file_mode.rb +29 -17
- data/lib/puppet/util/tagging.rb +1 -0
- data/lib/puppet/util/windows/sid.rb +3 -1
- data/lib/puppet/util/windows/user.rb +0 -1
- data/lib/puppet/util.rb +4 -3
- data/lib/puppet/version.rb +1 -1
- data/lib/puppet/x509/cert_provider.rb +3 -21
- data/lib/puppet.rb +5 -9
- data/locales/puppet.pot +346 -274
- data/man/man5/puppet.conf.5 +76 -25
- data/man/man8/puppet-agent.8 +4 -1
- data/man/man8/puppet-apply.8 +1 -1
- data/man/man8/puppet-catalog.8 +9 -9
- data/man/man8/puppet-config.8 +1 -1
- 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 +7 -7
- data/man/man8/puppet-filebucket.8 +1 -1
- data/man/man8/puppet-generate.8 +1 -1
- data/man/man8/puppet-help.8 +1 -1
- data/man/man8/puppet-lookup.8 +1 -1
- data/man/man8/puppet-module.8 +3 -3
- data/man/man8/puppet-node.8 +5 -5
- data/man/man8/puppet-parser.8 +1 -1
- data/man/man8/puppet-plugin.8 +1 -1
- data/man/man8/puppet-report.8 +5 -5
- 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.8 +2 -2
- data/spec/fixtures/integration/application/agent/lib/facter/agent_spec_role.rb +3 -0
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Gemfile +4 -0
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Rakefile +3 -0
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/lib/puppet/functions/l10n.rb +8 -0
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/config.yaml +25 -0
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/ja/puppet-l10n.po +19 -0
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/puppet-l10n.pot +20 -0
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/metadata.json +8 -0
- data/spec/fixtures/ssl/127.0.0.1-key.pem +106 -106
- data/spec/fixtures/ssl/127.0.0.1.pem +48 -48
- data/spec/fixtures/ssl/bad-basic-constraints.pem +54 -54
- data/spec/fixtures/ssl/bad-int-basic-constraints.pem +51 -51
- data/spec/fixtures/ssl/ca.pem +52 -52
- data/spec/fixtures/ssl/crl.pem +25 -25
- data/spec/fixtures/ssl/ec-key-openssl.pem +8 -0
- data/spec/fixtures/ssl/ec-key-pk8.pem +5 -0
- data/spec/fixtures/ssl/ec-key.pem +11 -11
- data/spec/fixtures/ssl/ec.pem +32 -32
- data/spec/fixtures/ssl/encrypted-ec-key.pem +12 -12
- data/spec/fixtures/ssl/encrypted-key.pem +107 -107
- data/spec/fixtures/ssl/intermediate-agent-crl.pem +25 -25
- data/spec/fixtures/ssl/intermediate-agent.pem +54 -54
- data/spec/fixtures/ssl/intermediate-crl.pem +28 -28
- data/spec/fixtures/ssl/intermediate.pem +51 -51
- data/spec/fixtures/ssl/oid-key.pem +117 -0
- data/spec/fixtures/ssl/oid.pem +69 -0
- data/spec/fixtures/ssl/pluto-key.pem +106 -106
- data/spec/fixtures/ssl/pluto.pem +50 -50
- data/spec/fixtures/ssl/request-key.pem +106 -106
- data/spec/fixtures/ssl/request.pem +45 -45
- data/spec/fixtures/ssl/revoked-key.pem +106 -106
- data/spec/fixtures/ssl/revoked.pem +49 -49
- data/spec/fixtures/ssl/signed-key.pem +106 -106
- data/spec/fixtures/ssl/signed.pem +47 -47
- data/spec/fixtures/ssl/tampered-cert.pem +49 -49
- data/spec/fixtures/ssl/tampered-csr.pem +45 -45
- data/spec/fixtures/ssl/trusted_oid_mapping.yaml +5 -0
- data/spec/fixtures/ssl/unknown-127.0.0.1-key.pem +106 -106
- data/spec/fixtures/ssl/unknown-127.0.0.1.pem +48 -48
- data/spec/fixtures/ssl/unknown-ca-key.pem +106 -106
- data/spec/fixtures/ssl/unknown-ca.pem +52 -52
- data/spec/integration/application/agent_spec.rb +118 -52
- data/spec/integration/application/filebucket_spec.rb +16 -0
- data/spec/integration/application/module_spec.rb +21 -0
- data/spec/integration/application/resource_spec.rb +64 -0
- data/spec/integration/application/ssl_spec.rb +20 -0
- data/spec/integration/configurer_spec.rb +18 -2
- data/spec/integration/defaults_spec.rb +5 -0
- data/spec/integration/environments/settings_interpolation_spec.rb +0 -4
- data/spec/integration/indirector/facts/facter_spec.rb +93 -39
- data/spec/integration/l10n/compiler_spec.rb +37 -0
- data/spec/integration/transaction/report_spec.rb +1 -1
- data/spec/integration/type/exec_spec.rb +70 -45
- data/spec/integration/type/file_spec.rb +2 -2
- data/spec/integration/type/package_spec.rb +6 -6
- data/spec/integration/util/rdoc/parser_spec.rb +1 -1
- data/spec/integration/util/windows/process_spec.rb +1 -9
- data/spec/lib/puppet/test_ca.rb +5 -0
- data/spec/lib/puppet_spec/modules.rb +13 -2
- data/spec/lib/puppet_spec/puppetserver.rb +15 -0
- data/spec/lib/puppet_spec/settings.rb +1 -0
- data/spec/shared_behaviours/documentation_on_faces.rb +0 -2
- data/spec/shared_contexts/l10n.rb +27 -0
- data/spec/spec_helper.rb +1 -10
- data/spec/unit/application/apply_spec.rb +76 -56
- data/spec/unit/application/resource_spec.rb +29 -0
- data/spec/unit/configurer_spec.rb +277 -56
- data/spec/unit/environments_spec.rb +184 -0
- data/spec/unit/facter_impl_spec.rb +31 -0
- data/spec/unit/file_bucket/dipper_spec.rb +2 -2
- data/spec/unit/file_serving/configuration/parser_spec.rb +23 -0
- data/spec/unit/file_serving/configuration_spec.rb +12 -4
- data/spec/unit/file_serving/mount/scripts_spec.rb +69 -0
- data/spec/unit/file_system_spec.rb +13 -0
- data/spec/unit/functions/assert_type_spec.rb +1 -1
- data/spec/unit/functions/empty_spec.rb +10 -0
- data/spec/unit/functions/logging_spec.rb +1 -0
- data/spec/unit/functions/lookup_spec.rb +87 -0
- data/spec/unit/functions/unwrap_spec.rb +8 -0
- data/spec/unit/functions4_spec.rb +19 -10
- data/spec/unit/http/service/compiler_spec.rb +8 -0
- data/spec/unit/indirector/catalog/compiler_spec.rb +87 -0
- data/spec/unit/indirector/catalog/rest_spec.rb +8 -0
- data/spec/unit/indirector/indirection_spec.rb +10 -3
- data/spec/unit/indirector/resource/ral_spec.rb +40 -75
- data/spec/unit/interface/action_spec.rb +0 -9
- data/spec/unit/module_spec.rb +14 -0
- data/spec/unit/module_tool/applications/installer_spec.rb +52 -14
- data/spec/unit/parser/compiler_spec.rb +29 -0
- data/spec/unit/parser/templatewrapper_spec.rb +12 -2
- data/spec/unit/pops/loaders/dependency_loader_spec.rb +0 -9
- data/spec/unit/pops/parser/lexer2_spec.rb +0 -4
- data/spec/unit/pops/parser/parse_containers_spec.rb +0 -11
- data/spec/unit/pops/serialization/to_from_hr_spec.rb +58 -0
- data/spec/unit/pops/serialization/to_stringified_spec.rb +5 -0
- data/spec/unit/pops/types/p_sem_ver_type_spec.rb +18 -0
- data/spec/unit/pops/types/p_sensitive_type_spec.rb +18 -0
- data/spec/unit/pops/types/type_calculator_spec.rb +6 -0
- data/spec/unit/provider/package/gem_spec.rb +1 -1
- data/spec/unit/provider/package/nim_spec.rb +42 -0
- data/spec/unit/provider/package/pip2_spec.rb +1 -1
- data/spec/unit/provider/package/pip3_spec.rb +1 -1
- data/spec/unit/provider/package/pip_spec.rb +38 -1
- data/spec/unit/provider/package/pkg_spec.rb +19 -5
- data/spec/unit/provider/package/puppet_gem_spec.rb +1 -1
- data/spec/unit/provider/package/puppetserver_gem_spec.rb +1 -1
- data/spec/unit/provider/package/windows/exe_package_spec.rb +17 -0
- data/spec/unit/provider/parsedfile_spec.rb +10 -0
- data/spec/unit/provider/service/freebsd_spec.rb +1 -1
- data/spec/unit/provider/service/launchd_spec.rb +11 -0
- data/spec/unit/provider/service/systemd_spec.rb +13 -1
- data/spec/unit/provider/user/aix_spec.rb +100 -0
- data/spec/unit/provider/user/directoryservice_spec.rb +68 -36
- data/spec/unit/provider/user/useradd_spec.rb +3 -2
- data/spec/unit/provider_spec.rb +4 -4
- data/spec/unit/puppet_spec.rb +12 -4
- data/spec/unit/resource/type_collection_spec.rb +16 -0
- data/spec/unit/resource/type_spec.rb +2 -2
- data/spec/unit/settings/config_file_spec.rb +1 -11
- data/spec/unit/settings/file_setting_spec.rb +10 -7
- data/spec/unit/settings/value_translator_spec.rb +4 -5
- data/spec/unit/settings_spec.rb +120 -79
- data/spec/unit/ssl/ssl_provider_spec.rb +18 -16
- data/spec/unit/type/exec_spec.rb +76 -29
- data/spec/unit/type/file/source_spec.rb +4 -4
- data/spec/unit/type/service_spec.rb +49 -34
- data/spec/unit/type/tidy_spec.rb +7 -0
- data/spec/unit/type/user_spec.rb +45 -0
- data/spec/unit/type_spec.rb +2 -2
- data/spec/unit/util/ldap/connection_spec.rb +10 -10
- data/spec/unit/util/ldap/manager_spec.rb +2 -2
- data/spec/unit/util/logging_spec.rb +2 -0
- data/spec/unit/util/windows/sid_spec.rb +39 -4
- data/spec/unit/util_spec.rb +1 -3
- data/spec/unit/x509/cert_provider_spec.rb +9 -1
- data/tasks/generate_cert_fixtures.rake +10 -1
- data/tasks/parallel.rake +3 -3
- metadata +53 -95
- data/ext/README.environment +0 -8
- data/ext/dbfix.sql +0 -132
- data/ext/debian/README.Debian +0 -8
- data/ext/debian/README.source +0 -2
- data/ext/debian/TODO.Debian +0 -1
- data/ext/debian/changelog.erb +0 -1122
- data/ext/debian/compat +0 -1
- data/ext/debian/control +0 -144
- data/ext/debian/copyright +0 -339
- data/ext/debian/docs +0 -1
- data/ext/debian/fileserver.conf +0 -41
- data/ext/debian/puppet-common.dirs +0 -13
- data/ext/debian/puppet-common.install +0 -3
- data/ext/debian/puppet-common.lintian-overrides +0 -5
- data/ext/debian/puppet-common.manpages +0 -28
- data/ext/debian/puppet-common.postinst +0 -35
- data/ext/debian/puppet-common.postrm +0 -33
- data/ext/debian/puppet-el.dirs +0 -1
- data/ext/debian/puppet-el.emacsen-install +0 -25
- data/ext/debian/puppet-el.emacsen-remove +0 -11
- data/ext/debian/puppet-el.emacsen-startup +0 -9
- data/ext/debian/puppet-el.install +0 -1
- data/ext/debian/puppet-testsuite.install +0 -2
- data/ext/debian/puppet-testsuite.lintian-overrides +0 -4
- data/ext/debian/puppet.lintian-overrides +0 -3
- data/ext/debian/puppet.logrotate +0 -20
- data/ext/debian/puppet.postinst +0 -20
- data/ext/debian/puppet.postrm +0 -20
- data/ext/debian/puppet.preinst +0 -20
- data/ext/debian/puppetmaster-common.install +0 -2
- data/ext/debian/puppetmaster-common.manpages +0 -2
- data/ext/debian/puppetmaster-common.postinst +0 -6
- data/ext/debian/puppetmaster-passenger.dirs +0 -4
- data/ext/debian/puppetmaster-passenger.postinst +0 -162
- data/ext/debian/puppetmaster-passenger.postrm +0 -61
- data/ext/debian/puppetmaster.README.debian +0 -17
- data/ext/debian/puppetmaster.default +0 -14
- data/ext/debian/puppetmaster.init +0 -137
- data/ext/debian/puppetmaster.lintian-overrides +0 -3
- data/ext/debian/puppetmaster.postinst +0 -20
- data/ext/debian/puppetmaster.postrm +0 -5
- data/ext/debian/puppetmaster.preinst +0 -22
- data/ext/debian/rules +0 -132
- data/ext/debian/source/format +0 -1
- data/ext/debian/source/options +0 -1
- data/ext/debian/vim-puppet.README.Debian +0 -13
- data/ext/debian/vim-puppet.dirs +0 -5
- data/ext/debian/vim-puppet.yaml +0 -7
- data/ext/debian/watch +0 -2
- data/ext/freebsd/puppetd +0 -26
- data/ext/freebsd/puppetmasterd +0 -26
- data/ext/gentoo/conf.d/puppet +0 -5
- data/ext/gentoo/conf.d/puppetmaster +0 -12
- data/ext/gentoo/init.d/puppet +0 -38
- data/ext/gentoo/init.d/puppetmaster +0 -51
- data/ext/gentoo/puppet/fileserver.conf +0 -41
- data/ext/ips/puppet-agent +0 -44
- data/ext/ips/puppet-master +0 -44
- data/ext/ips/puppet.p5m.erb +0 -12
- data/ext/ips/puppetagent.xml +0 -42
- data/ext/ips/puppetmaster.xml +0 -42
- data/ext/ips/rules +0 -19
- data/ext/ips/transforms +0 -34
- data/ext/ldap/puppet.schema +0 -24
- data/ext/logcheck/puppet +0 -23
- data/ext/osx/file_mapping.yaml +0 -28
- data/ext/osx/postflight.erb +0 -109
- data/ext/osx/preflight.erb +0 -52
- data/ext/osx/prototype.plist.erb +0 -38
- data/ext/redhat/fileserver.conf +0 -41
- data/ext/redhat/logrotate +0 -21
- data/ext/redhat/puppet.spec.erb +0 -841
- data/ext/redhat/server.init +0 -128
- data/ext/redhat/server.sysconfig +0 -13
- data/ext/solaris/pkginfo +0 -6
- data/ext/solaris/smf/puppetd.xml +0 -77
- data/ext/solaris/smf/puppetmasterd.xml +0 -77
- data/ext/solaris/smf/svc-puppetd +0 -71
- data/ext/solaris/smf/svc-puppetmasterd +0 -67
- data/ext/suse/puppet.spec +0 -310
- data/ext/suse/server.init +0 -173
- data/ext/yaml_nodes.rb +0 -105
- data/spec/unit/indirector/store_configs_spec.rb +0 -7
@@ -129,6 +129,35 @@ describe Puppet::Application::Resource do
|
|
129
129
|
end
|
130
130
|
|
131
131
|
describe "when printing output" do
|
132
|
+
it "should not emit puppet class tags when printing yaml" do
|
133
|
+
Puppet::Type.newtype(:stringify) do
|
134
|
+
ensurable
|
135
|
+
newparam(:name, isnamevar: true)
|
136
|
+
newproperty(:string)
|
137
|
+
end
|
138
|
+
|
139
|
+
Puppet::Type.type(:stringify).provide(:stringify) do
|
140
|
+
def exists?
|
141
|
+
true
|
142
|
+
end
|
143
|
+
|
144
|
+
def string
|
145
|
+
Puppet::Util::Execution::ProcessOutput.new('test', 0)
|
146
|
+
end
|
147
|
+
end
|
148
|
+
|
149
|
+
@resource_app.options[:to_yaml] = true
|
150
|
+
allow(@resource_app.command_line).to receive(:args).and_return(['stringify', 'hello', 'ensure=present', 'string=asd'])
|
151
|
+
expect(@resource_app).to receive(:puts).with(<<~YAML)
|
152
|
+
---
|
153
|
+
stringify:
|
154
|
+
hello:
|
155
|
+
ensure: present
|
156
|
+
string: test
|
157
|
+
YAML
|
158
|
+
expect { @resource_app.main }.not_to raise_error
|
159
|
+
end
|
160
|
+
|
132
161
|
it "should ensure all values to be printed are in the external encoding" do
|
133
162
|
resources = [
|
134
163
|
Puppet::Type.type(:user).new(:name => "\u2603".force_encoding(Encoding::UTF_8)).to_resource,
|
@@ -7,6 +7,9 @@ describe Puppet::Configurer do
|
|
7
7
|
Puppet[:report] = true
|
8
8
|
|
9
9
|
catalog.add_resource(resource)
|
10
|
+
allow_any_instance_of(described_class).to(
|
11
|
+
receive(:valid_server_environment?).and_return(true)
|
12
|
+
)
|
10
13
|
end
|
11
14
|
|
12
15
|
let(:node_name) { Puppet[:node_name_value] }
|
@@ -78,10 +81,10 @@ describe Puppet::Configurer do
|
|
78
81
|
configurer.run(:pluginsync => false)
|
79
82
|
end
|
80
83
|
|
81
|
-
it "
|
82
|
-
|
83
|
-
expect(
|
84
|
-
|
84
|
+
it "does not download plugins when specified environment is not vaild on server" do
|
85
|
+
expect(configurer).to receive(:valid_server_environment?).and_return(false)
|
86
|
+
expect(configurer).not_to receive(:download_plugins)
|
87
|
+
configurer.run(:pluginsync => true)
|
85
88
|
end
|
86
89
|
|
87
90
|
it "fails the run if pluginsync fails when usecacheonfailure is false" do
|
@@ -125,7 +128,6 @@ describe Puppet::Configurer do
|
|
125
128
|
it "applies a cached catalog when it can't connect to the master" do
|
126
129
|
error = Errno::ECONNREFUSED.new('Connection refused - connect(2)')
|
127
130
|
|
128
|
-
expect(Puppet::Node.indirection).to receive(:find).and_raise(error)
|
129
131
|
expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(:ignore_cache => true)).and_raise(error)
|
130
132
|
expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(:ignore_terminus => true)).and_return(catalog)
|
131
133
|
|
@@ -149,6 +151,126 @@ describe Puppet::Configurer do
|
|
149
151
|
expect(report.host).to eq('node_name_from_fact')
|
150
152
|
end
|
151
153
|
|
154
|
+
it "should warn the user when the fact value length limits are exceeded" do
|
155
|
+
Puppet[:fact_name_length_soft_limit] = 0
|
156
|
+
Puppet[:fact_value_length_soft_limit] = 1
|
157
|
+
Puppet[:top_level_facts_soft_limit] = 0
|
158
|
+
Puppet[:number_of_facts_soft_limit] = 0
|
159
|
+
Puppet[:payload_soft_limit] = 0
|
160
|
+
|
161
|
+
facts.values = { 'processors' => {
|
162
|
+
'cores' => 1,
|
163
|
+
'count' => 2,
|
164
|
+
'isa' => "i386",
|
165
|
+
'models' => [
|
166
|
+
"CPU1 @ 2.80GHz"
|
167
|
+
],
|
168
|
+
'physicalcount' => 4 }
|
169
|
+
}
|
170
|
+
Puppet::Node::Facts.indirection.save(facts)
|
171
|
+
|
172
|
+
expect(Puppet).to receive(:warning).with(/Fact value '.+' with the value length: '[1-9]*' exceeds the value length limit: [1-9]*/).twice
|
173
|
+
configurer.run
|
174
|
+
end
|
175
|
+
|
176
|
+
it "should warn the user when the payload limits are exceeded" do
|
177
|
+
Puppet[:fact_name_length_soft_limit] = 0
|
178
|
+
Puppet[:fact_value_length_soft_limit] = 0
|
179
|
+
Puppet[:top_level_facts_soft_limit] = 0
|
180
|
+
Puppet[:number_of_facts_soft_limit] = 0
|
181
|
+
Puppet[:payload_soft_limit] = 1
|
182
|
+
|
183
|
+
facts.values = { 'processors' => {
|
184
|
+
'cores' => 1,
|
185
|
+
'count' => 2,
|
186
|
+
'isa' => "i386",
|
187
|
+
'models' => [
|
188
|
+
"CPU1 @ 2.80GHz"
|
189
|
+
],
|
190
|
+
'physicalcount' => 4 }
|
191
|
+
}
|
192
|
+
Puppet::Node::Facts.indirection.save(facts)
|
193
|
+
|
194
|
+
expect(Puppet).to receive(:warning).with(/Payload with the current size of: '\d*' exceeds the payload size limit: \d*/)
|
195
|
+
configurer.run
|
196
|
+
end
|
197
|
+
|
198
|
+
it "should warn the user when the total number of facts limit is exceeded" do
|
199
|
+
Puppet[:fact_name_length_soft_limit] = 0
|
200
|
+
Puppet[:fact_value_length_soft_limit] = 0
|
201
|
+
Puppet[:top_level_facts_soft_limit] = 0
|
202
|
+
Puppet[:number_of_facts_soft_limit] = 1
|
203
|
+
Puppet[:payload_soft_limit] = 0
|
204
|
+
|
205
|
+
facts.values = {
|
206
|
+
'processors' => {
|
207
|
+
'cores' => 1,
|
208
|
+
'count' => 2,
|
209
|
+
'isa' => "i386",
|
210
|
+
'models' => [
|
211
|
+
"CPU1 @ 2.80GHz",
|
212
|
+
"CPU1 @ 2.80GHz",
|
213
|
+
"CPU1 @ 2.80GHz",
|
214
|
+
"CPU1 @ 2.80GHz",
|
215
|
+
"CPU1 @ 2.80GHz",
|
216
|
+
{
|
217
|
+
'processors' => {
|
218
|
+
'cores' => [1,2]
|
219
|
+
}
|
220
|
+
}
|
221
|
+
],
|
222
|
+
'physicalcount' => 4
|
223
|
+
}
|
224
|
+
}
|
225
|
+
Puppet::Node::Facts.indirection.save(facts)
|
226
|
+
|
227
|
+
expect(Puppet).to receive(:warning).with(/The current total number of facts: [1-9]* exceeds the number of facts limit: [1-9]*/)
|
228
|
+
configurer.run
|
229
|
+
end
|
230
|
+
|
231
|
+
it "should warn the user when the top level facts size limits are exceeded" do
|
232
|
+
Puppet[:fact_name_length_soft_limit] = 0
|
233
|
+
Puppet[:fact_value_length_soft_limit] = 0
|
234
|
+
Puppet[:top_level_facts_soft_limit] = 1
|
235
|
+
Puppet[:number_of_facts_soft_limit] = 0
|
236
|
+
Puppet[:payload_soft_limit] = 0
|
237
|
+
|
238
|
+
facts.values = {'my_new_fact_name' => 'my_new_fact_value',
|
239
|
+
'my_new_fact_name2' => 'my_new_fact_value2'}
|
240
|
+
Puppet::Node::Facts.indirection.save(facts)
|
241
|
+
|
242
|
+
expect(Puppet).to receive(:warning).with(/The current number of top level facts: [1-9]* exceeds the top facts limit: [1-9]*/)
|
243
|
+
configurer.run
|
244
|
+
end
|
245
|
+
|
246
|
+
it "should warn the user when the fact name length limits are exceeded" do
|
247
|
+
Puppet[:fact_name_length_soft_limit] = 1
|
248
|
+
Puppet[:fact_value_length_soft_limit] = 0
|
249
|
+
Puppet[:top_level_facts_soft_limit] = 0
|
250
|
+
Puppet[:number_of_facts_soft_limit] = 0
|
251
|
+
Puppet[:payload_soft_limit] = 0
|
252
|
+
|
253
|
+
facts.values = {'my_new_fact_name' => 'my_new_fact_value'}
|
254
|
+
Puppet::Node::Facts.indirection.save(facts)
|
255
|
+
|
256
|
+
expect(Puppet).to receive(:warning).with(/Fact .+ with length: '[1-9]*' exceeds the length limit: [1-9]*/)
|
257
|
+
configurer.run
|
258
|
+
end
|
259
|
+
|
260
|
+
it "shouldn't warn the user when the fact limit settings are set to 0" do
|
261
|
+
Puppet[:fact_name_length_soft_limit] = 0
|
262
|
+
Puppet[:fact_value_length_soft_limit] = 0
|
263
|
+
Puppet[:top_level_facts_soft_limit] = 0
|
264
|
+
Puppet[:number_of_facts_soft_limit] = 0
|
265
|
+
Puppet[:payload_soft_limit] = 0
|
266
|
+
|
267
|
+
facts.values = {'my_new_fact_name' => 'my_new_fact_value'}
|
268
|
+
Puppet::Node::Facts.indirection.save(facts)
|
269
|
+
|
270
|
+
expect(Puppet).not_to receive(:warning)
|
271
|
+
configurer.run
|
272
|
+
end
|
273
|
+
|
152
274
|
it "creates a new report when applying the catalog" do
|
153
275
|
options = {}
|
154
276
|
configurer.run(options)
|
@@ -461,7 +583,7 @@ describe Puppet::Configurer do
|
|
461
583
|
it "should save the report if reporting is enabled" do
|
462
584
|
Puppet.settings[:report] = true
|
463
585
|
|
464
|
-
expect(Puppet::Transaction::Report.indirection).to receive(:save).with(report, nil, instance_of(Hash))
|
586
|
+
expect(Puppet::Transaction::Report.indirection).to receive(:save).with(report, nil, instance_of(Hash)).twice
|
465
587
|
configurer.send_report(report)
|
466
588
|
end
|
467
589
|
|
@@ -489,12 +611,22 @@ describe Puppet::Configurer do
|
|
489
611
|
it "should log but not fail if saving the report fails" do
|
490
612
|
Puppet.settings[:report] = true
|
491
613
|
|
492
|
-
expect(Puppet::Transaction::Report.indirection).to receive(:save).and_raise("whatever")
|
614
|
+
expect(Puppet::Transaction::Report.indirection).to receive(:save).with(report, nil, hash_including(ignore_cache: true)).and_raise("whatever")
|
615
|
+
expect(Puppet::Transaction::Report.indirection).to receive(:save).with(report, nil, hash_including(ignore_terminus: true))
|
493
616
|
|
494
617
|
configurer.send_report(report)
|
495
618
|
|
496
619
|
expect(@logs).to include(an_object_having_attributes(level: :err, message: 'Could not send report: whatever'))
|
497
620
|
end
|
621
|
+
|
622
|
+
it "should save the cached report if fails to send the report" do
|
623
|
+
allow(Puppet::Transaction::Report.indirection).to receive(:save).with(report, nil, hash_including(ignore_terminus: true)).and_call_original
|
624
|
+
allow(Puppet::Transaction::Report.indirection).to receive(:save).with(report, nil, hash_including(ignore_cache: true)).and_raise("whatever")
|
625
|
+
|
626
|
+
expect(File).to_not be_exist(Puppet[:lastrunfile])
|
627
|
+
configurer.send_report(report)
|
628
|
+
expect(File.read(Puppet[:lastrunfile])).to match(/puppet: #{Puppet::PUPPETVERSION}/)
|
629
|
+
end
|
498
630
|
end
|
499
631
|
|
500
632
|
describe "when saving the summary report file" do
|
@@ -553,24 +685,6 @@ describe Puppet::Configurer do
|
|
553
685
|
end
|
554
686
|
end
|
555
687
|
|
556
|
-
describe "when requesting a node" do
|
557
|
-
it "uses the transaction uuid in the request" do
|
558
|
-
expect(Puppet::Node.indirection).to receive(:find).with(anything, hash_including(transaction_uuid: anything)).twice
|
559
|
-
configurer.run
|
560
|
-
end
|
561
|
-
|
562
|
-
it "sends an explicitly configured environment request" do
|
563
|
-
expect(Puppet.settings).to receive(:set_by_config?).with(:environment).and_return(true)
|
564
|
-
expect(Puppet::Node.indirection).to receive(:find).with(anything, hash_including(configured_environment: Puppet[:environment])).twice
|
565
|
-
configurer.run
|
566
|
-
end
|
567
|
-
|
568
|
-
it "does not send a configured_environment when using the default" do
|
569
|
-
expect(Puppet::Node.indirection).to receive(:find).with(anything, hash_including(configured_environment: nil)).twice
|
570
|
-
configurer.run
|
571
|
-
end
|
572
|
-
end
|
573
|
-
|
574
688
|
def expects_pluginsync
|
575
689
|
metadata = "[{\"path\":\"/etc/puppetlabs/code\",\"relative_path\":\".\",\"links\":\"follow\",\"owner\":0,\"group\":0,\"mode\":420,\"checksum\":{\"type\":\"ctime\",\"value\":\"{ctime}2020-07-10 14:00:00 -0700\"},\"type\":\"directory\",\"destination\":null}]"
|
576
690
|
stub_request(:get, %r{/puppet/v3/file_metadatas/(plugins|locales)}).to_return(status: 200, body: metadata, headers: {'Content-Type' => 'application/json'})
|
@@ -581,7 +695,7 @@ describe Puppet::Configurer do
|
|
581
695
|
end
|
582
696
|
|
583
697
|
def expects_new_catalog_only(catalog)
|
584
|
-
expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_cache: true)).and_return(catalog)
|
698
|
+
expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_cache: true, check_environment: true)).and_return(catalog)
|
585
699
|
expect(Puppet::Resource::Catalog.indirection).not_to receive(:find).with(anything, hash_including(ignore_terminus: true))
|
586
700
|
end
|
587
701
|
|
@@ -598,7 +712,7 @@ describe Puppet::Configurer do
|
|
598
712
|
def expects_fallback_to_new_catalog(catalog)
|
599
713
|
expects_pluginsync
|
600
714
|
expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_terminus: true)).and_return(nil)
|
601
|
-
expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_cache: true)).and_return(catalog)
|
715
|
+
expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_cache: true, check_environment: true)).and_return(catalog)
|
602
716
|
end
|
603
717
|
|
604
718
|
def expects_neither_new_or_cached_catalog
|
@@ -622,21 +736,13 @@ describe Puppet::Configurer do
|
|
622
736
|
configurer.run
|
623
737
|
end
|
624
738
|
|
625
|
-
it "should not
|
626
|
-
expect(Puppet::Node.indirection).not_to receive(:find)
|
739
|
+
it "should not pluginsync when a cached catalog is successfully retrieved" do
|
627
740
|
expects_cached_catalog_only(catalog)
|
628
741
|
expect(configurer).not_to receive(:download_plugins)
|
629
742
|
|
630
743
|
configurer.run
|
631
744
|
end
|
632
745
|
|
633
|
-
it "should make a node request and pluginsync when a cached catalog cannot be retrieved" do
|
634
|
-
expect(Puppet::Node.indirection).to receive(:find).and_return(nil)
|
635
|
-
expects_fallback_to_new_catalog(catalog)
|
636
|
-
|
637
|
-
configurer.run
|
638
|
-
end
|
639
|
-
|
640
746
|
it "should set its cached_catalog_status to 'explicitly_requested'" do
|
641
747
|
expects_cached_catalog_only(catalog)
|
642
748
|
|
@@ -672,7 +778,6 @@ describe Puppet::Configurer do
|
|
672
778
|
it "should not attempt to retrieve a cached catalog again if the first attempt failed" do
|
673
779
|
Puppet[:ignore_plugin_errors] = true
|
674
780
|
|
675
|
-
expect(Puppet::Node.indirection).to receive(:find).and_return(nil)
|
676
781
|
expects_neither_new_or_cached_catalog
|
677
782
|
expects_pluginsync
|
678
783
|
|
@@ -728,16 +833,6 @@ describe Puppet::Configurer do
|
|
728
833
|
Puppet.settings[:strict_environment_mode] = true
|
729
834
|
end
|
730
835
|
|
731
|
-
it "should not make a node request" do
|
732
|
-
stub_request(:get, %r{/puppet/v3/file_metadatas?/plugins}).to_return(:status => 404)
|
733
|
-
stub_request(:get, %r{/puppet/v3/file_metadatas?/pluginfacts}).to_return(:status => 404)
|
734
|
-
expects_new_catalog_only(catalog)
|
735
|
-
|
736
|
-
expect(Puppet::Node.indirection).not_to receive(:find)
|
737
|
-
|
738
|
-
configurer.run
|
739
|
-
end
|
740
|
-
|
741
836
|
it "should return nil when the catalog's environment doesn't match the agent specified environment" do
|
742
837
|
Puppet[:environment] = 'second_env'
|
743
838
|
configurer = Puppet::Configurer.new
|
@@ -951,9 +1046,23 @@ describe Puppet::Configurer do
|
|
951
1046
|
expect(Puppet::Resource::Catalog.indirection).to receive(:find).and_return(apple, banana, banana)
|
952
1047
|
|
953
1048
|
allow(Puppet).to receive(:notice)
|
1049
|
+
allow(Puppet).to receive(:push_context)
|
954
1050
|
expect(Puppet).to receive(:notice).with("Local environment: 'production' doesn't match server specified environment 'apple', restarting agent run with environment 'apple'")
|
955
1051
|
expect(Puppet).to receive(:notice).with("Local environment: 'apple' doesn't match server specified environment 'banana', restarting agent run with environment 'banana'")
|
956
1052
|
|
1053
|
+
expect(Puppet).to receive(:push_context).with(
|
1054
|
+
hash_including(current_environment: an_object_having_attributes(name: :production)),
|
1055
|
+
'Local node environment production for configurer transaction'
|
1056
|
+
)
|
1057
|
+
expect(Puppet).to receive(:push_context).with(
|
1058
|
+
hash_including(current_environment: an_object_having_attributes(name: :apple)),
|
1059
|
+
'Local node environment apple for configurer transaction'
|
1060
|
+
)
|
1061
|
+
expect(Puppet).to receive(:push_context).with(
|
1062
|
+
hash_including(current_environment: an_object_having_attributes(name: :banana)),
|
1063
|
+
'Local node environment banana for configurer transaction'
|
1064
|
+
)
|
1065
|
+
|
957
1066
|
configurer.run
|
958
1067
|
end
|
959
1068
|
|
@@ -1110,20 +1219,132 @@ describe Puppet::Configurer do
|
|
1110
1219
|
expect(configurer.run(options)).to eq(0)
|
1111
1220
|
expect(options[:report].server_used).to be_nil
|
1112
1221
|
end
|
1222
|
+
end
|
1113
1223
|
|
1114
|
-
|
1115
|
-
|
1224
|
+
describe "when selecting an environment" do
|
1225
|
+
include PuppetSpec::Files
|
1226
|
+
include PuppetSpec::Settings
|
1116
1227
|
|
1117
|
-
|
1118
|
-
|
1228
|
+
describe "when the last used environment is available" do
|
1229
|
+
let(:last_server_specified_environment) { 'development' }
|
1119
1230
|
|
1120
|
-
|
1121
|
-
|
1122
|
-
|
1231
|
+
before do
|
1232
|
+
Puppet[:lastrunfile] = file_containing('last_run_summary.yaml', <<~SUMMARY)
|
1233
|
+
---
|
1234
|
+
version:
|
1235
|
+
config: 1624882680
|
1236
|
+
puppet: 6.24.0
|
1237
|
+
application:
|
1238
|
+
initial_environment: #{Puppet[:environment]}
|
1239
|
+
converged_environment: #{last_server_specified_environment}
|
1240
|
+
run_mode: agent
|
1241
|
+
SUMMARY
|
1242
|
+
end
|
1123
1243
|
|
1124
|
-
|
1244
|
+
it "prefers the environment set via cli" do
|
1245
|
+
Puppet.settings.handlearg('--environment', 'usethis')
|
1246
|
+
configurer.run
|
1247
|
+
|
1248
|
+
expect(configurer.environment).to eq('usethis')
|
1249
|
+
end
|
1250
|
+
|
1251
|
+
it "prefers the environment set via config" do
|
1252
|
+
FileUtils.mkdir_p(Puppet[:confdir])
|
1253
|
+
set_puppet_conf(Puppet[:confdir], <<~CONF)
|
1254
|
+
[main]
|
1255
|
+
environment = usethis
|
1256
|
+
CONF
|
1257
|
+
|
1258
|
+
Puppet.initialize_settings
|
1259
|
+
configurer.run
|
1260
|
+
|
1261
|
+
expect(configurer.environment).to eq('usethis')
|
1262
|
+
end
|
1125
1263
|
|
1126
|
-
|
1264
|
+
it "uses environment from Puppet[:environment] if given a catalog" do
|
1265
|
+
configurer.run(catalog: catalog)
|
1266
|
+
|
1267
|
+
expect(configurer.environment).to eq(Puppet[:environment])
|
1268
|
+
end
|
1269
|
+
|
1270
|
+
it "uses environment from Puppet[:environment] if use_cached_catalog = true" do
|
1271
|
+
Puppet[:use_cached_catalog] = true
|
1272
|
+
expects_cached_catalog_only(catalog)
|
1273
|
+
configurer.run
|
1274
|
+
|
1275
|
+
expect(configurer.environment).to eq(Puppet[:environment])
|
1276
|
+
end
|
1277
|
+
|
1278
|
+
describe "when the environment is not set via CLI" do
|
1279
|
+
it "uses the environment found in lastrunfile if the key exists" do
|
1280
|
+
configurer.run
|
1281
|
+
|
1282
|
+
expect(configurer.environment).to eq(last_server_specified_environment)
|
1283
|
+
end
|
1284
|
+
|
1285
|
+
it "uses environment from Puppet[:environment] if strict_environment_mode is set" do
|
1286
|
+
Puppet[:strict_environment_mode] = true
|
1287
|
+
configurer.run
|
1288
|
+
|
1289
|
+
expect(configurer.environment).to eq(Puppet[:environment])
|
1290
|
+
end
|
1291
|
+
|
1292
|
+
it "uses environment from Puppet[:environment] if initial_environment is the same as converged_environment" do
|
1293
|
+
Puppet[:lastrunfile] = file_containing('last_run_summary.yaml', <<~SUMMARY)
|
1294
|
+
---
|
1295
|
+
version:
|
1296
|
+
config: 1624882680
|
1297
|
+
puppet: 6.24.0
|
1298
|
+
application:
|
1299
|
+
initial_environment: development
|
1300
|
+
converged_environment: development
|
1301
|
+
run_mode: agent
|
1302
|
+
SUMMARY
|
1303
|
+
configurer.run
|
1304
|
+
|
1305
|
+
expect(configurer.environment).to eq(Puppet[:environment])
|
1306
|
+
end
|
1307
|
+
|
1308
|
+
it "uses environment from Puppet[:environment] if the run mode doesn't match" do
|
1309
|
+
Puppet[:lastrunfile] = file_containing('last_run_summary.yaml', <<~SUMMARY)
|
1310
|
+
---
|
1311
|
+
version:
|
1312
|
+
config: 1624882680
|
1313
|
+
puppet: 6.24.0
|
1314
|
+
application:
|
1315
|
+
initial_environment: #{Puppet[:environment]}
|
1316
|
+
converged_environment: #{last_server_specified_environment}
|
1317
|
+
run_mode: user
|
1318
|
+
SUMMARY
|
1319
|
+
configurer.run
|
1320
|
+
|
1321
|
+
expect(configurer.environment).to eq(Puppet[:environment])
|
1322
|
+
end
|
1323
|
+
|
1324
|
+
it "uses environment from Puppet[:environment] if lastrunfile is invalid YAML" do
|
1325
|
+
Puppet[:lastrunfile] = file_containing('last_run_summary.yaml', <<~SUMMARY)
|
1326
|
+
Key: 'this is my very very very ' +
|
1327
|
+
'long string'
|
1328
|
+
SUMMARY
|
1329
|
+
configurer.run
|
1330
|
+
|
1331
|
+
expect(configurer.environment).to eq(Puppet[:environment])
|
1332
|
+
end
|
1333
|
+
|
1334
|
+
it "uses environment from Puppet[:environment] if lastrunfile exists but is empty" do
|
1335
|
+
Puppet[:lastrunfile] = file_containing('last_run_summary.yaml', '')
|
1336
|
+
configurer.run
|
1337
|
+
|
1338
|
+
expect(configurer.environment).to eq(Puppet[:environment])
|
1339
|
+
end
|
1340
|
+
|
1341
|
+
it "uses environment from Puppet[:environment] if the last used one cannot be found" do
|
1342
|
+
Puppet[:lastrunfile] = tmpfile('last_run_summary.yaml')
|
1343
|
+
configurer.run
|
1344
|
+
|
1345
|
+
expect(configurer.environment).to eq(Puppet[:environment])
|
1346
|
+
end
|
1347
|
+
end
|
1127
1348
|
end
|
1128
1349
|
end
|
1129
1350
|
end
|