puppet 6.28.0-universal-darwin → 7.0.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/CODEOWNERS +16 -2
- data/CONTRIBUTING.md +5 -5
- data/Gemfile +5 -7
- data/Gemfile.lock +52 -131
- data/README.md +5 -5
- data/conf/fileserver.conf +5 -10
- data/ext/README.environment +8 -0
- data/ext/build_defaults.yaml +1 -1
- data/ext/dbfix.sql +132 -0
- data/ext/debian/README.Debian +8 -0
- data/ext/debian/README.source +2 -0
- data/ext/debian/TODO.Debian +1 -0
- data/ext/debian/changelog.erb +1122 -0
- data/ext/debian/compat +1 -0
- data/ext/debian/control +144 -0
- data/ext/debian/copyright +339 -0
- data/ext/debian/docs +1 -0
- data/ext/debian/fileserver.conf +41 -0
- data/ext/debian/puppet-common.dirs +13 -0
- data/ext/debian/puppet-common.install +3 -0
- data/ext/debian/puppet-common.lintian-overrides +5 -0
- data/ext/debian/puppet-common.manpages +28 -0
- data/ext/debian/puppet-common.postinst +35 -0
- data/ext/debian/puppet-common.postrm +33 -0
- data/ext/debian/puppet-el.dirs +1 -0
- data/ext/debian/puppet-el.emacsen-install +25 -0
- data/ext/debian/puppet-el.emacsen-remove +11 -0
- data/ext/debian/puppet-el.emacsen-startup +9 -0
- data/ext/debian/puppet-el.install +1 -0
- data/ext/debian/puppet-testsuite.install +2 -0
- data/ext/debian/puppet-testsuite.lintian-overrides +4 -0
- data/ext/debian/puppet.lintian-overrides +3 -0
- data/ext/debian/puppet.logrotate +20 -0
- data/ext/debian/puppet.postinst +20 -0
- data/ext/debian/puppet.postrm +20 -0
- data/ext/debian/puppet.preinst +20 -0
- data/ext/debian/puppetmaster-common.install +2 -0
- data/ext/debian/puppetmaster-common.manpages +2 -0
- data/ext/debian/puppetmaster-common.postinst +6 -0
- data/ext/debian/puppetmaster-passenger.dirs +4 -0
- data/ext/debian/puppetmaster-passenger.postinst +162 -0
- data/ext/debian/puppetmaster-passenger.postrm +61 -0
- data/ext/debian/puppetmaster.README.debian +17 -0
- data/ext/debian/puppetmaster.default +14 -0
- data/ext/debian/puppetmaster.init +137 -0
- data/ext/debian/puppetmaster.lintian-overrides +3 -0
- data/ext/debian/puppetmaster.postinst +20 -0
- data/ext/debian/puppetmaster.postrm +5 -0
- data/ext/debian/puppetmaster.preinst +22 -0
- data/ext/debian/rules +132 -0
- data/ext/debian/source/format +1 -0
- data/ext/debian/source/options +1 -0
- data/ext/debian/vim-puppet.README.Debian +13 -0
- data/ext/debian/vim-puppet.dirs +5 -0
- data/ext/debian/vim-puppet.yaml +7 -0
- data/ext/debian/watch +2 -0
- data/ext/freebsd/puppetd +26 -0
- data/ext/freebsd/puppetmasterd +26 -0
- data/ext/gentoo/conf.d/puppet +5 -0
- data/ext/gentoo/conf.d/puppetmaster +12 -0
- data/ext/gentoo/init.d/puppet +38 -0
- data/ext/gentoo/init.d/puppetmaster +51 -0
- data/ext/gentoo/puppet/fileserver.conf +41 -0
- data/ext/ips/puppet-agent +44 -0
- data/ext/ips/puppet-master +44 -0
- data/ext/ips/puppet.p5m.erb +12 -0
- data/ext/ips/puppetagent.xml +42 -0
- data/ext/ips/puppetmaster.xml +42 -0
- data/ext/ips/rules +19 -0
- data/ext/ips/transforms +34 -0
- data/ext/ldap/puppet.schema +24 -0
- data/ext/logcheck/puppet +23 -0
- data/{examples → ext}/nagios/check_puppet.rb +2 -2
- data/ext/osx/file_mapping.yaml +28 -0
- data/ext/osx/postflight.erb +109 -0
- data/ext/osx/preflight.erb +52 -0
- data/ext/osx/prototype.plist.erb +38 -0
- data/ext/osx/puppet.plist +0 -2
- data/ext/project_data.yaml +1 -15
- data/ext/redhat/fileserver.conf +41 -0
- data/ext/redhat/logrotate +21 -0
- data/ext/redhat/puppet.spec.erb +841 -0
- data/ext/redhat/server.init +128 -0
- data/ext/redhat/server.sysconfig +13 -0
- data/{examples/enc → ext}/regexp_nodes/classes/databases +0 -0
- data/{examples/enc → ext}/regexp_nodes/classes/webservers +0 -0
- data/{examples/enc → ext}/regexp_nodes/environment/development +0 -0
- data/{examples/enc → ext}/regexp_nodes/parameters/service/prod +0 -0
- data/{examples/enc → ext}/regexp_nodes/parameters/service/qa +0 -0
- data/{examples/enc → ext}/regexp_nodes/parameters/service/sandbox +0 -0
- data/{examples/enc → ext}/regexp_nodes/regexp_nodes.rb +0 -0
- data/ext/solaris/pkginfo +6 -0
- data/ext/solaris/smf/puppetd.xml +77 -0
- data/ext/solaris/smf/puppetmasterd.xml +77 -0
- data/ext/solaris/smf/svc-puppetd +71 -0
- data/ext/solaris/smf/svc-puppetmasterd +67 -0
- data/ext/suse/puppet.spec +310 -0
- data/ext/suse/server.init +173 -0
- data/ext/windows/service/daemon.rb +6 -5
- data/ext/yaml_nodes.rb +105 -0
- data/install.rb +21 -17
- data/lib/puppet/agent.rb +11 -47
- data/lib/puppet/application/agent.rb +16 -18
- data/lib/puppet/application/apply.rb +4 -24
- data/lib/puppet/application/device.rb +100 -106
- data/lib/puppet/application/filebucket.rb +13 -10
- data/lib/puppet/application/lookup.rb +24 -74
- data/lib/puppet/application/resource.rb +16 -32
- data/lib/puppet/application/script.rb +0 -2
- data/lib/puppet/application/ssl.rb +1 -13
- data/lib/puppet/application.rb +178 -108
- data/lib/puppet/application_support.rb +0 -7
- data/lib/puppet/concurrent/thread_local_singleton.rb +3 -6
- data/lib/puppet/configurer/downloader.rb +1 -2
- data/lib/puppet/configurer/plugin_handler.rb +21 -19
- data/lib/puppet/configurer.rb +86 -183
- data/lib/puppet/confine/variable.rb +1 -1
- data/lib/puppet/defaults.rb +130 -244
- data/lib/puppet/environments.rb +82 -146
- data/lib/puppet/face/facts.rb +5 -103
- data/lib/puppet/face/generate.rb +0 -2
- data/lib/puppet/face/help/action.erb +0 -1
- data/lib/puppet/face/help/face.erb +0 -1
- data/lib/puppet/face/help.rb +1 -1
- data/lib/puppet/face/node/clean.rb +0 -11
- data/lib/puppet/face/plugin.rb +5 -8
- data/lib/puppet/ffi/windows/api_types.rb +311 -0
- data/lib/puppet/ffi/windows/constants.rb +404 -0
- data/lib/puppet/ffi/windows/functions.rb +628 -0
- data/lib/puppet/ffi/windows/structs.rb +338 -0
- data/lib/puppet/ffi/windows.rb +12 -0
- data/lib/puppet/file_serving/configuration/parser.rb +3 -34
- data/lib/puppet/file_serving/configuration.rb +0 -8
- data/lib/puppet/file_serving/fileset.rb +2 -14
- data/lib/puppet/file_serving/http_metadata.rb +1 -1
- data/lib/puppet/file_serving/metadata.rb +0 -3
- data/lib/puppet/file_serving/mount/file.rb +4 -4
- data/lib/puppet/file_serving/mount.rb +1 -2
- data/lib/puppet/file_system/file_impl.rb +8 -10
- data/lib/puppet/file_system/jruby.rb +1 -1
- data/lib/puppet/file_system/memory_file.rb +1 -8
- data/lib/puppet/file_system/windows.rb +6 -8
- data/lib/puppet/file_system.rb +1 -1
- data/lib/puppet/forge/repository.rb +0 -1
- data/lib/puppet/forge.rb +4 -4
- data/lib/puppet/functions/all.rb +1 -1
- data/lib/puppet/functions/camelcase.rb +1 -1
- data/lib/puppet/functions/capitalize.rb +2 -2
- data/lib/puppet/functions/downcase.rb +2 -2
- data/lib/puppet/functions/empty.rb +0 -8
- data/lib/puppet/functions/find_template.rb +2 -2
- data/lib/puppet/functions/get.rb +5 -5
- data/lib/puppet/functions/group_by.rb +5 -13
- data/lib/puppet/functions/lest.rb +1 -1
- data/lib/puppet/functions/new.rb +100 -100
- data/lib/puppet/functions/next.rb +1 -18
- data/lib/puppet/functions/partition.rb +4 -12
- data/lib/puppet/functions/require.rb +5 -5
- data/lib/puppet/functions/sort.rb +3 -3
- data/lib/puppet/functions/strftime.rb +0 -1
- data/lib/puppet/functions/tree_each.rb +10 -7
- data/lib/puppet/functions/type.rb +4 -4
- data/lib/puppet/functions/unwrap.rb +2 -17
- data/lib/puppet/functions/upcase.rb +2 -2
- data/lib/puppet/functions/versioncmp.rb +2 -6
- data/lib/puppet/generate/models/type/type.rb +4 -1
- data/lib/puppet/generate/type.rb +0 -9
- data/lib/puppet/http/client.rb +167 -137
- data/lib/puppet/{network/resolver.rb → http/dns.rb} +2 -2
- data/lib/puppet/http/errors.rb +16 -0
- data/lib/puppet/http/external_client.rb +5 -7
- data/lib/puppet/{network/http → http}/factory.rb +8 -15
- data/lib/puppet/{network/http → http}/pool.rb +61 -26
- data/lib/puppet/{network/http/session.rb → http/pool_entry.rb} +2 -3
- data/lib/puppet/http/proxy.rb +137 -0
- data/lib/puppet/http/redirector.rb +4 -17
- data/lib/puppet/http/resolver/server_list.rb +10 -25
- data/lib/puppet/http/resolver/settings.rb +4 -7
- data/lib/puppet/http/resolver/srv.rb +7 -11
- data/lib/puppet/http/resolver.rb +5 -15
- data/lib/puppet/http/response.rb +36 -54
- data/lib/puppet/http/response_converter.rb +24 -0
- data/lib/puppet/http/response_net_http.rb +42 -0
- data/lib/puppet/http/retry_after_handler.rb +4 -13
- data/lib/puppet/http/service/ca.rb +11 -22
- data/lib/puppet/http/service/compiler.rb +23 -144
- data/lib/puppet/http/service/file_server.rb +19 -29
- data/lib/puppet/http/service/puppetserver.rb +26 -12
- data/lib/puppet/http/service/report.rb +8 -10
- data/lib/puppet/http/service.rb +12 -26
- data/lib/puppet/http/session.rb +11 -20
- data/lib/puppet/{network/http → http}/site.rb +1 -2
- data/lib/puppet/http.rb +22 -13
- data/lib/puppet/indirector/catalog/compiler.rb +6 -25
- data/lib/puppet/indirector/catalog/rest.rb +2 -5
- data/lib/puppet/indirector/facts/facter.rb +6 -6
- data/lib/puppet/indirector/facts/rest.rb +3 -22
- data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -9
- data/lib/puppet/indirector/file_content/rest.rb +2 -6
- data/lib/puppet/indirector/file_metadata/rest.rb +3 -10
- data/lib/puppet/indirector/file_server.rb +1 -8
- data/lib/puppet/indirector/generic_http.rb +0 -11
- data/lib/puppet/indirector/indirection.rb +1 -1
- data/lib/puppet/indirector/node/rest.rb +2 -4
- data/lib/puppet/indirector/report/rest.rb +3 -8
- data/lib/puppet/indirector/request.rb +0 -101
- data/lib/puppet/indirector/resource/ral.rb +1 -6
- data/lib/puppet/indirector/rest.rb +12 -263
- data/lib/puppet/indirector/terminus.rb +0 -4
- data/lib/puppet/interface/documentation.rb +0 -1
- data/lib/puppet/module/plan.rb +1 -0
- data/lib/puppet/module/task.rb +1 -1
- data/lib/puppet/module.rb +0 -1
- data/lib/puppet/module_tool/applications/installer.rb +2 -56
- 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/applications.rb +0 -1
- data/lib/puppet/module_tool/errors/shared.rb +2 -34
- data/lib/puppet/network/authconfig.rb +2 -96
- data/lib/puppet/network/authorization.rb +13 -35
- data/lib/puppet/network/formats.rb +0 -67
- data/lib/puppet/network/http/api/indirected_routes.rb +3 -21
- data/lib/puppet/network/http/api/master/v3.rb +11 -13
- data/lib/puppet/network/http/connection.rb +247 -316
- data/lib/puppet/network/http/handler.rb +0 -1
- data/lib/puppet/network/http.rb +3 -3
- data/lib/puppet/network/http_pool.rb +16 -34
- data/lib/puppet/node/environment.rb +11 -10
- data/lib/puppet/node.rb +2 -31
- data/lib/puppet/pal/json_catalog_encoder.rb +4 -0
- data/lib/puppet/pal/pal_impl.rb +4 -2
- data/lib/puppet/parser/ast/leaf.rb +2 -3
- data/lib/puppet/parser/ast/pops_bridge.rb +0 -38
- data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +14 -39
- data/lib/puppet/parser/compiler.rb +0 -198
- data/lib/puppet/parser/functions/fqdn_rand.rb +6 -14
- data/lib/puppet/parser/resource.rb +1 -70
- data/lib/puppet/parser/scope.rb +0 -1
- data/lib/puppet/parser/templatewrapper.rb +1 -2
- data/lib/puppet/pops/evaluator/closure.rb +5 -7
- data/lib/puppet/pops/evaluator/deferred_resolver.rb +3 -5
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +0 -5
- data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +3 -4
- data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
- data/lib/puppet/pops/issues.rb +0 -5
- data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +6 -8
- data/lib/puppet/pops/lookup/lookup_adapter.rb +2 -3
- data/lib/puppet/pops/model/ast.pp +0 -42
- data/lib/puppet/pops/model/ast.rb +0 -291
- data/lib/puppet/pops/model/ast_transformer.rb +1 -1
- data/lib/puppet/pops/model/factory.rb +1 -47
- data/lib/puppet/pops/model/model_label_provider.rb +0 -5
- data/lib/puppet/pops/model/model_tree_dumper.rb +0 -22
- data/lib/puppet/pops/model/pn_transformer.rb +0 -16
- data/lib/puppet/pops/parser/code_merger.rb +4 -4
- data/lib/puppet/pops/parser/egrammar.ra +0 -58
- data/lib/puppet/pops/parser/eparser.rb +1685 -1896
- data/lib/puppet/pops/parser/lexer2.rb +91 -92
- data/lib/puppet/pops/parser/parser_support.rb +0 -5
- data/lib/puppet/pops/parser/slurp_support.rb +0 -1
- data/lib/puppet/pops/resource/resource_type_impl.rb +2 -24
- data/lib/puppet/pops/serialization/to_stringified_converter.rb +1 -1
- data/lib/puppet/pops/types/p_sem_ver_type.rb +2 -8
- data/lib/puppet/pops/types/p_sensitive_type.rb +0 -10
- data/lib/puppet/pops/types/type_calculator.rb +0 -7
- data/lib/puppet/pops/types/type_formatter.rb +3 -4
- data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -1
- data/lib/puppet/pops/types/type_parser.rb +0 -4
- data/lib/puppet/pops/types/types.rb +1 -2
- data/lib/puppet/pops/validation/checker4_0.rb +9 -37
- data/lib/puppet/pops/validation/tasks_checker.rb +0 -12
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -2
- data/lib/puppet/property/list.rb +1 -1
- data/lib/puppet/provider/aix_object.rb +1 -1
- data/lib/puppet/provider/exec/posix.rb +4 -16
- data/lib/puppet/provider/group/groupadd.rb +10 -18
- data/lib/puppet/provider/nameservice.rb +0 -18
- data/lib/puppet/provider/package/apt.rb +2 -34
- data/lib/puppet/provider/package/aptitude.rb +0 -6
- data/lib/puppet/provider/package/dnfmodule.rb +1 -1
- data/lib/puppet/provider/package/dpkg.rb +0 -10
- data/lib/puppet/provider/package/gem.rb +23 -3
- data/lib/puppet/provider/package/nim.rb +6 -11
- data/lib/puppet/provider/package/pip.rb +3 -16
- data/lib/puppet/provider/package/pkg.rb +2 -23
- data/lib/puppet/provider/package/portage.rb +1 -1
- data/lib/puppet/provider/package/puppet_gem.rb +1 -4
- data/lib/puppet/provider/package/puppetserver_gem.rb +17 -8
- data/lib/puppet/provider/package/windows/exe_package.rb +1 -30
- data/lib/puppet/provider/package/windows/package.rb +1 -2
- data/lib/puppet/provider/package/windows.rb +1 -14
- data/lib/puppet/provider/package/yum.rb +1 -1
- data/lib/puppet/provider/parsedfile.rb +0 -3
- data/lib/puppet/provider/service/base.rb +1 -1
- data/lib/puppet/provider/service/debian.rb +0 -2
- data/lib/puppet/provider/service/init.rb +9 -10
- 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 +194 -76
- data/lib/puppet/provider/service/systemd.rb +6 -16
- data/lib/puppet/provider/service/upstart.rb +5 -5
- data/lib/puppet/provider/service/windows.rb +0 -38
- data/lib/puppet/provider/user/aix.rb +3 -46
- data/lib/puppet/provider/user/directoryservice.rb +11 -39
- data/lib/puppet/provider/user/useradd.rb +24 -134
- data/lib/puppet/provider.rb +1 -14
- data/lib/puppet/reference/configuration.rb +8 -7
- data/lib/puppet/reference/indirection.rb +1 -1
- data/lib/puppet/reference/providers.rb +2 -2
- data/lib/puppet/resource/catalog.rb +2 -15
- data/lib/puppet/resource/type.rb +3 -119
- data/lib/puppet/resource/type_collection.rb +3 -49
- data/lib/puppet/resource.rb +6 -127
- data/lib/puppet/runtime.rb +2 -13
- data/lib/puppet/settings/environment_conf.rb +0 -1
- data/lib/puppet/settings/integer_setting.rb +17 -0
- data/lib/puppet/settings/port_setting.rb +15 -0
- data/lib/puppet/settings/priority_setting.rb +5 -4
- data/lib/puppet/settings.rb +82 -98
- data/lib/puppet/ssl/base.rb +3 -5
- data/lib/puppet/ssl/certificate.rb +0 -6
- data/lib/puppet/ssl/certificate_request.rb +1 -12
- data/lib/puppet/ssl/certificate_signer.rb +6 -0
- data/lib/puppet/ssl/oids.rb +3 -1
- data/lib/puppet/ssl/ssl_provider.rb +36 -75
- data/lib/puppet/ssl/state_machine.rb +20 -14
- data/lib/puppet/ssl/verifier.rb +2 -6
- data/lib/puppet/ssl.rb +10 -6
- data/lib/puppet/test/test_helper.rb +2 -7
- data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
- data/lib/puppet/transaction/persistence.rb +1 -21
- data/lib/puppet/transaction/report.rb +3 -19
- data/lib/puppet/transaction.rb +1 -7
- data/lib/puppet/type/exec.rb +6 -36
- data/lib/puppet/type/file/checksum.rb +1 -1
- data/lib/puppet/type/file/data_sync.rb +1 -1
- data/lib/puppet/type/file/mode.rb +0 -6
- data/lib/puppet/type/file/selcontext.rb +1 -1
- data/lib/puppet/type/file/source.rb +1 -1
- data/lib/puppet/type/file.rb +12 -32
- data/lib/puppet/type/filebucket.rb +4 -4
- data/lib/puppet/type/group.rb +1 -0
- data/lib/puppet/type/package.rb +8 -16
- data/lib/puppet/type/resources.rb +1 -1
- data/lib/puppet/type/service.rb +41 -26
- data/lib/puppet/type/tidy.rb +3 -22
- data/lib/puppet/type/user.rb +13 -35
- data/lib/puppet/type.rb +1 -77
- data/lib/puppet/util/autoload.rb +8 -1
- data/lib/puppet/util/command_line.rb +1 -1
- data/lib/puppet/util/execution.rb +0 -11
- data/lib/puppet/util/filetype.rb +2 -2
- data/lib/puppet/util/http_proxy.rb +2 -215
- data/lib/puppet/util/json.rb +0 -20
- data/lib/puppet/util/log.rb +4 -8
- data/lib/puppet/util/logging.rb +25 -1
- data/lib/puppet/util/monkey_patches.rb +2 -59
- data/lib/puppet/util/package.rb +16 -25
- data/lib/puppet/util/pidlock.rb +1 -1
- data/lib/puppet/util/posix.rb +5 -54
- data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +1 -1
- data/lib/puppet/util/rdoc.rb +0 -7
- data/lib/puppet/util/retry_action.rb +1 -1
- data/lib/puppet/util/run_mode.rb +9 -1
- data/lib/puppet/util/selinux.rb +4 -30
- data/lib/puppet/util/suidmanager.rb +2 -1
- data/lib/puppet/util/symbolic_file_mode.rb +17 -29
- data/lib/puppet/util/tagging.rb +0 -1
- data/lib/puppet/util/windows/adsi.rb +0 -46
- data/lib/puppet/util/windows/daemon.rb +360 -0
- data/lib/puppet/util/windows/error.rb +1 -0
- data/lib/puppet/util/windows/eventlog.rb +4 -9
- data/lib/puppet/util/windows/file.rb +8 -242
- data/lib/puppet/util/windows/monkey_patches/process.rb +414 -0
- data/lib/puppet/util/windows/principal.rb +2 -9
- data/lib/puppet/util/windows/process.rb +4 -226
- data/lib/puppet/util/windows/service.rb +11 -457
- data/lib/puppet/util/windows/sid.rb +2 -6
- data/lib/puppet/util/windows/string.rb +12 -13
- data/lib/puppet/util/windows/user.rb +2 -0
- data/lib/puppet/util/windows.rb +3 -11
- data/lib/puppet/util/yaml.rb +1 -42
- data/lib/puppet/util.rb +5 -5
- data/lib/puppet/vendor/require_vendored.rb +0 -1
- data/lib/puppet/version.rb +1 -1
- data/lib/puppet/x509/cert_provider.rb +29 -1
- data/lib/puppet/x509.rb +5 -1
- data/lib/puppet.rb +34 -27
- data/locales/puppet.pot +9633 -5
- data/man/man5/puppet.conf.5 +286 -401
- data/man/man8/puppet-agent.8 +2 -5
- data/man/man8/puppet-apply.8 +2 -2
- 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 +2 -2
- data/man/man8/puppet-doc.8 +1 -1
- data/man/man8/puppet-epp.8 +1 -1
- data/man/man8/puppet-facts.8 +8 -51
- data/man/man8/puppet-filebucket.8 +4 -4
- data/man/man8/puppet-generate.8 +1 -1
- data/man/man8/puppet-help.8 +1 -1
- data/man/man8/puppet-lookup.8 +6 -9
- data/man/man8/puppet-module.8 +3 -60
- 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 +2 -2
- data/man/man8/puppet-ssl.8 +1 -5
- data/man/man8/puppet.8 +2 -2
- data/spec/fixtures/ssl/127.0.0.1-key.pem +57 -107
- data/spec/fixtures/ssl/127.0.0.1.pem +31 -52
- data/spec/fixtures/ssl/bad-basic-constraints.pem +35 -57
- data/spec/fixtures/ssl/bad-int-basic-constraints.pem +35 -57
- data/spec/fixtures/ssl/ca.pem +35 -57
- data/spec/fixtures/ssl/crl.pem +18 -28
- data/spec/fixtures/ssl/ec-key.pem +11 -11
- data/spec/fixtures/ssl/ec.pem +24 -33
- data/spec/fixtures/ssl/encrypted-ec-key.pem +12 -12
- data/spec/fixtures/ssl/encrypted-key.pem +58 -108
- data/spec/fixtures/ssl/intermediate-agent-crl.pem +19 -28
- data/spec/fixtures/ssl/intermediate-agent.pem +36 -57
- data/spec/fixtures/ssl/intermediate-crl.pem +21 -31
- data/spec/fixtures/ssl/intermediate.pem +36 -57
- data/spec/fixtures/ssl/pluto-key.pem +57 -107
- data/spec/fixtures/ssl/pluto.pem +30 -52
- data/spec/fixtures/ssl/request-key.pem +57 -107
- data/spec/fixtures/ssl/request.pem +26 -47
- data/spec/fixtures/ssl/revoked-key.pem +57 -107
- data/spec/fixtures/ssl/revoked.pem +30 -52
- data/spec/fixtures/ssl/signed-key.pem +57 -107
- data/spec/fixtures/ssl/signed.pem +30 -52
- data/spec/fixtures/ssl/tampered-cert.pem +30 -52
- data/spec/fixtures/ssl/tampered-csr.pem +26 -47
- data/spec/fixtures/ssl/unknown-127.0.0.1-key.pem +57 -107
- data/spec/fixtures/ssl/unknown-127.0.0.1.pem +29 -50
- data/spec/fixtures/ssl/unknown-ca-key.pem +57 -107
- data/spec/fixtures/ssl/unknown-ca.pem +33 -55
- data/spec/fixtures/unit/forge/bacula.json +1 -1
- data/spec/fixtures/unit/provider/service/smf/{svcs.out → svcs_instances.out} +0 -0
- data/spec/fixtures/unit/provider/user/aix/aix_passwd_file.out +0 -4
- data/spec/integration/application/agent_spec.rb +50 -406
- data/spec/integration/application/apply_spec.rb +1 -20
- data/spec/integration/application/filebucket_spec.rb +16 -32
- data/spec/integration/application/help_spec.rb +2 -0
- data/spec/integration/application/lookup_spec.rb +50 -81
- data/spec/integration/application/module_spec.rb +0 -21
- data/spec/integration/application/plugin_spec.rb +24 -2
- data/spec/integration/configurer_spec.rb +2 -18
- data/spec/integration/defaults_spec.rb +14 -3
- data/spec/integration/environments/settings_interpolation_spec.rb +4 -0
- data/spec/integration/http/client_spec.rb +4 -63
- data/spec/integration/indirector/direct_file_server_spec.rb +3 -1
- data/spec/integration/indirector/facts/facter_spec.rb +39 -93
- data/spec/integration/network/http_pool_spec.rb +3 -21
- data/spec/integration/parser/catalog_spec.rb +0 -38
- data/spec/integration/parser/node_spec.rb +0 -9
- data/spec/integration/parser/pcore_resource_spec.rb +0 -47
- data/spec/integration/resource/type_collection_spec.rb +6 -2
- data/spec/integration/transaction/report_spec.rb +1 -1
- data/spec/integration/transaction_spec.rb +9 -4
- data/spec/integration/type/exec_spec.rb +45 -70
- data/spec/integration/type/file_spec.rb +7 -6
- data/spec/integration/type/package_spec.rb +6 -6
- data/spec/integration/util/rdoc/parser_spec.rb +1 -1
- data/spec/integration/util/windows/adsi_spec.rb +1 -21
- data/spec/integration/util/windows/monkey_patches/process_spec.rb +231 -0
- data/spec/integration/util/windows/principal_spec.rb +0 -21
- data/spec/integration/util/windows/process_spec.rb +9 -1
- data/spec/integration/util/windows/registry_spec.rb +10 -6
- data/spec/integration/util/windows/security_spec.rb +1 -1
- data/spec/lib/matchers/include.rb +27 -0
- data/spec/lib/matchers/include_spec.rb +32 -0
- data/spec/lib/puppet/test_ca.rb +2 -7
- data/spec/lib/puppet_spec/https.rb +1 -1
- data/spec/lib/puppet_spec/modules.rb +2 -13
- data/spec/lib/puppet_spec/puppetserver.rb +3 -55
- data/spec/lib/puppet_spec/settings.rb +1 -1
- data/spec/shared_behaviours/documentation_on_faces.rb +2 -0
- data/spec/spec_helper.rb +17 -13
- data/spec/unit/agent_spec.rb +8 -38
- data/spec/unit/application/agent_spec.rb +19 -33
- data/spec/unit/application/apply_spec.rb +56 -76
- data/spec/unit/application/facts_spec.rb +12 -456
- data/spec/unit/application/filebucket_spec.rb +43 -39
- data/spec/unit/application/lookup_spec.rb +10 -131
- data/spec/unit/application/resource_spec.rb +0 -29
- data/spec/unit/application/ssl_spec.rb +2 -25
- data/spec/unit/application_spec.rb +9 -51
- data/spec/unit/certificate_factory_spec.rb +1 -1
- data/spec/unit/configurer/downloader_spec.rb +6 -8
- data/spec/unit/configurer/plugin_handler_spec.rb +56 -18
- data/spec/unit/configurer_spec.rb +68 -327
- data/spec/unit/confine/feature_spec.rb +1 -1
- data/spec/unit/confine_spec.rb +2 -8
- data/spec/unit/context/trusted_information_spec.rb +2 -6
- data/spec/unit/daemon_spec.rb +11 -2
- data/spec/unit/defaults_spec.rb +68 -55
- data/spec/unit/environments_spec.rb +68 -408
- data/spec/unit/face/generate_spec.rb +0 -64
- data/spec/unit/face/node_spec.rb +11 -0
- data/spec/unit/face/plugin_spec.rb +73 -33
- data/spec/unit/file_bucket/dipper_spec.rb +2 -2
- data/spec/unit/file_bucket/file_spec.rb +1 -1
- data/spec/unit/file_serving/configuration/parser_spec.rb +15 -41
- data/spec/unit/file_serving/configuration_spec.rb +10 -26
- data/spec/unit/file_serving/fileset_spec.rb +0 -60
- data/spec/unit/file_serving/metadata_spec.rb +3 -3
- data/spec/unit/file_serving/terminus_helper_spec.rb +4 -11
- data/spec/unit/file_system_spec.rb +4 -56
- data/spec/unit/forge/module_release_spec.rb +10 -5
- data/spec/unit/functions/assert_type_spec.rb +1 -1
- data/spec/unit/functions/camelcase_spec.rb +1 -1
- data/spec/unit/functions/capitalize_spec.rb +1 -1
- data/spec/unit/functions/downcase_spec.rb +1 -1
- data/spec/unit/functions/empty_spec.rb +0 -10
- data/spec/unit/functions/logging_spec.rb +0 -1
- data/spec/unit/functions/lookup_spec.rb +0 -64
- data/spec/unit/functions/unwrap_spec.rb +0 -8
- data/spec/unit/functions/upcase_spec.rb +1 -1
- data/spec/unit/functions/versioncmp_spec.rb +4 -40
- data/spec/unit/functions4_spec.rb +2 -2
- data/spec/unit/gettext/config_spec.rb +0 -12
- data/spec/unit/http/client_spec.rb +8 -84
- data/spec/unit/{network/resolver_spec.rb → http/dns_spec.rb} +3 -3
- data/spec/unit/http/external_client_spec.rb +4 -4
- data/spec/unit/{network/http → http}/factory_spec.rb +5 -30
- data/spec/unit/{network/http/session_spec.rb → http/pool_entry_spec.rb} +3 -3
- data/spec/unit/{network/http → http}/pool_spec.rb +12 -17
- data/spec/unit/{util/http_proxy_spec.rb → http/proxy_spec.rb} +2 -69
- data/spec/unit/http/resolver_spec.rb +13 -13
- data/spec/unit/http/service/compiler_spec.rb +0 -193
- data/spec/unit/http/service/file_server_spec.rb +3 -3
- data/spec/unit/http/service/puppetserver_spec.rb +34 -4
- data/spec/unit/http/service_spec.rb +0 -1
- data/spec/unit/http/session_spec.rb +16 -14
- data/spec/unit/{network/http → http}/site_spec.rb +3 -3
- data/spec/unit/indirector/catalog/compiler_spec.rb +10 -101
- data/spec/unit/indirector/catalog/rest_spec.rb +0 -8
- data/spec/unit/indirector/face_spec.rb +1 -0
- data/spec/unit/indirector/facts/facter_spec.rb +3 -0
- data/spec/unit/indirector/file_bucket_file/file_spec.rb +5 -3
- data/spec/unit/indirector/file_bucket_file/selector_spec.rb +8 -26
- data/spec/unit/indirector/file_content/rest_spec.rb +0 -4
- data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -4
- data/spec/unit/indirector/file_server_spec.rb +1 -15
- data/spec/unit/indirector/indirection_spec.rb +15 -18
- data/spec/unit/indirector/report/rest_spec.rb +2 -17
- data/spec/unit/indirector/request_spec.rb +0 -264
- data/spec/unit/indirector/resource/ral_spec.rb +75 -40
- data/spec/unit/indirector/rest_spec.rb +98 -752
- data/spec/unit/indirector/store_configs_spec.rb +7 -0
- data/spec/unit/indirector_spec.rb +2 -2
- data/spec/unit/interface/action_spec.rb +9 -0
- data/spec/unit/module_spec.rb +1 -15
- data/spec/unit/module_tool/applications/installer_spec.rb +0 -105
- data/spec/unit/network/authconfig_spec.rb +2 -129
- data/spec/unit/network/authorization_spec.rb +2 -55
- data/spec/unit/network/formats_spec.rb +4 -51
- data/spec/unit/network/http/api/indirected_routes_spec.rb +5 -92
- data/spec/unit/network/http/api/master/v3_spec.rb +28 -7
- data/spec/unit/network/http/api_spec.rb +10 -0
- data/spec/unit/network/http/connection_spec.rb +19 -41
- data/spec/unit/network/http/handler_spec.rb +0 -1
- data/spec/unit/network/http_pool_spec.rb +0 -4
- data/spec/unit/node/environment_spec.rb +33 -21
- data/spec/unit/node_spec.rb +2 -60
- data/spec/unit/parser/compiler_spec.rb +19 -3
- data/spec/unit/parser/functions/create_resources_spec.rb +2 -20
- data/spec/unit/parser/functions/fqdn_rand_spec.rb +1 -15
- data/spec/unit/parser/resource_spec.rb +8 -14
- data/spec/unit/parser/templatewrapper_spec.rb +5 -16
- data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +4 -7
- data/spec/unit/pops/loaders/loaders_spec.rb +6 -21
- data/spec/unit/pops/parser/parse_application_spec.rb +4 -22
- data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -1
- data/spec/unit/pops/parser/parse_capabilities_spec.rb +8 -21
- data/spec/unit/pops/parser/parse_containers_spec.rb +13 -2
- data/spec/unit/pops/parser/parse_site_spec.rb +20 -24
- data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -71
- data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
- data/spec/unit/pops/serialization/to_stringified_spec.rb +0 -5
- data/spec/unit/pops/types/p_sem_ver_type_spec.rb +0 -18
- data/spec/unit/pops/types/p_sensitive_type_spec.rb +0 -18
- data/spec/unit/pops/types/type_calculator_spec.rb +6 -12
- data/spec/unit/pops/types/type_factory_spec.rb +1 -1
- data/spec/unit/pops/validator/validator_spec.rb +61 -51
- data/spec/unit/pops/visitor_spec.rb +1 -1
- data/spec/unit/property_spec.rb +0 -1
- data/spec/unit/provider/group/groupadd_spec.rb +2 -5
- data/spec/unit/provider/nameservice_spec.rb +64 -122
- data/spec/unit/provider/package/apt_spec.rb +23 -28
- data/spec/unit/provider/package/aptitude_spec.rb +1 -1
- data/spec/unit/provider/package/base_spec.rb +5 -6
- data/spec/unit/provider/package/dnfmodule_spec.rb +1 -10
- data/spec/unit/provider/package/dpkg_spec.rb +0 -48
- data/spec/unit/provider/package/gem_spec.rb +33 -1
- data/spec/unit/provider/package/nim_spec.rb +0 -42
- data/spec/unit/provider/package/pacman_spec.rb +12 -18
- 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 +12 -44
- data/spec/unit/provider/package/pkg_spec.rb +4 -29
- data/spec/unit/provider/package/pkgdmg_spec.rb +4 -0
- data/spec/unit/provider/package/puppet_gem_spec.rb +4 -3
- data/spec/unit/provider/package/puppetserver_gem_spec.rb +3 -3
- data/spec/unit/provider/package/windows/exe_package_spec.rb +0 -17
- data/spec/unit/provider/parsedfile_spec.rb +0 -10
- data/spec/unit/provider/service/gentoo_spec.rb +5 -6
- data/spec/unit/provider/service/init_spec.rb +9 -16
- data/spec/unit/provider/service/launchd_spec.rb +0 -11
- data/spec/unit/provider/service/openwrt_spec.rb +29 -23
- data/spec/unit/provider/service/redhat_spec.rb +2 -3
- data/spec/unit/provider/service/smf_spec.rb +401 -165
- data/spec/unit/provider/service/systemd_spec.rb +9 -54
- data/spec/unit/provider/service/windows_spec.rb +0 -203
- data/spec/unit/provider/user/aix_spec.rb +0 -105
- data/spec/unit/provider/user/directoryservice_spec.rb +36 -68
- data/spec/unit/provider/user/hpux_spec.rb +1 -1
- data/spec/unit/provider/user/pw_spec.rb +0 -2
- data/spec/unit/provider/user/useradd_spec.rb +5 -114
- data/spec/unit/provider_spec.rb +12 -22
- data/spec/unit/puppet_spec.rb +4 -12
- data/spec/unit/resource/catalog_spec.rb +2 -15
- data/spec/unit/resource/type_collection_spec.rb +2 -22
- data/spec/unit/resource/type_spec.rb +1 -1
- data/spec/unit/resource_spec.rb +12 -125
- data/spec/unit/settings/http_extra_headers_spec.rb +2 -4
- data/spec/unit/settings/integer_setting_spec.rb +42 -0
- data/spec/unit/settings/port_setting_spec.rb +31 -0
- data/spec/unit/settings/priority_setting_spec.rb +4 -4
- data/spec/unit/settings_spec.rb +79 -110
- data/spec/unit/ssl/base_spec.rb +37 -3
- data/spec/unit/ssl/certificate_request_spec.rb +21 -45
- data/spec/unit/ssl/certificate_spec.rb +2 -11
- data/spec/unit/ssl/ssl_provider_spec.rb +3 -80
- data/spec/unit/ssl/state_machine_spec.rb +5 -21
- data/spec/unit/ssl/verifier_spec.rb +0 -21
- data/spec/unit/transaction/additional_resource_generator_spec.rb +9 -3
- data/spec/unit/transaction/event_manager_spec.rb +11 -14
- data/spec/unit/transaction/persistence_spec.rb +0 -51
- data/spec/unit/transaction/report_spec.rb +0 -2
- data/spec/unit/transaction/resource_harness_spec.rb +2 -2
- data/spec/unit/transaction_spec.rb +55 -96
- data/spec/unit/type/exec_spec.rb +29 -76
- data/spec/unit/type/file/checksum_spec.rb +6 -6
- data/spec/unit/type/file/content_spec.rb +2 -1
- data/spec/unit/type/file/ensure_spec.rb +1 -1
- data/spec/unit/type/file/mode_spec.rb +1 -1
- data/spec/unit/type/file/selinux_spec.rb +5 -3
- data/spec/unit/type/file/source_spec.rb +4 -5
- data/spec/unit/type/file_spec.rb +18 -6
- data/spec/unit/type/group_spec.rb +6 -13
- data/spec/unit/type/package_spec.rb +1 -1
- data/spec/unit/type/resources_spec.rb +7 -7
- data/spec/unit/type/service_spec.rb +189 -87
- data/spec/unit/type/tidy_spec.rb +8 -24
- data/spec/unit/type_spec.rb +24 -4
- data/spec/unit/util/at_fork_spec.rb +2 -2
- data/spec/unit/util/autoload_spec.rb +1 -5
- data/spec/unit/util/backups_spec.rb +2 -3
- data/spec/unit/util/execution_spec.rb +11 -44
- data/spec/unit/util/inifile_spec.rb +14 -6
- data/spec/unit/util/log_spec.rb +7 -8
- data/spec/unit/util/logging_spec.rb +3 -5
- data/spec/unit/util/monkey_patches_spec.rb +0 -6
- data/spec/unit/util/posix_spec.rb +15 -363
- data/spec/unit/util/run_mode_spec.rb +21 -121
- data/spec/unit/util/selinux_spec.rb +68 -163
- data/spec/unit/util/storage_spec.rb +1 -3
- data/spec/unit/util/suidmanager_spec.rb +41 -44
- data/spec/unit/util/windows/sid_spec.rb +0 -41
- data/spec/unit/util/windows/string_spec.rb +1 -3
- data/spec/unit/util/yaml_spec.rb +13 -92
- data/spec/unit/util_spec.rb +6 -31
- data/tasks/generate_cert_fixtures.rake +7 -17
- data/tasks/parallel.rake +3 -3
- metadata +138 -233
- data/conf/auth.conf +0 -150
- data/ext/README.md +0 -13
- data/lib/puppet/application/cert.rb +0 -76
- data/lib/puppet/application/key.rb +0 -4
- data/lib/puppet/application/man.rb +0 -4
- data/lib/puppet/application/status.rb +0 -4
- data/lib/puppet/face/key.rb +0 -16
- data/lib/puppet/face/man.rb +0 -145
- data/lib/puppet/face/module/build.rb +0 -14
- data/lib/puppet/face/module/generate.rb +0 -14
- data/lib/puppet/face/module/search.rb +0 -103
- data/lib/puppet/face/status.rb +0 -51
- data/lib/puppet/facter_impl.rb +0 -96
- data/lib/puppet/ffi/posix/constants.rb +0 -14
- data/lib/puppet/ffi/posix/functions.rb +0 -24
- data/lib/puppet/ffi/posix.rb +0 -10
- data/lib/puppet/file_serving/mount/scripts.rb +0 -24
- data/lib/puppet/indirector/certificate/file.rb +0 -9
- data/lib/puppet/indirector/certificate/rest.rb +0 -18
- data/lib/puppet/indirector/certificate_request/file.rb +0 -9
- data/lib/puppet/indirector/certificate_request/memory.rb +0 -7
- data/lib/puppet/indirector/certificate_request/rest.rb +0 -11
- data/lib/puppet/indirector/file_content/http.rb +0 -22
- data/lib/puppet/indirector/key/file.rb +0 -46
- data/lib/puppet/indirector/key/memory.rb +0 -7
- data/lib/puppet/indirector/ssl_file.rb +0 -162
- data/lib/puppet/indirector/status/local.rb +0 -12
- data/lib/puppet/indirector/status/rest.rb +0 -27
- data/lib/puppet/indirector/status.rb +0 -3
- data/lib/puppet/module_tool/applications/searcher.rb +0 -29
- data/lib/puppet/network/auth_config_parser.rb +0 -90
- data/lib/puppet/network/authstore.rb +0 -283
- data/lib/puppet/network/http/api/master/v3/authorization.rb +0 -18
- data/lib/puppet/network/http/api/master/v3/environment.rb +0 -88
- data/lib/puppet/network/http/base_pool.rb +0 -36
- data/lib/puppet/network/http/compression.rb +0 -127
- data/lib/puppet/network/http/connection_adapter.rb +0 -184
- data/lib/puppet/network/http/nocache_pool.rb +0 -28
- data/lib/puppet/network/rest_controller.rb +0 -2
- data/lib/puppet/network/rights.rb +0 -210
- data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +0 -66
- data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +0 -22
- data/lib/puppet/parser/environment_compiler.rb +0 -202
- data/lib/puppet/pops/types/enumeration.rb +0 -16
- data/lib/puppet/resource/capability_finder.rb +0 -154
- data/lib/puppet/rest/errors.rb +0 -15
- data/lib/puppet/rest/response.rb +0 -35
- data/lib/puppet/rest/route.rb +0 -85
- data/lib/puppet/rest/routes.rb +0 -135
- data/lib/puppet/settings/alias_setting.rb +0 -37
- data/lib/puppet/ssl/host.rb +0 -505
- data/lib/puppet/ssl/key.rb +0 -61
- data/lib/puppet/ssl/validator/default_validator.rb +0 -209
- data/lib/puppet/ssl/validator/no_validator.rb +0 -22
- data/lib/puppet/ssl/validator.rb +0 -61
- data/lib/puppet/ssl/verifier_adapter.rb +0 -58
- data/lib/puppet/status.rb +0 -40
- data/lib/puppet/util/connection.rb +0 -88
- data/lib/puppet/util/fact_dif.rb +0 -81
- data/lib/puppet/util/ssl.rb +0 -83
- data/lib/puppet/util/windows/api_types.rb +0 -309
- data/lib/puppet/util/windows/monkey_patches/dir.rb +0 -40
- data/lib/puppet/vendor/load_pathspec.rb +0 -1
- data/lib/puppet/vendor/pathspec/CHANGELOG.md +0 -2
- data/lib/puppet/vendor/pathspec/LICENSE +0 -201
- data/lib/puppet/vendor/pathspec/PUPPET_README.md +0 -6
- data/lib/puppet/vendor/pathspec/README.md +0 -53
- data/lib/puppet/vendor/pathspec/lib/pathspec/gitignorespec.rb +0 -275
- data/lib/puppet/vendor/pathspec/lib/pathspec/regexspec.rb +0 -17
- data/lib/puppet/vendor/pathspec/lib/pathspec/spec.rb +0 -14
- data/lib/puppet/vendor/pathspec/lib/pathspec.rb +0 -122
- data/man/man8/puppet-key.8 +0 -126
- data/man/man8/puppet-man.8 +0 -76
- data/man/man8/puppet-status.8 +0 -108
- data/spec/fixtures/integration/application/agent/cached_deferred_catalog.json +0 -92
- data/spec/fixtures/integration/application/agent/lib/facter/agent_spec_role.rb +0 -3
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Gemfile +0 -4
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Rakefile +0 -3
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/lib/puppet/functions/l10n.rb +0 -8
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/config.yaml +0 -25
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/ja/puppet-l10n.po +0 -19
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/puppet-l10n.pot +0 -20
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/metadata.json +0 -8
- data/spec/fixtures/ssl/oid-key.pem +0 -117
- data/spec/fixtures/ssl/oid.pem +0 -69
- data/spec/fixtures/ssl/trusted_oid_mapping.yaml +0 -5
- data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services_vendor_preset +0 -9
- data/spec/integration/application/resource_spec.rb +0 -68
- data/spec/integration/application/ssl_spec.rb +0 -20
- data/spec/integration/l10n/compiler_spec.rb +0 -37
- data/spec/integration/network/authconfig_spec.rb +0 -256
- data/spec/integration/util/windows/monkey_patches/dir_spec.rb +0 -11
- data/spec/shared_contexts/l10n.rb +0 -32
- data/spec/unit/application/man_spec.rb +0 -52
- data/spec/unit/capability_spec.rb +0 -414
- data/spec/unit/concurrent/thread_local_singleton_spec.rb +0 -39
- data/spec/unit/face/key_spec.rb +0 -9
- data/spec/unit/face/module/search_spec.rb +0 -231
- data/spec/unit/face/status_spec.rb +0 -9
- data/spec/unit/facter_impl_spec.rb +0 -31
- data/spec/unit/file_serving/mount/scripts_spec.rb +0 -69
- data/spec/unit/indirector/certificate/file_spec.rb +0 -14
- data/spec/unit/indirector/certificate/rest_spec.rb +0 -61
- data/spec/unit/indirector/certificate_request/file_spec.rb +0 -14
- data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -25
- data/spec/unit/indirector/key/file_spec.rb +0 -78
- data/spec/unit/indirector/ssl_file_spec.rb +0 -305
- data/spec/unit/indirector/status/local_spec.rb +0 -10
- data/spec/unit/indirector/status/rest_spec.rb +0 -50
- data/spec/unit/module_tool/applications/searcher_spec.rb +0 -38
- data/spec/unit/network/auth_config_parser_spec.rb +0 -115
- data/spec/unit/network/authstore_spec.rb +0 -407
- data/spec/unit/network/http/api/master/v3/authorization_spec.rb +0 -57
- data/spec/unit/network/http/api/master/v3/environment_spec.rb +0 -185
- data/spec/unit/network/http/compression_spec.rb +0 -240
- data/spec/unit/network/http/nocache_pool_spec.rb +0 -64
- data/spec/unit/network/http_spec.rb +0 -9
- data/spec/unit/network/rights_spec.rb +0 -439
- data/spec/unit/parser/environment_compiler_spec.rb +0 -730
- data/spec/unit/pops/evaluator/deferred_resolver_spec.rb +0 -20
- data/spec/unit/pops/types/enumeration_spec.rb +0 -51
- data/spec/unit/resource/capability_finder_spec.rb +0 -148
- data/spec/unit/rest/route_spec.rb +0 -132
- data/spec/unit/ssl/host_spec.rb +0 -645
- data/spec/unit/ssl/key_spec.rb +0 -173
- data/spec/unit/ssl/validator_spec.rb +0 -278
- data/spec/unit/status_spec.rb +0 -45
- data/spec/unit/util/json_spec.rb +0 -126
- data/spec/unit/util/ssl_spec.rb +0 -91
- data/spec/unit/util/windows_spec.rb +0 -23
@@ -2,24 +2,11 @@ require 'spec_helper'
|
|
2
2
|
require 'puppet/configurer'
|
3
3
|
|
4
4
|
describe Puppet::Configurer do
|
5
|
-
include PuppetSpec::Files
|
6
|
-
|
7
5
|
before do
|
8
6
|
Puppet[:server] = "puppetmaster"
|
9
7
|
Puppet[:report] = true
|
10
8
|
|
11
9
|
catalog.add_resource(resource)
|
12
|
-
|
13
|
-
Puppet[:lastrunfile] = file_containing('last_run_summary.yaml', <<~SUMMARY)
|
14
|
-
---
|
15
|
-
version:
|
16
|
-
config: 1624882680
|
17
|
-
puppet: #{Puppet.version}
|
18
|
-
application:
|
19
|
-
initial_environment: #{Puppet[:environment]}
|
20
|
-
converged_environment: #{Puppet[:environment]}
|
21
|
-
run_mode: agent
|
22
|
-
SUMMARY
|
23
10
|
end
|
24
11
|
|
25
12
|
let(:node_name) { Puppet[:node_name_value] }
|
@@ -75,44 +62,10 @@ describe Puppet::Configurer do
|
|
75
62
|
end
|
76
63
|
end
|
77
64
|
|
78
|
-
describe "when executing a catalog run without stubbing valid_server_environment?" do
|
79
|
-
before do
|
80
|
-
Puppet::Resource::Catalog.indirection.terminus_class = :rest
|
81
|
-
allow(Puppet::Resource::Catalog.indirection).to receive(:find).and_return(catalog)
|
82
|
-
end
|
83
|
-
|
84
|
-
it 'skips initial plugin sync if environment is not found and no strict_environment_mode' do
|
85
|
-
body = "{\"message\":\"Not Found: Could not find environment 'fasdfad'\",\"issue_kind\":\"RUNTIME_ERROR\"}"
|
86
|
-
stub_request(:get, %r{/puppet/v3/file_metadatas/plugins?}).to_return(
|
87
|
-
status: 404, body: body, headers: {'Content-Type' => 'application/json'}
|
88
|
-
)
|
89
|
-
|
90
|
-
configurer.run(:pluginsync => true)
|
91
|
-
|
92
|
-
expect(@logs).to include(an_object_having_attributes(level: :notice, message: %r{Environment 'production' not found on server, skipping initial pluginsync.}))
|
93
|
-
expect(@logs).to include(an_object_having_attributes(level: :notice, message: /Applied catalog in .* seconds/))
|
94
|
-
end
|
95
|
-
|
96
|
-
it 'if strict_environment_mode is set and environment is not found, aborts the puppet run' do
|
97
|
-
Puppet[:strict_environment_mode] = true
|
98
|
-
body = "{\"message\":\"Not Found: Could not find environment 'fasdfad'\",\"issue_kind\":\"RUNTIME_ERROR\"}"
|
99
|
-
stub_request(:get, %r{/puppet/v3/file_metadatas/plugins?}).to_return(
|
100
|
-
status: 404, body: body, headers: {'Content-Type' => 'application/json'}
|
101
|
-
)
|
102
|
-
|
103
|
-
configurer.run(:pluginsync => true)
|
104
|
-
|
105
|
-
expect(@logs).to include(an_object_having_attributes(level: :err, message: %r{Failed to apply catalog: Environment 'production' not found on server, aborting run.}))
|
106
|
-
end
|
107
|
-
end
|
108
|
-
|
109
65
|
describe "when executing a catalog run" do
|
110
66
|
before do
|
111
67
|
Puppet::Resource::Catalog.indirection.terminus_class = :rest
|
112
68
|
allow(Puppet::Resource::Catalog.indirection).to receive(:find).and_return(catalog)
|
113
|
-
allow_any_instance_of(described_class).to(
|
114
|
-
receive(:valid_server_environment?).and_return(true)
|
115
|
-
)
|
116
69
|
end
|
117
70
|
|
118
71
|
it "downloads plugins when told" do
|
@@ -125,10 +78,10 @@ describe Puppet::Configurer do
|
|
125
78
|
configurer.run(:pluginsync => false)
|
126
79
|
end
|
127
80
|
|
128
|
-
it "
|
129
|
-
|
130
|
-
expect(
|
131
|
-
configurer.run(
|
81
|
+
it "should carry on when it can't fetch its node definition" do
|
82
|
+
error = Net::HTTPError.new(400, 'dummy server communication error')
|
83
|
+
expect(Puppet::Node.indirection).to receive(:find).and_raise(error)
|
84
|
+
expect(configurer.run).to eq(0)
|
132
85
|
end
|
133
86
|
|
134
87
|
it "fails the run if pluginsync fails when usecacheonfailure is false" do
|
@@ -172,6 +125,7 @@ describe Puppet::Configurer do
|
|
172
125
|
it "applies a cached catalog when it can't connect to the master" do
|
173
126
|
error = Errno::ECONNREFUSED.new('Connection refused - connect(2)')
|
174
127
|
|
128
|
+
expect(Puppet::Node.indirection).to receive(:find).and_raise(error)
|
175
129
|
expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(:ignore_cache => true)).and_raise(error)
|
176
130
|
expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(:ignore_terminus => true)).and_return(catalog)
|
177
131
|
|
@@ -430,7 +384,7 @@ describe Puppet::Configurer do
|
|
430
384
|
|
431
385
|
it "sets the checksum_type query param to the default supported_checksum_types in a catalog request" do
|
432
386
|
expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything,
|
433
|
-
hash_including(checksum_type: '
|
387
|
+
hash_including(checksum_type: 'sha256.sha384.sha512.sha224.md5'))
|
434
388
|
configurer.run
|
435
389
|
end
|
436
390
|
|
@@ -507,7 +461,7 @@ describe Puppet::Configurer do
|
|
507
461
|
it "should save the report if reporting is enabled" do
|
508
462
|
Puppet.settings[:report] = true
|
509
463
|
|
510
|
-
expect(Puppet::Transaction::Report.indirection).to receive(:save).with(report, nil, instance_of(Hash))
|
464
|
+
expect(Puppet::Transaction::Report.indirection).to receive(:save).with(report, nil, instance_of(Hash))
|
511
465
|
configurer.send_report(report)
|
512
466
|
end
|
513
467
|
|
@@ -535,22 +489,12 @@ describe Puppet::Configurer do
|
|
535
489
|
it "should log but not fail if saving the report fails" do
|
536
490
|
Puppet.settings[:report] = true
|
537
491
|
|
538
|
-
expect(Puppet::Transaction::Report.indirection).to receive(:save).
|
539
|
-
expect(Puppet::Transaction::Report.indirection).to receive(:save).with(report, nil, hash_including(ignore_terminus: true))
|
492
|
+
expect(Puppet::Transaction::Report.indirection).to receive(:save).and_raise("whatever")
|
540
493
|
|
541
494
|
configurer.send_report(report)
|
542
495
|
|
543
496
|
expect(@logs).to include(an_object_having_attributes(level: :err, message: 'Could not send report: whatever'))
|
544
497
|
end
|
545
|
-
|
546
|
-
it "should save the cached report if fails to send the report" do
|
547
|
-
allow(Puppet::Transaction::Report.indirection).to receive(:save).with(report, nil, hash_including(ignore_terminus: true)).and_call_original
|
548
|
-
allow(Puppet::Transaction::Report.indirection).to receive(:save).with(report, nil, hash_including(ignore_cache: true)).and_raise("whatever")
|
549
|
-
|
550
|
-
expect(File).to_not be_exist(Puppet[:lastrunfile])
|
551
|
-
configurer.send_report(report)
|
552
|
-
expect(File.read(Puppet[:lastrunfile])).to match(/puppet: #{Puppet::PUPPETVERSION}/)
|
553
|
-
end
|
554
498
|
end
|
555
499
|
|
556
500
|
describe "when saving the summary report file" do
|
@@ -609,6 +553,24 @@ describe Puppet::Configurer do
|
|
609
553
|
end
|
610
554
|
end
|
611
555
|
|
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
|
+
|
612
574
|
def expects_pluginsync
|
613
575
|
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}]"
|
614
576
|
stub_request(:get, %r{/puppet/v3/file_metadatas/(plugins|locales)}).to_return(status: 200, body: metadata, headers: {'Content-Type' => 'application/json'})
|
@@ -619,7 +581,7 @@ describe Puppet::Configurer do
|
|
619
581
|
end
|
620
582
|
|
621
583
|
def expects_new_catalog_only(catalog)
|
622
|
-
expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_cache: true
|
584
|
+
expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_cache: true)).and_return(catalog)
|
623
585
|
expect(Puppet::Resource::Catalog.indirection).not_to receive(:find).with(anything, hash_including(ignore_terminus: true))
|
624
586
|
end
|
625
587
|
|
@@ -636,7 +598,7 @@ describe Puppet::Configurer do
|
|
636
598
|
def expects_fallback_to_new_catalog(catalog)
|
637
599
|
expects_pluginsync
|
638
600
|
expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_terminus: true)).and_return(nil)
|
639
|
-
expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_cache: true
|
601
|
+
expect(Puppet::Resource::Catalog.indirection).to receive(:find).with(anything, hash_including(ignore_cache: true)).and_return(catalog)
|
640
602
|
end
|
641
603
|
|
642
604
|
def expects_neither_new_or_cached_catalog
|
@@ -660,13 +622,21 @@ describe Puppet::Configurer do
|
|
660
622
|
configurer.run
|
661
623
|
end
|
662
624
|
|
663
|
-
it "should not pluginsync when a cached catalog is successfully retrieved" do
|
625
|
+
it "should not make a node request or pluginsync when a cached catalog is successfully retrieved" do
|
626
|
+
expect(Puppet::Node.indirection).not_to receive(:find)
|
664
627
|
expects_cached_catalog_only(catalog)
|
665
628
|
expect(configurer).not_to receive(:download_plugins)
|
666
629
|
|
667
630
|
configurer.run
|
668
631
|
end
|
669
632
|
|
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
|
+
|
670
640
|
it "should set its cached_catalog_status to 'explicitly_requested'" do
|
671
641
|
expects_cached_catalog_only(catalog)
|
672
642
|
|
@@ -687,6 +657,8 @@ describe Puppet::Configurer do
|
|
687
657
|
end
|
688
658
|
|
689
659
|
it "should pluginsync and compile a new catalog if none is found in the cache" do
|
660
|
+
Puppet[:ignore_plugin_errors] = true
|
661
|
+
|
690
662
|
expects_fallback_to_new_catalog(catalog)
|
691
663
|
stub_request(:get, %r{/puppet/v3/file_metadatas?/plugins}).to_return(:status => 404)
|
692
664
|
stub_request(:get, %r{/puppet/v3/file_metadatas?/pluginfacts}).to_return(:status => 404)
|
@@ -698,6 +670,9 @@ describe Puppet::Configurer do
|
|
698
670
|
end
|
699
671
|
|
700
672
|
it "should not attempt to retrieve a cached catalog again if the first attempt failed" do
|
673
|
+
Puppet[:ignore_plugin_errors] = true
|
674
|
+
|
675
|
+
expect(Puppet::Node.indirection).to receive(:find).and_return(nil)
|
701
676
|
expects_neither_new_or_cached_catalog
|
702
677
|
expects_pluginsync
|
703
678
|
|
@@ -753,6 +728,16 @@ describe Puppet::Configurer do
|
|
753
728
|
Puppet.settings[:strict_environment_mode] = true
|
754
729
|
end
|
755
730
|
|
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
|
+
|
756
741
|
it "should return nil when the catalog's environment doesn't match the agent specified environment" do
|
757
742
|
Puppet[:environment] = 'second_env'
|
758
743
|
configurer = Puppet::Configurer.new
|
@@ -786,7 +771,7 @@ describe Puppet::Configurer do
|
|
786
771
|
expect(configurer.run).to be_nil
|
787
772
|
end
|
788
773
|
|
789
|
-
it "should proceed with the cached catalog if its environment
|
774
|
+
it "should proceed with the cached catalog if its environment matchs the local environment" do
|
790
775
|
expects_cached_catalog_only(catalog)
|
791
776
|
|
792
777
|
expect(configurer.run).to eq(0)
|
@@ -966,23 +951,9 @@ describe Puppet::Configurer do
|
|
966
951
|
expect(Puppet::Resource::Catalog.indirection).to receive(:find).and_return(apple, banana, banana)
|
967
952
|
|
968
953
|
allow(Puppet).to receive(:notice)
|
969
|
-
allow(Puppet).to receive(:push_context)
|
970
954
|
expect(Puppet).to receive(:notice).with("Local environment: 'production' doesn't match server specified environment 'apple', restarting agent run with environment 'apple'")
|
971
955
|
expect(Puppet).to receive(:notice).with("Local environment: 'apple' doesn't match server specified environment 'banana', restarting agent run with environment 'banana'")
|
972
956
|
|
973
|
-
expect(Puppet).to receive(:push_context).with(
|
974
|
-
hash_including(current_environment: an_object_having_attributes(name: :production)),
|
975
|
-
'Local node environment production for configurer transaction'
|
976
|
-
)
|
977
|
-
expect(Puppet).to receive(:push_context).with(
|
978
|
-
hash_including(current_environment: an_object_having_attributes(name: :apple)),
|
979
|
-
'Local node environment apple for configurer transaction'
|
980
|
-
)
|
981
|
-
expect(Puppet).to receive(:push_context).with(
|
982
|
-
hash_including(current_environment: an_object_having_attributes(name: :banana)),
|
983
|
-
'Local node environment banana for configurer transaction'
|
984
|
-
)
|
985
|
-
|
986
957
|
configurer.run
|
987
958
|
end
|
988
959
|
|
@@ -1072,11 +1043,10 @@ describe Puppet::Configurer do
|
|
1072
1043
|
it "should select a server when it receives 200 OK response" do
|
1073
1044
|
Puppet.settings[:server_list] = ["myserver:123"]
|
1074
1045
|
|
1075
|
-
stub_request(:get, 'https://myserver:123/status/v1/simple/
|
1046
|
+
stub_request(:get, 'https://myserver:123/status/v1/simple/server').to_return(status: 200)
|
1076
1047
|
|
1077
1048
|
options = {}
|
1078
1049
|
configurer.run(options)
|
1079
|
-
expect(options[:report].master_used).to eq('myserver:123')
|
1080
1050
|
expect(options[:report].server_used).to eq('myserver:123')
|
1081
1051
|
end
|
1082
1052
|
|
@@ -1084,7 +1054,7 @@ describe Puppet::Configurer do
|
|
1084
1054
|
Puppet.settings[:server_list] = ["myserver:123"]
|
1085
1055
|
Puppet[:usecacheonfailure] = false
|
1086
1056
|
|
1087
|
-
stub_request(:get, 'https://myserver:123/status/v1/simple/
|
1057
|
+
stub_request(:get, 'https://myserver:123/status/v1/simple/server').to_return(status: [500, "Internal Server Error"])
|
1088
1058
|
|
1089
1059
|
expect {
|
1090
1060
|
configurer.run
|
@@ -1097,269 +1067,40 @@ describe Puppet::Configurer do
|
|
1097
1067
|
Puppet.settings[:server_list] = "myserver:123,someotherservername"
|
1098
1068
|
Puppet[:usecacheonfailure] = false
|
1099
1069
|
|
1100
|
-
stub_request(:get, 'https://myserver:123/status/v1/simple/
|
1101
|
-
stub_request(:get, 'https://someotherservername:8140/status/v1/simple/
|
1070
|
+
stub_request(:get, 'https://myserver:123/status/v1/simple/server').to_return(status: 400)
|
1071
|
+
stub_request(:get, 'https://someotherservername:8140/status/v1/simple/server').to_return(status: 400)
|
1102
1072
|
|
1103
1073
|
expect{
|
1104
1074
|
configurer.run
|
1105
1075
|
}.to raise_error(Puppet::Error, /Could not select a functional puppet server from server_list: 'myserver:123,someotherservername'/)
|
1106
1076
|
end
|
1107
1077
|
|
1108
|
-
it "should warn when servers in 'server_list' are unreachable" do
|
1109
|
-
Puppet.settings[:server_list] = "mybadserver1:123,mybadserver2:123,mygoodserver"
|
1110
|
-
Puppet[:usecacheonfailure] = false
|
1111
|
-
|
1112
|
-
stub_request(:get, 'https://mybadserver1:123/status/v1/simple/master').and_raise(Puppet::HTTP::HTTPError)
|
1113
|
-
stub_request(:get, 'https://mybadserver2:123/status/v1/simple/master').and_raise(Puppet::HTTP::HTTPError)
|
1114
|
-
stub_request(:get, 'https://mygoodserver:8140/status/v1/simple/master').to_return(status: 200)
|
1115
|
-
|
1116
|
-
expect(Puppet).to receive(:warning).with(/^Unable to connect to server from server_list setting:.*Trying with next server from server_list.$/).twice
|
1117
|
-
configurer.run
|
1118
|
-
end
|
1119
|
-
|
1120
|
-
it "should warn when servers in 'server_list' respond with error" do
|
1121
|
-
Puppet.settings[:server_list] = "mybadserver:123,someotherservername"
|
1122
|
-
Puppet[:usecacheonfailure] = false
|
1123
|
-
|
1124
|
-
stub_request(:get, 'https://mybadserver:123/status/v1/simple/master').to_return(status: 400)
|
1125
|
-
stub_request(:get, 'https://someotherservername:8140/status/v1/simple/master').to_return(status: 200)
|
1126
|
-
|
1127
|
-
expect(Puppet).to receive(:warning).with(/^Puppet server mybadserver:123 is unavailable: 400 Trying with next server from server_list.$/)
|
1128
|
-
configurer.run
|
1129
|
-
end
|
1130
|
-
|
1131
1078
|
it "should not error when usecacheonfailure is true and no servers in 'server_list' are reachable" do
|
1132
1079
|
Puppet.settings[:server_list] = "myserver:123,someotherservername"
|
1133
1080
|
Puppet[:usecacheonfailure] = true
|
1134
1081
|
|
1135
|
-
stub_request(:get, 'https://myserver:123/status/v1/simple/
|
1136
|
-
stub_request(:get, 'https://someotherservername:8140/status/v1/simple/
|
1082
|
+
stub_request(:get, 'https://myserver:123/status/v1/simple/server').to_return(status: 400)
|
1083
|
+
stub_request(:get, 'https://someotherservername:8140/status/v1/simple/server').to_return(status: 400)
|
1137
1084
|
|
1138
1085
|
options = {}
|
1139
1086
|
|
1140
1087
|
expect(configurer.run(options)).to eq(0)
|
1141
1088
|
expect(options[:report].server_used).to be_nil
|
1142
1089
|
end
|
1143
|
-
end
|
1144
|
-
|
1145
|
-
describe "when selecting an environment" do
|
1146
|
-
include PuppetSpec::Settings
|
1147
|
-
|
1148
|
-
describe "when the last used environment is available" do
|
1149
|
-
let(:last_server_specified_environment) { 'development' }
|
1150
|
-
|
1151
|
-
before do
|
1152
|
-
Puppet[:lastrunfile] = file_containing('last_run_summary.yaml', <<~SUMMARY)
|
1153
|
-
---
|
1154
|
-
version:
|
1155
|
-
config: 1624882680
|
1156
|
-
puppet: 6.24.0
|
1157
|
-
application:
|
1158
|
-
initial_environment: #{Puppet[:environment]}
|
1159
|
-
converged_environment: #{last_server_specified_environment}
|
1160
|
-
run_mode: agent
|
1161
|
-
SUMMARY
|
1162
|
-
end
|
1163
|
-
|
1164
|
-
describe "when the use_last_environment is set to true" do
|
1165
|
-
before do
|
1166
|
-
expect(Puppet::Node.indirection).not_to receive(:find)
|
1167
|
-
.with(anything, hash_including(:ignore_cache => true, :fail_on_404 => true))
|
1168
|
-
end
|
1169
|
-
|
1170
|
-
it "prefers the environment set via cli" do
|
1171
|
-
Puppet.settings.handlearg('--environment', 'usethis')
|
1172
|
-
configurer.run
|
1173
|
-
|
1174
|
-
expect(configurer.environment).to eq('usethis')
|
1175
|
-
end
|
1176
|
-
|
1177
|
-
it "prefers the environment set via lastrunfile over config" do
|
1178
|
-
FileUtils.mkdir_p(Puppet[:confdir])
|
1179
|
-
set_puppet_conf(Puppet[:confdir], <<~CONF)
|
1180
|
-
[main]
|
1181
|
-
environment = usethis
|
1182
|
-
lastrunfile = #{Puppet[:lastrunfile]}
|
1183
|
-
CONF
|
1184
|
-
|
1185
|
-
Puppet.initialize_settings
|
1186
|
-
configurer.run
|
1187
|
-
|
1188
|
-
expect(configurer.environment).to eq(last_server_specified_environment)
|
1189
|
-
end
|
1190
|
-
|
1191
|
-
it "uses the environment from Puppet[:environment] if given a catalog" do
|
1192
|
-
configurer.run(catalog: catalog)
|
1193
|
-
|
1194
|
-
expect(configurer.environment).to eq(Puppet[:environment])
|
1195
|
-
end
|
1196
|
-
|
1197
|
-
it "uses the environment from Puppet[:environment] if use_cached_catalog = true" do
|
1198
|
-
Puppet[:use_cached_catalog] = true
|
1199
|
-
expects_cached_catalog_only(catalog)
|
1200
|
-
configurer.run
|
1201
|
-
|
1202
|
-
expect(configurer.environment).to eq(Puppet[:environment])
|
1203
|
-
end
|
1204
|
-
|
1205
|
-
describe "when the environment is not set via CLI" do
|
1206
|
-
it "uses the environment found in lastrunfile if the key exists" do
|
1207
|
-
configurer.run
|
1208
|
-
|
1209
|
-
expect(configurer.environment).to eq(last_server_specified_environment)
|
1210
|
-
end
|
1211
|
-
|
1212
|
-
it "pushes the converged environment found in lastrunfile over the existing context" do
|
1213
|
-
initial_env = Puppet::Node::Environment.remote('production')
|
1214
|
-
Puppet.push_context(
|
1215
|
-
current_environment: initial_env,
|
1216
|
-
loaders: Puppet::Pops::Loaders.new(initial_env, true))
|
1217
|
-
|
1218
|
-
expect(Puppet).to receive(:push_context).with(
|
1219
|
-
hash_including(:current_environment, :loaders),
|
1220
|
-
"Local node environment #{last_server_specified_environment} for configurer transaction"
|
1221
|
-
).once.and_call_original
|
1222
|
-
|
1223
|
-
configurer.run
|
1224
|
-
end
|
1225
|
-
|
1226
|
-
it "uses the environment from Puppet[:environment] if strict_environment_mode is set" do
|
1227
|
-
Puppet[:strict_environment_mode] = true
|
1228
|
-
configurer.run
|
1229
|
-
|
1230
|
-
expect(configurer.environment).to eq(Puppet[:environment])
|
1231
|
-
end
|
1232
|
-
|
1233
|
-
it "uses the environment from Puppet[:environment] if initial_environment is the same as converged_environment" do
|
1234
|
-
Puppet[:lastrunfile] = file_containing('last_run_summary.yaml', <<~SUMMARY)
|
1235
|
-
---
|
1236
|
-
version:
|
1237
|
-
config: 1624882680
|
1238
|
-
puppet: 6.24.0
|
1239
|
-
application:
|
1240
|
-
initial_environment: development
|
1241
|
-
converged_environment: development
|
1242
|
-
run_mode: agent
|
1243
|
-
SUMMARY
|
1244
|
-
configurer.run
|
1245
|
-
|
1246
|
-
expect(configurer.environment).to eq(Puppet[:environment])
|
1247
|
-
end
|
1248
|
-
end
|
1249
|
-
end
|
1250
|
-
|
1251
|
-
describe "when the use_last_environment setting is set to false" do
|
1252
|
-
let(:node_environment) { Puppet::Node::Environment.remote(:salam) }
|
1253
|
-
let(:node) { Puppet::Node.new(Puppet[:node_name_value]) }
|
1254
|
-
|
1255
|
-
before do
|
1256
|
-
Puppet[:use_last_environment] = false
|
1257
|
-
node.environment = node_environment
|
1258
|
-
|
1259
|
-
allow(Puppet::Node.indirection).to receive(:find)
|
1260
|
-
allow(Puppet::Node.indirection).to receive(:find)
|
1261
|
-
.with(anything, hash_including(:ignore_cache => true, :fail_on_404 => true))
|
1262
|
-
.and_return(node)
|
1263
|
-
end
|
1264
|
-
|
1265
|
-
it "does a node request" do
|
1266
|
-
expect(Puppet::Node.indirection).to receive(:find)
|
1267
|
-
.with(anything, hash_including(:ignore_cache => true, :fail_on_404 => true))
|
1268
|
-
|
1269
|
-
configurer.run
|
1270
|
-
end
|
1271
|
-
|
1272
|
-
it "uses the node environment from the node request" do
|
1273
|
-
configurer.run
|
1274
|
-
|
1275
|
-
expect(configurer.environment).to eq(node_environment.name.to_s)
|
1276
|
-
end
|
1277
|
-
end
|
1278
|
-
end
|
1279
|
-
|
1280
|
-
describe "when the last used environment is not available" do
|
1281
|
-
describe "when the node request succeeds" do
|
1282
|
-
let(:node_environment) { Puppet::Node::Environment.remote(:salam) }
|
1283
|
-
let(:node) { Puppet::Node.new(Puppet[:node_name_value]) }
|
1284
|
-
let(:last_server_specified_environment) { 'development' }
|
1285
|
-
|
1286
|
-
before do
|
1287
|
-
node.environment = node_environment
|
1288
|
-
|
1289
|
-
allow(Puppet::Node.indirection).to receive(:find)
|
1290
|
-
allow(Puppet::Node.indirection).to receive(:find)
|
1291
|
-
.with(anything, hash_including(:ignore_cache => true, :fail_on_404 => true))
|
1292
|
-
.and_return(node)
|
1293
|
-
end
|
1294
|
-
|
1295
|
-
it "uses the environment from the node request if the run mode doesn't match" do
|
1296
|
-
Puppet[:lastrunfile] = file_containing('last_run_summary.yaml', <<~SUMMARY)
|
1297
|
-
---
|
1298
|
-
version:
|
1299
|
-
config: 1624882680
|
1300
|
-
puppet: 6.24.0
|
1301
|
-
application:
|
1302
|
-
initial_environment: #{Puppet[:environment]}
|
1303
|
-
converged_environment: #{last_server_specified_environment}
|
1304
|
-
run_mode: user
|
1305
|
-
SUMMARY
|
1306
|
-
configurer.run
|
1307
|
-
|
1308
|
-
expect(configurer.environment).to eq(node_environment.name.to_s)
|
1309
|
-
end
|
1310
|
-
|
1311
|
-
it "uses the environment from the node request if lastrunfile does not contain the expected keys" do
|
1312
|
-
Puppet[:lastrunfile] = file_containing('last_run_summary.yaml', <<~SUMMARY)
|
1313
|
-
---
|
1314
|
-
version:
|
1315
|
-
config: 1624882680
|
1316
|
-
puppet: 6.24.0
|
1317
|
-
SUMMARY
|
1318
|
-
configurer.run
|
1319
1090
|
|
1320
|
-
|
1321
|
-
|
1322
|
-
|
1323
|
-
it "uses the environment from the node request if lastrunfile is invalid YAML" do
|
1324
|
-
Puppet[:lastrunfile] = file_containing('last_run_summary.yaml', <<~SUMMARY)
|
1325
|
-
Key: 'this is my very very very ' +
|
1326
|
-
'long string'
|
1327
|
-
SUMMARY
|
1328
|
-
configurer.run
|
1329
|
-
|
1330
|
-
expect(configurer.environment).to eq(node_environment.name.to_s)
|
1331
|
-
end
|
1332
|
-
|
1333
|
-
it "uses the environment from the node request if lastrunfile exists but is empty" do
|
1334
|
-
Puppet[:lastrunfile] = file_containing('last_run_summary.yaml', '')
|
1335
|
-
configurer.run
|
1336
|
-
|
1337
|
-
expect(configurer.environment).to eq(node_environment.name.to_s)
|
1338
|
-
end
|
1339
|
-
|
1340
|
-
it "uses the environment from the node request if the last used one cannot be found" do
|
1341
|
-
Puppet[:lastrunfile] = tmpfile('last_run_summary.yaml')
|
1342
|
-
configurer.run
|
1091
|
+
it "should not make multiple node requests when the server is found" do
|
1092
|
+
Puppet.settings[:server_list] = ["myserver:123"]
|
1343
1093
|
|
1344
|
-
|
1345
|
-
|
1346
|
-
end
|
1094
|
+
Puppet::Node.indirection.terminus_class = :rest
|
1095
|
+
Puppet::Resource::Catalog.indirection.terminus_class = :rest
|
1347
1096
|
|
1348
|
-
|
1349
|
-
|
1350
|
-
|
1351
|
-
allow(Puppet::Node.indirection).to receive(:find)
|
1352
|
-
.with(anything, hash_including(:ignore_cache => true, :fail_on_404 => true))
|
1353
|
-
.and_raise(Puppet::Error)
|
1354
|
-
end
|
1097
|
+
stub_request(:get, 'https://myserver:123/status/v1/simple/server').to_return(status: 200)
|
1098
|
+
stub_request(:post, %r{https://myserver:123/puppet/v3/catalog}).to_return(status: 200)
|
1099
|
+
node_request = stub_request(:get, %r{https://myserver:123/puppet/v3/node/}).to_return(status: 200)
|
1355
1100
|
|
1356
|
-
|
1357
|
-
Puppet[:lastrunfile] = tmpfile('last_run_summary.yaml')
|
1358
|
-
configurer.run
|
1101
|
+
configurer.run
|
1359
1102
|
|
1360
|
-
|
1361
|
-
end
|
1362
|
-
end
|
1103
|
+
expect(node_request).to have_been_requested.once
|
1363
1104
|
end
|
1364
1105
|
end
|
1365
1106
|
end
|
data/spec/unit/confine_spec.rb
CHANGED
@@ -2,12 +2,6 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
require 'puppet/confine'
|
4
4
|
|
5
|
-
class Puppet::TestConfine < Puppet::Confine
|
6
|
-
def pass?(value)
|
7
|
-
false
|
8
|
-
end
|
9
|
-
end
|
10
|
-
|
11
5
|
describe Puppet::Confine do
|
12
6
|
it "should require a value" do
|
13
7
|
expect { Puppet::Confine.new }.to raise_error(ArgumentError)
|
@@ -39,7 +33,7 @@ describe Puppet::Confine do
|
|
39
33
|
|
40
34
|
describe "when testing all values" do
|
41
35
|
before do
|
42
|
-
@confine = Puppet::
|
36
|
+
@confine = Puppet::Confine.new(%w{a b c})
|
43
37
|
@confine.label = "foo"
|
44
38
|
end
|
45
39
|
|
@@ -70,7 +64,7 @@ describe Puppet::Confine do
|
|
70
64
|
end
|
71
65
|
|
72
66
|
describe "when testing the result of the values" do
|
73
|
-
before { @confine = Puppet::
|
67
|
+
before { @confine = Puppet::Confine.new(%w{a b c d}) }
|
74
68
|
|
75
69
|
it "should return an array with the result of the test for each value" do
|
76
70
|
allow(@confine).to receive(:pass?).and_return(true)
|
@@ -4,11 +4,7 @@ require 'puppet/certificate_factory'
|
|
4
4
|
require 'puppet/context/trusted_information'
|
5
5
|
|
6
6
|
describe Puppet::Context::TrustedInformation, :unless => RUBY_PLATFORM == 'java' do
|
7
|
-
let(:key)
|
8
|
-
key = Puppet::SSL::Key.new("myname")
|
9
|
-
key.generate
|
10
|
-
key
|
11
|
-
end
|
7
|
+
let(:key) { OpenSSL::PKey::RSA.new(Puppet[:keylength]) }
|
12
8
|
|
13
9
|
let(:csr) do
|
14
10
|
csr = Puppet::SSL::CertificateRequest.new("csr")
|
@@ -26,7 +22,7 @@ describe Puppet::Context::TrustedInformation, :unless => RUBY_PLATFORM == 'java'
|
|
26
22
|
|
27
23
|
# The cert must be signed so that it can be successfully be DER-decoded later
|
28
24
|
signer = Puppet::SSL::CertificateSigner.new
|
29
|
-
signer.sign(cert.content, key
|
25
|
+
signer.sign(cert.content, key)
|
30
26
|
cert
|
31
27
|
end
|
32
28
|
|
data/spec/unit/daemon_spec.rb
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
require 'puppet/daemon'
|
3
3
|
require 'puppet/agent'
|
4
|
-
require 'puppet/configurer'
|
5
4
|
|
6
5
|
def without_warnings
|
7
6
|
flag = $VERBOSE
|
@@ -10,6 +9,12 @@ def without_warnings
|
|
10
9
|
$VERBOSE = flag
|
11
10
|
end
|
12
11
|
|
12
|
+
class TestClient
|
13
|
+
def lockfile_path
|
14
|
+
"/dev/null"
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
13
18
|
describe Puppet::Daemon, :unless => Puppet::Util::Platform.windows? do
|
14
19
|
include PuppetSpec::Files
|
15
20
|
|
@@ -21,7 +26,7 @@ describe Puppet::Daemon, :unless => Puppet::Util::Platform.windows? do
|
|
21
26
|
end
|
22
27
|
end
|
23
28
|
|
24
|
-
let(:agent) { Puppet::Agent.new(
|
29
|
+
let(:agent) { Puppet::Agent.new(TestClient.new, false) }
|
25
30
|
let(:server) { double("Server", :start => nil, :wait_for_shutdown => nil) }
|
26
31
|
|
27
32
|
let(:pidfile) { double("PidFile", :lock => true, :unlock => true, :file_path => 'fake.pid') }
|
@@ -126,6 +131,10 @@ describe Puppet::Daemon, :unless => Puppet::Util::Platform.windows? do
|
|
126
131
|
end
|
127
132
|
|
128
133
|
describe "when reloading" do
|
134
|
+
it "should do nothing if no agent is configured" do
|
135
|
+
daemon.reload
|
136
|
+
end
|
137
|
+
|
129
138
|
it "should do nothing if the agent is running" do
|
130
139
|
expect(agent).to receive(:run).with({:splay => false}).and_raise(Puppet::LockError, 'Failed to aquire lock')
|
131
140
|
expect(Puppet).to receive(:notice).with('Not triggering already-running agent')
|