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
@@ -26,6 +26,7 @@ decode: root
|
|
26
26
|
# Other tests
|
27
27
|
anothertest: "|/path/to/rt-mailgate --queue 'another test' --action correspond --url http://my.com/"
|
28
28
|
test: "|/path/to/rt-mailgate --queue 'test' --action correspond --url http://my.com/"
|
29
|
+
test_with_commas_inside_command: "|/path/to/rt-mailgate --queue 'test' --action correspond --url http://my.com/ --project proj1,proj2"
|
29
30
|
|
30
31
|
# Included file
|
31
32
|
incfile: :include: /tmp/somefile
|
@@ -0,0 +1,19 @@
|
|
1
|
+
localmirror-appstream
|
2
|
+
Name Stream Profiles Summary
|
3
|
+
389-ds 1.4 [e] 389 Directory Server (base)
|
4
|
+
gimp 2.8 [d][e] common [d], devel [i] gimp module
|
5
|
+
mariadb 10.3 [d][e] client [i], server [d], galera MariaDB Module
|
6
|
+
nodejs 10 [d][e] common [d], development, minimal [i], s2i Javascript runtime
|
7
|
+
perl 5.26 [d][e] common [d], minimal [i] Practical Extraction and Report Language
|
8
|
+
postgresql 10 [d][e] client, server [d] [i] PostgreSQL server and client module
|
9
|
+
ruby 2.5 [d][e] common [d] An interpreter of object-oriented scripting language
|
10
|
+
rust-toolset rhel8 [d][e] common [d] [i] Rust
|
11
|
+
subversion 1.10 [d][e] common [d], server [i] Apache Subversion
|
12
|
+
scala 2.10 [d] common [d] A hybrid functional/object-oriented language for the JVM
|
13
|
+
squid 4 [d] common [d] Squid - Optimising Web Delivery
|
14
|
+
subversion 1.10 [d] common [d], server Apache Subversion
|
15
|
+
swig 3.0 [d][x] common [d], complete Connects C/C++/Objective C to some high-level programming languages
|
16
|
+
varnish 6 [d] common [d] Varnish HTTP cache
|
17
|
+
virt rhel [d][x] common [d] Virtualization module
|
18
|
+
|
19
|
+
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
|
@@ -0,0 +1,9 @@
|
|
1
|
+
Loaded plugins: product-id, search-disabled-repos, subscription-manager
|
2
|
+
|
3
|
+
This system is not registered with an entitlement server. You can use subscription-manager to register on.
|
4
|
+
|
5
|
+
curl.i686 7.32.0-10.fc20 updates
|
6
|
+
curl.x86_64 7.32.0-10.fc20 updates
|
7
|
+
gawk.i686 4.1.0-3.fc20 updates
|
8
|
+
dhclient.i686 12:4.1.1-38.P1.fc20 updates
|
9
|
+
java-1.8.0-openjdk.x86_64 1:1.8.0.131-2.b11.el7_3 updates
|
@@ -5,3 +5,12 @@ autovt@.service disabled
|
|
5
5
|
avahi-daemon.service enabled
|
6
6
|
blk-availability.service disabled
|
7
7
|
brandbot.service static
|
8
|
+
apparmor.service bad
|
9
|
+
udev.service enabled-runtime
|
10
|
+
ufw.service linked
|
11
|
+
umountfs.service linked-runtime
|
12
|
+
umountnfs.service masked
|
13
|
+
umountroot.service masked-runtime
|
14
|
+
urandom.service indirect
|
15
|
+
user@.service generated
|
16
|
+
uuidd.service transient
|
@@ -62,5 +62,71 @@ describe Puppet::Configurer do
|
|
62
62
|
expect(summary["time"]).to be_key("notify")
|
63
63
|
expect(summary["time"]["last_run"]).to be_between(t1, t2)
|
64
64
|
end
|
65
|
+
|
66
|
+
it "applies a cached catalog if pluginsync fails when usecacheonfailure is true" do
|
67
|
+
Puppet[:ignore_plugin_errors] = false
|
68
|
+
|
69
|
+
Puppet[:use_cached_catalog] = false
|
70
|
+
Puppet[:usecacheonfailure] = true
|
71
|
+
|
72
|
+
report = Puppet::Transaction::Report.new
|
73
|
+
expect_any_instance_of(Puppet::Configurer::Downloader).to receive(:evaluate).and_raise(Puppet::Error, 'Failed to retrieve: some file')
|
74
|
+
expect(Puppet::Resource::Catalog.indirection).to receive(:find).and_return(@catalog)
|
75
|
+
|
76
|
+
@configurer.run(pluginsync: true, report: report)
|
77
|
+
expect(report.cached_catalog_status).to eq('on_failure')
|
78
|
+
end
|
79
|
+
|
80
|
+
describe 'resubmitting facts' do
|
81
|
+
context 'when resubmit_facts is set to false' do
|
82
|
+
it 'should not send data' do
|
83
|
+
expect(@configurer).to receive(:resubmit_facts).never
|
84
|
+
|
85
|
+
@configurer.run(catalog: @catalog)
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
context 'when resubmit_facts is set to true' do
|
90
|
+
let(:test_facts) { Puppet::Node::Facts.new('configurer.test') }
|
91
|
+
let(:fact_rest_terminus) { Puppet::Node::Facts.indirection.terminus(:rest) }
|
92
|
+
|
93
|
+
before(:each) do
|
94
|
+
Puppet[:resubmit_facts] = true
|
95
|
+
|
96
|
+
allow(@configurer).to receive(:find_facts).and_return(test_facts)
|
97
|
+
allow(fact_rest_terminus).to receive(:save)
|
98
|
+
end
|
99
|
+
|
100
|
+
it 'sends fact data using the rest terminus' do
|
101
|
+
expect(fact_rest_terminus).to receive(:save)
|
102
|
+
|
103
|
+
@configurer.run(catalog: @catalog)
|
104
|
+
end
|
105
|
+
|
106
|
+
it 'logs errors that occur during fact generation' do
|
107
|
+
allow(@configurer).to receive(:find_facts).and_raise('error generating facts')
|
108
|
+
expect(Puppet).to receive(:log_exception).with(instance_of(RuntimeError),
|
109
|
+
/^Failed to submit facts/)
|
110
|
+
|
111
|
+
@configurer.run(catalog: @catalog)
|
112
|
+
end
|
113
|
+
|
114
|
+
it 'logs errors that occur during fact submission' do
|
115
|
+
allow(fact_rest_terminus).to receive(:save).and_raise('error sending facts')
|
116
|
+
expect(Puppet).to receive(:log_exception).with(instance_of(RuntimeError),
|
117
|
+
/^Failed to submit facts/)
|
118
|
+
|
119
|
+
@configurer.run(catalog: @catalog)
|
120
|
+
end
|
121
|
+
|
122
|
+
it 'records time spent resubmitting facts' do
|
123
|
+
report = Puppet::Transaction::Report.new
|
124
|
+
|
125
|
+
@configurer.run(catalog: @catalog, report: report)
|
126
|
+
|
127
|
+
expect(report.metrics['time'].values).to include(["resubmit_facts", anything, Numeric])
|
128
|
+
end
|
129
|
+
end
|
130
|
+
end
|
65
131
|
end
|
66
132
|
end
|
@@ -130,8 +130,7 @@ describe "Puppet defaults" do
|
|
130
130
|
Puppet::Util.withenv( {"PATH" => path }, :windows) do
|
131
131
|
Puppet.settings[:path] = "none" # this causes it to ignore the setting
|
132
132
|
|
133
|
-
|
134
|
-
expect(envhash['Path']).to eq(path)
|
133
|
+
expect(Puppet::Util.get_env('Path')).to eq(path)
|
135
134
|
end
|
136
135
|
end
|
137
136
|
end
|
@@ -1,59 +1,41 @@
|
|
1
1
|
require 'spec_helper'
|
2
|
-
require '
|
3
|
-
require 'puppet/file_serving/metadata'
|
4
|
-
require 'puppet/file_serving/content'
|
5
|
-
require 'puppet/indirector/memory'
|
2
|
+
require 'webmock/rspec'
|
6
3
|
|
7
|
-
module PuppetFaceIntegrationSpecs
|
8
4
|
describe "Puppet plugin face" do
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
]
|
5
|
+
before :each do
|
6
|
+
metadata = "[{\"path\":\"/etc/puppetlabs/code\",\"relative_path\":\".\",\"links\":\"follow\",\"owner\":0,\"group\":0,\"mode\":420,\"checksum\":{\"type\":\"ctime\",\"value\":\"{ctime}2020-07-10 14:00:00 -0700\"},\"type\":\"directory\",\"destination\":null}]"
|
7
|
+
stub_request(:get, %r{/puppet/v3/file_metadatas/(plugins|locales)}).to_return(status: 200, body: metadata, headers: {'Content-Type' => 'application/json'})
|
13
8
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
Puppet::Node::Facts,
|
18
|
-
]
|
19
|
-
|
20
|
-
INDIRECTORS.each do |indirector|
|
21
|
-
class indirector::Memory < Puppet::Indirector::Memory
|
22
|
-
def find(request)
|
23
|
-
model.new('/dev/null', { 'type' => 'directory' })
|
24
|
-
end
|
25
|
-
end
|
9
|
+
# response retains owner/group/mode due to source_permissions => use
|
10
|
+
facts_metadata = "[{\"path\":\"/etc/puppetlabs/code\",\"relative_path\":\".\",\"links\":\"follow\",\"owner\":500,\"group\":500,\"mode\":493,\"checksum\":{\"type\":\"ctime\",\"value\":\"{ctime}2020-07-10 14:00:00 -0700\"},\"type\":\"directory\",\"destination\":null}]"
|
11
|
+
stub_request(:get, %r{/puppet/v3/file_metadatas/pluginfacts}).to_return(status: 200, body: facts_metadata, headers: {'Content-Type' => 'application/json'})
|
26
12
|
end
|
27
13
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
indirected.indirection.terminus_class = :memory
|
36
|
-
end
|
37
|
-
end
|
14
|
+
it "processes a download request resulting in no changes" do
|
15
|
+
# /opt/puppetlabs/puppet/cache/facts.d will be created based on our umask.
|
16
|
+
# If the mode on disk is not 0755, then the mode from the metadata response
|
17
|
+
# (493 => 0755) will be applied, resulting in "plugins were downloaded"
|
18
|
+
# message. Enforce a umask so the results are consistent.
|
19
|
+
Puppet::FileSystem.mkpath(Puppet[:pluginfactdest])
|
20
|
+
Puppet::FileSystem.chmod(0755, Puppet[:pluginfactdest])
|
38
21
|
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
22
|
+
app = Puppet::Application[:plugin]
|
23
|
+
app.command_line.args << 'download'
|
24
|
+
expect {
|
25
|
+
app.run
|
26
|
+
}.to exit_with(0)
|
27
|
+
.and output(/No plugins downloaded/).to_stdout
|
44
28
|
end
|
45
29
|
|
46
|
-
|
47
|
-
Puppet::
|
48
|
-
|
30
|
+
it "updates the facts.d mode", unless: Puppet::Util::Platform.windows? do
|
31
|
+
Puppet::FileSystem.mkpath(Puppet[:pluginfactdest])
|
32
|
+
Puppet::FileSystem.chmod(0775, Puppet[:pluginfactdest])
|
49
33
|
|
50
|
-
|
51
|
-
app
|
52
|
-
expect
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
end.to have_printed(/No plugins downloaded/)
|
34
|
+
app = Puppet::Application[:plugin]
|
35
|
+
app.command_line.args << 'download'
|
36
|
+
expect {
|
37
|
+
app.run
|
38
|
+
}.to exit_with(0)
|
39
|
+
.and output(/Downloaded these plugins: .*facts\.d/).to_stdout
|
57
40
|
end
|
58
41
|
end
|
59
|
-
end
|
@@ -8,6 +8,10 @@ describe Puppet::Node::Facts::Facter do
|
|
8
8
|
include PuppetSpec::Files
|
9
9
|
include PuppetSpec::Compiler
|
10
10
|
|
11
|
+
before :each do
|
12
|
+
Puppet::Node::Facts.indirection.terminus_class = :facter
|
13
|
+
end
|
14
|
+
|
11
15
|
it "preserves case in fact values" do
|
12
16
|
Facter.add(:downcase_test) do
|
13
17
|
setcode do
|
@@ -841,6 +841,17 @@ describe Puppet::Parser::Compiler do
|
|
841
841
|
MANIFEST
|
842
842
|
end.to raise_error(/Foo\[bar\]:\s+parameter 'a' expects a value for key 'd'\s+parameter 'a' unrecognized key 'c'/m)
|
843
843
|
end
|
844
|
+
|
845
|
+
it 'handles Sensitive type in resource array' do
|
846
|
+
catalog = compile_to_catalog(<<-MANIFEST)
|
847
|
+
define foo(Sensitive[String] $password) {
|
848
|
+
notify{ "${title}": message => "${password}" }
|
849
|
+
}
|
850
|
+
foo { ['testA', 'testB']: password =>Sensitive('some password') }
|
851
|
+
MANIFEST
|
852
|
+
expect(catalog).to have_resource("Notify[testA]").with_parameter(:message, 'Sensitive [value redacted]')
|
853
|
+
expect(catalog).to have_resource("Notify[testB]").with_parameter(:message, 'Sensitive [value redacted]')
|
854
|
+
end
|
844
855
|
end
|
845
856
|
|
846
857
|
context 'when using typed parameters in class' do
|
@@ -0,0 +1,46 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'puppet_spec/compiler'
|
3
|
+
|
4
|
+
describe Puppet::Type.type(:notify) do
|
5
|
+
include PuppetSpec::Compiler
|
6
|
+
|
7
|
+
it "logs the title at notice level" do
|
8
|
+
apply_compiled_manifest(<<-MANIFEST)
|
9
|
+
notify { 'hi': }
|
10
|
+
MANIFEST
|
11
|
+
|
12
|
+
expect(@logs).to include(an_object_having_attributes(level: :notice, message: 'hi'))
|
13
|
+
end
|
14
|
+
|
15
|
+
it "logs the message property" do
|
16
|
+
apply_compiled_manifest(<<-MANIFEST)
|
17
|
+
notify { 'title':
|
18
|
+
message => 'hello'
|
19
|
+
}
|
20
|
+
MANIFEST
|
21
|
+
|
22
|
+
expect(@logs).to include(an_object_having_attributes(level: :notice, message: "defined 'message' as 'hello'"))
|
23
|
+
end
|
24
|
+
|
25
|
+
it "redacts sensitive message properties" do
|
26
|
+
apply_compiled_manifest(<<-MANIFEST)
|
27
|
+
$message = Sensitive('secret')
|
28
|
+
notify { 'notify1':
|
29
|
+
message => $message
|
30
|
+
}
|
31
|
+
MANIFEST
|
32
|
+
|
33
|
+
expect(@logs).to include(an_object_having_attributes(level: :notice, message: 'changed [redacted] to [redacted]'))
|
34
|
+
end
|
35
|
+
|
36
|
+
it "redacts sensitive interpolated message properties" do
|
37
|
+
apply_compiled_manifest(<<-MANIFEST)
|
38
|
+
$message = Sensitive('secret')
|
39
|
+
notify { 'notify2':
|
40
|
+
message => "${message}"
|
41
|
+
}
|
42
|
+
MANIFEST
|
43
|
+
|
44
|
+
expect(@logs).to include(an_object_having_attributes(level: :notice, message: "defined 'message' as 'Sensitive [value redacted]'"))
|
45
|
+
end
|
46
|
+
end
|
@@ -82,6 +82,9 @@ describe Puppet::Util::Windows::ADSI::Group,
|
|
82
82
|
it 'should return a list of members resolvable with Puppet::Util::Windows::ADSI::Group.name_sid_hash' do
|
83
83
|
temp_groupname = "g#{SecureRandom.uuid}"
|
84
84
|
temp_username = "u#{SecureRandom.uuid}"[0..12]
|
85
|
+
# From https://docs.microsoft.com/en-us/windows/security/threat-protection/security-policy-settings/password-must-meet-complexity-requirements
|
86
|
+
specials = "~!@#$%^&*_-+=`|\(){}[]:;\"'<>,.?/"
|
87
|
+
temp_password = "p#{SecureRandom.uuid[0..7]}-#{SecureRandom.uuid.upcase[0..7]}-#{specials[rand(specials.length)]}"
|
85
88
|
|
86
89
|
# select a virtual account that requires an authority to be able to resolve to SID
|
87
90
|
# the Dhcp service is chosen for no particular reason aside from it's a service available on all Windows versions
|
@@ -110,6 +113,8 @@ describe Puppet::Util::Windows::ADSI::Group,
|
|
110
113
|
begin
|
111
114
|
# :SidTypeUser as user on localhost, can be resolved with or without authority prefix
|
112
115
|
user = Puppet::Util::Windows::ADSI::User.create(temp_username)
|
116
|
+
# appveyor sometimes requires a password
|
117
|
+
user.password = temp_password
|
113
118
|
user.commit()
|
114
119
|
users.push({ :sid => user.sid.sid, :name => Puppet::Util::Windows::ADSI.computer_name + '\\' + temp_username })
|
115
120
|
|
@@ -160,7 +165,7 @@ describe Puppet::Util::Windows::ADSI::Group,
|
|
160
165
|
|
161
166
|
# unresolvable SID
|
162
167
|
expect(admins.members[1].sid).to eq('S-1-5-21-3661721861-956923663-2119435483-1112')
|
163
|
-
expect(admins.members[1].account).to eq('S-1-5-21-3661721861-956923663-2119435483-1112
|
168
|
+
expect(admins.members[1].account).to eq('S-1-5-21-3661721861-956923663-2119435483-1112')
|
164
169
|
expect(admins.members[1].account_type).to eq(:SidTypeUnknown)
|
165
170
|
end
|
166
171
|
|
@@ -259,23 +259,23 @@ describe Puppet::Util::Windows::Registry do
|
|
259
259
|
{
|
260
260
|
name: 'REG_SZ',
|
261
261
|
type: Win32::Registry::REG_SZ,
|
262
|
-
value: "reg sz\u0000 string",
|
263
|
-
expected_value: "reg sz
|
262
|
+
value: "reg sz\u0000\u0000 string",
|
263
|
+
expected_value: "reg sz"
|
264
264
|
},
|
265
265
|
{
|
266
266
|
name: 'REG_SZ_2',
|
267
267
|
type: Win32::Registry::REG_SZ,
|
268
|
-
value: "reg sz\x00 string",
|
269
|
-
expected_value: "reg sz
|
268
|
+
value: "reg sz 2\x00\x00 string",
|
269
|
+
expected_value: "reg sz 2"
|
270
270
|
},
|
271
271
|
{
|
272
272
|
name: 'REG_EXPAND_SZ',
|
273
273
|
type: Win32::Registry::REG_EXPAND_SZ,
|
274
|
-
value: "\0reg expand string",
|
275
|
-
expected_value: "
|
274
|
+
value: "\0\0\0reg expand string",
|
275
|
+
expected_value: ""
|
276
276
|
}
|
277
277
|
].each do |pair|
|
278
|
-
it '
|
278
|
+
it 'reads up to the first wide null' do
|
279
279
|
hklm.create("#{puppet_key}\\#{subkey_name}", Win32::Registry::KEY_ALL_ACCESS) do |reg|
|
280
280
|
reg.write(value_name, pair[:type], pair[:value])
|
281
281
|
end
|
@@ -187,6 +187,8 @@ shared_context 'types_setup' do
|
|
187
187
|
result << Puppet::Pops::Types::PURIType
|
188
188
|
result << Puppet::Pops::Types::PTupleType.new([tf.rich_data])
|
189
189
|
result << Puppet::Pops::Types::PObjectType
|
190
|
+
result << Puppet::Pops::Types::PTypeType
|
191
|
+
result << Puppet::Pops::Types::PTypeSetType
|
190
192
|
result
|
191
193
|
end
|
192
194
|
def rich_data_compatible_types
|
data/spec/unit/agent_spec.rb
CHANGED
@@ -185,31 +185,26 @@ describe Puppet::Agent do
|
|
185
185
|
|
186
186
|
# So we don't actually try to hit the filesystem.
|
187
187
|
allow(@agent).to receive(:lock).and_yield
|
188
|
-
|
189
|
-
allow(Kernel).to receive(:fork)
|
190
|
-
allow(Process).to receive(:waitpid2).and_return([123, double('process::status', :exitstatus => 0)])
|
191
|
-
allow(@agent).to receive(:exit)
|
192
188
|
end
|
193
189
|
|
194
190
|
it "should run the agent in a forked process" do
|
195
191
|
client = AgentTestClient.new
|
196
192
|
expect(AgentTestClient).to receive(:new).and_return(client)
|
197
193
|
|
198
|
-
expect(client).to receive(:run)
|
194
|
+
expect(client).to receive(:run).and_return(0)
|
199
195
|
|
200
196
|
expect(Kernel).to receive(:fork).and_yield
|
201
|
-
@agent.run
|
197
|
+
expect { @agent.run }.to exit_with(0)
|
202
198
|
end
|
203
199
|
|
204
200
|
it "should exit child process if child exit" do
|
205
201
|
client = AgentTestClient.new
|
206
202
|
expect(AgentTestClient).to receive(:new).and_return(client)
|
207
203
|
|
208
|
-
expect(client).to receive(:run).and_raise(SystemExit)
|
204
|
+
expect(client).to receive(:run).and_raise(SystemExit.new(-1))
|
209
205
|
|
210
206
|
expect(Kernel).to receive(:fork).and_yield
|
211
|
-
expect
|
212
|
-
@agent.run
|
207
|
+
expect { @agent.run }.to exit_with(-1)
|
213
208
|
end
|
214
209
|
|
215
210
|
it 'should exit with 1 if an exception is raised' do
|
@@ -219,31 +214,44 @@ describe Puppet::Agent do
|
|
219
214
|
expect(client).to receive(:run).and_raise(StandardError)
|
220
215
|
|
221
216
|
expect(Kernel).to receive(:fork).and_yield
|
222
|
-
expect
|
223
|
-
@agent.run
|
217
|
+
expect { @agent.run }.to exit_with(1)
|
224
218
|
end
|
225
219
|
|
226
|
-
it
|
227
|
-
|
228
|
-
expect
|
220
|
+
it 'should exit with 254 if NoMemoryError exception is raised' do
|
221
|
+
client = AgentTestClient.new
|
222
|
+
expect(AgentTestClient).to receive(:new).and_return(client)
|
223
|
+
|
224
|
+
expect(client).to receive(:run).and_raise(NoMemoryError)
|
225
|
+
|
226
|
+
expect(Kernel).to receive(:fork).and_yield
|
227
|
+
expect { @agent.run }.to exit_with(254)
|
229
228
|
end
|
230
229
|
|
231
|
-
it "should
|
232
|
-
|
233
|
-
expect {
|
230
|
+
it "should return the block exit code as the child exit code" do
|
231
|
+
expect(Kernel).to receive(:fork).and_yield
|
232
|
+
expect {
|
233
|
+
@agent.run_in_fork {
|
234
|
+
777
|
235
|
+
}
|
236
|
+
}.to exit_with(777)
|
234
237
|
end
|
235
238
|
|
236
|
-
it "should return the
|
237
|
-
|
238
|
-
expect
|
239
|
+
it "should return `1` exit code if the block returns `nil`" do
|
240
|
+
expect(Kernel).to receive(:fork).and_yield
|
241
|
+
expect {
|
242
|
+
@agent.run_in_fork {
|
243
|
+
nil
|
244
|
+
}
|
245
|
+
}.to exit_with(1)
|
239
246
|
end
|
240
247
|
|
241
|
-
it "should return
|
248
|
+
it "should return `1` exit code if the block returns `false`" do
|
242
249
|
expect(Kernel).to receive(:fork).and_yield
|
243
|
-
expect
|
244
|
-
|
245
|
-
|
246
|
-
|
250
|
+
expect {
|
251
|
+
@agent.run_in_fork {
|
252
|
+
false
|
253
|
+
}
|
254
|
+
}.to exit_with(1)
|
247
255
|
end
|
248
256
|
end
|
249
257
|
|
@@ -283,7 +291,7 @@ describe Puppet::Agent do
|
|
283
291
|
expect(client).not_to receive(:handling)
|
284
292
|
expect(Puppet).to receive(:log_exception).with(be_an_instance_of(Puppet::Agent::RunTimeoutError), anything)
|
285
293
|
|
286
|
-
expect(@agent.run).to eq(
|
294
|
+
expect(@agent.run).to eq(nil)
|
287
295
|
end
|
288
296
|
end
|
289
297
|
end
|