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
@@ -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,57 @@ 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
|
+
describe 'resubmitting facts' do
|
67
|
+
context 'when resubmit_facts is set to false' do
|
68
|
+
it 'should not send data' do
|
69
|
+
expect(@configurer).to receive(:resubmit_facts).never
|
70
|
+
|
71
|
+
@configurer.run(catalog: @catalog)
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
context 'when resubmit_facts is set to true' do
|
76
|
+
let(:test_facts) { Puppet::Node::Facts.new('configurer.test') }
|
77
|
+
let(:fact_rest_terminus) { Puppet::Node::Facts.indirection.terminus(:rest) }
|
78
|
+
|
79
|
+
before(:each) do
|
80
|
+
Puppet[:resubmit_facts] = true
|
81
|
+
|
82
|
+
allow(@configurer).to receive(:find_facts).and_return(test_facts)
|
83
|
+
allow(fact_rest_terminus).to receive(:save)
|
84
|
+
end
|
85
|
+
|
86
|
+
it 'sends fact data using the rest terminus' do
|
87
|
+
expect(fact_rest_terminus).to receive(:save)
|
88
|
+
|
89
|
+
@configurer.run(catalog: @catalog)
|
90
|
+
end
|
91
|
+
|
92
|
+
it 'logs errors that occur during fact generation' do
|
93
|
+
allow(@configurer).to receive(:find_facts).and_raise('error generating facts')
|
94
|
+
expect(Puppet).to receive(:log_exception).with(instance_of(RuntimeError),
|
95
|
+
/^Failed to submit facts/)
|
96
|
+
|
97
|
+
@configurer.run(catalog: @catalog)
|
98
|
+
end
|
99
|
+
|
100
|
+
it 'logs errors that occur during fact submission' do
|
101
|
+
allow(fact_rest_terminus).to receive(:save).and_raise('error sending facts')
|
102
|
+
expect(Puppet).to receive(:log_exception).with(instance_of(RuntimeError),
|
103
|
+
/^Failed to submit facts/)
|
104
|
+
|
105
|
+
@configurer.run(catalog: @catalog)
|
106
|
+
end
|
107
|
+
|
108
|
+
it 'records time spent resubmitting facts' do
|
109
|
+
report = Puppet::Transaction::Report.new
|
110
|
+
|
111
|
+
@configurer.run(catalog: @catalog, report: report)
|
112
|
+
|
113
|
+
expect(report.metrics['time'].values).to include(["resubmit_facts", anything, Numeric])
|
114
|
+
end
|
115
|
+
end
|
116
|
+
end
|
65
117
|
end
|
66
118
|
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
|
@@ -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
|
@@ -3,16 +3,19 @@ require 'spec_helper'
|
|
3
3
|
describe Puppet::Type.type(:service).provider(:systemd), '(integration)' do
|
4
4
|
# TODO: Unfortunately there does not seem a way to stub the executable
|
5
5
|
# checks in the systemd provider because they happen at load time.
|
6
|
-
|
6
|
+
|
7
|
+
it "should be considered suitable if /proc/1/comm is present and contains 'systemd'",
|
8
|
+
:if => File.exist?('/proc/1/comm') && Puppet::FileSystem.read('/proc/1/comm').include?('systemd') do
|
7
9
|
expect(described_class).to be_suitable
|
8
10
|
end
|
9
11
|
|
10
|
-
it "should be considered suitable if /
|
11
|
-
|
12
|
+
it "should not be considered suitable if /proc/1/comm is present it does not contain 'systemd'",
|
13
|
+
:if => File.exist?('/proc/1/comm') && !Puppet::FileSystem.read('/proc/1/comm').include?('systemd') do
|
14
|
+
expect(described_class).not_to be_suitable
|
12
15
|
end
|
13
16
|
|
14
|
-
it "should not be
|
15
|
-
:
|
17
|
+
it "should not be considered suitable if /proc/1/comm is absent",
|
18
|
+
:if => !File.exist?('/proc/1/comm') do
|
16
19
|
expect(described_class).not_to be_suitable
|
17
20
|
end
|
18
21
|
end
|
@@ -21,6 +21,13 @@ describe Puppet::Type.type(:file), :uses_checksums => true do
|
|
21
21
|
File.join(parent, 'file_testing')
|
22
22
|
end
|
23
23
|
|
24
|
+
let(:path_protected) do
|
25
|
+
# we create a file inside windows protected folders (C:\Windows, C:\Windows\system32, etc)
|
26
|
+
# the file will also be removed after the tests
|
27
|
+
parent = 'C:\Windows'
|
28
|
+
File.join(parent, 'file_testing')
|
29
|
+
end
|
30
|
+
|
24
31
|
let(:dir) do
|
25
32
|
# we create a directory first so backups of :path that are stored in
|
26
33
|
# the same directory will also be removed after the tests
|
@@ -268,6 +275,27 @@ describe Puppet::Type.type(:file), :uses_checksums => true do
|
|
268
275
|
expect(get_mode(path) & 07777).to eq(0666)
|
269
276
|
end
|
270
277
|
|
278
|
+
context "file is in protected windows directory", :if => Puppet.features.microsoft_windows? do
|
279
|
+
after { FileUtils.rm(path_protected) }
|
280
|
+
|
281
|
+
it "should set and get the correct mode for files inside protected windows folders" do
|
282
|
+
catalog.add_resource described_class.new(:path => path_protected, :ensure => :file, :mode => '0640')
|
283
|
+
catalog.apply
|
284
|
+
|
285
|
+
expect(get_mode(path_protected) & 07777).to eq(0640)
|
286
|
+
end
|
287
|
+
|
288
|
+
it "should not change resource's status inside protected windows folders if mode is the same" do
|
289
|
+
FileUtils.touch(path_protected)
|
290
|
+
set_mode(0644, path_protected)
|
291
|
+
catalog.add_resource described_class.new(:path => path_protected, :ensure => :file, :mode => '0644')
|
292
|
+
result = catalog.apply
|
293
|
+
status = result.report.resource_statuses["File[#{path_protected}]"]
|
294
|
+
expect(status).not_to be_failed
|
295
|
+
expect(status).not_to be_changed
|
296
|
+
end
|
297
|
+
end
|
298
|
+
|
271
299
|
it "should not set executable bits when replacing an executable directory (#10365)" do
|
272
300
|
pending("bug #10365")
|
273
301
|
|
@@ -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
|
@@ -25,6 +25,33 @@ describe Puppet::Util::Execution do
|
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
28
|
+
describe "#execute" do
|
29
|
+
if Puppet::Util::Platform.windows?
|
30
|
+
let(:argv) { ["cmd", "/c", "echo", 123] }
|
31
|
+
else
|
32
|
+
let(:argv) { ["echo", 123] }
|
33
|
+
end
|
34
|
+
|
35
|
+
it 'stringifies sensitive arguments when given an array containing integers' do
|
36
|
+
result = Puppet::Util::Execution.execute(argv, sensitive: true)
|
37
|
+
expect(result.to_s.strip).to eq("123")
|
38
|
+
expect(result.exitstatus).to eq(0)
|
39
|
+
end
|
40
|
+
|
41
|
+
it 'redacts sensitive arguments when given an array' do
|
42
|
+
Puppet[:log_level] = :debug
|
43
|
+
Puppet::Util::Execution.execute(argv, sensitive: true)
|
44
|
+
expect(@logs).to include(an_object_having_attributes(level: :debug, message: "Executing: '[redacted]'"))
|
45
|
+
end
|
46
|
+
|
47
|
+
it 'redacts sensitive arguments when given a string' do
|
48
|
+
Puppet[:log_level] = :debug
|
49
|
+
str = argv.map(&:to_s).join(' ')
|
50
|
+
Puppet::Util::Execution.execute(str, sensitive: true)
|
51
|
+
expect(@logs).to include(an_object_having_attributes(level: :debug, message: "Executing: '[redacted]'"))
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
28
55
|
describe "#execute (non-Windows)", :if => !Puppet.features.microsoft_windows? do
|
29
56
|
it "should execute basic shell command" do
|
30
57
|
result = Puppet::Util::Execution.execute("ls /tmp", :failonfail => true)
|
@@ -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
|
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
|