puppet 5.5.17-universal-darwin → 5.5.22-universal-darwin
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of puppet might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CODEOWNERS +1 -1
- data/Gemfile +4 -5
- data/Gemfile.lock +59 -55
- data/ext/build_defaults.yaml +1 -0
- data/ext/cert_inspector +3 -3
- data/ext/puppet-test +2 -2
- data/ext/regexp_nodes/regexp_nodes.rb +4 -4
- data/ext/windows/service/daemon.rb +54 -8
- data/install.rb +6 -6
- data/lib/puppet.rb +5 -2
- data/lib/puppet/agent.rb +5 -13
- data/lib/puppet/application.rb +1 -1
- data/lib/puppet/application/agent.rb +3 -1
- data/lib/puppet/application/apply.rb +2 -2
- data/lib/puppet/application/describe.rb +3 -9
- data/lib/puppet/application/doc.rb +1 -1
- data/lib/puppet/application/filebucket.rb +13 -0
- data/lib/puppet/application/lookup.rb +1 -1
- data/lib/puppet/application/script.rb +2 -2
- data/lib/puppet/configurer.rb +106 -31
- data/lib/puppet/configurer/downloader.rb +33 -16
- data/lib/puppet/daemon.rb +1 -1
- data/lib/puppet/defaults.rb +86 -40
- data/lib/puppet/error.rb +9 -1
- data/lib/puppet/external/nagios/base.rb +1 -1
- data/lib/puppet/face/ca.rb +1 -1
- data/lib/puppet/face/module/list.rb +5 -5
- data/lib/puppet/face/module/search.rb +1 -1
- data/lib/puppet/face/module/uninstall.rb +1 -1
- data/lib/puppet/face/module/upgrade.rb +1 -1
- data/lib/puppet/file_serving/http_metadata.rb +1 -1
- data/lib/puppet/file_serving/mount/locales.rb +1 -2
- data/lib/puppet/file_serving/mount/pluginfacts.rb +1 -2
- data/lib/puppet/file_serving/mount/plugins.rb +1 -2
- data/lib/puppet/file_system.rb +0 -8
- data/lib/puppet/file_system/memory_file.rb +1 -1
- data/lib/puppet/file_system/posix.rb +3 -2
- data/lib/puppet/file_system/uniquefile.rb +4 -0
- data/lib/puppet/forge.rb +3 -3
- data/lib/puppet/functions/epp.rb +4 -4
- data/lib/puppet/functions/inline_epp.rb +5 -5
- data/lib/puppet/functions/new.rb +8 -3
- data/lib/puppet/functions/reduce.rb +2 -4
- data/lib/puppet/functions/reverse_each.rb +1 -1
- data/lib/puppet/functions/step.rb +1 -1
- data/lib/puppet/gettext/module_translations.rb +1 -1
- data/lib/puppet/graph/rb_tree_map.rb +2 -2
- data/lib/puppet/graph/simple_graph.rb +6 -5
- data/lib/puppet/indirector/catalog/compiler.rb +8 -0
- data/lib/puppet/indirector/file_bucket_file/file.rb +1 -1
- data/lib/puppet/indirector/hiera.rb +6 -0
- data/lib/puppet/indirector/resource/ral.rb +1 -3
- data/lib/puppet/indirector/resource/validator.rb +1 -1
- data/lib/puppet/interface.rb +2 -1
- data/lib/puppet/loaders.rb +0 -1
- data/lib/puppet/metatype/manager.rb +1 -1
- data/lib/puppet/module.rb +1 -1
- data/lib/puppet/module_tool/applications/builder.rb +1 -1
- data/lib/puppet/module_tool/applications/installer.rb +1 -1
- data/lib/puppet/module_tool/applications/uninstaller.rb +3 -3
- data/lib/puppet/module_tool/metadata.rb +1 -1
- data/lib/puppet/module_tool/shared_behaviors.rb +4 -4
- data/lib/puppet/module_tool/tar/mini.rb +1 -1
- data/lib/puppet/network/http/api/indirected_routes.rb +13 -12
- data/lib/puppet/network/http/api/master/v3/environment.rb +3 -0
- data/lib/puppet/network/http/connection.rb +14 -12
- data/lib/puppet/network/http/pool.rb +7 -1
- data/lib/puppet/network/http/rack/rest.rb +2 -2
- data/lib/puppet/network/http/site.rb +1 -1
- data/lib/puppet/network/resolver.rb +2 -2
- data/lib/puppet/node/environment.rb +11 -3
- data/lib/puppet/parser/ast.rb +1 -1
- data/lib/puppet/parser/ast/resourceparam.rb +1 -1
- data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +2 -0
- data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +2 -0
- data/lib/puppet/parser/environment_compiler.rb +3 -0
- data/lib/puppet/parser/functions.rb +14 -10
- data/lib/puppet/parser/functions/epp.rb +3 -3
- data/lib/puppet/parser/functions/inline_epp.rb +5 -5
- data/lib/puppet/parser/resource.rb +3 -2
- data/lib/puppet/parser/resource/param.rb +6 -0
- data/lib/puppet/pops/adaptable.rb +7 -13
- data/lib/puppet/pops/adapters.rb +8 -4
- data/lib/puppet/pops/evaluator/access_operator.rb +2 -2
- data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +1 -3
- data/lib/puppet/pops/evaluator/collectors/catalog_collector.rb +1 -1
- data/lib/puppet/pops/evaluator/collectors/exported_collector.rb +1 -1
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +1 -1
- data/lib/puppet/pops/evaluator/external_syntax_support.rb +3 -2
- data/lib/puppet/pops/evaluator/runtime3_support.rb +4 -4
- data/lib/puppet/pops/issues.rb +5 -0
- data/lib/puppet/pops/loaders.rb +1 -1
- data/lib/puppet/pops/lookup/hiera_config.rb +1 -0
- data/lib/puppet/pops/lookup/sub_lookup.rb +1 -1
- data/lib/puppet/pops/merge_strategy.rb +22 -18
- data/lib/puppet/pops/parser/heredoc_support.rb +1 -1
- data/lib/puppet/pops/parser/interpolation_support.rb +4 -4
- data/lib/puppet/pops/parser/locator.rb +1 -1
- data/lib/puppet/pops/parser/pn_parser.rb +17 -16
- data/lib/puppet/pops/puppet_stack.rb +51 -48
- data/lib/puppet/pops/resource/resource_type_impl.rb +2 -0
- data/lib/puppet/pops/types/iterable.rb +34 -8
- data/lib/puppet/pops/types/p_meta_type.rb +1 -1
- data/lib/puppet/pops/types/p_sensitive_type.rb +1 -1
- data/lib/puppet/pops/types/p_type_set_type.rb +4 -0
- data/lib/puppet/pops/types/string_converter.rb +10 -10
- data/lib/puppet/pops/types/type_calculator.rb +24 -0
- data/lib/puppet/pops/types/types.rb +3 -3
- data/lib/puppet/pops/validation/checker4_0.rb +29 -15
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -0
- data/lib/puppet/property.rb +1 -1
- data/lib/puppet/property/ensure.rb +1 -1
- data/lib/puppet/provider/augeas/augeas.rb +1 -1
- data/lib/puppet/provider/cron/crontab.rb +1 -1
- data/lib/puppet/provider/exec.rb +6 -2
- data/lib/puppet/provider/group/groupadd.rb +19 -19
- data/lib/puppet/provider/group/windows_adsi.rb +3 -3
- data/lib/puppet/provider/mailalias/aliases.rb +1 -1
- data/lib/puppet/provider/mount.rb +1 -1
- data/lib/puppet/provider/mount/parsed.rb +8 -8
- data/lib/puppet/provider/nameservice/directoryservice.rb +1 -1
- data/lib/puppet/provider/nameservice/pw.rb +2 -2
- data/lib/puppet/provider/package/aix.rb +17 -2
- data/lib/puppet/provider/package/apt.rb +14 -3
- data/lib/puppet/provider/package/dnfmodule.rb +141 -0
- data/lib/puppet/provider/package/dpkg.rb +16 -18
- data/lib/puppet/provider/package/fink.rb +20 -3
- data/lib/puppet/provider/package/gem.rb +4 -2
- data/lib/puppet/provider/package/openbsd.rb +14 -2
- data/lib/puppet/provider/package/pip.rb +37 -10
- data/lib/puppet/provider/package/pkg.rb +18 -5
- data/lib/puppet/provider/package/pkgdmg.rb +1 -1
- data/lib/puppet/provider/package/pkgng.rb +16 -4
- data/lib/puppet/provider/package/portage.rb +4 -4
- data/lib/puppet/provider/package/puppet_gem.rb +5 -0
- data/lib/puppet/provider/package/rpm.rb +6 -6
- data/lib/puppet/provider/package/windows/package.rb +1 -1
- data/lib/puppet/provider/package/yum.rb +28 -20
- data/lib/puppet/provider/package/zypper.rb +1 -0
- data/lib/puppet/provider/package_targetable.rb +5 -4
- data/lib/puppet/provider/parsedfile.rb +1 -1
- data/lib/puppet/provider/scheduled_task/win32_taskscheduler.rb +3 -3
- data/lib/puppet/provider/selmodule/semodule.rb +43 -26
- data/lib/puppet/provider/service/daemontools.rb +9 -9
- data/lib/puppet/provider/service/openbsd.rb +1 -1
- data/lib/puppet/provider/service/rcng.rb +2 -2
- data/lib/puppet/provider/service/runit.rb +2 -8
- data/lib/puppet/provider/service/systemd.rb +31 -13
- data/lib/puppet/provider/user/directoryservice.rb +31 -6
- data/lib/puppet/provider/user/hpux.rb +1 -1
- data/lib/puppet/provider/user/user_role_add.rb +1 -1
- data/lib/puppet/provider/user/useradd.rb +39 -20
- data/lib/puppet/provider/user/windows_adsi.rb +4 -5
- data/lib/puppet/provider/yumrepo/inifile.rb +2 -2
- data/lib/puppet/reference/indirection.rb +2 -2
- data/lib/puppet/reference/metaparameter.rb +1 -3
- data/lib/puppet/reference/providers.rb +1 -1
- data/lib/puppet/reference/type.rb +3 -9
- data/lib/puppet/reports.rb +1 -1
- data/lib/puppet/resource.rb +1 -1
- data/lib/puppet/resource/catalog.rb +1 -1
- data/lib/puppet/resource/type.rb +10 -1
- data/lib/puppet/settings.rb +3 -3
- data/lib/puppet/settings/environment_conf.rb +1 -0
- data/lib/puppet/ssl/certificate.rb +2 -1
- data/lib/puppet/ssl/certificate_authority.rb +6 -5
- data/lib/puppet/ssl/certificate_authority/interface.rb +1 -1
- data/lib/puppet/ssl/certificate_factory.rb +2 -2
- data/lib/puppet/ssl/host.rb +3 -3
- data/lib/puppet/ssl/oids.rb +1 -1
- data/lib/puppet/test/test_helper.rb +20 -12
- data/lib/puppet/transaction/report.rb +1 -1
- data/lib/puppet/transaction/resource_harness.rb +1 -1
- data/lib/puppet/type.rb +8 -4
- data/lib/puppet/type/cron.rb +1 -1
- data/lib/puppet/type/exec.rb +7 -3
- data/lib/puppet/type/file.rb +14 -2
- data/lib/puppet/type/file/data_sync.rb +5 -1
- data/lib/puppet/type/group.rb +4 -2
- data/lib/puppet/type/interface.rb +1 -1
- data/lib/puppet/type/notify.rb +3 -2
- data/lib/puppet/type/package.rb +97 -8
- data/lib/puppet/type/schedule.rb +1 -1
- data/lib/puppet/type/selboolean.rb +17 -3
- data/lib/puppet/type/service.rb +2 -8
- data/lib/puppet/type/user.rb +5 -9
- data/lib/puppet/util.rb +35 -12
- data/lib/puppet/util/autoload.rb +9 -7
- data/lib/puppet/util/command_line/trollop.rb +1 -1
- data/lib/puppet/util/http_proxy.rb +8 -14
- data/lib/puppet/util/instance_loader.rb +1 -1
- data/lib/puppet/util/log.rb +1 -1
- data/lib/puppet/util/log/destinations.rb +3 -12
- data/lib/puppet/util/logging.rb +30 -18
- data/lib/puppet/util/metric.rb +2 -2
- data/lib/puppet/util/monkey_patches.rb +1 -1
- data/lib/puppet/util/nagios_maker.rb +2 -2
- data/lib/puppet/util/network_device/cisco/device.rb +1 -1
- data/lib/puppet/util/network_device/cisco/interface.rb +2 -2
- data/lib/puppet/util/network_device/transport/ssh.rb +1 -1
- data/lib/puppet/util/pidlock.rb +12 -6
- data/lib/puppet/util/plist.rb +6 -0
- data/lib/puppet/util/provider_features.rb +2 -4
- data/lib/puppet/util/rdoc.rb +1 -1
- data/lib/puppet/util/reference.rb +1 -1
- data/lib/puppet/util/resource_template.rb +1 -1
- data/lib/puppet/util/selinux.rb +3 -1
- data/lib/puppet/util/windows/adsi.rb +60 -30
- data/lib/puppet/util/windows/api_types.rb +45 -32
- data/lib/puppet/util/windows/eventlog.rb +1 -6
- data/lib/puppet/util/windows/principal.rb +8 -6
- data/lib/puppet/util/windows/process.rb +16 -15
- data/lib/puppet/util/windows/registry.rb +17 -15
- data/lib/puppet/util/windows/security.rb +1 -0
- data/lib/puppet/util/windows/sid.rb +3 -3
- data/lib/puppet/vendor.rb +1 -1
- data/lib/puppet/version.rb +1 -1
- data/lib/puppet_pal.rb +2 -2
- data/locales/puppet.pot +362 -318
- data/man/man5/puppet.conf.5 +39 -9
- data/man/man8/puppet-agent.8 +2 -2
- data/man/man8/puppet-apply.8 +1 -1
- data/man/man8/puppet-ca.8 +1 -1
- data/man/man8/puppet-catalog.8 +1 -1
- data/man/man8/puppet-cert.8 +1 -1
- data/man/man8/puppet-certificate.8 +1 -1
- data/man/man8/puppet-certificate_request.8 +1 -1
- data/man/man8/puppet-certificate_revocation_list.8 +1 -1
- data/man/man8/puppet-config.8 +1 -1
- data/man/man8/puppet-describe.8 +1 -1
- data/man/man8/puppet-device.8 +1 -1
- data/man/man8/puppet-doc.8 +1 -1
- data/man/man8/puppet-epp.8 +1 -1
- data/man/man8/puppet-facts.8 +1 -1
- data/man/man8/puppet-filebucket.8 +16 -1
- data/man/man8/puppet-generate.8 +1 -1
- data/man/man8/puppet-help.8 +1 -1
- data/man/man8/puppet-key.8 +1 -1
- data/man/man8/puppet-lookup.8 +1 -1
- data/man/man8/puppet-man.8 +1 -1
- data/man/man8/puppet-master.8 +1 -1
- data/man/man8/puppet-module.8 +1 -1
- data/man/man8/puppet-node.8 +1 -1
- data/man/man8/puppet-parser.8 +1 -1
- data/man/man8/puppet-plugin.8 +1 -1
- data/man/man8/puppet-report.8 +1 -1
- data/man/man8/puppet-resource.8 +1 -1
- data/man/man8/puppet-script.8 +1 -1
- data/man/man8/puppet-status.8 +1 -1
- data/man/man8/puppet.8 +2 -2
- data/spec/fixtures/integration/provider/mailalias/aliases/test1 +1 -0
- data/spec/fixtures/unit/provider/package/dnfmodule/dnf-module-list.txt +19 -0
- data/spec/fixtures/unit/provider/package/pkgng/pkg.version +2 -0
- data/spec/fixtures/unit/provider/package/yum/yum-check-update-subscription-manager.txt +9 -0
- data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services +9 -0
- data/spec/integration/configurer_spec.rb +66 -0
- data/spec/integration/data_binding_spec.rb +1 -0
- data/spec/integration/defaults_spec.rb +1 -2
- data/spec/integration/faces/plugin_spec.rb +29 -47
- data/spec/integration/indirector/facts/facter_spec.rb +4 -0
- data/spec/integration/parser/compiler_spec.rb +11 -0
- data/spec/integration/type/notify_spec.rb +46 -0
- data/spec/integration/util/windows/adsi_spec.rb +6 -1
- data/spec/integration/util/windows/registry_spec.rb +7 -7
- data/spec/shared_contexts/types_setup.rb +2 -0
- data/spec/unit/agent_spec.rb +34 -26
- data/spec/unit/application/apply_spec.rb +2 -12
- data/spec/unit/configurer/downloader_spec.rb +10 -0
- data/spec/unit/configurer/fact_handler_spec.rb +0 -4
- data/spec/unit/configurer_spec.rb +430 -415
- data/spec/unit/daemon_spec.rb +0 -1
- 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 +11 -0
- data/spec/unit/forge/forge_spec.rb +1 -3
- data/spec/unit/forge/repository_spec.rb +1 -3
- data/spec/unit/indirector/catalog/compiler_spec.rb +45 -26
- data/spec/unit/indirector/resource/ral_spec.rb +4 -4
- data/spec/unit/network/http/api/indirected_routes_spec.rb +2 -1
- data/spec/unit/network/http/connection_spec.rb +43 -1
- data/spec/unit/network/http/pool_spec.rb +32 -0
- data/spec/unit/node_spec.rb +7 -4
- data/spec/unit/parser/environment_compiler_spec.rb +7 -0
- data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +8 -3
- data/spec/unit/provider/exec_spec.rb +209 -0
- data/spec/unit/provider/group/groupadd_spec.rb +30 -1
- data/spec/unit/provider/group/windows_adsi_spec.rb +43 -10
- data/spec/unit/provider/package/aix_spec.rb +29 -0
- data/spec/unit/provider/package/apt_spec.rb +13 -2
- data/spec/unit/provider/package/aptitude_spec.rb +1 -0
- data/spec/unit/provider/package/dnfmodule_spec.rb +247 -0
- data/spec/unit/provider/package/dpkg_spec.rb +35 -7
- data/spec/unit/provider/package/openbsd_spec.rb +17 -0
- data/spec/unit/provider/package/pip_spec.rb +93 -22
- data/spec/unit/provider/package/pkg_spec.rb +13 -1
- data/spec/unit/provider/package/pkgdmg_spec.rb +1 -1
- data/spec/unit/provider/package/pkgng_spec.rb +36 -0
- data/spec/unit/provider/package/portage_spec.rb +4 -4
- data/spec/unit/provider/package/puppet_gem_spec.rb +4 -1
- data/spec/unit/provider/package/yum_spec.rb +90 -0
- data/spec/unit/provider/package/zypper_spec.rb +13 -0
- data/spec/unit/provider/package_targetable_spec.rb +60 -0
- data/spec/unit/provider/selmodule_spec.rb +118 -47
- data/spec/unit/provider/service/daemontools_spec.rb +24 -0
- data/spec/unit/provider/service/runit_spec.rb +24 -0
- data/spec/unit/provider/service/systemd_spec.rb +109 -36
- data/spec/unit/provider/user/directoryservice_spec.rb +41 -0
- data/spec/unit/provider/user/hpux_spec.rb +2 -2
- data/spec/unit/provider/user/openbsd_spec.rb +1 -0
- data/spec/unit/provider/user/useradd_spec.rb +81 -16
- data/spec/unit/provider/user/windows_adsi_spec.rb +3 -3
- data/spec/unit/puppet_pal_2pec.rb +3 -0
- data/spec/unit/ssl/certificate_authority_spec.rb +2 -3
- data/spec/unit/ssl/certificate_spec.rb +7 -0
- data/spec/unit/ssl/host_spec.rb +2 -0
- data/spec/unit/test/test_helper_spec.rb +17 -0
- data/spec/unit/type/exec_spec.rb +6 -12
- data/spec/unit/type/file/content_spec.rb +9 -3
- data/spec/unit/type/file_spec.rb +9 -4
- data/spec/unit/type/package_spec.rb +8 -0
- data/spec/unit/type/selboolean_spec.rb +4 -6
- data/spec/unit/type/service_spec.rb +9 -8
- data/spec/unit/type/user_spec.rb +19 -13
- data/spec/unit/util/execution_spec.rb +16 -0
- data/spec/unit/util/http_proxy_spec.rb +97 -0
- data/spec/unit/util/log/destinations_spec.rb +2 -26
- data/spec/unit/util/log_spec.rb +0 -138
- data/spec/unit/util/logging_spec.rb +200 -0
- data/spec/unit/util/pidlock_spec.rb +67 -40
- data/spec/unit/util/plist_spec.rb +20 -0
- data/spec/unit/util/windows/adsi_spec.rb +55 -4
- data/spec/unit/util/windows/api_types_spec.rb +104 -40
- data/spec/unit/util/windows/sid_spec.rb +2 -2
- data/tasks/manpages.rake +1 -0
- metadata +16 -7
- data/lib/puppet/pops/loader/null_loader.rb +0 -60
- data/locales/ja/puppet.po +0 -12114
- data/spec/integration/test/test_helper_spec.rb +0 -31
data/lib/puppet/daemon.rb
CHANGED
data/lib/puppet/defaults.rb
CHANGED
@@ -39,7 +39,11 @@ module Puppet
|
|
39
39
|
|
40
40
|
AS_DURATION = %q{This setting can be a time interval in seconds (30 or 30s), minutes (30m), hours (6h), days (2d), or years (5y).}
|
41
41
|
|
42
|
-
|
42
|
+
# @api public
|
43
|
+
# @param args [Puppet::Settings] the settings object to define default settings for
|
44
|
+
# @return void
|
45
|
+
def self.initialize_default_settings!(settings)
|
46
|
+
settings.define_settings(:main,
|
43
47
|
:confdir => {
|
44
48
|
:default => nil,
|
45
49
|
:type => :directory,
|
@@ -76,7 +80,7 @@ module Puppet
|
|
76
80
|
}
|
77
81
|
)
|
78
82
|
|
79
|
-
define_settings(:main,
|
83
|
+
settings.define_settings(:main,
|
80
84
|
:logdir => {
|
81
85
|
:default => nil,
|
82
86
|
:type => :directory,
|
@@ -167,7 +171,7 @@ module Puppet
|
|
167
171
|
}
|
168
172
|
)
|
169
173
|
|
170
|
-
define_settings(:main,
|
174
|
+
settings.define_settings(:main,
|
171
175
|
:priority => {
|
172
176
|
:default => nil,
|
173
177
|
:type => :priority,
|
@@ -180,12 +184,19 @@ module Puppet
|
|
180
184
|
:trace => {
|
181
185
|
:default => false,
|
182
186
|
:type => :boolean,
|
183
|
-
:desc => "Whether to print stack traces on some errors
|
187
|
+
:desc => "Whether to print stack traces on some errors. Will print
|
188
|
+
internal Ruby stack trace interleaved with Puppet function frames.",
|
184
189
|
:hook => proc do |value|
|
185
190
|
# Enable or disable Facter's trace option too
|
186
191
|
Facter.trace(value) if Facter.respond_to? :trace
|
187
192
|
end
|
188
193
|
},
|
194
|
+
:puppet_trace => {
|
195
|
+
:default => false,
|
196
|
+
:type => :boolean,
|
197
|
+
:desc => "Whether to print the Puppet stack trace on some errors.
|
198
|
+
This is a noop if `trace` is also set.",
|
199
|
+
},
|
189
200
|
:profile => {
|
190
201
|
:default => false,
|
191
202
|
:type => :boolean,
|
@@ -481,12 +492,12 @@ module Puppet
|
|
481
492
|
:hiera_config => {
|
482
493
|
:default => lambda do
|
483
494
|
config = nil
|
484
|
-
codedir =
|
495
|
+
codedir = settings[:codedir]
|
485
496
|
if codedir.is_a?(String)
|
486
497
|
config = File.expand_path(File.join(codedir, 'hiera.yaml'))
|
487
498
|
config = nil unless Puppet::FileSystem.exist?(config)
|
488
499
|
end
|
489
|
-
config = File.expand_path(File.join(
|
500
|
+
config = File.expand_path(File.join(settings[:confdir], 'hiera.yaml')) if config.nil?
|
490
501
|
config
|
491
502
|
end,
|
492
503
|
:desc => "The hiera configuration file. Puppet only reads this file on startup, so you must restart the puppet master every time you edit it.",
|
@@ -524,9 +535,10 @@ module Puppet
|
|
524
535
|
},
|
525
536
|
:http_proxy_host => {
|
526
537
|
:default => "none",
|
527
|
-
:desc => "The HTTP proxy host to use for outgoing connections.
|
538
|
+
:desc => "The HTTP proxy host to use for outgoing connections. The proxy will be bypassed if
|
539
|
+
the server's hostname matches the NO_PROXY environment variable or `no_proxy` setting. Note: You
|
528
540
|
may need to use a FQDN for the server hostname when using a proxy. Environment variable
|
529
|
-
http_proxy or HTTP_PROXY will override this value",
|
541
|
+
http_proxy or HTTP_PROXY will override this value. ",
|
530
542
|
},
|
531
543
|
:http_proxy_port => {
|
532
544
|
:default => 3128,
|
@@ -539,7 +551,7 @@ module Puppet
|
|
539
551
|
:http_proxy_password =>{
|
540
552
|
:default => "none",
|
541
553
|
:hook => proc do |value|
|
542
|
-
if
|
554
|
+
if settings[:http_proxy_password] =~ /[@!# \/]/
|
543
555
|
raise "Passwords set in the http_proxy_password setting must be valid as part of a URL, and any reserved characters must be URL-encoded. We received: #{value}"
|
544
556
|
end
|
545
557
|
end,
|
@@ -552,7 +564,7 @@ module Puppet
|
|
552
564
|
},
|
553
565
|
:no_proxy => {
|
554
566
|
:default => "localhost, 127.0.0.1",
|
555
|
-
:desc => "List of domain names that should not go through `http_proxy_host`. Environment variable no_proxy or NO_PROXY will override this value.",
|
567
|
+
:desc => "List of host or domain names that should not go through `http_proxy_host`. Environment variable no_proxy or NO_PROXY will override this value. Names can be specified as an FQDN `host.example.com`, wildcard `*.example.com`, dotted domain `.example.com`, or suffix `example.com`.",
|
556
568
|
},
|
557
569
|
:http_keepalive_timeout => {
|
558
570
|
:default => "4s",
|
@@ -669,7 +681,7 @@ module Puppet
|
|
669
681
|
}
|
670
682
|
)
|
671
683
|
|
672
|
-
define_settings(:main,
|
684
|
+
settings.define_settings(:main,
|
673
685
|
# Whether the application management feature is on or off - now deprecated and always on.
|
674
686
|
:app_management => {
|
675
687
|
:default => false,
|
@@ -679,7 +691,7 @@ module Puppet
|
|
679
691
|
}
|
680
692
|
)
|
681
693
|
|
682
|
-
|
694
|
+
settings.define_settings(:module_tool,
|
683
695
|
:module_repository => {
|
684
696
|
:default => 'https://forgeapi.puppet.com',
|
685
697
|
:desc => "The module repository",
|
@@ -702,7 +714,7 @@ module Puppet
|
|
702
714
|
}
|
703
715
|
)
|
704
716
|
|
705
|
-
|
717
|
+
settings.define_settings(
|
706
718
|
:main,
|
707
719
|
|
708
720
|
# We have to downcase the fqdn, because the current ssl stuff (as opposed to in master) doesn't have good facilities for
|
@@ -795,13 +807,17 @@ This is useful for embedding a pre-shared key for autosigning policy executables
|
|
795
807
|
("challenge password") OID.
|
796
808
|
|
797
809
|
Extension requests will be permanently embedded in the final certificate.
|
798
|
-
Extension OIDs must be in the "ppRegCertExt" (`1.3.6.1.4.1.34380.1.1`)
|
799
|
-
"ppPrivCertExt" (`1.3.6.1.4.1.34380.1.2`)
|
810
|
+
Extension OIDs must be in the "ppRegCertExt" (`1.3.6.1.4.1.34380.1.1`),
|
811
|
+
"ppPrivCertExt" (`1.3.6.1.4.1.34380.1.2`), or
|
812
|
+
"ppAuthCertExt" (`1.3.6.1.4.1.34380.1.3`) OID arcs. The ppRegCertExt arc is
|
800
813
|
reserved for four of the most common pieces of data to embed: `pp_uuid` (`.1`),
|
801
814
|
`pp_instance_id` (`.2`), `pp_image_name` (`.3`), and `pp_preshared_key` (`.4`)
|
802
815
|
--- in the YAML file, these can be referred to by their short descriptive names
|
803
816
|
instead of their full OID. The ppPrivCertExt arc is unregulated, and can be used
|
804
|
-
for site-specific extensions.
|
817
|
+
for site-specific extensions. The ppAuthCert arc is reserved for two pieces of
|
818
|
+
data to embed: `pp_authorization` (`.1`) and `pp_auth_role` (`.13`). As with
|
819
|
+
ppRegCertExt, in the YAML file, these can be referred to by their short
|
820
|
+
descriptive name instead of their full OID.
|
805
821
|
EOT
|
806
822
|
},
|
807
823
|
:certdir => {
|
@@ -990,7 +1006,7 @@ EOT
|
|
990
1006
|
}
|
991
1007
|
)
|
992
1008
|
|
993
|
-
define_settings(
|
1009
|
+
settings.define_settings(
|
994
1010
|
:ca,
|
995
1011
|
:ca_name => {
|
996
1012
|
:default => "Puppet CA: $certname",
|
@@ -1138,7 +1154,7 @@ EOT
|
|
1138
1154
|
|
1139
1155
|
# Define the config default.
|
1140
1156
|
|
1141
|
-
define_settings(:application,
|
1157
|
+
settings.define_settings(:application,
|
1142
1158
|
:config_file_name => {
|
1143
1159
|
:type => :string,
|
1144
1160
|
:default => Puppet::Settings.default_config_file_name,
|
@@ -1168,7 +1184,7 @@ EOT
|
|
1168
1184
|
}
|
1169
1185
|
)
|
1170
1186
|
|
1171
|
-
define_settings(:environment,
|
1187
|
+
settings.define_settings(:environment,
|
1172
1188
|
:manifest => {
|
1173
1189
|
:default => nil,
|
1174
1190
|
:type => :file_or_directory,
|
@@ -1211,7 +1227,7 @@ EOT
|
|
1211
1227
|
}
|
1212
1228
|
)
|
1213
1229
|
|
1214
|
-
define_settings(:master,
|
1230
|
+
settings.define_settings(:master,
|
1215
1231
|
:user => {
|
1216
1232
|
:default => "puppet",
|
1217
1233
|
:desc => "The user Puppet Server will run as. Used to ensure
|
@@ -1281,13 +1297,23 @@ EOT
|
|
1281
1297
|
overridden by more specific settings (see `ca_port`, `report_port`).",
|
1282
1298
|
},
|
1283
1299
|
:node_name => {
|
1284
|
-
:default =>
|
1300
|
+
:default => 'cert',
|
1301
|
+
:type => :enum,
|
1302
|
+
:values => ['cert', 'facter'],
|
1303
|
+
:deprecated => :completely,
|
1304
|
+
:hook => proc { |val|
|
1305
|
+
if val != 'cert'
|
1306
|
+
Puppet.deprecation_warning("The node_name setting is deprecated and will be removed in a future release.")
|
1307
|
+
end
|
1308
|
+
},
|
1285
1309
|
:desc => "How the puppet master determines the client's identity
|
1286
1310
|
and sets the 'hostname', 'fqdn' and 'domain' facts for use in the manifest,
|
1287
1311
|
in particular for determining which 'node' statement applies to the client.
|
1288
1312
|
Possible values are 'cert' (use the subject's CN in the client's
|
1289
1313
|
certificate) and 'facter' (use the hostname that the client
|
1290
|
-
reported in its facts)
|
1314
|
+
reported in its facts).
|
1315
|
+
|
1316
|
+
This setting is deprecated, please use explicit fact matching for classification.",
|
1291
1317
|
},
|
1292
1318
|
:bucketdir => {
|
1293
1319
|
:default => "$vardir/bucket",
|
@@ -1416,14 +1442,23 @@ EOT
|
|
1416
1442
|
:desc => "Where the fileserver configuration is stored.",
|
1417
1443
|
},
|
1418
1444
|
:strict_hostname_checking => {
|
1419
|
-
:default =>
|
1445
|
+
:default => true,
|
1446
|
+
:type => :boolean,
|
1420
1447
|
:desc => "Whether to only search for the complete
|
1421
|
-
|
1422
|
-
|
1448
|
+
hostname as it is in the certificate when searching for node information
|
1449
|
+
in the catalogs or to match dot delimited segments of the cert's certname
|
1450
|
+
and the hostname, fqdn, and/or domain facts.
|
1451
|
+
|
1452
|
+
This setting is deprecated and will be removed in a future release.",
|
1453
|
+
:hook => proc { |val|
|
1454
|
+
if val != true
|
1455
|
+
Puppet.deprecation_warning("Setting strict_hostname_checking to false is deprecated and will be removed in a future release. Please use regular expressions in your node declarations or explicit fact matching for classification (though be warned that fact based classification may be considered insecure).")
|
1456
|
+
end
|
1457
|
+
}
|
1423
1458
|
}
|
1424
1459
|
)
|
1425
1460
|
|
1426
|
-
define_settings(:device,
|
1461
|
+
settings.define_settings(:device,
|
1427
1462
|
:devicedir => {
|
1428
1463
|
:default => "$vardir/devices",
|
1429
1464
|
:type => :directory,
|
@@ -1438,7 +1473,7 @@ EOT
|
|
1438
1473
|
}
|
1439
1474
|
)
|
1440
1475
|
|
1441
|
-
define_settings(:agent,
|
1476
|
+
settings.define_settings(:agent,
|
1442
1477
|
:node_name_value => {
|
1443
1478
|
:default => "$certname",
|
1444
1479
|
:desc => "The explicit value used for the node name for all requests the agent
|
@@ -1463,7 +1498,7 @@ EOT
|
|
1463
1498
|
:statefile => {
|
1464
1499
|
:default => "$statedir/state.yaml",
|
1465
1500
|
:type => :file,
|
1466
|
-
:mode => "
|
1501
|
+
:mode => "0640",
|
1467
1502
|
:desc => "Where puppet agent and puppet master store state associated
|
1468
1503
|
with the running configuration. In the case of puppet master,
|
1469
1504
|
this file reflects the state discovered through interacting
|
@@ -1485,7 +1520,7 @@ EOT
|
|
1485
1520
|
:transactionstorefile => {
|
1486
1521
|
:default => "$statedir/transactionstore.yaml",
|
1487
1522
|
:type => :file,
|
1488
|
-
:mode => "
|
1523
|
+
:mode => "0640",
|
1489
1524
|
:desc => "Transactional storage file for persisting data between
|
1490
1525
|
transactions for the purposes of infering information (such as
|
1491
1526
|
corrective_change) on new data received."
|
@@ -1730,6 +1765,11 @@ EOT
|
|
1730
1765
|
:type => :boolean,
|
1731
1766
|
:desc => "Whether to send reports after every transaction.",
|
1732
1767
|
},
|
1768
|
+
:resubmit_facts => {
|
1769
|
+
:default => false,
|
1770
|
+
:type => :boolean,
|
1771
|
+
:desc => "Whether to send updated facts after every transaction.",
|
1772
|
+
},
|
1733
1773
|
:lastrunfile => {
|
1734
1774
|
:default => "$statedir/last_run_summary.yaml",
|
1735
1775
|
:type => :file,
|
@@ -1819,7 +1859,7 @@ EOT
|
|
1819
1859
|
|
1820
1860
|
# Plugin information.
|
1821
1861
|
|
1822
|
-
define_settings(
|
1862
|
+
settings.define_settings(
|
1823
1863
|
:main,
|
1824
1864
|
:plugindest => {
|
1825
1865
|
:type => :directory,
|
@@ -1854,7 +1894,6 @@ EOT
|
|
1854
1894
|
is used for retrieval, so anything that is a valid file source can
|
1855
1895
|
be used here.",
|
1856
1896
|
},
|
1857
|
-
|
1858
1897
|
:pluginsync => {
|
1859
1898
|
:default => true,
|
1860
1899
|
:type => :boolean,
|
@@ -1868,12 +1907,19 @@ EOT
|
|
1868
1907
|
:pluginsignore => {
|
1869
1908
|
:default => ".svn CVS .git .hg",
|
1870
1909
|
:desc => "What files to ignore when pulling down plugins.",
|
1910
|
+
},
|
1911
|
+
:ignore_plugin_errors => {
|
1912
|
+
:default => true,
|
1913
|
+
:type => :boolean,
|
1914
|
+
:desc => "Whether the puppet run should ignore errors during pluginsync. If the setting
|
1915
|
+
is false and there are errors during pluginsync, then the agent will abort the run and
|
1916
|
+
submit a report containing information about the failed run."
|
1871
1917
|
}
|
1872
1918
|
)
|
1873
1919
|
|
1874
1920
|
# Central fact information.
|
1875
1921
|
|
1876
|
-
define_settings(
|
1922
|
+
settings.define_settings(
|
1877
1923
|
:main,
|
1878
1924
|
:factpath => {
|
1879
1925
|
:type => :path,
|
@@ -1890,7 +1936,7 @@ EOT
|
|
1890
1936
|
}
|
1891
1937
|
)
|
1892
1938
|
|
1893
|
-
define_settings(
|
1939
|
+
settings.define_settings(
|
1894
1940
|
:transaction,
|
1895
1941
|
:tags => {
|
1896
1942
|
:default => "",
|
@@ -1918,7 +1964,7 @@ EOT
|
|
1918
1964
|
}
|
1919
1965
|
)
|
1920
1966
|
|
1921
|
-
define_settings(
|
1967
|
+
settings.define_settings(
|
1922
1968
|
:main,
|
1923
1969
|
:external_nodes => {
|
1924
1970
|
:default => "none",
|
@@ -1943,7 +1989,7 @@ EOT
|
|
1943
1989
|
}
|
1944
1990
|
)
|
1945
1991
|
|
1946
|
-
define_settings(
|
1992
|
+
settings.define_settings(
|
1947
1993
|
:ldap,
|
1948
1994
|
:ldapssl => {
|
1949
1995
|
:default => false,
|
@@ -2012,7 +2058,7 @@ EOT
|
|
2012
2058
|
}
|
2013
2059
|
)
|
2014
2060
|
|
2015
|
-
define_settings(:master,
|
2061
|
+
settings.define_settings(:master,
|
2016
2062
|
:storeconfigs => {
|
2017
2063
|
:default => false,
|
2018
2064
|
:type => :boolean,
|
@@ -2045,7 +2091,7 @@ EOT
|
|
2045
2091
|
}
|
2046
2092
|
)
|
2047
2093
|
|
2048
|
-
define_settings(:parser,
|
2094
|
+
settings.define_settings(:parser,
|
2049
2095
|
:max_errors => {
|
2050
2096
|
:default => 10,
|
2051
2097
|
:desc => <<-'EOT'
|
@@ -2087,7 +2133,7 @@ EOT
|
|
2087
2133
|
EOT
|
2088
2134
|
}
|
2089
2135
|
)
|
2090
|
-
define_settings(:puppetdoc,
|
2136
|
+
settings.define_settings(:puppetdoc,
|
2091
2137
|
:document_all => {
|
2092
2138
|
:default => false,
|
2093
2139
|
:type => :boolean,
|
@@ -2096,7 +2142,7 @@ EOT
|
|
2096
2142
|
}
|
2097
2143
|
)
|
2098
2144
|
|
2099
|
-
define_settings(
|
2145
|
+
settings.define_settings(
|
2100
2146
|
:main,
|
2101
2147
|
:rich_data => {
|
2102
2148
|
:default => false,
|
@@ -2113,5 +2159,5 @@ EOT
|
|
2113
2159
|
EOT
|
2114
2160
|
}
|
2115
2161
|
)
|
2116
|
-
|
2162
|
+
end
|
2117
2163
|
end
|
data/lib/puppet/error.rb
CHANGED
@@ -12,7 +12,7 @@ module Puppet
|
|
12
12
|
# This module implements logging with a filename and line number. Use this
|
13
13
|
# for errors that need to report a location in a non-ruby file that we
|
14
14
|
# parse.
|
15
|
-
attr_accessor :line, :file, :pos
|
15
|
+
attr_accessor :line, :file, :pos, :puppetstack
|
16
16
|
|
17
17
|
# May be called with 3 arguments for message, file, line, and exception, or
|
18
18
|
# 4 args including the position on the line.
|
@@ -22,10 +22,18 @@ module Puppet
|
|
22
22
|
original = pos
|
23
23
|
pos = nil
|
24
24
|
end
|
25
|
+
|
25
26
|
super(message, original)
|
27
|
+
|
26
28
|
@file = file unless (file.is_a?(String) && file.empty?)
|
27
29
|
@line = line
|
28
30
|
@pos = pos
|
31
|
+
|
32
|
+
if original && original.respond_to?(:puppetstack)
|
33
|
+
@puppetstack = original.puppetstack
|
34
|
+
else
|
35
|
+
@puppetstack = Puppet::Pops::PuppetStack.stacktrace()
|
36
|
+
end
|
29
37
|
end
|
30
38
|
|
31
39
|
def to_s
|
data/lib/puppet/face/ca.rb
CHANGED
@@ -93,7 +93,7 @@ Puppet::Face.define(:ca, '0.1.0') do
|
|
93
93
|
ca.verify(host.name)
|
94
94
|
"+ #{name} #{host.certificate.digest(options[:digest])}"
|
95
95
|
rescue Puppet::SSL::CertificateAuthority::CertificateVerificationError => e
|
96
|
-
"- #{name} #{host.certificate.digest(options[:digest])} (#{e
|
96
|
+
"- #{name} #{host.certificate.digest(options[:digest])} (#{e})"
|
97
97
|
end
|
98
98
|
end
|
99
99
|
end.join("\n")
|
@@ -128,10 +128,10 @@ Puppet::Face.define(:module, '1.0.0') do
|
|
128
128
|
unmet_grouped.each do |type, deps|
|
129
129
|
unless deps.empty?
|
130
130
|
unmet_grouped[type].sort_by { |dep| dep[:name] }.each do |dep|
|
131
|
-
dep_name = dep[:name].
|
131
|
+
dep_name = dep[:name].tr('/', '-')
|
132
132
|
installed_version = dep[:mod_details][:installed_version]
|
133
133
|
version_constraint = dep[:version_constraint]
|
134
|
-
parent_name = dep[:parent][:name].
|
134
|
+
parent_name = dep[:parent][:name].tr('/', '-')
|
135
135
|
parent_version = dep[:parent][:version]
|
136
136
|
|
137
137
|
msg = _("'%{parent_name}' (%{parent_version}) requires '%{dependency_name}' (%{dependency_version})") % { parent_name: parent_name, parent_version: parent_version, dependency_name: dep_name, dependency_version: version_constraint }
|
@@ -151,7 +151,7 @@ Puppet::Face.define(:module, '1.0.0') do
|
|
151
151
|
error_display_order.each do |type|
|
152
152
|
unless @unmet_deps[type].empty?
|
153
153
|
@unmet_deps[type].keys.sort.each do |dep|
|
154
|
-
name = dep.
|
154
|
+
name = dep.tr('/', '-')
|
155
155
|
errors = @unmet_deps[type][dep][:errors]
|
156
156
|
version = @unmet_deps[type][dep][:version]
|
157
157
|
|
@@ -219,7 +219,7 @@ Puppet::Face.define(:module, '1.0.0') do
|
|
219
219
|
dep[:reason] == :missing
|
220
220
|
end
|
221
221
|
missing_deps.map do |mis_mod|
|
222
|
-
str = "#{colorize(:bg_red, _('UNMET DEPENDENCY'))} #{mis_mod[:name].
|
222
|
+
str = "#{colorize(:bg_red, _('UNMET DEPENDENCY'))} #{mis_mod[:name].tr('/', '-')} "
|
223
223
|
str << "(#{colorize(:cyan, mis_mod[:version_constraint])})"
|
224
224
|
node[:dependencies] << { :text => str }
|
225
225
|
end
|
@@ -244,7 +244,7 @@ Puppet::Face.define(:module, '1.0.0') do
|
|
244
244
|
#
|
245
245
|
def list_build_node(mod, parent, params)
|
246
246
|
str = ''
|
247
|
-
str << (mod.forge_name ? mod.forge_name.
|
247
|
+
str << (mod.forge_name ? mod.forge_name.tr('/', '-') : mod.name)
|
248
248
|
str << ' (' + colorize(:cyan, mod.version ? "v#{mod.version}" : '???') + ')'
|
249
249
|
|
250
250
|
unless File.dirname(mod.path) == params[:path]
|