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
data/lib/puppet/type.rb
CHANGED
@@ -110,8 +110,10 @@ class Type
|
|
110
110
|
|
111
111
|
# Allow declaring that a type is actually a capability
|
112
112
|
class << self
|
113
|
+
# @deprecated application orchestration will be removed in puppet 7
|
113
114
|
attr_accessor :is_capability
|
114
115
|
|
116
|
+
# @deprecated application orchestration will be removed in puppet 7
|
115
117
|
def is_capability?
|
116
118
|
c = is_capability
|
117
119
|
c.nil? ? false : c
|
@@ -123,6 +125,8 @@ class Type
|
|
123
125
|
# represent application instances, this implementation always returns
|
124
126
|
# +false+. Having this method though makes code checking whether a
|
125
127
|
# resource is an application instance simpler
|
128
|
+
#
|
129
|
+
# @deprecated application orchestration will be removed in puppet 7
|
126
130
|
def self.application?
|
127
131
|
false
|
128
132
|
end
|
@@ -1447,7 +1451,7 @@ class Type
|
|
1447
1451
|
}
|
1448
1452
|
|
1449
1453
|
Tags are useful for things like applying a subset of a host's configuration
|
1450
|
-
with [the `tags` setting](/puppet/latest/configuration.html#tags)
|
1454
|
+
with [the `tags` setting](https://puppet.com/docs/puppet/latest/configuration.html#tags)
|
1451
1455
|
(e.g. `puppet agent --test --tags bootstrap`)."
|
1452
1456
|
|
1453
1457
|
munge do |tags|
|
@@ -1667,6 +1671,7 @@ class Type
|
|
1667
1671
|
}
|
1668
1672
|
end
|
1669
1673
|
|
1674
|
+
# @deprecated application orchestration will be removed in puppet 7
|
1670
1675
|
newmetaparam(:export, :parent => RelationshipMetaparam, :attributes => {:direction => :out, :events => :NONE}) do
|
1671
1676
|
desc <<EOS
|
1672
1677
|
Export a capability resource.
|
@@ -1692,6 +1697,7 @@ web { server:
|
|
1692
1697
|
EOS
|
1693
1698
|
end
|
1694
1699
|
|
1700
|
+
# @deprecated application orchestration will be removed in puppet 7
|
1695
1701
|
newmetaparam(:consume, :parent => RelationshipMetaparam, :attributes => {:direction => :in, :events => :NONE}) do
|
1696
1702
|
desc <<EOS
|
1697
1703
|
Consume a capability resource.
|
@@ -1909,9 +1915,7 @@ end
|
|
1909
1915
|
# Since we're mixing @doc with text from other sources, we must normalize
|
1910
1916
|
# its indentation with scrub. But we don't need to manually scrub the
|
1911
1917
|
# provider's doc string, since markdown_definitionlist sanitizes its inputs.
|
1912
|
-
scrub(@doc) + "Available providers are:\n\n" + parenttype.providers.
|
1913
|
-
a.to_s <=> b.to_s
|
1914
|
-
}.collect { |i|
|
1918
|
+
scrub(@doc) + "Available providers are:\n\n" + parenttype.providers.sort_by(&:to_s).collect { |i|
|
1915
1919
|
markdown_definitionlist( i, scrub(parenttype().provider(i).doc) )
|
1916
1920
|
}.join
|
1917
1921
|
end
|
@@ -2443,6 +2447,13 @@ end
|
|
2443
2447
|
err(_("Unable to mark '%{name}' as sensitive: the property itself is not defined on %{type}.") % { name: name, type: type })
|
2444
2448
|
end
|
2445
2449
|
end
|
2450
|
+
|
2451
|
+
parameters.each do |name, param|
|
2452
|
+
next if param.sensitive
|
2453
|
+
if param.is_a?(Puppet::Parameter)
|
2454
|
+
param.sensitive = param.is_sensitive if param.respond_to?(:is_sensitive)
|
2455
|
+
end
|
2456
|
+
end
|
2446
2457
|
end
|
2447
2458
|
|
2448
2459
|
private
|
data/lib/puppet/type/cron.rb
CHANGED
data/lib/puppet/type/exec.rb
CHANGED
@@ -150,9 +150,13 @@ module Puppet
|
|
150
150
|
end
|
151
151
|
end
|
152
152
|
unless log == :false
|
153
|
-
@
|
154
|
-
self.send(log,
|
155
|
-
|
153
|
+
if @resource.parameter(:command).sensitive
|
154
|
+
self.send(log, "[output redacted]")
|
155
|
+
else
|
156
|
+
@output.split(/\n/).each { |line|
|
157
|
+
self.send(log, line)
|
158
|
+
}
|
159
|
+
end
|
156
160
|
end
|
157
161
|
end
|
158
162
|
|
@@ -455,9 +459,13 @@ module Puppet
|
|
455
459
|
return false
|
456
460
|
end
|
457
461
|
|
458
|
-
|
459
|
-
self.debug(
|
460
|
-
|
462
|
+
if sensitive
|
463
|
+
self.debug("[output redacted]")
|
464
|
+
else
|
465
|
+
output.split(/\n/).each { |line|
|
466
|
+
self.debug(line)
|
467
|
+
}
|
468
|
+
end
|
461
469
|
|
462
470
|
status.exitstatus != 0
|
463
471
|
end
|
@@ -507,9 +515,13 @@ module Puppet
|
|
507
515
|
return false
|
508
516
|
end
|
509
517
|
|
510
|
-
|
511
|
-
self.debug(
|
512
|
-
|
518
|
+
if sensitive
|
519
|
+
self.debug("[output redacted]")
|
520
|
+
else
|
521
|
+
output.split(/\n/).each { |line|
|
522
|
+
self.debug(line)
|
523
|
+
}
|
524
|
+
end
|
513
525
|
|
514
526
|
status.exitstatus == 0
|
515
527
|
end
|
data/lib/puppet/type/file.rb
CHANGED
@@ -105,6 +105,19 @@ Puppet::Type.newtype(:file) do
|
|
105
105
|
balancer to direct all filebucket traffic to a single master, or use
|
106
106
|
something like an out-of-band rsync task to synchronize the content on all
|
107
107
|
masters.
|
108
|
+
|
109
|
+
> **Note**: Enabling and using the backup option, and by extension the
|
110
|
+
filebucket resource, requires appropriate planning and management to ensure
|
111
|
+
that sufficient disk space is available for the file backups. Generally, you
|
112
|
+
can implement this using one of the following two options:
|
113
|
+
- Use a `find` command and `crontab` entry to retain only the last X days
|
114
|
+
of file backups. For example,
|
115
|
+
|
116
|
+
```shell script
|
117
|
+
find /opt/puppetlabs/server/data/puppetserver/bucket -type f -mtime +45 -atime +45 -print0 | xargs -0 rm
|
118
|
+
```
|
119
|
+
|
120
|
+
- Restrict the directory to a maximum size after which the oldest items are removed.
|
108
121
|
EOT
|
109
122
|
|
110
123
|
defaultto "puppet"
|
@@ -572,8 +585,7 @@ Puppet::Type.newtype(:file) do
|
|
572
585
|
# remote system.
|
573
586
|
mark_children_for_purging(children) if self.purge?
|
574
587
|
|
575
|
-
|
576
|
-
result = children.values.sort { |a, b| a[:path] <=> b[:path] }
|
588
|
+
result = children.values.sort_by { |a| a[:path] }
|
577
589
|
remove_less_specific_files(result)
|
578
590
|
end
|
579
591
|
|
@@ -42,7 +42,11 @@ module Puppet
|
|
42
42
|
send resource[:loglevel], "[diff redacted]"
|
43
43
|
else
|
44
44
|
write_temporarily(param) do |path|
|
45
|
-
|
45
|
+
diff_output = diff(resource[:path], path)
|
46
|
+
if diff_output.encoding == Encoding::BINARY || !diff_output.valid_encoding?
|
47
|
+
diff_output = "Binary files #{resource[:path]} and #{path} differ"
|
48
|
+
end
|
49
|
+
send resource[:loglevel], "\n" + diff_output
|
46
50
|
end
|
47
51
|
end
|
48
52
|
end
|
data/lib/puppet/type/group.rb
CHANGED
@@ -175,7 +175,8 @@ module Puppet
|
|
175
175
|
end
|
176
176
|
|
177
177
|
newparam(:ia_load_module, :required_features => :manages_aix_lam) do
|
178
|
-
desc "The name of the I&A module to use to manage this
|
178
|
+
desc "The name of the I&A module to use to manage this group.
|
179
|
+
This should be set to `files` if managing local groups."
|
179
180
|
end
|
180
181
|
|
181
182
|
newproperty(:attributes, :parent => Puppet::Property::KeyValue, :required_features => :manages_aix_lam) do
|
@@ -216,7 +217,8 @@ module Puppet
|
|
216
217
|
:required_features => :libuser,
|
217
218
|
:parent => Puppet::Parameter::Boolean) do
|
218
219
|
desc "Forces the management of local accounts when accounts are also
|
219
|
-
being managed by some other NSS
|
220
|
+
being managed by some other NSS. For AIX, refer to the
|
221
|
+
`ia_load_module` parameter."
|
220
222
|
defaultto false
|
221
223
|
end
|
222
224
|
|
@@ -105,7 +105,7 @@ Puppet::Type.newtype(:interface) do
|
|
105
105
|
|
106
106
|
def value_to_s(value)
|
107
107
|
value = [value] unless value.is_a?(Array)
|
108
|
-
value.map{ |v| "#{v[1]
|
108
|
+
value.map{ |v| "#{v[1]}/#{v[0]} #{v[2]}"}.join(",")
|
109
109
|
end
|
110
110
|
|
111
111
|
def change_to_s(currentvalue, newvalue)
|
data/lib/puppet/type/notify.rb
CHANGED
@@ -11,11 +11,12 @@ module Puppet
|
|
11
11
|
newproperty(:message, :idempotent => false) do
|
12
12
|
desc "The message to be sent to the log."
|
13
13
|
def sync
|
14
|
+
message = @sensitive ? 'Sensitive [value redacted]' : self.should
|
14
15
|
case @resource["withpath"]
|
15
16
|
when :true
|
16
|
-
send(@resource[:loglevel],
|
17
|
+
send(@resource[:loglevel], message)
|
17
18
|
else
|
18
|
-
Puppet.send(@resource[:loglevel],
|
19
|
+
Puppet.send(@resource[:loglevel], message)
|
19
20
|
end
|
20
21
|
return
|
21
22
|
end
|
data/lib/puppet/type/package.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# coding: utf-8
|
1
2
|
# Define the different packaging systems. Each package system is implemented
|
2
3
|
# in a module, which then gets used to individually extend each package object.
|
3
4
|
# This allows packages to exist on the same machine using different packaging
|
@@ -53,13 +54,17 @@ module Puppet
|
|
53
54
|
feature :holdable, "The provider is capable of placing packages on hold
|
54
55
|
such that they are not automatically upgraded as a result of
|
55
56
|
other package dependencies unless explicit action is taken by
|
56
|
-
a user or another package.
|
57
|
-
|
58
|
-
|
57
|
+
a user or another package.",
|
58
|
+
:methods => [:hold, :unhold]
|
59
|
+
feature :install_only, "The provider accepts options to only install packages never update (kernels, etc.)"
|
59
60
|
feature :install_options, "The provider accepts options to be
|
60
61
|
passed to the installer command."
|
61
62
|
feature :uninstall_options, "The provider accepts options to be
|
62
63
|
passed to the uninstaller command."
|
64
|
+
feature :disableable, "The provider can disable packages. This feature is used by specifying `disabled` as the
|
65
|
+
desired value for the package.",
|
66
|
+
:methods => [:disable]
|
67
|
+
feature :supports_flavors, "The provider accepts flavors, which are specific variants of packages."
|
63
68
|
feature :package_settings, "The provider accepts package_settings to be
|
64
69
|
ensured for the given package. The meaning and format of these settings is
|
65
70
|
provider-specific.",
|
@@ -99,7 +104,11 @@ module Puppet
|
|
99
104
|
end
|
100
105
|
|
101
106
|
newvalue(:held, :event => :package_held, :required_features => :holdable) do
|
102
|
-
provider.
|
107
|
+
provider.deprecated_hold
|
108
|
+
end
|
109
|
+
|
110
|
+
newvalue(:disabled, :required_features => :disableable) do
|
111
|
+
provider.disable
|
103
112
|
end
|
104
113
|
|
105
114
|
# Alias the 'present' value.
|
@@ -149,7 +158,7 @@ module Puppet
|
|
149
158
|
@should.each { |should|
|
150
159
|
case should
|
151
160
|
when :present
|
152
|
-
return true unless [:absent, :purged, :held].include?(is)
|
161
|
+
return true unless [:absent, :purged, :held, :disabled].include?(is)
|
153
162
|
when :latest
|
154
163
|
# Short-circuit packages that are not present
|
155
164
|
return false if is == :absent || is == :purged
|
@@ -399,6 +408,16 @@ module Puppet
|
|
399
408
|
end
|
400
409
|
end
|
401
410
|
|
411
|
+
newproperty(:flavor, :required_features => :supports_flavors) do
|
412
|
+
desc "OpenBSD and DNF modules support 'flavors', which are
|
413
|
+
further specifications for which type of package you want."
|
414
|
+
validate do |value|
|
415
|
+
if [:disabled, "disabled"].include?(@resource[:ensure]) && value
|
416
|
+
raise ArgumentError, _('Cannot have both `ensure => disabled` and `flavor`')
|
417
|
+
end
|
418
|
+
end
|
419
|
+
end
|
420
|
+
|
402
421
|
newparam(:source) do
|
403
422
|
desc "Where to find the package file. This is only used by providers that don't
|
404
423
|
automatically download packages from a central repository. (For example:
|
@@ -478,9 +497,35 @@ module Puppet
|
|
478
497
|
newvalues(:true, :false)
|
479
498
|
end
|
480
499
|
|
481
|
-
newparam(:
|
482
|
-
desc
|
483
|
-
|
500
|
+
newparam(:enable_only, :boolean => false, :parent => Puppet::Parameter::Boolean) do
|
501
|
+
desc <<-EOT
|
502
|
+
Tells `dnf module` to only enable a specific module, instead
|
503
|
+
of installing its default profile.
|
504
|
+
|
505
|
+
Modules with no default profile will be enabled automatically
|
506
|
+
without the use of this parameter.
|
507
|
+
|
508
|
+
Conflicts with the `flavor` property, which selects a profile
|
509
|
+
to install.
|
510
|
+
EOT
|
511
|
+
defaultto false
|
512
|
+
|
513
|
+
validate do |value|
|
514
|
+
if [true, :true, "true"].include?(value) && @resource[:flavor]
|
515
|
+
raise ArgumentError, _('Cannot have both `enable_only => true` and `flavor`')
|
516
|
+
end
|
517
|
+
if [:disabled, "disabled"].include?(@resource[:ensure])
|
518
|
+
raise ArgumentError, _('Cannot have both `ensure => disabled` and `enable_only => true`')
|
519
|
+
end
|
520
|
+
end
|
521
|
+
end
|
522
|
+
|
523
|
+
newparam(:install_only, :boolean => false, :parent => Puppet::Parameter::Boolean, :required_features => :install_only) do
|
524
|
+
desc <<-EOT
|
525
|
+
It should be set for packages that should only ever be installed,
|
526
|
+
never updated. Kernels in particular fall into this category.
|
527
|
+
EOT
|
528
|
+
defaultto false
|
484
529
|
end
|
485
530
|
|
486
531
|
newparam(:install_options, :parent => Puppet::Parameter::PackageOptions, :required_features => :install_options) do
|
@@ -601,5 +646,59 @@ module Puppet
|
|
601
646
|
provider.reinstall
|
602
647
|
end
|
603
648
|
end
|
649
|
+
|
650
|
+
newproperty(:mark, :required_features => :holdable) do
|
651
|
+
mark_doc='Valid values are: hold/none'
|
652
|
+
desc <<-EOT
|
653
|
+
Set to hold to tell Debian apt/Solaris pkg to hold the package version
|
654
|
+
|
655
|
+
#{mark_doc}
|
656
|
+
Default is "none". Mark can be specified with or without `ensure`,
|
657
|
+
if `ensure` is missing will default to "present".
|
658
|
+
|
659
|
+
Mark cannot be specified together with "purged", "absent" or "held"
|
660
|
+
values for `ensure`.
|
661
|
+
EOT
|
662
|
+
newvalues(:hold, :none)
|
663
|
+
munge do |value|
|
664
|
+
case value
|
665
|
+
when "hold", :hold
|
666
|
+
:hold
|
667
|
+
when "none", :none
|
668
|
+
:none
|
669
|
+
else
|
670
|
+
raise ArgumentError, _('Invalid hold value %{value}. %{doc}') % { value: value.inspect, doc: mark_doc}
|
671
|
+
end
|
672
|
+
end
|
673
|
+
|
674
|
+
def insync?(is)
|
675
|
+
@should[0] == is
|
676
|
+
end
|
677
|
+
|
678
|
+
def should
|
679
|
+
@should[0] if @should && @should.is_a?(Array) && @should.size == 1
|
680
|
+
end
|
681
|
+
|
682
|
+
def retrieve
|
683
|
+
provider.properties[:mark]
|
684
|
+
end
|
685
|
+
|
686
|
+
def sync
|
687
|
+
if @should[0] == :hold
|
688
|
+
provider.hold
|
689
|
+
else
|
690
|
+
provider.unhold
|
691
|
+
end
|
692
|
+
end
|
693
|
+
end
|
694
|
+
|
695
|
+
validate do
|
696
|
+
if :held == @parameters[:ensure].should
|
697
|
+
warning '"ensure=>held" has been deprecated and will be removed in a future version, use "mark=hold" instead'
|
698
|
+
end
|
699
|
+
if @parameters[:mark] && [:absent, :purged, :held].include?(@parameters[:ensure].should)
|
700
|
+
raise ArgumentError, _('You cannot use "mark" property while "ensure" is one of ["absent", "purged", "held"]')
|
701
|
+
end
|
702
|
+
end
|
604
703
|
end
|
605
704
|
end
|
data/lib/puppet/type/schedule.rb
CHANGED
@@ -9,9 +9,23 @@ module Puppet
|
|
9
9
|
end
|
10
10
|
|
11
11
|
newproperty(:value) do
|
12
|
-
|
13
|
-
|
14
|
-
|
12
|
+
value_doc = 'Valid values are: "on"/"true"/"off"/"false"'
|
13
|
+
desc <<-EOT
|
14
|
+
Whether the SELinux boolean should be enabled or disabled.
|
15
|
+
#{value_doc}
|
16
|
+
EOT
|
17
|
+
|
18
|
+
newvalues(:on, :off, :true, :false)
|
19
|
+
munge do |value|
|
20
|
+
case value
|
21
|
+
when true, :true, 'true', :on, 'on'
|
22
|
+
:on
|
23
|
+
when false, :false, 'false', :off, 'off'
|
24
|
+
:off
|
25
|
+
else
|
26
|
+
raise ArgumentError, _("Invalid value %{value}. %{doc}") % { value: value.inspect, doc: value_doc}
|
27
|
+
end
|
28
|
+
end
|
15
29
|
end
|
16
30
|
|
17
31
|
newparam(:persistent) do
|
data/lib/puppet/type/service.rb
CHANGED
@@ -73,20 +73,19 @@ module Puppet
|
|
73
73
|
provider.enabled?
|
74
74
|
end
|
75
75
|
|
76
|
-
# This only
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
Puppet.debug("Unable to enable or disable static service #{@resource[:name]}")
|
81
|
-
return true
|
82
|
-
end
|
76
|
+
# This only works on Windows systems.
|
77
|
+
newvalue(:delayed, :event => :service_delayed_start) do
|
78
|
+
provider.delayed_start
|
79
|
+
end
|
83
80
|
|
81
|
+
def insync?(current)
|
82
|
+
return provider.enabled_insync?(current) if provider.respond_to?(:enabled_insync?)
|
84
83
|
super(current)
|
85
84
|
end
|
86
85
|
|
87
86
|
validate do |value|
|
88
|
-
if value == :manual
|
89
|
-
raise Puppet::Error.new(_("Setting enable to
|
87
|
+
if (value == :manual || value == :delayed) && !Puppet.features.microsoft_windows?
|
88
|
+
raise Puppet::Error.new(_("Setting enable to %{value} is only supported on Microsoft Windows.") % { value: value.to_s} )
|
90
89
|
end
|
91
90
|
end
|
92
91
|
end
|
@@ -223,7 +222,7 @@ module Puppet
|
|
223
222
|
desc "The control variable used to manage services (originally for HP-UX).
|
224
223
|
Defaults to the upcased service name plus `START` replacing dots with
|
225
224
|
underscores, for those providers that support the `controllable` feature."
|
226
|
-
defaultto { resource.name.
|
225
|
+
defaultto { resource.name.tr(".","_").upcase + "_START" if resource.provider.controllable? }
|
227
226
|
end
|
228
227
|
|
229
228
|
newparam :hasrestart do
|