puppet 5.5.16-x86-mingw32 → 5.5.21-x86-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 +10 -10
- data/Gemfile +2 -3
- data/Gemfile.lock +57 -52
- data/ext/build_defaults.yaml +1 -0
- data/ext/cert_inspector +3 -3
- data/ext/project_data.yaml +2 -2
- 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 -24
- 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 +15 -1
- data/lib/puppet/application/apply.rb +2 -2
- data/lib/puppet/application/describe.rb +3 -9
- data/lib/puppet/application/device.rb +4 -4
- 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/resource.rb +4 -4
- data/lib/puppet/application/script.rb +2 -2
- data/lib/puppet/configurer.rb +86 -28
- data/lib/puppet/configurer/downloader.rb +2 -6
- data/lib/puppet/daemon.rb +1 -1
- data/lib/puppet/defaults.rb +82 -38
- 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/config.rb +10 -48
- data/lib/puppet/face/facts.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/face/plugin.rb +9 -2
- data/lib/puppet/file_serving/http_metadata.rb +1 -1
- 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/reduce.rb +2 -4
- 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 +2 -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 +12 -2
- 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/factory.rb +1 -11
- 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 +4 -2
- data/lib/puppet/parameter.rb +8 -0
- 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 +1 -1
- 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/evaluator/access_operator.rb +2 -2
- 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/p_sensitive_type.rb +1 -1
- 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 +10 -0
- 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/file/posix.rb +5 -0
- 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.rb +10 -3
- 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/dnf.rb +1 -1
- 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/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/rpm.rb +57 -19
- data/lib/puppet/provider/package/windows/package.rb +1 -1
- data/lib/puppet/provider/package/yum.rb +35 -24
- 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/launchd.rb +20 -5
- 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 +35 -22
- data/lib/puppet/provider/service/windows.rb +8 -0
- data/lib/puppet/provider/user/directoryservice.rb +31 -6
- data/lib/puppet/provider/user/hpux.rb +1 -1
- data/lib/puppet/provider/user/pw.rb +12 -3
- data/lib/puppet/provider/user/user_role_add.rb +5 -1
- data/lib/puppet/provider/user/useradd.rb +62 -27
- 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 +18 -1
- data/lib/puppet/resource/catalog.rb +1 -1
- data/lib/puppet/resource/type.rb +8 -0
- data/lib/puppet/settings.rb +43 -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 +15 -10
- data/lib/puppet/transaction/report.rb +1 -1
- data/lib/puppet/transaction/resource_harness.rb +1 -1
- data/lib/puppet/type.rb +15 -4
- data/lib/puppet/type/cron.rb +1 -1
- data/lib/puppet/type/exec.rb +21 -9
- 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 +107 -8
- data/lib/puppet/type/schedule.rb +1 -1
- data/lib/puppet/type/selboolean.rb +17 -3
- data/lib/puppet/type/service.rb +9 -10
- data/lib/puppet/type/user.rb +6 -24
- data/lib/puppet/type/yumrepo.rb +3 -7
- data/lib/puppet/util.rb +47 -25
- data/lib/puppet/util/command_line/trollop.rb +1 -1
- data/lib/puppet/util/execution.rb +4 -3
- data/lib/puppet/util/http_proxy.rb +24 -16
- 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 +8 -2
- 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 +3 -0
- data/lib/puppet/util/windows/service.rb +149 -4
- data/lib/puppet/util/windows/sid.rb +4 -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 +479 -443
- data/man/man5/puppet.conf.5 +38 -8
- 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 +52 -0
- data/spec/integration/defaults_spec.rb +1 -2
- data/spec/integration/indirector/facts/facter_spec.rb +4 -0
- data/spec/integration/parser/compiler_spec.rb +11 -0
- data/spec/integration/provider/service/systemd_spec.rb +8 -5
- data/spec/integration/type/file_spec.rb +28 -0
- data/spec/integration/type/notify_spec.rb +46 -0
- data/spec/integration/util/execution_spec.rb +27 -0
- data/spec/integration/util/windows/adsi_spec.rb +6 -1
- data/spec/integration/util/windows/registry_spec.rb +7 -7
- data/spec/unit/agent_spec.rb +34 -26
- data/spec/unit/application/agent_spec.rb +18 -0
- data/spec/unit/application/apply_spec.rb +2 -12
- data/spec/unit/application/device_spec.rb +1 -1
- data/spec/unit/configurer/fact_handler_spec.rb +0 -4
- data/spec/unit/configurer_spec.rb +377 -397
- data/spec/unit/daemon_spec.rb +0 -1
- data/spec/unit/face/facts_spec.rb +9 -0
- data/spec/unit/face/plugin_spec.rb +8 -0
- 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/module_tool/tar/mini_spec.rb +1 -1
- data/spec/unit/network/http/api/indirected_routes_spec.rb +28 -11
- data/spec/unit/network/http/connection_spec.rb +43 -1
- data/spec/unit/network/http/factory_spec.rb +27 -5
- 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/pops/validator/validator_spec.rb +7 -0
- 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/aptrpm_spec.rb +1 -1
- data/spec/unit/provider/package/dnf_spec.rb +7 -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/rpm_spec.rb +150 -16
- data/spec/unit/provider/package/yum_spec.rb +66 -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/launchd_spec.rb +28 -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/service/windows_spec.rb +20 -0
- 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/pw_spec.rb +37 -0
- data/spec/unit/provider/user/useradd_spec.rb +122 -15
- data/spec/unit/provider/user/windows_adsi_spec.rb +3 -3
- data/spec/unit/puppet_pal_2pec.rb +3 -0
- data/spec/unit/resource_spec.rb +26 -1
- data/spec/unit/ssl/certificate_authority_spec.rb +2 -3
- data/spec/unit/ssl/certificate_spec.rb +7 -0
- data/spec/unit/test/test_helper_spec.rb +17 -0
- data/spec/unit/transaction_spec.rb +18 -0
- data/spec/unit/type/exec_spec.rb +15 -12
- data/spec/unit/type/file/content_spec.rb +9 -3
- data/spec/unit/type/file/source_spec.rb +4 -4
- data/spec/unit/type/file_spec.rb +9 -4
- data/spec/unit/type/package_spec.rb +8 -0
- data/spec/unit/type/schedule_spec.rb +3 -1
- data/spec/unit/type/selboolean_spec.rb +4 -6
- data/spec/unit/type/service_spec.rb +25 -8
- data/spec/unit/type/user_spec.rb +32 -26
- data/spec/unit/type/yumrepo_spec.rb +30 -0
- data/spec/unit/type_spec.rb +40 -0
- data/spec/unit/util/execution_spec.rb +16 -0
- data/spec/unit/util/http_proxy_spec.rb +121 -1
- data/spec/unit/util/log/destinations_spec.rb +2 -26
- data/spec/unit/util/log_spec.rb +0 -112
- 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/service_spec.rb +9 -0
- data/spec/unit/util/windows/sid_spec.rb +2 -2
- data/tasks/manpages.rake +1 -0
- metadata +18 -13
- data/ext/windows/eventlog/Rakefile +0 -32
- data/ext/windows/eventlog/puppetres.dll +0 -0
- data/ext/windows/eventlog/puppetres.mc +0 -18
- 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
@@ -125,14 +125,13 @@ Puppet::Type.type(:user).provide :windows_adsi do
|
|
125
125
|
|
126
126
|
def password=(value)
|
127
127
|
if user.disabled?
|
128
|
-
|
128
|
+
info _("The user account '%s' is disabled; The password will still be changed" % @resource[:name])
|
129
129
|
elsif user.locked_out?
|
130
|
-
|
130
|
+
info _("The user account '%s' is locked out; The password will still be changed" % @resource[:name])
|
131
131
|
elsif user.expired?
|
132
|
-
|
133
|
-
else
|
134
|
-
user.password = value
|
132
|
+
info _("The user account '%s' is expired; The password will still be changed" % @resource[:name])
|
135
133
|
end
|
134
|
+
user.password = value
|
136
135
|
end
|
137
136
|
|
138
137
|
def uid
|
@@ -76,8 +76,8 @@ Puppet::Type.type(:yumrepo).provide(:inifile) do
|
|
76
76
|
# Use directories in reposdir if they are set instead of default
|
77
77
|
if reposdir
|
78
78
|
# Follow the code from the yum/config.py
|
79
|
-
reposdir.
|
80
|
-
reposdir.
|
79
|
+
reposdir.tr!("\n", ' ')
|
80
|
+
reposdir.tr!(',', ' ')
|
81
81
|
dirs = reposdir.split
|
82
82
|
end
|
83
83
|
dirs.select! { |dir| Puppet::FileSystem.exist?(dir) }
|
@@ -5,14 +5,14 @@ require 'puppet/file_serving/metadata'
|
|
5
5
|
|
6
6
|
reference = Puppet::Util::Reference.newreference :indirection, :doc => "Indirection types and their terminus classes" do
|
7
7
|
text = ""
|
8
|
-
Puppet::Indirector::Indirection.instances.
|
8
|
+
Puppet::Indirector::Indirection.instances.sort_by(&:to_s).each do |indirection|
|
9
9
|
ind = Puppet::Indirector::Indirection.instance(indirection)
|
10
10
|
name = indirection.to_s.capitalize
|
11
11
|
text << "## " + indirection.to_s + "\n\n"
|
12
12
|
|
13
13
|
text << Puppet::Util::Docs.scrub(ind.doc) + "\n\n"
|
14
14
|
|
15
|
-
Puppet::Indirector::Terminus.terminus_classes(ind.name).
|
15
|
+
Puppet::Indirector::Terminus.terminus_classes(ind.name).sort_by(&:to_s).each do |terminus|
|
16
16
|
terminus_name = terminus.to_s
|
17
17
|
term_class = Puppet::Indirector::Terminus.terminus_class(ind.name, terminus)
|
18
18
|
if term_class
|
@@ -19,9 +19,7 @@ etc.), prevent Puppet from making changes (`noop`), and change logging verbosity
|
|
19
19
|
params << param
|
20
20
|
}
|
21
21
|
|
22
|
-
params.
|
23
|
-
a.to_s <=> b.to_s
|
24
|
-
}.each { |param|
|
22
|
+
params.sort_by(&:to_s).each { |param|
|
25
23
|
str << markdown_header(param.to_s, 3)
|
26
24
|
str << scrub(Puppet::Type.metaparamdoc(param))
|
27
25
|
str << "\n\n"
|
@@ -35,7 +35,7 @@ providers = Puppet::Util::Reference.newreference :providers, :title => "Provider
|
|
35
35
|
functional = false
|
36
36
|
notes = []
|
37
37
|
default = type.defaultprovider ? type.defaultprovider.name : 'none'
|
38
|
-
type.providers.
|
38
|
+
type.providers.sort_by(&:to_s).each do |pname|
|
39
39
|
data = []
|
40
40
|
table_data[pname] = data
|
41
41
|
provider = type.provider(pname)
|
@@ -49,9 +49,7 @@ Puppet::Util::Reference.newreference :type, :doc => "All Puppet resource types a
|
|
49
49
|
|
50
50
|
}
|
51
51
|
|
52
|
-
types.
|
53
|
-
a.to_s <=> b.to_s
|
54
|
-
}.each { |name,type|
|
52
|
+
types.sort_by(&:to_s).each { |name,type|
|
55
53
|
|
56
54
|
str << "
|
57
55
|
|
@@ -69,9 +67,7 @@ Puppet::Util::Reference.newreference :type, :doc => "All Puppet resource types a
|
|
69
67
|
end
|
70
68
|
|
71
69
|
docs = {}
|
72
|
-
type.validproperties.
|
73
|
-
a.to_s <=> b.to_s
|
74
|
-
}.reject { |sname|
|
70
|
+
type.validproperties.sort_by(&:to_s).reject { |sname|
|
75
71
|
property = type.propertybyname(sname)
|
76
72
|
property.nodoc
|
77
73
|
}.each { |sname|
|
@@ -91,9 +87,7 @@ Puppet::Util::Reference.newreference :type, :doc => "All Puppet resource types a
|
|
91
87
|
}
|
92
88
|
|
93
89
|
str << markdown_header("Parameters", 4) + "\n"
|
94
|
-
type.parameters.
|
95
|
-
a.to_s <=> b.to_s
|
96
|
-
}.each { |type_name, param|
|
90
|
+
type.parameters.sort_by(&:to_s).each { |type_name, param|
|
97
91
|
docs[type_name] = scrub(type.paramdoc(type_name))
|
98
92
|
}
|
99
93
|
|
data/lib/puppet/reports.rb
CHANGED
@@ -74,7 +74,7 @@ class Puppet::Reports
|
|
74
74
|
|
75
75
|
# Use this method so they all get loaded
|
76
76
|
instance_loader(:report).loadall
|
77
|
-
loaded_instances(:report).
|
77
|
+
loaded_instances(:report).sort_by(&:to_s).each do |name|
|
78
78
|
mod = self.report(name)
|
79
79
|
docs << "#{name}\n#{"-" * name.to_s.length}\n"
|
80
80
|
|
data/lib/puppet/resource.rb
CHANGED
@@ -192,7 +192,7 @@ class Puppet::Resource
|
|
192
192
|
end
|
193
193
|
|
194
194
|
def stage?
|
195
|
-
@is_stage ||= @type.to_s.
|
195
|
+
@is_stage ||= @type.to_s.casecmp("stage").zero?
|
196
196
|
end
|
197
197
|
|
198
198
|
# Construct a resource from data.
|
@@ -410,6 +410,8 @@ class Puppet::Resource
|
|
410
410
|
end
|
411
411
|
|
412
412
|
# Convert our resource to yaml for Hiera purposes.
|
413
|
+
#
|
414
|
+
# @deprecated Use {to_hiera_hash} instead.
|
413
415
|
def to_hierayaml
|
414
416
|
# Collect list of attributes to align => and move ensure first
|
415
417
|
attr = parameters.keys
|
@@ -429,6 +431,21 @@ class Puppet::Resource
|
|
429
431
|
" %s:\n%s" % [self.title, attributes]
|
430
432
|
end
|
431
433
|
|
434
|
+
# Convert our resource to a hiera hash suitable for serialization.
|
435
|
+
def to_hiera_hash
|
436
|
+
# to_data_hash converts to safe Data types, e.g. no symbols, unicode replacement character
|
437
|
+
h = to_data_hash
|
438
|
+
|
439
|
+
params = h['parameters'] || {}
|
440
|
+
value = params.delete('ensure')
|
441
|
+
|
442
|
+
res = {}
|
443
|
+
res['ensure'] = value if value
|
444
|
+
res.merge!(Hash[params.sort])
|
445
|
+
|
446
|
+
return { h['title'] => res }
|
447
|
+
end
|
448
|
+
|
432
449
|
# Convert our resource to Puppet code.
|
433
450
|
def to_manifest
|
434
451
|
# Collect list of attributes to align => and move ensure first
|
@@ -647,7 +647,7 @@ class Puppet::Resource::Catalog < Puppet::Graph::SimpleGraph
|
|
647
647
|
result.add_resource newres
|
648
648
|
end
|
649
649
|
|
650
|
-
message = convert.to_s.
|
650
|
+
message = convert.to_s.tr "_", " "
|
651
651
|
edges.each do |edge|
|
652
652
|
# Skip edges between virtual resources.
|
653
653
|
next if virtual_not_exported?(edge.source)
|
data/lib/puppet/resource/type.rb
CHANGED
@@ -11,6 +11,7 @@ class Puppet::Resource::Type
|
|
11
11
|
include Puppet::Util::Warnings
|
12
12
|
include Puppet::Util::Errors
|
13
13
|
|
14
|
+
# @deprecated application orchestration will be removed in puppet 7 (capability_mapping, application, site)
|
14
15
|
RESOURCE_KINDS = [:hostclass, :node, :definition, :capability_mapping, :application, :site]
|
15
16
|
|
16
17
|
# Map the names used in our documentation to the names used internally
|
@@ -69,6 +70,8 @@ class Puppet::Resource::Type
|
|
69
70
|
|
70
71
|
# Evaluate the resources produced by the given resource. These resources are
|
71
72
|
# evaluated in a separate but identical scope from the rest of the resource.
|
73
|
+
#
|
74
|
+
# @deprecated application orchestration will be removed in puppet 7
|
72
75
|
def evaluate_produces(resource, scope)
|
73
76
|
# Only defined types and classes can produce capabilities
|
74
77
|
return unless definition? || hostclass?
|
@@ -159,19 +162,23 @@ class Puppet::Resource::Type
|
|
159
162
|
@module_name = options[:module_name]
|
160
163
|
end
|
161
164
|
|
165
|
+
# @deprecated application orchestration will be removed in puppet 7
|
162
166
|
def produces
|
163
167
|
@produces || EMPTY_ARRAY
|
164
168
|
end
|
165
169
|
|
170
|
+
# @deprecated application orchestration will be removed in puppet 7
|
166
171
|
def consumes
|
167
172
|
@consumes || EMPTY_ARRAY
|
168
173
|
end
|
169
174
|
|
175
|
+
# @deprecated application orchestration will be removed in puppet 7
|
170
176
|
def add_produces(blueprint)
|
171
177
|
@produces ||= []
|
172
178
|
@produces << blueprint
|
173
179
|
end
|
174
180
|
|
181
|
+
# @deprecated application orchestration will be removed in puppet 7
|
175
182
|
def add_consumes(blueprint)
|
176
183
|
@consumes ||= []
|
177
184
|
@consumes << blueprint
|
@@ -233,6 +240,7 @@ class Puppet::Resource::Type
|
|
233
240
|
when :node
|
234
241
|
:node
|
235
242
|
when :site
|
243
|
+
# @deprecated application orchestration will be removed in puppet 7
|
236
244
|
:site
|
237
245
|
end
|
238
246
|
|
data/lib/puppet/settings.rb
CHANGED
@@ -84,6 +84,46 @@ class Puppet::Settings
|
|
84
84
|
"puppet.conf"
|
85
85
|
end
|
86
86
|
|
87
|
+
def stringify_settings(section, settings = :all)
|
88
|
+
values_from_the_selected_section =
|
89
|
+
values(nil, section.to_sym)
|
90
|
+
|
91
|
+
loader_settings = {
|
92
|
+
:environmentpath => values_from_the_selected_section.interpolate(:environmentpath),
|
93
|
+
:basemodulepath => values_from_the_selected_section.interpolate(:basemodulepath),
|
94
|
+
}
|
95
|
+
|
96
|
+
Puppet.override(Puppet.base_context(loader_settings),
|
97
|
+
_("New environment loaders generated from the requested section.")) do
|
98
|
+
# And now we can lookup values that include those from environments configured from
|
99
|
+
# the requested section
|
100
|
+
values = values(Puppet[:environment].to_sym, section.to_sym)
|
101
|
+
|
102
|
+
to_be_rendered = {}
|
103
|
+
settings = Puppet.settings.to_a.collect(&:first) if settings == :all
|
104
|
+
settings.sort.each do |setting_name|
|
105
|
+
to_be_rendered[setting_name] = values.print(setting_name.to_sym)
|
106
|
+
end
|
107
|
+
|
108
|
+
stringifyhash(to_be_rendered)
|
109
|
+
end
|
110
|
+
end
|
111
|
+
|
112
|
+
def stringifyhash(hash)
|
113
|
+
newhash = {}
|
114
|
+
hash.each do |key, val|
|
115
|
+
key = key.to_s
|
116
|
+
if val.is_a? Hash
|
117
|
+
newhash[key] = stringifyhash(val)
|
118
|
+
elsif val.is_a? Symbol
|
119
|
+
newhash[key] = val.to_s
|
120
|
+
else
|
121
|
+
newhash[key] = val
|
122
|
+
end
|
123
|
+
end
|
124
|
+
newhash
|
125
|
+
end
|
126
|
+
|
87
127
|
# Create a new collection of config settings.
|
88
128
|
def initialize
|
89
129
|
@config = {}
|
@@ -1189,10 +1229,10 @@ Generated on #{Time.now}.
|
|
1189
1229
|
if !Puppet::FileSystem.symlink?(configured_environment_path)
|
1190
1230
|
parameters = { :ensure => 'directory' }
|
1191
1231
|
unless Puppet::FileSystem.exist?(configured_environment_path)
|
1192
|
-
parameters
|
1232
|
+
parameters[:mode] = '0750'
|
1193
1233
|
if Puppet.features.root?
|
1194
|
-
parameters
|
1195
|
-
parameters
|
1234
|
+
parameters[:owner] = Puppet[:user] if service_user_available?
|
1235
|
+
parameters[:group] = Puppet[:group] if service_group_available?
|
1196
1236
|
end
|
1197
1237
|
end
|
1198
1238
|
catalog.add_resource(Puppet::Resource.new(:file, configured_environment_path, :parameters => parameters))
|
@@ -50,7 +50,8 @@ DOC
|
|
50
50
|
def custom_extensions
|
51
51
|
custom_exts = content.extensions.select do |ext|
|
52
52
|
Puppet::SSL::Oids.subtree_of?('ppRegCertExt', ext.oid) or
|
53
|
-
Puppet::SSL::Oids.subtree_of?('ppPrivCertExt', ext.oid)
|
53
|
+
Puppet::SSL::Oids.subtree_of?('ppPrivCertExt', ext.oid) or
|
54
|
+
Puppet::SSL::Oids.subtree_of?('ppAuthCertExt', ext.oid)
|
54
55
|
end
|
55
56
|
|
56
57
|
custom_exts.map do |ext|
|
@@ -441,11 +441,11 @@ class Puppet::SSL::CertificateAuthority
|
|
441
441
|
# Certificate Revocation List and flags
|
442
442
|
#
|
443
443
|
# @return [OpenSSL::X509::Store]
|
444
|
-
def create_x509_store
|
445
|
-
store = OpenSSL::X509::Store.new
|
444
|
+
def create_x509_store(purpose = OpenSSL::X509::PURPOSE_ANY)
|
445
|
+
store = OpenSSL::X509::Store.new
|
446
446
|
store.add_file(Puppet[:cacert])
|
447
447
|
store.add_crl(crl.content) if self.crl
|
448
|
-
store.purpose =
|
448
|
+
store.purpose = purpose
|
449
449
|
if Puppet.lookup(:certificate_revocation)
|
450
450
|
store.flags = OpenSSL::X509::V_FLAG_CRL_CHECK_ALL | OpenSSL::X509::V_FLAG_CRL_CHECK
|
451
451
|
end
|
@@ -486,17 +486,18 @@ class Puppet::SSL::CertificateAuthority
|
|
486
486
|
# certificate with that name.
|
487
487
|
#
|
488
488
|
# @param name [String] certificate name to verify
|
489
|
+
# @param purpose [Integer] bitwise combination of X509::PURPOSE_*
|
489
490
|
#
|
490
491
|
# @raise [ArgumentError] if the certificate name cannot be found
|
491
492
|
# (i.e. doesn't exist or is unsigned)
|
492
493
|
# @raise [CertificateVerficationError] if the certificate has been revoked
|
493
494
|
#
|
494
495
|
# @return [Boolean] true if signed, there are no cases where false is returned
|
495
|
-
def verify(name)
|
496
|
+
def verify(name, purpose = OpenSSL::X509::PURPOSE_ANY)
|
496
497
|
unless cert = Puppet::SSL::Certificate.indirection.find(name)
|
497
498
|
raise ArgumentError, _("Could not find a certificate for %{name}") % { name: name }
|
498
499
|
end
|
499
|
-
store = create_x509_store
|
500
|
+
store = create_x509_store(purpose)
|
500
501
|
|
501
502
|
raise CertificateVerificationError.new(store.error), store.error_string unless store.verify(cert.content)
|
502
503
|
end
|
@@ -26,9 +26,9 @@ module Puppet::SSL::CertificateFactory
|
|
26
26
|
# @return [OpenSSL::X509::Certificate]
|
27
27
|
def self.build(cert_type, csr, issuer, serial, ttl = nil)
|
28
28
|
# Work out if we can even build the requested type of certificate.
|
29
|
-
build_extensions = "build_#{cert_type
|
29
|
+
build_extensions = "build_#{cert_type}_extensions"
|
30
30
|
respond_to?(build_extensions) or
|
31
|
-
raise ArgumentError, _("%{cert_type} is an invalid certificate type!") % { cert_type: cert_type
|
31
|
+
raise ArgumentError, _("%{cert_type} is an invalid certificate type!") % { cert_type: cert_type }
|
32
32
|
|
33
33
|
raise ArgumentError, _("Certificate TTL must be an integer") unless ttl.nil? || ttl.is_a?(Integer)
|
34
34
|
|
data/lib/puppet/ssl/host.rb
CHANGED
@@ -210,7 +210,7 @@ DOC
|
|
210
210
|
raise Puppet::Error, _("No certificate to validate.") unless certificate
|
211
211
|
raise Puppet::Error, _("No private key with which to validate certificate with fingerprint: %{fingerprint}") % { fingerprint: certificate.fingerprint } unless key
|
212
212
|
unless certificate.content.check_private_key(key.content)
|
213
|
-
raise Puppet::Error, _(<<ERROR_STRING) % { fingerprint: certificate.fingerprint, cert_name: Puppet[:certname], ssl_dir: Puppet[:ssldir], cert_dir: Puppet[:certdir].
|
213
|
+
raise Puppet::Error, _(<<ERROR_STRING) % { fingerprint: certificate.fingerprint, cert_name: Puppet[:certname], ssl_dir: Puppet[:ssldir], cert_dir: Puppet[:certdir].tr('/', '\\') }
|
214
214
|
The certificate retrieved from the master does not match the agent's private key. Did you forget to run as root?
|
215
215
|
Certificate fingerprint: %{fingerprint}
|
216
216
|
To fix this, remove the certificate from both the master and the agent and then start a puppet run, which will automatically regenerate a certificate.
|
@@ -235,7 +235,7 @@ ERROR_STRING
|
|
235
235
|
if !existing_request.nil? &&
|
236
236
|
(key.content.public_key.to_s != existing_request.content.public_key.to_s)
|
237
237
|
|
238
|
-
raise Puppet::Error, _(<<ERROR_STRING) % { fingerprint: existing_request.fingerprint, csr_public_key: existing_request.content.public_key.to_text, agent_public_key: key.content.public_key.to_text, cert_name: Puppet[:certname], ssl_dir: Puppet[:ssldir], cert_dir: Puppet[:certdir].
|
238
|
+
raise Puppet::Error, _(<<ERROR_STRING) % { fingerprint: existing_request.fingerprint, csr_public_key: existing_request.content.public_key.to_text, agent_public_key: key.content.public_key.to_text, cert_name: Puppet[:certname], ssl_dir: Puppet[:ssldir], cert_dir: Puppet[:certdir].tr('/', '\\') }
|
239
239
|
The CSR retrieved from the master does not match the agent's public key.
|
240
240
|
CSR fingerprint: %{fingerprint}
|
241
241
|
CSR public key: %{csr_public_key}
|
@@ -345,7 +345,7 @@ ERROR_STRING
|
|
345
345
|
exit(1)
|
346
346
|
end
|
347
347
|
|
348
|
-
|
348
|
+
loop do
|
349
349
|
sleep time
|
350
350
|
begin
|
351
351
|
break if certificate
|
data/lib/puppet/ssl/oids.rb
CHANGED
@@ -101,7 +101,7 @@ module Puppet::SSL::Oids
|
|
101
101
|
# shortname: 'myothershortname'
|
102
102
|
# longname: 'Other Long name'
|
103
103
|
def self.parse_custom_oid_file(custom_oid_file, map_key='oid_mapping')
|
104
|
-
if File.
|
104
|
+
if File.exist?(custom_oid_file) && File.readable?(custom_oid_file)
|
105
105
|
mapping = nil
|
106
106
|
begin
|
107
107
|
mapping = YAML.load_file(custom_oid_file)
|
@@ -68,7 +68,14 @@ module Puppet::Test
|
|
68
68
|
# any individual tests.
|
69
69
|
# @return nil
|
70
70
|
def self.before_all_tests()
|
71
|
-
#
|
71
|
+
# The process environment is a shared, persistent resource.
|
72
|
+
# Can't use Puppet.features.microsoft_windows? as it may be mocked out in a test. This can cause test recurring test failures
|
73
|
+
if (!!File::ALT_SEPARATOR)
|
74
|
+
mode = :windows
|
75
|
+
else
|
76
|
+
mode = :posix
|
77
|
+
end
|
78
|
+
$old_env = Puppet::Util.get_environment(mode)
|
72
79
|
end
|
73
80
|
|
74
81
|
# Call this method once, at the end of a test run, when no more tests
|
@@ -118,15 +125,6 @@ module Puppet::Test
|
|
118
125
|
}
|
119
126
|
end
|
120
127
|
|
121
|
-
# The process environment is a shared, persistent resource.
|
122
|
-
# Can't use Puppet.features.microsoft_windows? as it may be mocked out in a test. This can cause test recurring test failures
|
123
|
-
if (!!File::ALT_SEPARATOR)
|
124
|
-
mode = :windows
|
125
|
-
else
|
126
|
-
mode = :posix
|
127
|
-
end
|
128
|
-
$old_env = Puppet::Util.get_environment(mode)
|
129
|
-
|
130
128
|
# So is the load_path
|
131
129
|
$old_load_path = $LOAD_PATH.dup
|
132
130
|
|
@@ -143,6 +141,13 @@ module Puppet::Test
|
|
143
141
|
Puppet::Application.clear!
|
144
142
|
Puppet::Util::Profiler.clear
|
145
143
|
|
144
|
+
Puppet::SSL::Host.reset
|
145
|
+
Puppet::SSL::Host.ca_location = :none
|
146
|
+
|
147
|
+
Puppet::Node::Facts.indirection.terminus_class = :memory
|
148
|
+
facts = Puppet::Node::Facts.new(Puppet[:node_name_value])
|
149
|
+
Puppet::Node::Facts.indirection.save(facts)
|
150
|
+
|
146
151
|
Puppet.clear_deprecation_warnings
|
147
152
|
end
|
148
153
|
|
@@ -346,7 +346,7 @@ class Puppet::Transaction::Report
|
|
346
346
|
report = raw_summary
|
347
347
|
|
348
348
|
ret = ""
|
349
|
-
report.keys.
|
349
|
+
report.keys.sort_by(&:to_s).each do |key|
|
350
350
|
ret += "#{Puppet::Util::Metric.labelize(key)}:\n"
|
351
351
|
|
352
352
|
report[key].keys.sort { |a,b|
|
@@ -99,7 +99,7 @@ class Puppet::Transaction::ResourceHarness
|
|
99
99
|
# We persist the last known values for the properties of a resource after resource
|
100
100
|
# application.
|
101
101
|
# @param [Puppet::Type] resource resource whose values we are to persist.
|
102
|
-
# @param [
|
102
|
+
# @param [ResourceApplicationContext] context the application context to operate on.
|
103
103
|
def persist_system_values(resource, context)
|
104
104
|
param_to_event = {}
|
105
105
|
context.status.events.each do |ev|
|