puppet 6.17.0-x64-mingw32 → 7.1.0-x64-mingw32
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of puppet might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CODEOWNERS +2 -16
- data/Gemfile +3 -4
- data/Gemfile.lock +32 -30
- data/README.md +2 -3
- data/Rakefile +4 -12
- data/conf/fileserver.conf +5 -10
- data/ext/build_defaults.yaml +1 -1
- data/ext/osx/file_mapping.yaml +0 -5
- data/ext/project_data.yaml +2 -14
- data/ext/redhat/puppet.spec.erb +0 -1
- data/ext/windows/service/daemon.rb +6 -5
- data/install.rb +21 -17
- data/lib/puppet.rb +11 -20
- data/lib/puppet/agent/locker.rb +0 -7
- data/lib/puppet/application.rb +172 -98
- data/lib/puppet/application/agent.rb +8 -3
- data/lib/puppet/application/apply.rb +18 -20
- data/lib/puppet/application/device.rb +100 -104
- data/lib/puppet/application/doc.rb +1 -1
- data/lib/puppet/application/filebucket.rb +15 -11
- data/lib/puppet/application/lookup.rb +16 -4
- data/lib/puppet/application/ssl.rb +1 -1
- data/lib/puppet/application_support.rb +7 -0
- data/lib/puppet/configurer.rb +46 -19
- data/lib/puppet/configurer/downloader.rb +31 -10
- data/lib/puppet/configurer/plugin_handler.rb +21 -19
- data/lib/puppet/confine.rb +1 -1
- data/lib/puppet/confine/any.rb +1 -1
- data/lib/puppet/defaults.rb +116 -162
- data/lib/puppet/environments.rb +72 -62
- data/lib/puppet/face/catalog.rb +1 -1
- data/lib/puppet/face/config.rb +56 -16
- data/lib/puppet/face/epp.rb +12 -2
- data/lib/puppet/face/facts.rb +66 -6
- data/lib/puppet/face/help.rb +1 -1
- data/lib/puppet/face/node.rb +3 -3
- data/lib/puppet/face/node/clean.rb +10 -2
- data/lib/puppet/face/plugin.rb +5 -8
- data/lib/puppet/feature/base.rb +1 -1
- data/lib/puppet/ffi/posix.rb +10 -0
- data/lib/puppet/ffi/posix/constants.rb +14 -0
- data/lib/puppet/ffi/posix/functions.rb +24 -0
- data/lib/puppet/ffi/windows.rb +12 -0
- 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/file_bucket/dipper.rb +1 -1
- data/lib/puppet/file_serving/configuration.rb +0 -5
- data/lib/puppet/file_serving/configuration/parser.rb +3 -32
- data/lib/puppet/file_serving/http_metadata.rb +1 -1
- data/lib/puppet/file_serving/mount.rb +1 -2
- data/lib/puppet/file_serving/mount/locales.rb +1 -2
- data/lib/puppet/file_serving/mount/pluginfacts.rb +1 -2
- data/lib/puppet/file_serving/mount/plugins.rb +1 -2
- data/lib/puppet/file_system/file_impl.rb +3 -3
- data/lib/puppet/forge/repository.rb +0 -1
- data/lib/puppet/functions/epp.rb +1 -0
- data/lib/puppet/functions/inline_epp.rb +1 -0
- data/lib/puppet/functions/lstrip.rb +4 -4
- data/lib/puppet/functions/new.rb +8 -3
- data/lib/puppet/functions/reverse_each.rb +1 -1
- data/lib/puppet/functions/rstrip.rb +4 -4
- data/lib/puppet/functions/step.rb +1 -1
- data/lib/puppet/functions/strip.rb +4 -4
- data/lib/puppet/generate/models/type/type.rb +4 -1
- data/lib/puppet/gettext/config.rb +5 -5
- data/lib/puppet/gettext/module_translations.rb +4 -4
- data/lib/puppet/http.rb +23 -13
- data/lib/puppet/http/client.rb +165 -115
- 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 -11
- 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 -12
- data/lib/puppet/http/resolver.rb +10 -23
- data/lib/puppet/http/resolver/server_list.rb +23 -45
- data/lib/puppet/http/resolver/settings.rb +7 -10
- data/lib/puppet/http/resolver/srv.rb +11 -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.rb +15 -27
- data/lib/puppet/http/service/ca.rb +11 -22
- data/lib/puppet/http/service/compiler.rb +23 -70
- data/lib/puppet/http/service/file_server.rb +19 -28
- data/lib/puppet/http/service/puppetserver.rb +53 -0
- data/lib/puppet/http/service/report.rb +8 -10
- data/lib/puppet/http/session.rb +16 -24
- data/lib/puppet/{network/http → http}/site.rb +1 -2
- data/lib/puppet/indirector/catalog/compiler.rb +1 -1
- data/lib/puppet/indirector/catalog/rest.rb +2 -4
- data/lib/puppet/indirector/exec.rb +1 -1
- data/lib/puppet/indirector/fact_search.rb +60 -0
- data/lib/puppet/indirector/facts/facter.rb +27 -6
- data/lib/puppet/indirector/facts/json.rb +27 -0
- data/lib/puppet/indirector/facts/rest.rb +3 -22
- data/lib/puppet/indirector/facts/yaml.rb +4 -59
- 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/http.rb +1 -0
- data/lib/puppet/indirector/file_metadata/rest.rb +3 -9
- data/lib/puppet/indirector/file_server.rb +1 -8
- data/lib/puppet/indirector/generic_http.rb +0 -11
- data/lib/puppet/indirector/hiera.rb +4 -0
- data/lib/puppet/indirector/indirection.rb +1 -1
- data/lib/puppet/indirector/json.rb +5 -1
- data/lib/puppet/indirector/msgpack.rb +1 -1
- data/lib/puppet/indirector/node/json.rb +8 -0
- data/lib/puppet/indirector/node/rest.rb +2 -4
- data/lib/puppet/indirector/report/json.rb +34 -0
- data/lib/puppet/indirector/report/processor.rb +2 -2
- data/lib/puppet/indirector/report/rest.rb +3 -8
- data/lib/puppet/indirector/request.rb +1 -102
- data/lib/puppet/indirector/rest.rb +12 -263
- data/lib/puppet/indirector/yaml.rb +1 -1
- data/lib/puppet/module.rb +1 -2
- data/lib/puppet/module_tool/applications.rb +0 -1
- data/lib/puppet/network/authconfig.rb +2 -96
- data/lib/puppet/network/authorization.rb +13 -35
- data/lib/puppet/network/format_support.rb +2 -2
- data/lib/puppet/network/formats.rb +2 -1
- data/lib/puppet/network/http.rb +3 -3
- data/lib/puppet/network/http/api/indirected_routes.rb +2 -20
- data/lib/puppet/network/http/api/master/v3.rb +11 -13
- data/lib/puppet/network/http/api/master/v3/environments.rb +0 -1
- data/lib/puppet/network/http/connection.rb +247 -316
- data/lib/puppet/network/http/handler.rb +0 -1
- data/lib/puppet/network/http/route.rb +2 -2
- data/lib/puppet/network/http_pool.rb +16 -34
- data/lib/puppet/node.rb +1 -30
- data/lib/puppet/node/environment.rb +12 -5
- data/lib/puppet/node/facts.rb +17 -0
- data/lib/puppet/pal/json_catalog_encoder.rb +4 -0
- data/lib/puppet/pal/pal_impl.rb +93 -14
- data/lib/puppet/parameter.rb +1 -1
- data/lib/puppet/parser/ast/pops_bridge.rb +0 -38
- data/lib/puppet/parser/compiler.rb +0 -198
- data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +14 -39
- data/lib/puppet/parser/functions.rb +21 -17
- data/lib/puppet/parser/functions/create_resources.rb +11 -7
- data/lib/puppet/parser/resource.rb +0 -69
- data/lib/puppet/parser/templatewrapper.rb +1 -1
- data/lib/puppet/parser/type_loader.rb +2 -2
- data/lib/puppet/pops/adaptable.rb +7 -13
- data/lib/puppet/pops/adapters.rb +8 -4
- data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +1 -3
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +22 -8
- data/lib/puppet/pops/evaluator/runtime3_converter.rb +2 -2
- data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +3 -3
- 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/loader/runtime3_type_loader.rb +4 -2
- data/lib/puppet/pops/loaders.rb +18 -11
- data/lib/puppet/pops/lookup/context.rb +1 -1
- data/lib/puppet/pops/lookup/hiera_config.rb +14 -1
- data/lib/puppet/pops/model/ast.pp +0 -42
- data/lib/puppet/pops/model/ast.rb +0 -290
- data/lib/puppet/pops/model/factory.rb +0 -45
- 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/egrammar.ra +0 -56
- data/lib/puppet/pops/parser/eparser.rb +1520 -1712
- data/lib/puppet/pops/parser/lexer2.rb +4 -4
- data/lib/puppet/pops/parser/parser_support.rb +0 -5
- data/lib/puppet/pops/resource/resource_type_impl.rb +2 -24
- data/lib/puppet/pops/types/iterable.rb +34 -8
- data/lib/puppet/pops/types/p_meta_type.rb +1 -1
- data/lib/puppet/pops/types/p_type_set_type.rb +4 -0
- data/lib/puppet/pops/types/type_calculator.rb +0 -7
- data/lib/puppet/pops/types/type_parser.rb +0 -4
- data/lib/puppet/pops/types/types.rb +0 -1
- data/lib/puppet/pops/validation/checker4_0.rb +28 -52
- 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/provider.rb +0 -13
- data/lib/puppet/provider/file/windows.rb +1 -1
- data/lib/puppet/provider/nameservice.rb +0 -18
- data/lib/puppet/provider/package/apt.rb +34 -0
- data/lib/puppet/provider/package/dpkg.rb +1 -11
- data/lib/puppet/provider/package/gem.rb +27 -5
- data/lib/puppet/provider/package/pip.rb +0 -1
- data/lib/puppet/provider/package/pip2.rb +17 -0
- data/lib/puppet/provider/package/pkg.rb +0 -4
- data/lib/puppet/provider/package/portage.rb +1 -1
- data/lib/puppet/provider/package/puppet_gem.rb +6 -4
- data/lib/puppet/provider/package/puppetserver_gem.rb +180 -0
- data/lib/puppet/provider/package/yum.rb +1 -0
- data/lib/puppet/provider/package/zypper.rb +3 -0
- data/lib/puppet/provider/service/smf.rb +191 -73
- data/lib/puppet/provider/user/aix.rb +3 -3
- data/lib/puppet/provider/user/directoryservice.rb +0 -10
- data/lib/puppet/provider/user/user_role_add.rb +1 -1
- data/lib/puppet/provider/user/windows_adsi.rb +18 -1
- data/lib/puppet/reference/configuration.rb +2 -0
- data/lib/puppet/reference/indirection.rb +1 -1
- data/lib/puppet/resource.rb +1 -89
- data/lib/puppet/resource/catalog.rb +1 -14
- data/lib/puppet/resource/type.rb +5 -120
- data/lib/puppet/resource/type_collection.rb +3 -48
- data/lib/puppet/runtime.rb +1 -2
- data/lib/puppet/settings.rb +84 -35
- data/lib/puppet/settings/base_setting.rb +26 -2
- 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/ssl.rb +10 -6
- 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 +17 -0
- data/lib/puppet/ssl/state_machine.rb +3 -1
- data/lib/puppet/ssl/verifier.rb +2 -0
- data/lib/puppet/test/test_helper.rb +11 -6
- data/lib/puppet/transaction.rb +3 -9
- data/lib/puppet/transaction/persistence.rb +1 -1
- data/lib/puppet/transaction/report.rb +10 -8
- data/lib/puppet/trusted_external.rb +2 -2
- data/lib/puppet/type.rb +4 -79
- data/lib/puppet/type/file.rb +7 -9
- data/lib/puppet/type/file/checksum.rb +1 -1
- data/lib/puppet/type/file/source.rb +29 -9
- data/lib/puppet/type/filebucket.rb +4 -4
- data/lib/puppet/type/notify.rb +2 -2
- data/lib/puppet/type/package.rb +5 -13
- data/lib/puppet/type/service.rb +4 -0
- data/lib/puppet/type/user.rb +19 -4
- data/lib/puppet/util.rb +26 -12
- data/lib/puppet/util/autoload.rb +9 -7
- data/lib/puppet/util/character_encoding.rb +9 -5
- data/lib/puppet/util/execution.rb +2 -13
- data/lib/puppet/util/http_proxy.rb +2 -215
- data/lib/puppet/util/monkey_patches.rb +0 -46
- data/lib/puppet/util/posix.rb +53 -4
- data/lib/puppet/util/rdoc.rb +0 -7
- data/lib/puppet/util/retry_action.rb +1 -1
- data/lib/puppet/util/rubygems.rb +5 -1
- data/lib/puppet/util/run_mode.rb +14 -2
- data/lib/puppet/util/windows.rb +3 -7
- 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/process.rb +4 -226
- data/lib/puppet/util/windows/security.rb +4 -4
- data/lib/puppet/util/windows/service.rb +9 -460
- data/lib/puppet/util/windows/string.rb +12 -13
- data/lib/puppet/util/windows/user.rb +219 -0
- data/lib/puppet/util/yaml.rb +0 -22
- data/lib/puppet/vendor/require_vendored.rb +0 -1
- data/lib/puppet/version.rb +1 -1
- data/lib/puppet/x509.rb +5 -1
- data/lib/puppet/x509/cert_provider.rb +29 -1
- data/locales/puppet.pot +656 -1351
- data/man/man5/puppet.conf.5 +72 -97
- data/man/man8/puppet-agent.8 +6 -3
- data/man/man8/puppet-apply.8 +1 -1
- data/man/man8/puppet-catalog.8 +1 -1
- data/man/man8/puppet-config.8 +6 -6
- data/man/man8/puppet-describe.8 +1 -1
- data/man/man8/puppet-device.8 +1 -1
- data/man/man8/puppet-doc.8 +1 -1
- data/man/man8/puppet-epp.8 +1 -1
- data/man/man8/puppet-facts.8 +55 -9
- data/man/man8/puppet-filebucket.8 +6 -6
- data/man/man8/puppet-generate.8 +1 -1
- data/man/man8/puppet-help.8 +1 -1
- data/man/man8/puppet-lookup.8 +2 -2
- data/man/man8/puppet-module.8 +1 -58
- data/man/man8/puppet-node.8 +7 -4
- data/man/man8/puppet-parser.8 +1 -1
- data/man/man8/puppet-plugin.8 +1 -1
- data/man/man8/puppet-report.8 +4 -1
- data/man/man8/puppet-resource.8 +1 -1
- data/man/man8/puppet-script.8 +1 -1
- data/man/man8/puppet-ssl.8 +1 -1
- data/man/man8/puppet.8 +2 -2
- data/spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/provider/applytest/applytest.rb +2 -0
- data/spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/type/applytest.rb +25 -0
- data/spec/fixtures/unit/forge/bacula-releases.json +128 -0
- data/spec/fixtures/unit/forge/bacula.tar.gz +0 -0
- data/spec/fixtures/unit/provider/package/puppetserver_gem/gem-list-local-packages +30 -0
- 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 +4 -0
- data/spec/integration/application/agent_spec.rb +70 -61
- data/spec/integration/application/apply_spec.rb +150 -150
- data/spec/integration/application/doc_spec.rb +16 -6
- data/spec/integration/application/filebucket_spec.rb +78 -29
- data/spec/integration/application/help_spec.rb +44 -0
- data/spec/integration/application/lookup_spec.rb +13 -0
- data/spec/integration/application/module_spec.rb +68 -0
- data/spec/integration/application/plugin_spec.rb +76 -4
- data/spec/integration/configurer_spec.rb +14 -0
- data/spec/integration/data_binding_spec.rb +82 -0
- data/spec/integration/defaults_spec.rb +32 -3
- data/spec/integration/directory_environments_spec.rb +17 -17
- data/spec/integration/environments/setting_hooks_spec.rb +1 -1
- data/spec/integration/indirector/facts/facter_spec.rb +8 -6
- data/spec/integration/network/http_pool_spec.rb +3 -21
- data/spec/integration/node/environment_spec.rb +1 -1
- 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 -37
- data/spec/integration/type/file_spec.rb +5 -4
- data/spec/integration/util/execution_spec.rb +22 -0
- data/spec/integration/util/windows/adsi_spec.rb +2 -2
- data/spec/integration/util/windows/monkey_patches/process_spec.rb +231 -0
- data/spec/integration/util/windows/process_spec.rb +26 -32
- data/spec/integration/util/windows/security_spec.rb +1 -1
- data/spec/integration/util/windows/user_spec.rb +7 -0
- data/spec/integration/util_spec.rb +7 -33
- data/spec/lib/puppet_spec/matchers.rb +0 -80
- data/spec/lib/puppet_spec/puppetserver.rb +9 -1
- data/spec/lib/puppet_spec/settings.rb +7 -1
- data/spec/shared_contexts/types_setup.rb +2 -0
- data/spec/spec_helper.rb +2 -0
- data/spec/unit/agent_spec.rb +0 -2
- data/spec/unit/application/agent_spec.rb +3 -4
- data/spec/unit/application/config_spec.rb +224 -4
- data/spec/unit/application/doc_spec.rb +2 -2
- data/spec/unit/application/face_base_spec.rb +6 -4
- data/spec/unit/application/facts_spec.rb +74 -8
- data/spec/unit/application/filebucket_spec.rb +41 -39
- data/spec/unit/application/resource_spec.rb +3 -1
- data/spec/unit/application/ssl_spec.rb +17 -4
- data/spec/unit/application_spec.rb +43 -4
- data/spec/unit/certificate_factory_spec.rb +1 -1
- data/spec/unit/configurer/downloader_spec.rb +14 -0
- data/spec/unit/configurer/plugin_handler_spec.rb +56 -18
- data/spec/unit/configurer_spec.rb +96 -44
- data/spec/unit/confine_spec.rb +2 -1
- data/spec/unit/context/trusted_information_spec.rb +2 -6
- data/spec/unit/defaults_spec.rb +26 -32
- data/spec/unit/environments_spec.rb +173 -32
- data/spec/unit/face/config_spec.rb +65 -12
- data/spec/unit/face/facts_spec.rb +4 -0
- data/spec/unit/face/node_spec.rb +16 -4
- data/spec/unit/face/plugin_spec.rb +73 -33
- data/spec/unit/file_bucket/file_spec.rb +1 -1
- data/spec/unit/file_serving/configuration/parser_spec.rb +14 -18
- data/spec/unit/file_serving/configuration_spec.rb +6 -12
- data/spec/unit/file_serving/mount/locales_spec.rb +2 -2
- data/spec/unit/file_serving/mount/pluginfacts_spec.rb +2 -2
- data/spec/unit/file_serving/mount/plugins_spec.rb +2 -2
- data/spec/unit/file_system/uniquefile_spec.rb +18 -0
- data/spec/unit/file_system_spec.rb +1 -2
- 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/inline_epp_spec.rb +26 -1
- data/spec/unit/functions/upcase_spec.rb +1 -1
- data/spec/unit/http/client_spec.rb +7 -9
- 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 -11
- 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 +34 -15
- data/spec/unit/http/service/ca_spec.rb +2 -3
- data/spec/unit/http/service/compiler_spec.rb +51 -65
- data/spec/unit/http/service/file_server_spec.rb +5 -6
- data/spec/unit/http/service/puppetserver_spec.rb +112 -0
- data/spec/unit/http/service/report_spec.rb +2 -3
- data/spec/unit/http/service_spec.rb +1 -3
- data/spec/unit/http/session_spec.rb +24 -35
- data/spec/unit/{network/http → http}/site_spec.rb +3 -3
- data/spec/unit/indirector/catalog/json_spec.rb +1 -1
- data/spec/unit/indirector/catalog/rest_spec.rb +1 -1
- data/spec/unit/indirector/facts/facter_spec.rb +97 -0
- data/spec/unit/indirector/facts/json_spec.rb +255 -0
- data/spec/unit/indirector/facts/rest_spec.rb +1 -1
- data/spec/unit/indirector/file_bucket_file/file_spec.rb +5 -3
- 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/json_spec.rb +8 -8
- data/spec/unit/indirector/msgpack_spec.rb +8 -8
- data/spec/unit/indirector/node/json_spec.rb +33 -0
- data/spec/unit/indirector/node/rest_spec.rb +1 -1
- data/spec/{integration/indirector/report/yaml.rb → unit/indirector/report/json_spec.rb} +13 -24
- data/spec/unit/indirector/report/rest_spec.rb +2 -17
- data/spec/unit/indirector/report/yaml_spec.rb +72 -8
- data/spec/unit/indirector/request_spec.rb +2 -266
- data/spec/unit/indirector/rest_spec.rb +98 -752
- data/spec/unit/indirector/yaml_spec.rb +7 -7
- data/spec/unit/module_tool/tar/mini_spec.rb +20 -0
- data/spec/unit/network/authconfig_spec.rb +2 -132
- data/spec/unit/network/authorization_spec.rb +2 -55
- data/spec/unit/network/format_support_spec.rb +3 -2
- data/spec/unit/network/formats_spec.rb +4 -4
- data/spec/unit/network/http/api/indirected_routes_spec.rb +1 -97
- data/spec/unit/network/http/api/master/v3/environments_spec.rb +12 -23
- 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 -6
- data/spec/unit/network/http_pool_spec.rb +0 -4
- data/spec/unit/node/environment_spec.rb +51 -22
- data/spec/unit/node_spec.rb +2 -54
- data/spec/unit/parser/functions/create_resources_spec.rb +2 -20
- data/spec/unit/parser/templatewrapper_spec.rb +4 -3
- data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +4 -7
- data/spec/unit/pops/loaders/loaders_spec.rb +76 -21
- data/spec/unit/pops/lookup/lookup_spec.rb +25 -0
- 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_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/types/type_calculator_spec.rb +6 -6
- data/spec/unit/pops/types/type_factory_spec.rb +1 -1
- data/spec/unit/pops/validator/validator_spec.rb +61 -46
- data/spec/unit/pops/visitor_spec.rb +1 -1
- data/spec/unit/provider/exec_spec.rb +4 -3
- data/spec/unit/provider/nameservice_spec.rb +0 -57
- data/spec/unit/provider/package/apt_spec.rb +77 -0
- data/spec/unit/provider/package/aptitude_spec.rb +1 -0
- data/spec/unit/provider/package/dpkg_spec.rb +22 -55
- data/spec/unit/provider/package/gem_spec.rb +32 -0
- data/spec/unit/provider/package/openbsd_spec.rb +2 -0
- data/spec/unit/provider/package/pip2_spec.rb +36 -0
- data/spec/unit/provider/package/puppet_gem_spec.rb +6 -2
- data/spec/unit/provider/package/puppetserver_gem_spec.rb +137 -0
- data/spec/unit/provider/package/yum_spec.rb +31 -0
- data/spec/unit/provider/package/zypper_spec.rb +14 -0
- data/spec/unit/provider/service/base_spec.rb +2 -4
- data/spec/unit/provider/service/bsd_spec.rb +5 -1
- data/spec/unit/provider/service/daemontools_spec.rb +1 -1
- data/spec/unit/provider/service/debian_spec.rb +3 -5
- data/spec/unit/provider/service/freebsd_spec.rb +1 -1
- data/spec/unit/provider/service/gentoo_spec.rb +4 -5
- data/spec/unit/provider/service/init_spec.rb +45 -5
- data/spec/unit/provider/service/launchd_spec.rb +5 -6
- data/spec/unit/provider/service/openrc_spec.rb +4 -5
- data/spec/unit/provider/service/openwrt_spec.rb +1 -1
- data/spec/unit/provider/service/redhat_spec.rb +1 -1
- data/spec/unit/provider/service/runit_spec.rb +2 -1
- data/spec/unit/provider/service/smf_spec.rb +402 -166
- data/spec/unit/provider/service/src_spec.rb +3 -5
- data/spec/unit/provider/service/systemd_spec.rb +3 -6
- data/spec/unit/provider/service/upstart_spec.rb +4 -5
- data/spec/unit/provider/service/windows_spec.rb +28 -1
- data/spec/unit/provider/user/aix_spec.rb +5 -0
- data/spec/unit/provider/user/pw_spec.rb +2 -0
- data/spec/unit/provider/user/useradd_spec.rb +1 -0
- data/spec/unit/provider/user/windows_adsi_spec.rb +82 -0
- data/spec/unit/provider_spec.rb +0 -12
- data/spec/unit/puppet_pal_2pec.rb +40 -0
- data/spec/unit/puppet_pal_catalog_spec.rb +45 -0
- data/spec/unit/reports/store_spec.rb +17 -13
- data/spec/unit/resource/type_collection_spec.rb +2 -22
- data/spec/unit/resource_spec.rb +0 -56
- 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 +586 -239
- data/spec/unit/ssl/base_spec.rb +36 -3
- data/spec/unit/ssl/certificate_request_spec.rb +15 -45
- data/spec/unit/ssl/certificate_spec.rb +2 -11
- data/spec/unit/ssl/ssl_provider_spec.rb +11 -8
- data/spec/unit/ssl/state_machine_spec.rb +0 -1
- data/spec/unit/ssl/verifier_spec.rb +0 -21
- data/spec/unit/transaction/persistence_spec.rb +15 -0
- data/spec/unit/transaction/report_spec.rb +2 -2
- data/spec/unit/transaction/resource_harness_spec.rb +2 -2
- data/spec/unit/transaction_spec.rb +45 -79
- data/spec/unit/type/file/checksum_spec.rb +6 -6
- data/spec/unit/type/file/content_spec.rb +1 -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/source_spec.rb +1 -2
- data/spec/unit/type/file_spec.rb +12 -6
- data/spec/unit/type/filebucket_spec.rb +1 -1
- data/spec/unit/type/package_spec.rb +1 -1
- data/spec/unit/type/service_spec.rb +35 -2
- data/spec/unit/type/user_spec.rb +31 -2
- data/spec/unit/type_spec.rb +20 -0
- data/spec/unit/util/backups_spec.rb +0 -2
- data/spec/unit/util/character_encoding_spec.rb +4 -4
- data/spec/unit/util/command_line_spec.rb +11 -6
- data/spec/unit/util/execution_spec.rb +0 -29
- data/spec/unit/util/monkey_patches_spec.rb +0 -6
- data/spec/unit/util/posix_spec.rb +357 -15
- data/spec/unit/util/rubygems_spec.rb +2 -2
- data/spec/unit/util/run_mode_spec.rb +27 -127
- data/spec/unit/util/storage_spec.rb +3 -1
- data/spec/unit/util/windows/string_spec.rb +1 -3
- data/spec/unit/util/yaml_spec.rb +0 -54
- data/spec/unit/util_spec.rb +0 -18
- metadata +84 -261
- data/conf/auth.conf +0 -150
- 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/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.rb +0 -3
- data/lib/puppet/indirector/status/local.rb +0 -12
- data/lib/puppet/indirector/status/rest.rb +0 -27
- 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/ssl/host.rb +0 -505
- data/lib/puppet/ssl/key.rb +0 -61
- data/lib/puppet/ssl/validator.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/verifier_adapter.rb +0 -58
- data/lib/puppet/status.rb +0 -40
- data/lib/puppet/util/connection.rb +0 -88
- data/lib/puppet/util/ssl.rb +0 -83
- data/lib/puppet/util/windows/api_types.rb +0 -295
- 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.rb +0 -122
- 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/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/integration/faces/config_spec.rb +0 -91
- data/spec/integration/faces/documentation_spec.rb +0 -57
- data/spec/integration/file_bucket/file_spec.rb +0 -50
- data/spec/integration/file_serving/content_spec.rb +0 -7
- data/spec/integration/file_serving/fileset_spec.rb +0 -12
- data/spec/integration/file_serving/metadata_spec.rb +0 -8
- data/spec/integration/file_serving/terminus_helper_spec.rb +0 -20
- data/spec/integration/file_system/uniquefile_spec.rb +0 -26
- data/spec/integration/module_tool/forge_spec.rb +0 -51
- data/spec/integration/module_tool/tar/mini_spec.rb +0 -28
- data/spec/integration/network/authconfig_spec.rb +0 -256
- data/spec/integration/provider/service/init_spec.rb +0 -48
- data/spec/integration/provider/service/systemd_spec.rb +0 -25
- data/spec/integration/provider/service/windows_spec.rb +0 -50
- data/spec/integration/reference/providers_spec.rb +0 -21
- data/spec/integration/reports_spec.rb +0 -13
- data/spec/integration/ssl/certificate_request_spec.rb +0 -44
- data/spec/integration/ssl/host_spec.rb +0 -72
- data/spec/integration/ssl/key_spec.rb +0 -99
- data/spec/shared_behaviours/file_serving_model.rb +0 -51
- data/spec/unit/capability_spec.rb +0 -414
- data/spec/unit/face/catalog_spec.rb +0 -6
- data/spec/unit/face/key_spec.rb +0 -9
- data/spec/unit/face/man_spec.rb +0 -25
- data/spec/unit/face/module/search_spec.rb +0 -231
- data/spec/unit/face/module_spec.rb +0 -3
- data/spec/unit/face/status_spec.rb +0 -9
- 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 -79
- 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/man_spec.rb +0 -31
- 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 -422
- 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/types/enumeration_spec.rb +0 -51
- data/spec/unit/resource/capability_finder_spec.rb +0 -143
- data/spec/unit/rest/route_spec.rb +0 -132
- data/spec/unit/ssl/host_spec.rb +0 -650
- 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/ssl_spec.rb +0 -91
@@ -0,0 +1,128 @@
|
|
1
|
+
{
|
2
|
+
"pagination": {
|
3
|
+
"limit": 20,
|
4
|
+
"offset": 0,
|
5
|
+
"first": "/v3/releases?module=puppetlabs-bacula&sort_by=version&exclude_fields=readme%2Cchangelog%2Clicense%2Curi%2Cmodule%2Ctags%2Csupported%2Cfile_size%2Cdownloads%2Ccreated_at%2Cupdated_at%2Cdeleted_at&limit=20&offset=0",
|
6
|
+
"previous": null,
|
7
|
+
"current": "/v3/releases?module=puppetlabs-bacula&sort_by=version&exclude_fields=readme%2Cchangelog%2Clicense%2Curi%2Cmodule%2Ctags%2Csupported%2Cfile_size%2Cdownloads%2Ccreated_at%2Cupdated_at%2Cdeleted_at&limit=20&offset=0",
|
8
|
+
"next": null,
|
9
|
+
"total": 2
|
10
|
+
},
|
11
|
+
"results": [
|
12
|
+
{
|
13
|
+
"slug": "puppetlabs-bacula-0.0.2",
|
14
|
+
"version": "0.0.2",
|
15
|
+
"metadata": {
|
16
|
+
"description": "This module manages Bacula, a complete backup solution",
|
17
|
+
"source": "http://github.com/puppetlabs/puppetlabs-bacula",
|
18
|
+
"checksums": {
|
19
|
+
"templates/client_config.erb": "5d4005eda5ace78fd90a8cb6dcb388bd",
|
20
|
+
"spec/spec_helper.rb": "ca19ec4f451ebc7fdb035b52eae6e909",
|
21
|
+
"templates/bacula-fd.conf.erb": "344fff616e138fbf8cd150f4bab8125d",
|
22
|
+
"CHANGELOG": "a20043858790de6086b9b30c36806cd2",
|
23
|
+
"manifests/config/validate.pp": "7d2f9f7cffb2bd1d221eb699ea55f246",
|
24
|
+
"LICENSE": "26ce13c80c7a8493533c65c32dc29f09",
|
25
|
+
"manifests/director.pp": "36f34f749314634173b6a47b92a58421",
|
26
|
+
"manifests/config/client.pp": "5d25cbfd94be2829d9d530673cd2307f",
|
27
|
+
"lib/puppet/parser/functions/generate_clients.rb": "e09d77f88d18ec3e59bbe7bae4a48036",
|
28
|
+
"manifests/common.pp": "67391e5560ee7fc97d873ab5c3e2f84c",
|
29
|
+
"manifests/client.pp": "42e9255711d0a6abed6ab8deafb1248c",
|
30
|
+
"manifests/console.pp": "4cf8ac2f96f9268e2a3d70ed777797b7",
|
31
|
+
"README.md": "13d0f1119d510e41c539cbc3825a4f82",
|
32
|
+
"templates/bacula-sd.conf.erb": "df7987695bf1dd18bb789a2673b2cd95",
|
33
|
+
"manifests/config.pp": "624a225f85f907e7db5cf717561953f3",
|
34
|
+
"tests/init.pp": "b95d199119d5e592df7e1580bf23fe06",
|
35
|
+
"templates/bconsole.conf.erb": "ba5e1ef7d320a48bde6e403dc956952a",
|
36
|
+
"manifests/bat.pp": "3743bddf0197b4110e54a8e297e927e8",
|
37
|
+
"manifests/storage.pp": "84f4ec1413df4fdec7288c18d6ba2897",
|
38
|
+
"templates/bacula-dir.conf.erb": "5ab5aa263cf318ebf65c6b52a0726647",
|
39
|
+
"metadata.json": "d34d0b70aba36510fbc2df4e667479ef",
|
40
|
+
"spec/spec.opts": "a600ded995d948e393fbe2320ba8e51c",
|
41
|
+
"Modulefile": "63f93af605871a69211cd3f79ac62582",
|
42
|
+
"manifests/init.pp": "fafac38161dd69f4b7e452cf910812f4"
|
43
|
+
},
|
44
|
+
"summary": "This module manages a bacula infrastructure",
|
45
|
+
"author": "Puppet Labs",
|
46
|
+
"dependencies": [
|
47
|
+
|
48
|
+
],
|
49
|
+
"project_page": "http://github.com/puppetlabs/puppetlabs-bacula",
|
50
|
+
"types": [
|
51
|
+
|
52
|
+
],
|
53
|
+
"license": "Apache",
|
54
|
+
"version": "0.0.2",
|
55
|
+
"name": "puppetlabs-bacula"
|
56
|
+
},
|
57
|
+
"pdk": false,
|
58
|
+
"validation_score": 22,
|
59
|
+
"file_uri": "/v3/files/puppetlabs-bacula-0.0.2.tar.gz",
|
60
|
+
"file_md5": "6cd7b8a3ec788e4ddbd06ae59be45d7a",
|
61
|
+
"file_sha256": "4cea5bae3c2b3dbe236bdc87ab9caa4f6d41943d1bf81651b2c0e08205910cdd",
|
62
|
+
"reference": null,
|
63
|
+
"tasks": [
|
64
|
+
|
65
|
+
],
|
66
|
+
"plans": [
|
67
|
+
|
68
|
+
],
|
69
|
+
"deleted_for": null
|
70
|
+
},
|
71
|
+
{
|
72
|
+
"slug": "puppetlabs-bacula-0.0.1",
|
73
|
+
"version": "0.0.1",
|
74
|
+
"metadata": {
|
75
|
+
"description": "This module manages Bacula, a complete backup solution",
|
76
|
+
"source": "http://github.com/puppetlabs/puppetlabs-bacula",
|
77
|
+
"checksums": {
|
78
|
+
"spec/spec_helper.rb": "ca19ec4f451ebc7fdb035b52eae6e909",
|
79
|
+
"templates/bacula-fd.conf.erb": "344fff616e138fbf8cd150f4bab8125d",
|
80
|
+
"CHANGELOG": "28c8a36d149971979b867491203b5fef",
|
81
|
+
"manifests/config/validate.pp": "e74d9dfbf4814d455a2c4a27ac516571",
|
82
|
+
"LICENSE": "26ce13c80c7a8493533c65c32dc29f09",
|
83
|
+
"manifests/director.pp": "bec6d5b6b8befca9640edb8bdb8b5b10",
|
84
|
+
"manifests/common.pp": "9c037f51fd8b70c4bed0ceeb55f93ffb",
|
85
|
+
"manifests/client.pp": "42e9255711d0a6abed6ab8deafb1248c",
|
86
|
+
"manifests/console.pp": "1ee546361e47c0bc43299b3b62baa925",
|
87
|
+
"README.md": "470c6e1e9b4d877bcfdc88d751de8d19",
|
88
|
+
"templates/bacula-sd.conf.erb": "df7987695bf1dd18bb789a2673b2cd95",
|
89
|
+
"manifests/config.pp": "4410fadc6d82543e0b19039e3365fd3a",
|
90
|
+
"tests/init.pp": "b95d199119d5e592df7e1580bf23fe06",
|
91
|
+
"templates/bconsole.conf.erb": "ba5e1ef7d320a48bde6e403dc956952a",
|
92
|
+
"manifests/bat.pp": "3743bddf0197b4110e54a8e297e927e8",
|
93
|
+
"manifests/storage.pp": "13eadb4376a07d095d1ee13e8ff60846",
|
94
|
+
"templates/bacula-dir.conf.erb": "c0b1b57660cf965bcff7e5fda547ee03",
|
95
|
+
"metadata.json": "d34d0b70aba36510fbc2df4e667479ef",
|
96
|
+
"spec/spec.opts": "a600ded995d948e393fbe2320ba8e51c",
|
97
|
+
"Modulefile": "082b764ac91831266b7cbda75f79c199",
|
98
|
+
"manifests/init.pp": "6b9d2e9ca0a06c1a318837307fadcc70"
|
99
|
+
},
|
100
|
+
"summary": "This module manages a bacula infrastructure",
|
101
|
+
"author": "Puppet Labs",
|
102
|
+
"dependencies": [
|
103
|
+
|
104
|
+
],
|
105
|
+
"project_page": "http://github.com/puppetlabs/puppetlabs-bacula",
|
106
|
+
"types": [
|
107
|
+
|
108
|
+
],
|
109
|
+
"license": "Apache",
|
110
|
+
"version": "0.0.1",
|
111
|
+
"name": "puppetlabs-bacula"
|
112
|
+
},
|
113
|
+
"pdk": false,
|
114
|
+
"validation_score": 38,
|
115
|
+
"file_uri": "/v3/files/puppetlabs-bacula-0.0.1.tar.gz",
|
116
|
+
"file_md5": "c29882cf29eff17f18dcb74cc544c200",
|
117
|
+
"file_sha256": "7a68af4ab6e413a1cb3ec1694ddc3956138aa4c34d97abbe61a50947d0b12069",
|
118
|
+
"reference": null,
|
119
|
+
"tasks": [
|
120
|
+
|
121
|
+
],
|
122
|
+
"plans": [
|
123
|
+
|
124
|
+
],
|
125
|
+
"deleted_for": null
|
126
|
+
}
|
127
|
+
]
|
128
|
+
}
|
Binary file
|
@@ -0,0 +1,30 @@
|
|
1
|
+
concurrent-ruby (1.1.5)
|
2
|
+
|
3
|
+
deep_merge (1.0.1)
|
4
|
+
|
5
|
+
fast_gettext (1.1.2)
|
6
|
+
|
7
|
+
gettext (3.2.2)
|
8
|
+
|
9
|
+
hiera-eyaml (3.2.0)
|
10
|
+
|
11
|
+
highline (1.6.21)
|
12
|
+
|
13
|
+
hocon (1.3.1, 1.2.5)
|
14
|
+
|
15
|
+
locale (2.1.3, 2.1.2)
|
16
|
+
|
17
|
+
multi_json (1.14.1)
|
18
|
+
|
19
|
+
optimist (3.0.1)
|
20
|
+
|
21
|
+
puppet-resource_api (1.8.13)
|
22
|
+
|
23
|
+
puppetserver-ca (1.8.0)
|
24
|
+
|
25
|
+
semantic_puppet (1.0.2)
|
26
|
+
|
27
|
+
text (1.3.1)
|
28
|
+
|
29
|
+
world_airports (1.1.3)
|
30
|
+
|
File without changes
|
@@ -15,21 +15,17 @@ describe "puppet agent", unless: Puppet::Util::Platform.jruby? do
|
|
15
15
|
let(:formatter) { Puppet::Network::FormatHandler.format(:rich_data_json) }
|
16
16
|
|
17
17
|
context 'server_list' do
|
18
|
-
before :each do
|
19
|
-
Puppet[:log_level] = 'debug'
|
20
|
-
end
|
21
|
-
|
22
18
|
it "uses the first server in the list" do
|
23
19
|
Puppet[:server_list] = '127.0.0.1'
|
20
|
+
Puppet[:log_level] = 'debug'
|
24
21
|
|
25
22
|
server.start_server do |port|
|
26
|
-
Puppet[:
|
23
|
+
Puppet[:serverport] = port
|
27
24
|
expect {
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
}.to output(%r{HTTP GET https://127.0.0.1:#{port}/status/v1/simple/master returned 200 OK}).to_stdout
|
25
|
+
agent.command_line.args << '--test'
|
26
|
+
agent.run
|
27
|
+
}.to exit_with(0)
|
28
|
+
.and output(%r{HTTP GET https://127.0.0.1:#{port}/status/v1/simple/server returned 200 OK}).to_stdout
|
33
29
|
end
|
34
30
|
end
|
35
31
|
|
@@ -37,16 +33,16 @@ describe "puppet agent", unless: Puppet::Util::Platform.jruby? do
|
|
37
33
|
Puppet[:server_list] = "puppet.example.com,#{Puppet[:server]}"
|
38
34
|
|
39
35
|
server.start_server do |port|
|
40
|
-
Puppet[:
|
36
|
+
Puppet[:serverport] = port
|
41
37
|
expect {
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
38
|
+
agent.command_line.args << '--test'
|
39
|
+
agent.run
|
40
|
+
}.to exit_with(0)
|
41
|
+
.and output(%r{Notice: Applied catalog}).to_stdout
|
42
|
+
.and output(%r{Unable to connect to server from server_list setting: Request to https://puppet.example.com:#{port}/status/v1/simple/server failed}).to_stderr
|
47
43
|
|
48
44
|
report = Puppet::Transaction::Report.convert_from(:yaml, File.read(Puppet[:lastrunreport]))
|
49
|
-
expect(report.
|
45
|
+
expect(report.server_used).to eq("127.0.0.1:#{port}")
|
50
46
|
end
|
51
47
|
end
|
52
48
|
|
@@ -54,36 +50,36 @@ describe "puppet agent", unless: Puppet::Util::Platform.jruby? do
|
|
54
50
|
Puppet[:server_list] = "puppet.example.com"
|
55
51
|
|
56
52
|
expect {
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
}.to output(%r{Unable to connect to server from server_list setting: Could not select a functional puppet master from server_list: 'puppet.example.com'}).to_stdout
|
63
|
-
}.to output(/Error: Could not run Puppet configuration client: Could not select a functional puppet master from server_list: 'puppet.example.com'/).to_stderr
|
53
|
+
agent.command_line.args << '--test'
|
54
|
+
agent.run
|
55
|
+
}.to exit_with(1)
|
56
|
+
.and output(a_string_matching(%r{Unable to connect to server from server_list setting})
|
57
|
+
.and matching(/Error: Could not run Puppet configuration client: Could not select a functional puppet server from server_list: 'puppet.example.com'/)).to_stderr
|
64
58
|
|
65
59
|
# I'd expect puppet to update the last run report even if the server_list was
|
66
60
|
# exhausted, but it doesn't work that way currently, see PUP-6708
|
67
61
|
expect(File).to_not be_exist(Puppet[:lastrunreport])
|
68
62
|
end
|
69
63
|
|
70
|
-
it "omits
|
64
|
+
it "omits server_used when not using server_list" do
|
65
|
+
Puppet[:log_level] = 'debug'
|
66
|
+
|
71
67
|
server.start_server do |port|
|
72
|
-
Puppet[:
|
68
|
+
Puppet[:serverport] = port
|
73
69
|
expect {
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
}.to output(%r{Resolved service 'puppet' to https://127.0.0.1:#{port}/puppet/v3}).to_stdout
|
70
|
+
agent.command_line.args << '--test'
|
71
|
+
agent.run
|
72
|
+
}.to exit_with(0)
|
73
|
+
.and output(%r{Resolved service 'puppet' to https://127.0.0.1:#{port}/puppet/v3}).to_stdout
|
79
74
|
end
|
80
75
|
|
81
76
|
report = Puppet::Transaction::Report.convert_from(:yaml, File.read(Puppet[:lastrunreport]))
|
82
|
-
expect(report.
|
77
|
+
expect(report.server_used).to be_nil
|
83
78
|
end
|
84
79
|
|
85
80
|
it "server_list takes precedence over server" do
|
86
81
|
Puppet[:server] = 'notvalid.example.com'
|
82
|
+
Puppet[:log_level] = 'debug'
|
87
83
|
|
88
84
|
server.start_server do |port|
|
89
85
|
Puppet[:server_list] = "127.0.0.1:#{port}"
|
@@ -95,7 +91,7 @@ describe "puppet agent", unless: Puppet::Util::Platform.jruby? do
|
|
95
91
|
.and output(%r{Debug: Resolved service 'puppet' to https://127.0.0.1:#{port}/puppet/v3}).to_stdout
|
96
92
|
|
97
93
|
report = Puppet::Transaction::Report.convert_from(:yaml, File.read(Puppet[:lastrunreport]))
|
98
|
-
expect(report.
|
94
|
+
expect(report.server_used).to eq("127.0.0.1:#{port}")
|
99
95
|
end
|
100
96
|
end
|
101
97
|
end
|
@@ -114,13 +110,12 @@ describe "puppet agent", unless: Puppet::Util::Platform.jruby? do
|
|
114
110
|
}
|
115
111
|
|
116
112
|
server.start_server(mounts: {catalog: catalog_handler}) do |port|
|
117
|
-
Puppet[:
|
113
|
+
Puppet[:serverport] = port
|
118
114
|
expect {
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
}.to output(%r{Notice: /Stage\[main\]/Main/Notify\[deferred\]/message: defined 'message' as '1:2:3'}).to_stdout
|
115
|
+
agent.command_line.args << '--test'
|
116
|
+
agent.run
|
117
|
+
}.to exit_with(2)
|
118
|
+
.and output(%r{Notice: /Stage\[main\]/Main/Notify\[deferred\]/message: defined 'message' as '1:2:3'}).to_stdout
|
124
119
|
end
|
125
120
|
end
|
126
121
|
|
@@ -137,13 +132,12 @@ describe "puppet agent", unless: Puppet::Util::Platform.jruby? do
|
|
137
132
|
}
|
138
133
|
|
139
134
|
server.start_server(mounts: {catalog: catalog_handler}) do |port|
|
140
|
-
Puppet[:
|
135
|
+
Puppet[:serverport] = port
|
141
136
|
expect {
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
}.to output(a_string_matching(
|
137
|
+
agent.command_line.args << '--test'
|
138
|
+
agent.run
|
139
|
+
}.to exit_with(2)
|
140
|
+
.and output(a_string_matching(
|
147
141
|
/Notice: Sensitive \[value redacted\]/
|
148
142
|
).and matching(
|
149
143
|
/Notify\[sensitive\]\/message: changed \[redacted\] to \[redacted\]/
|
@@ -202,7 +196,7 @@ describe "puppet agent", unless: Puppet::Util::Platform.jruby? do
|
|
202
196
|
}
|
203
197
|
|
204
198
|
server.start_server(mounts: {catalog: catalog_handler}) do |port|
|
205
|
-
Puppet[:
|
199
|
+
Puppet[:serverport] = port
|
206
200
|
expect {
|
207
201
|
expect {
|
208
202
|
agent.command_line.args << '--test'
|
@@ -247,13 +241,12 @@ describe "puppet agent", unless: Puppet::Util::Platform.jruby? do
|
|
247
241
|
}
|
248
242
|
|
249
243
|
server.start_server(mounts: mounts) do |port|
|
250
|
-
Puppet[:
|
244
|
+
Puppet[:serverport] = port
|
251
245
|
expect {
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
}.to output(/content changed '{md5}d41d8cd98f00b204e9800998ecf8427e' to '{md5}4cf49285ae567157ebfba72bd04ccf32'/).to_stdout
|
246
|
+
agent.command_line.args << '--test'
|
247
|
+
agent.run
|
248
|
+
}.to exit_with(2)
|
249
|
+
.and output(/content changed '{sha256}e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855' to '{sha256}3bef83ad320b471d8e3a03c9b9f150749eea610fe266560395d3195cfbd8e6b8'/).to_stdout
|
257
250
|
|
258
251
|
# verify puppet restored binary content
|
259
252
|
expect(File.binread(path)).to eq(binary_content)
|
@@ -296,7 +289,7 @@ describe "puppet agent", unless: Puppet::Util::Platform.jruby? do
|
|
296
289
|
}
|
297
290
|
|
298
291
|
server.start_server(mounts: {catalog: catalog_handler}) do |puppetserver_port|
|
299
|
-
Puppet[:
|
292
|
+
Puppet[:serverport] = puppetserver_port
|
300
293
|
|
301
294
|
# override path to system cacert bundle, this must be done before
|
302
295
|
# the SSLContext is created and the call to X509::Store.set_default_paths
|
@@ -348,7 +341,7 @@ describe "puppet agent", unless: Puppet::Util::Platform.jruby? do
|
|
348
341
|
}
|
349
342
|
|
350
343
|
server.start_server(mounts: {catalog: catalog_handler}) do |puppetserver_port|
|
351
|
-
Puppet[:
|
344
|
+
Puppet[:serverport] = puppetserver_port
|
352
345
|
|
353
346
|
# override path to system cacert bundle, this must be done before
|
354
347
|
# the SSLContext is created and the call to X509::Store.set_default_paths
|
@@ -399,7 +392,7 @@ describe "puppet agent", unless: Puppet::Util::Platform.jruby? do
|
|
399
392
|
}
|
400
393
|
|
401
394
|
server.start_server(mounts: {catalog: catalog_handler}) do |puppetserver_port|
|
402
|
-
Puppet[:
|
395
|
+
Puppet[:serverport] = puppetserver_port
|
403
396
|
|
404
397
|
# set path to external cacert bundle, this must be done before
|
405
398
|
# the SSLContext is created
|
@@ -421,7 +414,7 @@ describe "puppet agent", unless: Puppet::Util::Platform.jruby? do
|
|
421
414
|
path = Puppet[:agent_catalog_run_lockfile]
|
422
415
|
|
423
416
|
th = Thread.new {
|
424
|
-
%x{ruby -e "$0 = 'puppet'; File.write('#{path}', Process.pid); sleep(
|
417
|
+
%x{ruby -e "$0 = 'puppet'; File.write('#{path}', Process.pid); sleep(20)"}
|
425
418
|
}
|
426
419
|
|
427
420
|
until File.exists?(path) && File.size(path) > 0 do
|
@@ -438,12 +431,23 @@ describe "puppet agent", unless: Puppet::Util::Platform.jruby? do
|
|
438
431
|
|
439
432
|
it "waits for other agent run to finish before starting" do
|
440
433
|
server.start_server do |port|
|
434
|
+
script = tmpfile('wait_for_log_entry')
|
435
|
+
logdest = tmpfile('agent_log')
|
441
436
|
path = Puppet[:agent_catalog_run_lockfile]
|
442
|
-
Puppet[:
|
437
|
+
Puppet[:serverport] = port
|
443
438
|
Puppet[:waitforlock] = 1
|
444
439
|
|
445
440
|
th = Thread.new {
|
446
|
-
|
441
|
+
File.write(script, <<~SCRIPT)
|
442
|
+
$0 = 'puppet'
|
443
|
+
# lock pidfile
|
444
|
+
File.write('#{path}', Process.pid)
|
445
|
+
# wait for foreground agent to fail once
|
446
|
+
until File.exists?("#{logdest}") && File.readlines("#{logdest}").grep(/Will try again/).any? do
|
447
|
+
sleep 0.1
|
448
|
+
end
|
449
|
+
SCRIPT
|
450
|
+
%x{ruby '#{script}'}
|
447
451
|
}
|
448
452
|
|
449
453
|
until File.exists?(path) && File.size(path) > 0 do
|
@@ -451,9 +455,14 @@ describe "puppet agent", unless: Puppet::Util::Platform.jruby? do
|
|
451
455
|
end
|
452
456
|
|
453
457
|
expect {
|
454
|
-
agent.command_line.args << '--test'
|
458
|
+
agent.command_line.args << '--test' << '--logdest' << logdest << '--logdest' << 'console'
|
455
459
|
agent.run
|
456
|
-
}.to exit_with(0)
|
460
|
+
}.to exit_with(0)
|
461
|
+
.and output(a_string_matching(
|
462
|
+
/Info: Will try again in #{Puppet[:waitforlock]} seconds/
|
463
|
+
).and matching(
|
464
|
+
/Applied catalog/
|
465
|
+
)).to_stdout
|
457
466
|
|
458
467
|
th.kill # kill thread so we don't wait too much
|
459
468
|
end
|
@@ -465,7 +474,7 @@ describe "puppet agent", unless: Puppet::Util::Platform.jruby? do
|
|
465
474
|
Puppet[:maxwaitforlock] = 0
|
466
475
|
|
467
476
|
th = Thread.new {
|
468
|
-
%x{ruby -e "$0 = 'puppet'; File.write('#{path}', Process.pid); sleep(
|
477
|
+
%x{ruby -e "$0 = 'puppet'; File.write('#{path}', Process.pid); sleep(20)"}
|
469
478
|
}
|
470
479
|
|
471
480
|
until File.exists?(path) && File.size(path) > 0 do
|
@@ -6,6 +6,8 @@ require 'puppet_spec/https'
|
|
6
6
|
describe "apply", unless: Puppet::Util::Platform.jruby? do
|
7
7
|
include PuppetSpec::Files
|
8
8
|
|
9
|
+
let(:apply) { Puppet::Application[:apply] }
|
10
|
+
|
9
11
|
before :each do
|
10
12
|
Puppet[:reports] = "none"
|
11
13
|
# Let exceptions be raised instead of exiting
|
@@ -19,76 +21,51 @@ describe "apply", unless: Puppet::Util::Platform.jruby? do
|
|
19
21
|
resource = Puppet::Resource.new(:file, file_to_create, :parameters => {:content => "my stuff"})
|
20
22
|
catalog.add_resource resource
|
21
23
|
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
puppet.apply
|
24
|
+
apply.command_line.args = ['--catalog', file_containing("manifest", catalog.to_json)]
|
25
|
+
expect {
|
26
|
+
apply.run
|
27
|
+
}.to output(/ensure: defined content as/).to_stdout
|
28
28
|
|
29
29
|
expect(Puppet::FileSystem.exist?(file_to_create)).to be_truthy
|
30
30
|
expect(File.read(file_to_create)).to eq("my stuff")
|
31
31
|
end
|
32
32
|
|
33
|
-
context '
|
34
|
-
|
35
|
-
|
36
|
-
let!(:envdir) { tmpdir('environments') }
|
33
|
+
context 'and pcore types are available' do
|
34
|
+
let(:envdir) { my_fixture('environments') }
|
37
35
|
let(:env_name) { 'spec' }
|
38
|
-
let(:dir_structure) {
|
39
|
-
{
|
40
|
-
'.resource_types' => {
|
41
|
-
'applytest.pp' => <<-CODE
|
42
|
-
Puppet::Resource::ResourceType3.new(
|
43
|
-
'applytest',
|
44
|
-
[Puppet::Resource::Param.new(String, 'message')],
|
45
|
-
[Puppet::Resource::Param.new(String, 'name', true)])
|
46
|
-
CODE
|
47
|
-
},
|
48
|
-
'modules' => {
|
49
|
-
'amod' => {
|
50
|
-
'lib' => {
|
51
|
-
'puppet' => {
|
52
|
-
'type' => { 'applytest.rb' => <<-CODE
|
53
|
-
Puppet::Type.newtype(:applytest) do
|
54
|
-
newproperty(:message) do
|
55
|
-
def sync
|
56
|
-
Puppet.send(@resource[:loglevel], self.should)
|
57
|
-
end
|
58
36
|
|
59
|
-
|
60
|
-
|
61
|
-
|
37
|
+
before(:each) do
|
38
|
+
Puppet[:environmentpath] = envdir
|
39
|
+
Puppet[:environment] = env_name
|
40
|
+
end
|
62
41
|
|
63
|
-
|
64
|
-
|
65
|
-
|
42
|
+
it 'does not load the pcore type' do
|
43
|
+
apply = Puppet::Application[:apply]
|
44
|
+
apply.command_line.args = [ '-e', "Applytest { message => 'the default'} applytest { 'applytest was here': }" ]
|
66
45
|
|
67
|
-
|
68
|
-
|
46
|
+
expect {
|
47
|
+
apply.run
|
48
|
+
}.to exit_with(0)
|
49
|
+
.and output(a_string_matching(
|
50
|
+
/the Puppet::Type says hello/
|
51
|
+
).and matching(
|
52
|
+
/applytest was here/
|
53
|
+
)).to_stdout
|
54
|
+
end
|
55
|
+
end
|
69
56
|
|
70
|
-
|
71
|
-
|
72
|
-
Puppet.notice('the Puppet::Type says hello')
|
73
|
-
isnamevar
|
74
|
-
end
|
75
|
-
end
|
76
|
-
CODE
|
77
|
-
}
|
78
|
-
}
|
79
|
-
}
|
80
|
-
}
|
81
|
-
}
|
82
|
-
}
|
83
|
-
}
|
57
|
+
context 'from environment with a pcore defined resource type' do
|
58
|
+
include PuppetSpec::Compiler
|
84
59
|
|
60
|
+
let(:envdir) { my_fixture('environments') }
|
61
|
+
let(:env_name) { 'spec' }
|
85
62
|
let(:environments) { Puppet::Environments::Directories.new(envdir, []) }
|
86
63
|
let(:env) { Puppet::Node::Environment.create(:'spec', [File.join(envdir, 'spec', 'modules')]) }
|
87
64
|
let(:node) { Puppet::Node.new('test', :environment => env) }
|
65
|
+
|
88
66
|
around(:each) do |example|
|
89
67
|
Puppet::Type.rmtype(:applytest)
|
90
68
|
Puppet[:environment] = env_name
|
91
|
-
dir_contained_in(envdir, env_name => dir_structure)
|
92
69
|
Puppet.override(:environments => environments, :current_environment => env) do
|
93
70
|
example.run
|
94
71
|
end
|
@@ -96,12 +73,13 @@ end
|
|
96
73
|
|
97
74
|
it 'does not load the pcore type' do
|
98
75
|
catalog = compile_to_catalog('applytest { "applytest was here":}', node)
|
99
|
-
apply =
|
100
|
-
apply.options[:catalog] = file_containing('manifest', catalog.to_json)
|
76
|
+
apply.command_line.args = ['--catalog', file_containing('manifest', catalog.to_json)]
|
101
77
|
|
102
78
|
Puppet[:environmentpath] = envdir
|
103
79
|
expect_any_instance_of(Puppet::Pops::Loader::Runtime3TypeLoader).not_to receive(:find)
|
104
|
-
expect {
|
80
|
+
expect {
|
81
|
+
apply.run
|
82
|
+
}.to output(/the Puppet::Type says hello.*applytest was here/m).to_stdout
|
105
83
|
end
|
106
84
|
|
107
85
|
# Test just to verify that the Pcore Resource Type and not the Ruby one is produced when the catalog is produced
|
@@ -113,7 +91,9 @@ end
|
|
113
91
|
|
114
92
|
expect(compiler.loaders.runtime3_type_loader.instance_variable_get(:@resource_3x_loader)).to receive(:set_entry).once.with(tn, rt, instance_of(String))
|
115
93
|
.and_return(Puppet::Pops::Loader::Loader::NamedEntry.new(tn, rt, nil))
|
116
|
-
expect {
|
94
|
+
expect {
|
95
|
+
compiler.compile
|
96
|
+
}.not_to output(/the Puppet::Type says hello/).to_stdout
|
117
97
|
end
|
118
98
|
|
119
99
|
it "does not fail when pcore type is loaded twice" do
|
@@ -226,36 +206,36 @@ end
|
|
226
206
|
catalog = compile_to_catalog('include mod', node)
|
227
207
|
|
228
208
|
Puppet[:environment] = env_name
|
229
|
-
apply =
|
230
|
-
|
231
|
-
expect {
|
232
|
-
|
209
|
+
apply.command_line.args = ['--catalog', file_containing('manifest', catalog.to_json)]
|
210
|
+
|
211
|
+
expect {
|
212
|
+
apply.run
|
213
|
+
}.to output(%r{Notify\[The Street 23\]/message: defined 'message' as 'The Street 23'}).to_stdout
|
233
214
|
end
|
234
215
|
end
|
235
216
|
|
236
|
-
it "
|
217
|
+
it "raises if the environment directory does not exist" do
|
237
218
|
manifest = file_containing("manifest.pp", "notice('it was applied')")
|
219
|
+
apply.command_line.args = [manifest]
|
238
220
|
|
239
221
|
special = Puppet::Node::Environment.create(:special, [])
|
240
222
|
Puppet.override(:current_environment => special) do
|
241
223
|
Puppet[:environment] = 'special'
|
242
|
-
|
243
|
-
|
244
|
-
|
224
|
+
expect {
|
225
|
+
apply.run
|
226
|
+
}.to raise_error(Puppet::Environments::EnvironmentNotFound,
|
227
|
+
/Could not find a directory environment named 'special' anywhere in the path/)
|
245
228
|
end
|
246
|
-
|
247
|
-
expect(@logs.map(&:to_s)).to include('it was applied')
|
248
229
|
end
|
249
230
|
|
250
231
|
it "adds environment to the $server_facts variable" do
|
251
232
|
manifest = file_containing("manifest.pp", "notice(\"$server_facts\")")
|
233
|
+
apply.command_line.args = [manifest]
|
252
234
|
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
expect(@logs.map(&:to_s)).to include(/{environment =>.*/)
|
235
|
+
expect {
|
236
|
+
apply.run
|
237
|
+
}.to exit_with(0)
|
238
|
+
.and output(/{environment => production}/).to_stdout
|
259
239
|
end
|
260
240
|
|
261
241
|
it "applies a given file even when an ENC is configured", :unless => Puppet::Util::Platform.windows? || Puppet::Util::Platform.jruby? do
|
@@ -271,48 +251,36 @@ end
|
|
271
251
|
Puppet[:environment] = 'special'
|
272
252
|
Puppet[:node_terminus] = 'exec'
|
273
253
|
Puppet[:external_nodes] = enc
|
274
|
-
|
275
|
-
|
276
|
-
|
254
|
+
apply.command_line.args = [manifest]
|
255
|
+
expect {
|
256
|
+
apply.run
|
257
|
+
}.to exit_with(0)
|
258
|
+
.and output(/Notice: Scope\(Class\[main\]\): specific manifest applied/).to_stdout
|
277
259
|
end
|
278
|
-
|
279
|
-
expect(@logs.map(&:to_s)).to include('specific manifest applied')
|
280
260
|
end
|
281
261
|
|
282
262
|
context "handles errors" do
|
283
263
|
it "logs compile errors once" do
|
284
|
-
|
285
|
-
|
286
|
-
apply.options[:code] = '08'
|
287
|
-
|
288
|
-
msg = 'valid octal'
|
289
|
-
callback = Proc.new do |actual|
|
290
|
-
expect(actual.scan(Regexp.new(msg))).to eq([msg])
|
291
|
-
end
|
292
|
-
|
293
|
-
expect do
|
264
|
+
apply.command_line.args = ['-e', '08']
|
265
|
+
expect {
|
294
266
|
apply.run
|
295
|
-
|
267
|
+
}.to exit_with(1)
|
268
|
+
.and output(/Not a valid octal number/).to_stderr
|
296
269
|
end
|
297
270
|
|
298
271
|
it "logs compile post processing errors once" do
|
299
|
-
Puppet.initialize_settings([])
|
300
|
-
apply = Puppet::Application.find(:apply).new(double('command_line', :subcommand_name => :apply, :args => []))
|
301
272
|
path = File.expand_path('/tmp/content_file_test.Q634Dlmtime')
|
302
|
-
apply.
|
273
|
+
apply.command_line.args = ['-e', "file { '#{path}':
|
303
274
|
content => 'This is the test file content',
|
304
275
|
ensure => present,
|
305
276
|
checksum => mtime
|
306
|
-
}"
|
277
|
+
}"]
|
307
278
|
|
308
|
-
|
309
|
-
callback = Proc.new do |actual|
|
310
|
-
expect(actual.scan(Regexp.new(msg))).to eq([msg])
|
311
|
-
end
|
312
|
-
|
313
|
-
expect do
|
279
|
+
expect {
|
314
280
|
apply.run
|
315
|
-
|
281
|
+
}.to exit_with(1)
|
282
|
+
.and output(/Compiled catalog/).to_stdout
|
283
|
+
.and output(/You cannot specify content when using checksum/).to_stderr
|
316
284
|
end
|
317
285
|
end
|
318
286
|
|
@@ -337,51 +305,42 @@ end
|
|
337
305
|
Puppet[:environmentpath] = envdir
|
338
306
|
end
|
339
307
|
|
340
|
-
|
341
|
-
|
342
|
-
puppet = Puppet::Application.find(:apply).new(double('command_line', :subcommand_name => :apply, :args => args))
|
343
|
-
puppet.options[:code] = execute
|
344
|
-
return puppet
|
345
|
-
end
|
308
|
+
context "given a modulepath" do
|
309
|
+
let(:args) { ['-e', execute] }
|
346
310
|
|
347
|
-
|
348
|
-
|
311
|
+
before :each do
|
312
|
+
Puppet[:modulepath] = modulepath
|
349
313
|
|
350
|
-
|
351
|
-
|
314
|
+
apply.command_line.args = args
|
315
|
+
end
|
352
316
|
|
353
|
-
|
354
|
-
|
355
|
-
|
317
|
+
it "looks in modulepath even when the default directory environment exists" do
|
318
|
+
expect {
|
319
|
+
apply.run
|
320
|
+
}.to exit_with(0)
|
321
|
+
.and output(/amod class included/).to_stdout
|
356
322
|
end
|
357
323
|
|
358
|
-
it "looks in
|
359
|
-
args << '--environment' << 'production'
|
360
|
-
apply = init_cli_args_and_apply_app(args, execute)
|
324
|
+
it "looks in modulepath even when given a specific directory --environment" do
|
325
|
+
apply.command_line.args = args << '--environment' << 'production'
|
361
326
|
|
362
|
-
expect
|
363
|
-
|
364
|
-
|
327
|
+
expect {
|
328
|
+
apply.run
|
329
|
+
}.to exit_with(0)
|
330
|
+
.and output(/amod class included/).to_stdout
|
365
331
|
end
|
366
332
|
|
367
|
-
it "looks in
|
368
|
-
|
369
|
-
apply = init_cli_args_and_apply_app(args, execute)
|
333
|
+
it "looks in modulepath when given multiple paths in modulepath" do
|
334
|
+
Puppet[:modulepath] = [tmpdir('notmodulepath'), modulepath].join(File::PATH_SEPARATOR)
|
370
335
|
|
371
|
-
expect
|
372
|
-
|
373
|
-
|
336
|
+
expect {
|
337
|
+
apply.run
|
338
|
+
}.to exit_with(0)
|
339
|
+
.and output(/amod class included/).to_stdout
|
374
340
|
end
|
375
341
|
end
|
376
342
|
|
377
|
-
# When executing an ENC script, output cannot be captured using
|
378
|
-
# expect { }.to have_printed(...)
|
379
|
-
# External node script execution will fail, likely due to the tampering
|
380
|
-
# with the basic file descriptors.
|
381
|
-
# Workaround: Define a log destination and merely inspect logs.
|
382
343
|
context "with an ENC" do
|
383
|
-
let(:logdest) { tmpfile('logdest') }
|
384
|
-
let(:args) { ['-e', execute, '--logdest', logdest ] }
|
385
344
|
let(:enc) do
|
386
345
|
script_containing('enc_script',
|
387
346
|
:windows => '@echo environment: spec',
|
@@ -394,17 +353,23 @@ end
|
|
394
353
|
end
|
395
354
|
|
396
355
|
it "should use the environment that the ENC mandates" do
|
397
|
-
apply =
|
398
|
-
|
399
|
-
expect
|
356
|
+
apply.command_line.args = ['-e', execute]
|
357
|
+
|
358
|
+
expect {
|
359
|
+
apply.run
|
360
|
+
}.to exit_with(0)
|
361
|
+
.and output(a_string_matching(/amod class included/)
|
362
|
+
.and matching(/Compiled catalog for .* in environment spec/)).to_stdout
|
400
363
|
end
|
401
364
|
|
402
365
|
it "should prefer the ENC environment over the configured one and emit a warning" do
|
403
|
-
apply =
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
|
366
|
+
apply.command_line.args = ['-e', execute, '--environment', 'production']
|
367
|
+
|
368
|
+
expect {
|
369
|
+
apply.run
|
370
|
+
}.to exit_with(0)
|
371
|
+
.and output(a_string_matching('amod class included')
|
372
|
+
.and matching(/doesn't match server specified environment/)).to_stdout
|
408
373
|
end
|
409
374
|
end
|
410
375
|
end
|
@@ -475,8 +440,7 @@ class amod::bad_type {
|
|
475
440
|
context 'and the file is not serialized with rich_data' do
|
476
441
|
it 'will notify a string that is the result of Regexp#inspect (from Runtime3xConverter)' do
|
477
442
|
catalog = compile_to_catalog(execute, node)
|
478
|
-
apply =
|
479
|
-
apply.options[:catalog] = file_containing('manifest', catalog.to_json)
|
443
|
+
apply.command_line.args = ['--catalog', file_containing('manifest', catalog.to_json)]
|
480
444
|
expect(apply).to receive(:apply_catalog) do |cat|
|
481
445
|
expect(cat.resource(:notify, 'rx')['message']).to be_a(String)
|
482
446
|
expect(cat.resource(:notify, 'bin')['message']).to be_a(String)
|
@@ -491,8 +455,7 @@ class amod::bad_type {
|
|
491
455
|
|
492
456
|
it 'will notify a string that is the result of to_s on uknown data types' do
|
493
457
|
json = compile_to_catalog('include amod::bad_type', node).to_json
|
494
|
-
apply =
|
495
|
-
apply.options[:catalog] = file_containing('manifest', json)
|
458
|
+
apply.command_line.args = ['--catalog', file_containing('manifest', json)]
|
496
459
|
expect(apply).to receive(:apply_catalog) do |catalog|
|
497
460
|
expect(catalog.resource(:notify, 'bogus')['message']).to be_a(String)
|
498
461
|
end
|
@@ -514,11 +477,10 @@ class amod::bad_type {
|
|
514
477
|
context 'and the file is serialized with rich_data' do
|
515
478
|
it 'will notify a regexp using Regexp#to_s' do
|
516
479
|
catalog = compile_to_catalog(execute, node)
|
517
|
-
apply = Puppet::Application[:apply]
|
518
480
|
serialized_catalog = Puppet.override(rich_data: true) do
|
519
481
|
catalog.to_json
|
520
482
|
end
|
521
|
-
apply.
|
483
|
+
apply.command_line.args = ['--catalog', file_containing('manifest', serialized_catalog)]
|
522
484
|
expect(apply).to receive(:apply_catalog) do |cat|
|
523
485
|
expect(cat.resource(:notify, 'rx')['message']).to be_a(Regexp)
|
524
486
|
# The resource return in this expect is a String, but since it was a Binary type that
|
@@ -541,7 +503,6 @@ class amod::bad_type {
|
|
541
503
|
let(:env_dir) { File.join(Puppet[:environmentpath], env_name) }
|
542
504
|
let(:env) { Puppet::Node::Environment.create(env_name.to_sym, [File.join(env_dir, 'modules')]) }
|
543
505
|
let(:node) { Puppet::Node.new(Puppet[:certname], environment: environment) }
|
544
|
-
let(:apply) { Puppet::Application[:apply] }
|
545
506
|
|
546
507
|
before :each do
|
547
508
|
Puppet[:environment] = env_name
|
@@ -564,14 +525,14 @@ class amod::bad_type {
|
|
564
525
|
|
565
526
|
expect {
|
566
527
|
apply.command_line.args << manifest
|
567
|
-
|
528
|
+
apply.run
|
568
529
|
}.to exit_with(0)
|
569
530
|
.and output(a_string_matching(
|
570
531
|
/dir1\]\/ensure: created/
|
571
532
|
).and matching(
|
572
533
|
/dir1\/dir2\]\/ensure: created/
|
573
534
|
).and matching(
|
574
|
-
/dir1\/dir2\/file\]\/ensure: defined content as '{
|
535
|
+
/dir1\/dir2\/file\]\/ensure: defined content as '{sha256}b37c1d77e09471b3139b2cdfee449fd8ba72ebf7634d52023aff0c0cd088cf1b'/
|
575
536
|
)).to_stdout
|
576
537
|
|
577
538
|
dest_file = File.join(base_dir, 'dir1', 'dir2', 'file')
|
@@ -579,6 +540,46 @@ class amod::bad_type {
|
|
579
540
|
end
|
580
541
|
end
|
581
542
|
|
543
|
+
context 'http file sources' do
|
544
|
+
include_context 'https client'
|
545
|
+
|
546
|
+
it "requires the caller to URL encode special characters in the request path and query" do
|
547
|
+
Puppet[:server] = '127.0.0.1'
|
548
|
+
request = nil
|
549
|
+
|
550
|
+
response_proc = -> (req, res) {
|
551
|
+
request = req
|
552
|
+
|
553
|
+
res['Content-Type'] = 'text/plain'
|
554
|
+
res.body = "from the server"
|
555
|
+
}
|
556
|
+
|
557
|
+
https = PuppetSpec::HTTPSServer.new
|
558
|
+
https.start_server(response_proc: response_proc) do |https_port|
|
559
|
+
dest = tmpfile('http_file_source')
|
560
|
+
|
561
|
+
# spaces in path are encoded as %20 and '[' in query is encoded as %5B,
|
562
|
+
# but ':', '=', '-' are not encoded
|
563
|
+
manifest = file_containing("manifest.pp", <<~MANIFEST)
|
564
|
+
file { "#{dest}":
|
565
|
+
ensure => file,
|
566
|
+
source => "https://#{Puppet[:server]}:#{https_port}/path%20to%20file?x=b%5Bc&sv=2019-02-02&st=2020-07-28T20:18:53Z&se=2020-07-28T21:03:00Z&sr=b&sp=r&sig=JaZhcqxT4akJcOwUdUGrQB2m1geUoh89iL8WMag8a8c=",
|
567
|
+
}
|
568
|
+
MANIFEST
|
569
|
+
|
570
|
+
expect {
|
571
|
+
apply.command_line.args << manifest
|
572
|
+
apply.run
|
573
|
+
}.to exit_with(0)
|
574
|
+
.and output(%r{Main/File\[#{dest}\]/ensure: defined content as}).to_stdout
|
575
|
+
|
576
|
+
expect(request.path).to eq('/path to file')
|
577
|
+
expect(request.query).to include('x' => 'b[c')
|
578
|
+
expect(request.query).to include('sig' => 'JaZhcqxT4akJcOwUdUGrQB2m1geUoh89iL8WMag8a8c=')
|
579
|
+
end
|
580
|
+
end
|
581
|
+
end
|
582
|
+
|
582
583
|
context 'http report processor' do
|
583
584
|
include_context 'https client'
|
584
585
|
|
@@ -586,7 +587,6 @@ class amod::bad_type {
|
|
586
587
|
Puppet[:reports] = 'http'
|
587
588
|
end
|
588
589
|
|
589
|
-
let(:apply) { Puppet::Application[:apply] }
|
590
590
|
let(:unknown_server) do
|
591
591
|
unknown_ca_cert = cert_fixture('unknown-ca.pem')
|
592
592
|
PuppetSpec::HTTPSServer.new(
|