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