puppet 6.24.0-x64-mingw32 → 7.0.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 +16 -2
- data/CONTRIBUTING.md +5 -5
- data/Gemfile +1 -3
- data/Gemfile.lock +35 -47
- data/README.md +5 -5
- data/conf/fileserver.conf +5 -10
- data/ext/build_defaults.yaml +1 -1
- data/ext/osx/file_mapping.yaml +0 -5
- data/ext/osx/puppet.plist +0 -2
- data/ext/project_data.yaml +1 -15
- 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 +14 -23
- data/lib/puppet/application.rb +178 -108
- data/lib/puppet/application/agent.rb +4 -12
- data/lib/puppet/application/apply.rb +2 -4
- data/lib/puppet/application/device.rb +100 -106
- data/lib/puppet/application/filebucket.rb +13 -10
- data/lib/puppet/application/resource.rb +3 -17
- data/lib/puppet/application/script.rb +0 -2
- data/lib/puppet/application/ssl.rb +1 -13
- data/lib/puppet/application_support.rb +0 -7
- data/lib/puppet/configurer.rb +30 -45
- data/lib/puppet/configurer/downloader.rb +1 -2
- data/lib/puppet/configurer/plugin_handler.rb +21 -19
- data/lib/puppet/defaults.rb +100 -192
- data/lib/puppet/environments.rb +60 -84
- data/lib/puppet/face/facts.rb +5 -103
- data/lib/puppet/face/help.rb +1 -1
- data/lib/puppet/face/help/action.erb +0 -1
- data/lib/puppet/face/help/face.erb +0 -1
- data/lib/puppet/face/node/clean.rb +0 -11
- data/lib/puppet/face/plugin.rb +5 -8
- 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_serving/configuration.rb +0 -5
- data/lib/puppet/file_serving/configuration/parser.rb +3 -32
- data/lib/puppet/file_serving/fileset.rb +2 -14
- data/lib/puppet/file_serving/http_metadata.rb +1 -1
- data/lib/puppet/file_serving/mount.rb +1 -2
- data/lib/puppet/file_system/file_impl.rb +1 -1
- data/lib/puppet/file_system/memory_file.rb +1 -8
- data/lib/puppet/file_system/windows.rb +2 -4
- data/lib/puppet/forge.rb +3 -3
- data/lib/puppet/forge/repository.rb +0 -1
- 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/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/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 +9 -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/generate/models/type/type.rb +4 -1
- data/lib/puppet/http.rb +22 -13
- data/lib/puppet/http/client.rb +164 -114
- 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 -12
- data/lib/puppet/http/resolver.rb +5 -15
- 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/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 +12 -26
- data/lib/puppet/http/service/ca.rb +11 -22
- data/lib/puppet/http/service/compiler.rb +22 -138
- 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/session.rb +11 -20
- data/lib/puppet/{network/http → http}/site.rb +1 -2
- data/lib/puppet/indirector/catalog/compiler.rb +0 -1
- data/lib/puppet/indirector/catalog/rest.rb +2 -4
- 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/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/interface/documentation.rb +0 -1
- data/lib/puppet/module_tool/applications.rb +0 -1
- data/lib/puppet/module_tool/applications/installer.rb +2 -52
- 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.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/connection.rb +247 -316
- data/lib/puppet/network/http/handler.rb +0 -1
- data/lib/puppet/network/http_pool.rb +16 -34
- data/lib/puppet/node.rb +1 -30
- data/lib/puppet/pal/json_catalog_encoder.rb +4 -0
- data/lib/puppet/pal/pal_impl.rb +3 -1
- data/lib/puppet/parser/ast/leaf.rb +2 -3
- 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/fqdn_rand.rb +6 -14
- data/lib/puppet/parser/resource.rb +0 -69
- data/lib/puppet/parser/templatewrapper.rb +1 -1
- 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 -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/model/ast.pp +0 -42
- data/lib/puppet/pops/model/ast.rb +0 -290
- data/lib/puppet/pops/model/ast_transformer.rb +1 -1
- 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/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_mismatch_describer.rb +1 -1
- 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 +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.rb +0 -13
- data/lib/puppet/provider/exec/posix.rb +4 -16
- data/lib/puppet/provider/group/groupadd.rb +8 -13
- 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 +0 -4
- data/lib/puppet/provider/package/portage.rb +1 -1
- data/lib/puppet/provider/package/puppet_gem.rb +1 -4
- data/lib/puppet/provider/parsedfile.rb +0 -3
- data/lib/puppet/provider/service/debian.rb +0 -2
- data/lib/puppet/provider/service/smf.rb +191 -73
- data/lib/puppet/provider/service/systemd.rb +4 -14
- data/lib/puppet/provider/service/windows.rb +0 -38
- data/lib/puppet/provider/user/aix.rb +2 -2
- data/lib/puppet/provider/user/directoryservice.rb +10 -33
- data/lib/puppet/provider/user/useradd.rb +8 -62
- data/lib/puppet/reference/configuration.rb +8 -7
- 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 +3 -119
- data/lib/puppet/resource/type_collection.rb +3 -48
- data/lib/puppet/runtime.rb +1 -2
- data/lib/puppet/settings.rb +80 -96
- 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/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 +1 -3
- data/lib/puppet/transaction.rb +1 -7
- data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
- data/lib/puppet/transaction/report.rb +2 -4
- data/lib/puppet/type.rb +0 -76
- data/lib/puppet/type/exec.rb +3 -16
- data/lib/puppet/type/file.rb +6 -26
- data/lib/puppet/type/file/checksum.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/filebucket.rb +3 -3
- data/lib/puppet/type/package.rb +8 -16
- data/lib/puppet/type/service.rb +38 -18
- data/lib/puppet/type/tidy.rb +3 -22
- data/lib/puppet/type/user.rb +20 -38
- data/lib/puppet/util/autoload.rb +8 -1
- data/lib/puppet/util/execution.rb +0 -11
- data/lib/puppet/util/http_proxy.rb +2 -215
- data/lib/puppet/util/monkey_patches.rb +0 -53
- data/lib/puppet/util/posix.rb +5 -54
- 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/symbolic_file_mode.rb +17 -29
- data/lib/puppet/util/windows.rb +3 -8
- 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 +9 -460
- data/lib/puppet/util/windows/sid.rb +2 -6
- data/lib/puppet/util/windows/string.rb +12 -13
- 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 +722 -1527
- data/man/man5/puppet.conf.5 +266 -354
- data/man/man8/puppet-agent.8 +2 -2
- 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 +1 -1
- data/man/man8/puppet-module.8 +1 -58
- 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/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 +27 -171
- data/spec/integration/application/apply_spec.rb +1 -20
- data/spec/integration/application/filebucket_spec.rb +16 -27
- data/spec/integration/application/help_spec.rb +2 -0
- data/spec/integration/application/module_spec.rb +0 -21
- data/spec/integration/application/plugin_spec.rb +24 -2
- 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 +0 -12
- data/spec/integration/indirector/direct_file_server_spec.rb +3 -1
- data/spec/integration/indirector/facts/facter_spec.rb +36 -90
- 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 -37
- data/spec/integration/resource/type_collection_spec.rb +6 -2
- data/spec/integration/transaction_spec.rb +9 -4
- data/spec/integration/type/exec_spec.rb +45 -70
- data/spec/integration/type/file_spec.rb +5 -4
- 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/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/puppetserver.rb +1 -1
- data/spec/lib/puppet_spec/settings.rb +1 -1
- data/spec/spec_helper.rb +7 -12
- data/spec/unit/agent_spec.rb +6 -10
- data/spec/unit/application/agent_spec.rb +3 -7
- data/spec/unit/application/facts_spec.rb +12 -456
- data/spec/unit/application/filebucket_spec.rb +43 -39
- 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 +12 -32
- 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/defaults_spec.rb +68 -54
- data/spec/unit/environments_spec.rb +68 -259
- data/spec/unit/face/node_spec.rb +11 -0
- 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 +15 -18
- data/spec/unit/file_serving/configuration_spec.rb +6 -12
- 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 +0 -15
- data/spec/unit/forge/module_release_spec.rb +7 -2
- 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/unwrap_spec.rb +0 -8
- data/spec/unit/functions/upcase_spec.rb +1 -1
- data/spec/unit/functions4_spec.rb +2 -2
- data/spec/unit/gettext/config_spec.rb +0 -12
- data/spec/unit/http/client_spec.rb +7 -8
- 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 -185
- 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 -14
- 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 +12 -8
- 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_spec.rb +2 -2
- data/spec/unit/module_tool/applications/installer_spec.rb +0 -78
- 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 -45
- 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 -54
- 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_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/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 -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/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 +32 -0
- 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/pip_spec.rb +11 -43
- data/spec/unit/provider/package/pkgdmg_spec.rb +4 -0
- data/spec/unit/provider/package/puppet_gem_spec.rb +3 -2
- data/spec/unit/provider/parsedfile_spec.rb +0 -10
- data/spec/unit/provider/service/init_spec.rb +0 -1
- data/spec/unit/provider/service/openwrt_spec.rb +1 -3
- data/spec/unit/provider/service/smf_spec.rb +401 -165
- data/spec/unit/provider/service/systemd_spec.rb +8 -53
- data/spec/unit/provider/service/windows_spec.rb +0 -203
- data/spec/unit/provider/user/aix_spec.rb +0 -5
- data/spec/unit/provider/user/directoryservice_spec.rb +35 -67
- 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 +3 -71
- data/spec/unit/provider_spec.rb +8 -18
- data/spec/unit/resource/catalog_spec.rb +1 -1
- 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 +10 -67
- 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 +15 -45
- data/spec/unit/ssl/certificate_spec.rb +2 -11
- data/spec/unit/ssl/ssl_provider_spec.rb +2 -5
- data/spec/unit/ssl/state_machine_spec.rb +5 -20
- 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/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 -60
- data/spec/unit/type/tidy_spec.rb +8 -24
- data/spec/unit/type/user_spec.rb +0 -45
- data/spec/unit/type_spec.rb +22 -2
- 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 -3
- 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 +0 -54
- data/spec/unit/util_spec.rb +6 -31
- data/tasks/generate_cert_fixtures.rake +3 -12
- metadata +45 -253
- 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/ffi/posix.rb +0 -10
- data/lib/puppet/ffi/posix/constants.rb +0 -14
- data/lib/puppet/ffi/posix/functions.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.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/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.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/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.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/fixtures/integration/application/agent/cached_deferred_catalog.json +0 -91
- 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 -64
- data/spec/integration/application/ssl_spec.rb +0 -20
- data/spec/integration/network/authconfig_spec.rb +0 -256
- data/spec/integration/util/windows/monkey_patches/dir_spec.rb +0 -11
- data/spec/unit/application/man_spec.rb +0 -52
- data/spec/unit/capability_spec.rb +0 -414
- 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/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 -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/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/ssl_spec.rb +0 -91
@@ -5,8 +5,6 @@ require 'puppet/util/tagging'
|
|
5
5
|
require 'puppet/graph'
|
6
6
|
require 'securerandom'
|
7
7
|
|
8
|
-
require 'puppet/resource/capability_finder'
|
9
|
-
|
10
8
|
# This class models a node catalog. It is the thing meant to be passed
|
11
9
|
# from server to client, and it contains all of the information in the
|
12
10
|
# catalog, including the resources and the relationships between them.
|
@@ -382,23 +380,12 @@ class Puppet::Resource::Catalog < Puppet::Graph::SimpleGraph
|
|
382
380
|
result = @resource_table[title_key]
|
383
381
|
if result.nil?
|
384
382
|
# an instance has to be created in order to construct the unique key used when
|
385
|
-
# searching for aliases
|
383
|
+
# searching for aliases
|
386
384
|
res = Puppet::Resource.new(type, title, { :environment => @environment_instance })
|
387
385
|
|
388
386
|
# Must check with uniqueness key because of aliases or if resource transforms title in title
|
389
387
|
# to attribute mappings.
|
390
388
|
result = @resource_table[[type_name, res.uniqueness_key].flatten]
|
391
|
-
|
392
|
-
if result.nil?
|
393
|
-
resource_type = res.resource_type
|
394
|
-
if resource_type && resource_type.is_capability?
|
395
|
-
# @todo lutter 2015-03-10: this assumes that it is legal to just
|
396
|
-
# mention a capability resource in code and have it automatically
|
397
|
-
# made available, even if the current component does not require it
|
398
|
-
result = Puppet::Resource::CapabilityFinder.find(environment, code_id, res)
|
399
|
-
add_resource(result) if result
|
400
|
-
end
|
401
|
-
end
|
402
389
|
end
|
403
390
|
result
|
404
391
|
end
|
data/lib/puppet/resource/type.rb
CHANGED
@@ -11,16 +11,13 @@ class Puppet::Resource::Type
|
|
11
11
|
include Puppet::Util::Warnings
|
12
12
|
include Puppet::Util::Errors
|
13
13
|
|
14
|
-
|
15
|
-
RESOURCE_KINDS = [:hostclass, :node, :definition, :capability_mapping, :application, :site]
|
14
|
+
RESOURCE_KINDS = [:hostclass, :node, :definition]
|
16
15
|
|
17
16
|
# Map the names used in our documentation to the names used internally
|
18
17
|
RESOURCE_KINDS_TO_EXTERNAL_NAMES = {
|
19
18
|
:hostclass => "class",
|
20
19
|
:node => "node",
|
21
|
-
:definition => "defined_type"
|
22
|
-
:application => "application",
|
23
|
-
:site => 'site'
|
20
|
+
:definition => "defined_type"
|
24
21
|
}
|
25
22
|
RESOURCE_EXTERNAL_NAMES_TO_KINDS = RESOURCE_KINDS_TO_EXTERNAL_NAMES.invert
|
26
23
|
|
@@ -37,15 +34,6 @@ class Puppet::Resource::Type
|
|
37
34
|
attr_accessor :file, :line, :doc, :code, :parent, :resource_type_collection, :override
|
38
35
|
attr_reader :namespace, :arguments, :behaves_like, :module_name
|
39
36
|
|
40
|
-
# The attributes 'produces' and 'consumes' are arrays of the blueprints
|
41
|
-
# of capabilities this type can produce/consume. The entries in the array
|
42
|
-
# are a fairly direct representation of what goes into produces/consumes
|
43
|
-
# clauses. Each entry is a hash with attributes
|
44
|
-
# :capability - the type name of the capres produced/consumed
|
45
|
-
# :mappings - a hash of attribute_name => Expression
|
46
|
-
# These two attributes are populated in
|
47
|
-
# PopsBridge::instantiate_CapabilityMapping
|
48
|
-
|
49
37
|
# Map from argument (aka parameter) names to Puppet Type
|
50
38
|
# @return [Hash<Symbol, Puppet::Pops::Types::PAnyType] map from name to type
|
51
39
|
#
|
@@ -69,53 +57,6 @@ class Puppet::Resource::Type
|
|
69
57
|
return(klass == parent_type ? true : parent_type.child_of?(klass))
|
70
58
|
end
|
71
59
|
|
72
|
-
# Evaluate the resources produced by the given resource. These resources are
|
73
|
-
# evaluated in a separate but identical scope from the rest of the resource.
|
74
|
-
#
|
75
|
-
# @deprecated application orchestration will be removed in puppet 7
|
76
|
-
def evaluate_produces(resource, scope)
|
77
|
-
# Only defined types and classes can produce capabilities
|
78
|
-
return unless definition? || hostclass?
|
79
|
-
|
80
|
-
resource.export.map do |ex|
|
81
|
-
# Assert that the ref really is a resource reference
|
82
|
-
raise Puppet::Error, _("Invalid export in %{reference}: %{ex} is not a resource") % { reference: resource.ref, ex: ex } unless ex.is_a?(Puppet::Resource)
|
83
|
-
raise Puppet::Error, _("Invalid export in %{reference}: %{ex} is not a capability resource") % { reference: resource.ref, ex: ex } if ex.resource_type.nil? || !ex.resource_type.is_capability?
|
84
|
-
|
85
|
-
blueprint = produces.find { |pr| pr[:capability] == ex.type }
|
86
|
-
if blueprint.nil?
|
87
|
-
raise Puppet::ParseError, _("Resource type %{res_type} does not produce %{ex_type}") % { res_type: resource.type, ex_type: ex.type }
|
88
|
-
end
|
89
|
-
t = ex.type
|
90
|
-
t = Puppet::Pops::Evaluator::Runtime3ResourceSupport.find_resource_type(scope, t) unless t == 'class' || t == 'node'
|
91
|
-
produced_resource = Puppet::Parser::Resource.new(t, ex.title, :scope => scope, :source => self)
|
92
|
-
|
93
|
-
produced_resource.resource_type.parameters.each do |name|
|
94
|
-
next if name == :name
|
95
|
-
|
96
|
-
expr = blueprint[:mappings][name.to_s]
|
97
|
-
if expr
|
98
|
-
produced_resource[name] = expr.safeevaluate(scope)
|
99
|
-
else
|
100
|
-
produced_resource[name] = scope[name.to_s]
|
101
|
-
end
|
102
|
-
end
|
103
|
-
# Tag the produced resource so we can later distinguish it from
|
104
|
-
# copies of the resource that wind up in the catalogs of nodes that
|
105
|
-
# use this resource. We tag the resource with producer:<environment>,
|
106
|
-
# meaning produced resources need to be unique within their
|
107
|
-
# environment
|
108
|
-
# @todo lutter 2014-11-13: we would really like to use a dedicated
|
109
|
-
# metadata field to indicate the producer of a resource, but that
|
110
|
-
# requires changes to PuppetDB and its API; so for now, we just use
|
111
|
-
# tagging
|
112
|
-
produced_resource.tag("producer:#{scope.catalog.environment}")
|
113
|
-
scope.catalog.add_resource(produced_resource)
|
114
|
-
produced_resource[:require] = resource.ref
|
115
|
-
produced_resource
|
116
|
-
end
|
117
|
-
end
|
118
|
-
|
119
60
|
# Now evaluate the code associated with this class or definition.
|
120
61
|
def evaluate_code(resource)
|
121
62
|
|
@@ -129,8 +70,6 @@ class Puppet::Resource::Type
|
|
129
70
|
|
130
71
|
resource.add_edge_to_stage
|
131
72
|
|
132
|
-
evaluate_produces(resource, scope)
|
133
|
-
|
134
73
|
if code
|
135
74
|
if @match # Only bother setting up the ephemeral scope if there are match variables to add into it
|
136
75
|
scope.with_guarded_scope do
|
@@ -165,28 +104,6 @@ class Puppet::Resource::Type
|
|
165
104
|
@module_name = options[:module_name]
|
166
105
|
end
|
167
106
|
|
168
|
-
# @deprecated application orchestration will be removed in puppet 7
|
169
|
-
def produces
|
170
|
-
@produces || EMPTY_ARRAY
|
171
|
-
end
|
172
|
-
|
173
|
-
# @deprecated application orchestration will be removed in puppet 7
|
174
|
-
def consumes
|
175
|
-
@consumes || EMPTY_ARRAY
|
176
|
-
end
|
177
|
-
|
178
|
-
# @deprecated application orchestration will be removed in puppet 7
|
179
|
-
def add_produces(blueprint)
|
180
|
-
@produces ||= []
|
181
|
-
@produces << blueprint
|
182
|
-
end
|
183
|
-
|
184
|
-
# @deprecated application orchestration will be removed in puppet 7
|
185
|
-
def add_consumes(blueprint)
|
186
|
-
@consumes ||= []
|
187
|
-
@consumes << blueprint
|
188
|
-
end
|
189
|
-
|
190
107
|
# This is only used for node names, and really only when the node name
|
191
108
|
# is a regexp.
|
192
109
|
def match(string)
|
@@ -242,9 +159,6 @@ class Puppet::Resource::Type
|
|
242
159
|
:class
|
243
160
|
when :node
|
244
161
|
:node
|
245
|
-
when :site
|
246
|
-
# @deprecated application orchestration will be removed in puppet 7
|
247
|
-
:site
|
248
162
|
end
|
249
163
|
|
250
164
|
# Do nothing if the resource already exists; this makes sure we don't
|
@@ -289,21 +203,6 @@ class Puppet::Resource::Type
|
|
289
203
|
@name.is_a?(Regexp)
|
290
204
|
end
|
291
205
|
|
292
|
-
# @deprecated Not used by Puppet
|
293
|
-
# @api private
|
294
|
-
def assign_parameter_values(parameters, resource)
|
295
|
-
Puppet.deprecation_warning(_('The method Puppet::Resource::Type.assign_parameter_values is deprecated and will be removed in the next major release of Puppet.'))
|
296
|
-
|
297
|
-
return unless parameters
|
298
|
-
|
299
|
-
# It'd be nice to assign default parameter values here,
|
300
|
-
# but we can't because they often rely on local variables
|
301
|
-
# created during set_resource_parameters.
|
302
|
-
parameters.each do |name, value|
|
303
|
-
resource.set_parameter name, value
|
304
|
-
end
|
305
|
-
end
|
306
|
-
|
307
206
|
def parent_type(scope = nil)
|
308
207
|
return nil unless parent
|
309
208
|
|
@@ -326,7 +225,6 @@ class Puppet::Resource::Type
|
|
326
225
|
caller_name = resource[:caller_module_name] || scope.parent_module_name
|
327
226
|
scope[CALLER_MODULE_NAME] = caller_name unless caller_name.nil?
|
328
227
|
|
329
|
-
resource.add_parameters_from_consume
|
330
228
|
inject_external_parameters(resource, scope)
|
331
229
|
|
332
230
|
if @type == :hostclass
|
@@ -389,7 +287,7 @@ class Puppet::Resource::Type
|
|
389
287
|
private :assign_defaults
|
390
288
|
|
391
289
|
def validate_resource_hash(resource, resource_hash)
|
392
|
-
Puppet::Pops::Types::TypeMismatchDescriber.validate_parameters(resource.to_s, parameter_struct, resource_hash,
|
290
|
+
Puppet::Pops::Types::TypeMismatchDescriber.validate_parameters(resource.to_s, parameter_struct, resource_hash, false)
|
393
291
|
end
|
394
292
|
private :validate_resource_hash
|
395
293
|
|
@@ -444,14 +342,6 @@ class Puppet::Resource::Type
|
|
444
342
|
end
|
445
343
|
end
|
446
344
|
|
447
|
-
# Returns boolean true if an instance of this type is a capability. This
|
448
|
-
# implementation always returns false. This "duck-typing" interface is
|
449
|
-
# shared among other classes and makes it easier to detect capabilities
|
450
|
-
# when they are intermixed with non capability instances.
|
451
|
-
def is_capability?
|
452
|
-
false
|
453
|
-
end
|
454
|
-
|
455
345
|
private
|
456
346
|
|
457
347
|
def convert_from_ast(name)
|
@@ -516,12 +406,6 @@ class Puppet::Resource::Type
|
|
516
406
|
type_factory = Puppet::Pops::Types::TypeFactory
|
517
407
|
members = { type_factory.optional(type_factory.string(NAME)) => type_factory.any }
|
518
408
|
|
519
|
-
if application?
|
520
|
-
resource_type = type_factory.type_type(type_factory.resource)
|
521
|
-
members[type_factory.string(NODES)] = type_factory.hash_of(type_factory.variant(
|
522
|
-
resource_type, type_factory.array_of(resource_type)), type_factory.type_type(type_factory.resource('node')))
|
523
|
-
end
|
524
|
-
|
525
409
|
Puppet::Type.eachmetaparam do |name|
|
526
410
|
# TODO: Once meta parameters are typed, this should change to reflect that type
|
527
411
|
members[name.to_s] = type_factory.any
|
@@ -13,22 +13,16 @@ class Puppet::Resource::TypeCollection
|
|
13
13
|
def clear
|
14
14
|
@hostclasses.clear
|
15
15
|
@definitions.clear
|
16
|
-
@applications.clear
|
17
16
|
@nodes.clear
|
18
17
|
@notfound.clear
|
19
|
-
@capability_mappings.clear
|
20
|
-
@sites.clear
|
21
18
|
end
|
22
19
|
|
23
20
|
def initialize(env)
|
24
21
|
@environment = env
|
25
22
|
@hostclasses = {}
|
26
23
|
@definitions = {}
|
27
|
-
@capability_mappings = {}
|
28
|
-
@applications = {}
|
29
24
|
@nodes = {}
|
30
25
|
@notfound = {}
|
31
|
-
@sites = []
|
32
26
|
@lock = Puppet::Concurrent::Lock.new
|
33
27
|
|
34
28
|
# So we can keep a list and match the first-defined regex
|
@@ -45,10 +39,7 @@ class Puppet::Resource::TypeCollection
|
|
45
39
|
"TypeCollection" + {
|
46
40
|
:hostclasses => @hostclasses.keys,
|
47
41
|
:definitions => @definitions.keys,
|
48
|
-
:nodes => @nodes.keys
|
49
|
-
:capability_mappings => @capability_mappings.keys,
|
50
|
-
:applications => @applications.keys,
|
51
|
-
:site => @sites[0] # todo, could be just a binary, this dumps the entire body (good while developing)
|
42
|
+
:nodes => @nodes.keys
|
52
43
|
}.inspect
|
53
44
|
end
|
54
45
|
|
@@ -71,7 +62,6 @@ class Puppet::Resource::TypeCollection
|
|
71
62
|
handle_hostclass_merge(instance)
|
72
63
|
dupe_check(instance, @hostclasses) { |dupe| _("Class '%{klass}' is already defined%{error}; cannot redefine") % { klass: instance.name, error: dupe.error_context } }
|
73
64
|
dupe_check(instance, @definitions) { |dupe| _("Definition '%{klass}' is already defined%{error}; cannot be redefined as a class") % { klass: instance.name, error: dupe.error_context } }
|
74
|
-
dupe_check(instance, @applications) { |dupe| _("Application '%{klass}' is already defined%{error}; cannot be redefined as a class") % { klass: instance.name, error: dupe.error_context } }
|
75
65
|
|
76
66
|
@hostclasses[instance.name] = instance
|
77
67
|
instance
|
@@ -109,16 +99,6 @@ class Puppet::Resource::TypeCollection
|
|
109
99
|
instance
|
110
100
|
end
|
111
101
|
|
112
|
-
def add_site(instance)
|
113
|
-
dupe_check_singleton(instance, @sites) { |dupe| _("Site is already defined%{error}; cannot redefine") % { error: dupe.error_context } }
|
114
|
-
@sites << instance
|
115
|
-
instance
|
116
|
-
end
|
117
|
-
|
118
|
-
def site(_)
|
119
|
-
@sites[0]
|
120
|
-
end
|
121
|
-
|
122
102
|
def loader
|
123
103
|
@loader ||= Puppet::Parser::TypeLoader.new(environment)
|
124
104
|
end
|
@@ -149,38 +129,18 @@ class Puppet::Resource::TypeCollection
|
|
149
129
|
def add_definition(instance)
|
150
130
|
dupe_check(instance, @hostclasses) { |dupe| _("'%{name}' is already defined%{error} as a class; cannot redefine as a definition") % { name: instance.name, error: dupe.error_context } }
|
151
131
|
dupe_check(instance, @definitions) { |dupe| _("Definition '%{name}' is already defined%{error}; cannot be redefined") % { name: instance.name, error: dupe.error_context } }
|
152
|
-
dupe_check(instance, @applications) { |dupe| _("'%{name}' is already defined%{error} as an application; cannot be redefined") % { name: instance.name, error: dupe.error_context } }
|
153
|
-
@definitions[instance.name] = instance
|
154
|
-
end
|
155
132
|
|
156
|
-
|
157
|
-
dupe_check(instance, @capability_mappings) { |dupe| _("'%{name}' is already defined%{error} as a class; cannot redefine as a mapping") % { name: instance.name, error: dupe.error_context } }
|
158
|
-
@capability_mappings[instance.name] = instance
|
133
|
+
@definitions[instance.name] = instance
|
159
134
|
end
|
160
135
|
|
161
136
|
def definition(name)
|
162
137
|
@definitions[munge_name(name)]
|
163
138
|
end
|
164
139
|
|
165
|
-
def add_application(instance)
|
166
|
-
dupe_check(instance, @hostclasses) { |dupe| _("'%{name}' is already defined%{error} as a class; cannot redefine as an application") % { name: instance.name, error: dupe.error_context } }
|
167
|
-
dupe_check(instance, @definitions) { |dupe| _("'%{name}' is already defined%{error} as a definition; cannot redefine as an application") % { name: instance.name, error: dupe.error_context } }
|
168
|
-
dupe_check(instance, @applications) { |dupe| _("'%{name}' is already defined%{error} as an application; cannot be redefined") % { name: instance.name, error: dupe.error_context } }
|
169
|
-
@applications[instance.name] = instance
|
170
|
-
end
|
171
|
-
|
172
|
-
def application(name)
|
173
|
-
@applications[munge_name(name)]
|
174
|
-
end
|
175
|
-
|
176
140
|
def find_node(name)
|
177
141
|
@nodes[munge_name(name)]
|
178
142
|
end
|
179
143
|
|
180
|
-
def find_site()
|
181
|
-
@sites[0]
|
182
|
-
end
|
183
|
-
|
184
144
|
def find_hostclass(name)
|
185
145
|
find_or_load(name, :hostclass)
|
186
146
|
end
|
@@ -189,14 +149,9 @@ class Puppet::Resource::TypeCollection
|
|
189
149
|
find_or_load(name, :definition)
|
190
150
|
end
|
191
151
|
|
192
|
-
def find_application(name)
|
193
|
-
find_or_load(name, :application)
|
194
|
-
end
|
195
|
-
|
196
152
|
# TODO: This implementation is wasteful as it creates a copy on each request
|
197
153
|
#
|
198
|
-
[:hostclasses, :nodes, :definitions
|
199
|
-
:applications].each do |m|
|
154
|
+
[:hostclasses, :nodes, :definitions].each do |m|
|
200
155
|
define_method(m) do
|
201
156
|
instance_variable_get("@#{m}").dup
|
202
157
|
end
|
data/lib/puppet/runtime.rb
CHANGED
@@ -11,8 +11,7 @@ class Puppet::Runtime
|
|
11
11
|
@runtime_services = {
|
12
12
|
http: proc do
|
13
13
|
klass = Puppet::Network::HttpPool.http_client_class
|
14
|
-
if klass == Puppet::Network::HTTP::Connection
|
15
|
-
klass == Puppet::Network::HTTP::ConnectionAdapter
|
14
|
+
if klass == Puppet::Network::HTTP::Connection
|
16
15
|
Puppet::HTTP::Client.new
|
17
16
|
else
|
18
17
|
Puppet::HTTP::ExternalClient.new(klass)
|
data/lib/puppet/settings.rb
CHANGED
@@ -21,6 +21,8 @@ class Puppet::Settings
|
|
21
21
|
require 'puppet/settings/file_or_directory_setting'
|
22
22
|
require 'puppet/settings/path_setting'
|
23
23
|
require 'puppet/settings/boolean_setting'
|
24
|
+
require 'puppet/settings/integer_setting'
|
25
|
+
require 'puppet/settings/port_setting'
|
24
26
|
require 'puppet/settings/terminus_setting'
|
25
27
|
require 'puppet/settings/duration_setting'
|
26
28
|
require 'puppet/settings/ttl_setting'
|
@@ -32,7 +34,6 @@ class Puppet::Settings
|
|
32
34
|
require 'puppet/settings/server_list_setting'
|
33
35
|
require 'puppet/settings/http_extra_headers_setting'
|
34
36
|
require 'puppet/settings/certificate_revocation_setting'
|
35
|
-
require 'puppet/settings/alias_setting'
|
36
37
|
|
37
38
|
# local reference for convenience
|
38
39
|
PuppetOptionParser = Puppet::Util::CommandLine::PuppetOptionParser
|
@@ -53,13 +54,14 @@ class Puppet::Settings
|
|
53
54
|
# returns reasonable application default settings values for a given run_mode.
|
54
55
|
def self.app_defaults_for_run_mode(run_mode)
|
55
56
|
{
|
56
|
-
:name
|
57
|
-
:run_mode
|
58
|
-
:confdir
|
59
|
-
:codedir
|
60
|
-
:vardir
|
61
|
-
:
|
62
|
-
:
|
57
|
+
:name => run_mode.to_s,
|
58
|
+
:run_mode => run_mode.name,
|
59
|
+
:confdir => run_mode.conf_dir,
|
60
|
+
:codedir => run_mode.code_dir,
|
61
|
+
:vardir => run_mode.var_dir,
|
62
|
+
:publicdir => run_mode.public_dir,
|
63
|
+
:rundir => run_mode.run_dir,
|
64
|
+
:logdir => run_mode.log_dir,
|
63
65
|
}
|
64
66
|
end
|
65
67
|
|
@@ -386,6 +388,19 @@ class Puppet::Settings
|
|
386
388
|
call_hooks_deferred_to_application_initialization
|
387
389
|
issue_deprecations
|
388
390
|
|
391
|
+
run_mode = Puppet::Util::RunMode[self.preferred_run_mode]
|
392
|
+
if run_mode.agent? || run_mode.server?
|
393
|
+
if self.set_in_section?(:masterport, run_mode.name) && !self.set_in_section?(:serverport, run_mode.name)
|
394
|
+
self[:serverport] = self[:masterport]
|
395
|
+
elsif self.set_by_config?(:masterport) && !self.set_by_config?(:serverport)
|
396
|
+
self[:serverport] = self[:masterport]
|
397
|
+
elsif self.set_in_section?(:serverport, run_mode.name) && !self.set_in_section?(:masterport, run_mode.name)
|
398
|
+
self[:masterport] = self[:serverport]
|
399
|
+
elsif self.set_by_config?(:serverport) && !self.set_by_config?(:masterport)
|
400
|
+
self[:masterport] = self[:serverport]
|
401
|
+
end
|
402
|
+
end
|
403
|
+
|
389
404
|
REQUIRED_APP_SETTINGS.each do |key|
|
390
405
|
create_ancestors(Puppet[key])
|
391
406
|
end
|
@@ -720,6 +735,8 @@ class Puppet::Settings
|
|
720
735
|
:file_or_directory => FileOrDirectorySetting,
|
721
736
|
:path => PathSetting,
|
722
737
|
:boolean => BooleanSetting,
|
738
|
+
:integer => IntegerSetting,
|
739
|
+
:port => PortSetting,
|
723
740
|
:terminus => TerminusSetting,
|
724
741
|
:duration => DurationSetting,
|
725
742
|
:ttl => TTLSetting,
|
@@ -730,8 +747,7 @@ class Puppet::Settings
|
|
730
747
|
:autosign => AutosignSetting,
|
731
748
|
:server_list => ServerListSetting,
|
732
749
|
:http_extra_headers => HttpExtraHeadersSetting,
|
733
|
-
:certificate_revocation => CertificateRevocationSetting
|
734
|
-
:alias => AliasSetting
|
750
|
+
:certificate_revocation => CertificateRevocationSetting
|
735
751
|
}
|
736
752
|
|
737
753
|
# Create a new setting. The value is passed in because it's used to determine
|
@@ -862,11 +878,7 @@ class Puppet::Settings
|
|
862
878
|
if self[:user]
|
863
879
|
user = Puppet::Type.type(:user).new :name => self[:user], :audit => :ensure
|
864
880
|
|
865
|
-
|
866
|
-
@service_user_available = user.exists?
|
867
|
-
else
|
868
|
-
raise Puppet::Error, (_("Cannot manage owner permissions, because the provider for '%{name}' is not functional") % { name: user })
|
869
|
-
end
|
881
|
+
@service_user_available = user.exists?
|
870
882
|
else
|
871
883
|
@service_user_available = false
|
872
884
|
end
|
@@ -878,11 +890,7 @@ class Puppet::Settings
|
|
878
890
|
if self[:group]
|
879
891
|
group = Puppet::Type.type(:group).new :name => self[:group], :audit => :ensure
|
880
892
|
|
881
|
-
|
882
|
-
@service_group_available = group.exists?
|
883
|
-
else
|
884
|
-
raise Puppet::Error, (_("Cannot manage group permissions, because the provider for '%{name}' is not functional") % { name: group })
|
885
|
-
end
|
893
|
+
@service_group_available = group.exists?
|
886
894
|
else
|
887
895
|
@service_group_available = false
|
888
896
|
end
|
@@ -891,16 +899,9 @@ class Puppet::Settings
|
|
891
899
|
# Allow later inspection to determine if the setting was set on the
|
892
900
|
# command line, or through some other code path. Used for the
|
893
901
|
# `dns_alt_names` option during cert generate. --daniel 2011-10-18
|
894
|
-
#
|
895
|
-
# @param param [String, Symbol] the setting to look up
|
896
|
-
# @return [Object, nil] the value of the setting or nil if unset
|
897
|
-
def set_by_cli(param)
|
898
|
-
param = param.to_sym
|
899
|
-
@value_sets[:cli].lookup(param)
|
900
|
-
end
|
901
|
-
|
902
902
|
def set_by_cli?(param)
|
903
|
-
|
903
|
+
param = param.to_sym
|
904
|
+
!@value_sets[:cli].lookup(param).nil?
|
904
905
|
end
|
905
906
|
|
906
907
|
# Get values from a search path entry.
|
@@ -933,13 +934,9 @@ class Puppet::Settings
|
|
933
934
|
end
|
934
935
|
end
|
935
936
|
|
936
|
-
# Allow later inspection to determine if the setting was set
|
937
|
-
#
|
938
|
-
|
939
|
-
# @param param [String, Symbol] the setting to look up
|
940
|
-
# @param section [Symbol] the section in which to look up the setting
|
941
|
-
# @return [Object, nil] the value of the setting or nil if unset
|
942
|
-
def set_in_section(param, section)
|
937
|
+
# Allow later inspection to determine if the setting was set by user
|
938
|
+
# config, rather than a default setting.
|
939
|
+
def set_in_section?(param, section)
|
943
940
|
param = param.to_sym
|
944
941
|
vals = searchpath_values(SearchPathElement.new(section, :section))
|
945
942
|
if vals
|
@@ -947,10 +944,6 @@ class Puppet::Settings
|
|
947
944
|
end
|
948
945
|
end
|
949
946
|
|
950
|
-
def set_in_section?(param, section)
|
951
|
-
!!set_in_section(param, section)
|
952
|
-
end
|
953
|
-
|
954
947
|
# Patches the value for a param in a section.
|
955
948
|
# This method is required to support the use case of unifying --dns-alt-names and
|
956
949
|
# --dns_alt_names in the certificate face. Ideally this should be cleaned up.
|
@@ -1097,41 +1090,48 @@ Generated on #{Time.now}.
|
|
1097
1090
|
# Create the necessary objects to use a section. This is idempotent;
|
1098
1091
|
# you can 'use' a section as many times as you want.
|
1099
1092
|
def use(*sections)
|
1100
|
-
|
1093
|
+
if Puppet[:settings_catalog]
|
1094
|
+
sections = sections.collect { |s| s.to_sym }
|
1095
|
+
sections = sections.reject { |s| @used.include?(s) }
|
1101
1096
|
|
1102
|
-
|
1103
|
-
sections |= [:master, :server] if (sections & [:master, :server]).any?
|
1097
|
+
Puppet.warning(":master section deprecated in favor of :server section") if sections.include?(:master)
|
1104
1098
|
|
1105
|
-
|
1106
|
-
|
1099
|
+
# add :server if sections include :master or :master if sections include :server
|
1100
|
+
sections |= [:master, :server] if (sections & [:master, :server]).any?
|
1107
1101
|
|
1108
|
-
|
1102
|
+
sections = sections.collect { |s| s.to_sym }
|
1103
|
+
sections = sections.reject { |s| @used.include?(s) }
|
1109
1104
|
|
1110
|
-
|
1105
|
+
return if sections.empty?
|
1111
1106
|
|
1112
|
-
|
1113
|
-
catalog = to_catalog(*sections).to_ral
|
1114
|
-
rescue => detail
|
1115
|
-
Puppet.log_and_raise(detail, "Could not create resources for managing Puppet's files and directories in sections #{sections.inspect}: #{detail}")
|
1116
|
-
end
|
1107
|
+
Puppet.debug { "Applying settings catalog for sections #{sections.join(', ')}" }
|
1117
1108
|
|
1118
|
-
|
1119
|
-
|
1120
|
-
|
1121
|
-
|
1122
|
-
|
1123
|
-
status_fail_msg = status_failures.
|
1124
|
-
collect(&:events).
|
1125
|
-
flatten.
|
1126
|
-
select { |event| event.status == 'failure' }.
|
1127
|
-
collect { |event| "#{event.resource}: #{event.message}" }.join("; ")
|
1109
|
+
begin
|
1110
|
+
catalog = to_catalog(*sections).to_ral
|
1111
|
+
rescue => detail
|
1112
|
+
Puppet.log_and_raise(detail, "Could not create resources for managing Puppet's files and directories in sections #{sections.inspect}: #{detail}")
|
1113
|
+
end
|
1128
1114
|
|
1129
|
-
|
1115
|
+
catalog.host_config = false
|
1116
|
+
catalog.apply do |transaction|
|
1117
|
+
if transaction.any_failed?
|
1118
|
+
report = transaction.report
|
1119
|
+
status_failures = report.resource_statuses.values.select { |r| r.failed? }
|
1120
|
+
status_fail_msg = status_failures.
|
1121
|
+
collect(&:events).
|
1122
|
+
flatten.
|
1123
|
+
select { |event| event.status == 'failure' }.
|
1124
|
+
collect { |event| "#{event.resource}: #{event.message}" }.join("; ")
|
1125
|
+
|
1126
|
+
raise "Got #{status_failures.length} failure(s) while initializing: #{status_fail_msg}"
|
1127
|
+
end
|
1130
1128
|
end
|
1131
|
-
end
|
1132
1129
|
|
1133
|
-
|
1134
|
-
|
1130
|
+
sections.each { |s| @used << s }
|
1131
|
+
@used.uniq!
|
1132
|
+
else
|
1133
|
+
Puppet.debug("Skipping settings catalog for sections #{sections.join(', ')}")
|
1134
|
+
end
|
1135
1135
|
end
|
1136
1136
|
|
1137
1137
|
def valid?(param)
|
@@ -1285,37 +1285,27 @@ Generated on #{Time.now}.
|
|
1285
1285
|
end
|
1286
1286
|
|
1287
1287
|
def add_environment_resources(catalog, sections)
|
1288
|
+
path = self[:environmentpath]
|
1289
|
+
envdir = path.split(File::PATH_SEPARATOR).first if path
|
1288
1290
|
configured_environment = self[:environment]
|
1289
|
-
|
1290
|
-
|
1291
|
-
|
1292
|
-
|
1293
|
-
|
1294
|
-
if Puppet::FileSystem.exist?(first_environment_path)
|
1295
|
-
production_environment_path = File.join(first_environment_path, configured_environment)
|
1291
|
+
if configured_environment == "production" && envdir && Puppet::FileSystem.exist?(envdir)
|
1292
|
+
configured_environment_path = File.join(envdir, configured_environment)
|
1293
|
+
# If configured_environment_path is a symlink, assume the source path is being managed
|
1294
|
+
# elsewhere, so don't do any of this configuration
|
1295
|
+
if !Puppet::FileSystem.symlink?(configured_environment_path)
|
1296
1296
|
parameters = { :ensure => 'directory' }
|
1297
|
-
|
1298
|
-
|
1299
|
-
|
1300
|
-
|
1297
|
+
unless Puppet::FileSystem.exist?(configured_environment_path)
|
1298
|
+
parameters[:mode] = '0750'
|
1299
|
+
if Puppet.features.root?
|
1300
|
+
parameters[:owner] = Puppet[:user] if service_user_available?
|
1301
|
+
parameters[:group] = Puppet[:group] if service_group_available?
|
1302
|
+
end
|
1301
1303
|
end
|
1302
|
-
catalog.add_resource(Puppet::Resource.new(:file,
|
1304
|
+
catalog.add_resource(Puppet::Resource.new(:file, configured_environment_path, :parameters => parameters))
|
1303
1305
|
end
|
1304
1306
|
end
|
1305
1307
|
end
|
1306
1308
|
|
1307
|
-
def production_environment_exists?
|
1308
|
-
environment_path = self[:environmentpath]
|
1309
|
-
paths = environment_path.split(File::PATH_SEPARATOR)
|
1310
|
-
|
1311
|
-
paths.any? do |path|
|
1312
|
-
# If expected_path is a symlink, assume the source path is being managed
|
1313
|
-
# elsewhere, so accept it also as a valid production environment path
|
1314
|
-
expected_path = File.join(path, 'production')
|
1315
|
-
Puppet::FileSystem.directory?(expected_path) || Puppet::FileSystem.symlink?(expected_path)
|
1316
|
-
end
|
1317
|
-
end
|
1318
|
-
|
1319
1309
|
def add_user_resources(catalog, sections)
|
1320
1310
|
return unless Puppet.features.root?
|
1321
1311
|
return if Puppet::Util::Platform.windows?
|
@@ -1416,12 +1406,6 @@ Generated on #{Time.now}.
|
|
1416
1406
|
end
|
1417
1407
|
end
|
1418
1408
|
|
1419
|
-
setting = @defaults[name]
|
1420
|
-
if setting.respond_to?(:alias_name)
|
1421
|
-
val = lookup(setting.alias_name)
|
1422
|
-
return val if val
|
1423
|
-
end
|
1424
|
-
|
1425
1409
|
@defaults[name].default
|
1426
1410
|
end
|
1427
1411
|
|