puppet 6.18.0-universal-darwin → 6.21.1-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 +2 -16
- data/Gemfile +2 -0
- data/Gemfile.lock +37 -34
- data/README.md +1 -2
- data/Rakefile +4 -12
- data/lib/puppet/agent/locker.rb +0 -7
- data/lib/puppet/application.rb +10 -6
- data/lib/puppet/application/agent.rb +9 -3
- data/lib/puppet/application/apply.rb +3 -2
- data/lib/puppet/application/device.rb +1 -0
- data/lib/puppet/application/doc.rb +1 -1
- data/lib/puppet/application/filebucket.rb +2 -2
- data/lib/puppet/application/lookup.rb +5 -5
- data/lib/puppet/application/script.rb +1 -0
- data/lib/puppet/application_support.rb +7 -0
- data/lib/puppet/configurer.rb +50 -8
- data/lib/puppet/defaults.rb +67 -35
- data/lib/puppet/environments.rb +84 -59
- data/lib/puppet/face/catalog.rb +1 -1
- data/lib/puppet/face/config.rb +56 -16
- data/lib/puppet/face/epp.rb +12 -2
- data/lib/puppet/face/facts.rb +60 -0
- data/lib/puppet/face/node.rb +3 -3
- data/lib/puppet/face/node/clean.rb +2 -2
- data/lib/puppet/face/status.rb +1 -1
- data/lib/puppet/ffi/posix.rb +10 -0
- data/lib/puppet/ffi/posix/constants.rb +14 -0
- data/lib/puppet/ffi/posix/functions.rb +24 -0
- data/lib/puppet/file_bucket/dipper.rb +1 -1
- data/lib/puppet/functions/epp.rb +1 -0
- data/lib/puppet/functions/inline_epp.rb +1 -0
- data/lib/puppet/functions/new.rb +8 -3
- data/lib/puppet/http.rb +1 -0
- data/lib/puppet/http/client.rb +1 -1
- data/lib/puppet/http/resolver.rb +5 -8
- data/lib/puppet/http/resolver/server_list.rb +18 -36
- data/lib/puppet/http/resolver/settings.rb +4 -4
- data/lib/puppet/http/resolver/srv.rb +5 -5
- data/lib/puppet/http/service.rb +3 -1
- data/lib/puppet/http/service/compiler.rb +1 -1
- data/lib/puppet/http/service/file_server.rb +1 -1
- data/lib/puppet/http/service/puppetserver.rb +39 -0
- data/lib/puppet/http/session.rb +5 -4
- data/lib/puppet/indirector/catalog/compiler.rb +1 -1
- data/lib/puppet/indirector/fact_search.rb +60 -0
- data/lib/puppet/indirector/facts/json.rb +27 -0
- data/lib/puppet/indirector/facts/yaml.rb +4 -59
- data/lib/puppet/indirector/json.rb +5 -1
- data/lib/puppet/indirector/msgpack.rb +1 -1
- data/lib/puppet/indirector/node/json.rb +8 -0
- data/lib/puppet/indirector/report/json.rb +34 -0
- data/lib/puppet/indirector/request.rb +4 -4
- data/lib/puppet/indirector/yaml.rb +1 -1
- data/lib/puppet/module_tool/applications/installer.rb +48 -2
- data/lib/puppet/module_tool/errors/shared.rb +17 -2
- data/lib/puppet/network/formats.rb +2 -1
- data/lib/puppet/network/http/api/master/v3/environments.rb +0 -1
- data/lib/puppet/node/facts.rb +17 -0
- data/lib/puppet/pal/pal_impl.rb +70 -17
- data/lib/puppet/parser/ast/leaf.rb +3 -2
- data/lib/puppet/parser/templatewrapper.rb +1 -1
- data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +1 -3
- data/lib/puppet/pops/evaluator/deferred_resolver.rb +5 -3
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +22 -3
- data/lib/puppet/pops/evaluator/runtime3_converter.rb +2 -2
- data/lib/puppet/pops/model/ast_transformer.rb +1 -1
- data/lib/puppet/pops/types/p_meta_type.rb +1 -1
- data/lib/puppet/pops/types/p_type_set_type.rb +4 -0
- data/lib/puppet/property/list.rb +1 -1
- data/lib/puppet/provider/group/groupadd.rb +13 -8
- data/lib/puppet/provider/package/apt.rb +34 -2
- data/lib/puppet/provider/package/aptitude.rb +6 -0
- data/lib/puppet/provider/package/dpkg.rb +1 -1
- data/lib/puppet/provider/package/pip2.rb +17 -0
- data/lib/puppet/provider/package/puppetserver_gem.rb +180 -0
- data/lib/puppet/provider/package/yum.rb +1 -0
- data/lib/puppet/provider/service/debian.rb +2 -0
- data/lib/puppet/provider/user/aix.rb +2 -2
- data/lib/puppet/provider/user/useradd.rb +62 -8
- data/lib/puppet/reference/configuration.rb +6 -5
- data/lib/puppet/resource/type.rb +2 -1
- data/lib/puppet/rest/route.rb +2 -2
- data/lib/puppet/settings.rb +62 -20
- data/lib/puppet/settings/alias_setting.rb +37 -0
- data/lib/puppet/settings/base_setting.rb +26 -2
- data/lib/puppet/transaction/report.rb +11 -7
- data/lib/puppet/type/file/source.rb +1 -1
- data/lib/puppet/type/filebucket.rb +1 -1
- data/lib/puppet/type/package.rb +3 -3
- data/lib/puppet/util/autoload.rb +1 -8
- data/lib/puppet/util/connection.rb +8 -8
- data/lib/puppet/util/fact_dif.rb +62 -0
- data/lib/puppet/util/posix.rb +54 -5
- data/lib/puppet/util/rubygems.rb +5 -1
- data/lib/puppet/util/run_mode.rb +5 -1
- data/lib/puppet/util/windows/service.rb +1 -1
- data/lib/puppet/version.rb +1 -1
- data/locales/puppet.pot +289 -268
- data/man/man5/puppet.conf.5 +33 -17
- data/man/man8/puppet-agent.8 +7 -4
- data/man/man8/puppet-apply.8 +2 -2
- data/man/man8/puppet-catalog.8 +1 -1
- data/man/man8/puppet-config.8 +6 -6
- data/man/man8/puppet-describe.8 +1 -1
- data/man/man8/puppet-device.8 +2 -2
- data/man/man8/puppet-doc.8 +1 -1
- data/man/man8/puppet-epp.8 +1 -1
- data/man/man8/puppet-facts.8 +32 -1
- data/man/man8/puppet-filebucket.8 +3 -3
- 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-module.8 +1 -1
- data/man/man8/puppet-node.8 +7 -4
- data/man/man8/puppet-parser.8 +1 -1
- data/man/man8/puppet-plugin.8 +1 -1
- data/man/man8/puppet-report.8 +4 -1
- data/man/man8/puppet-resource.8 +1 -1
- data/man/man8/puppet-script.8 +2 -2
- data/man/man8/puppet-ssl.8 +1 -1
- data/man/man8/puppet-status.8 +2 -2
- data/man/man8/puppet.8 +2 -2
- data/spec/fixtures/integration/application/agent/cached_deferred_catalog.json +91 -0
- data/spec/fixtures/unit/provider/package/puppetserver_gem/gem-list-local-packages +30 -0
- data/spec/fixtures/unit/provider/user/aix/aix_passwd_file.out +4 -0
- data/spec/integration/application/agent_spec.rb +183 -22
- data/spec/integration/application/apply_spec.rb +19 -0
- data/spec/integration/application/filebucket_spec.rb +7 -7
- data/spec/integration/application/plugin_spec.rb +3 -3
- data/spec/integration/configurer_spec.rb +14 -0
- data/spec/integration/defaults_spec.rb +19 -1
- data/spec/integration/environments/setting_hooks_spec.rb +1 -1
- data/spec/integration/resource/type_collection_spec.rb +2 -6
- data/spec/integration/transaction_spec.rb +4 -9
- data/spec/integration/util/windows/adsi_spec.rb +5 -3
- data/spec/integration/util/windows/registry_spec.rb +0 -10
- data/spec/lib/puppet_spec/settings.rb +6 -1
- data/spec/shared_contexts/types_setup.rb +2 -0
- data/spec/spec_helper.rb +1 -4
- data/spec/unit/agent_spec.rb +8 -6
- data/spec/unit/application/agent_spec.rb +0 -1
- data/spec/unit/application/config_spec.rb +224 -4
- data/spec/unit/application/doc_spec.rb +2 -2
- data/spec/unit/application/facts_spec.rb +3 -1
- data/spec/unit/application/filebucket_spec.rb +0 -2
- data/spec/unit/application_spec.rb +60 -13
- data/spec/unit/configurer_spec.rb +39 -6
- data/spec/unit/confine/feature_spec.rb +1 -1
- data/spec/unit/confine_spec.rb +8 -2
- data/spec/unit/defaults_spec.rb +20 -1
- data/spec/unit/environments_spec.rb +176 -32
- data/spec/unit/face/config_spec.rb +62 -11
- data/spec/unit/face/node_spec.rb +2 -13
- data/spec/unit/file_serving/configuration/parser_spec.rb +0 -1
- data/spec/unit/file_serving/metadata_spec.rb +3 -3
- data/spec/unit/file_serving/terminus_helper_spec.rb +11 -4
- data/spec/unit/file_system_spec.rb +1 -2
- data/spec/unit/forge/module_release_spec.rb +2 -7
- data/spec/unit/functions/inline_epp_spec.rb +26 -1
- data/spec/unit/http/resolver_spec.rb +24 -4
- data/spec/unit/http/service/ca_spec.rb +2 -2
- data/spec/unit/http/service/compiler_spec.rb +51 -2
- data/spec/unit/http/service/file_server_spec.rb +2 -2
- data/spec/unit/http/service/puppetserver_spec.rb +82 -0
- data/spec/unit/http/service/report_spec.rb +2 -2
- data/spec/unit/http/service_spec.rb +1 -1
- data/spec/unit/http/session_spec.rb +8 -20
- data/spec/unit/indirector/catalog/json_spec.rb +1 -1
- data/spec/unit/indirector/catalog/rest_spec.rb +1 -1
- data/spec/unit/indirector/face_spec.rb +0 -1
- data/spec/unit/indirector/facts/facter_spec.rb +0 -1
- data/spec/unit/indirector/facts/json_spec.rb +255 -0
- data/spec/unit/indirector/facts/rest_spec.rb +1 -1
- data/spec/unit/indirector/file_bucket_file/selector_spec.rb +26 -8
- data/spec/unit/indirector/indirection_spec.rb +8 -12
- data/spec/unit/indirector/json_spec.rb +8 -8
- data/spec/unit/indirector/key/file_spec.rb +0 -1
- data/spec/unit/indirector/msgpack_spec.rb +8 -8
- data/spec/unit/indirector/node/json_spec.rb +33 -0
- data/spec/unit/indirector/node/rest_spec.rb +1 -1
- data/spec/{integration/indirector/report/yaml.rb → unit/indirector/report/json_spec.rb} +13 -24
- data/spec/unit/indirector/report/yaml_spec.rb +72 -8
- data/spec/unit/indirector/request_spec.rb +4 -4
- data/spec/unit/indirector/rest_spec.rb +1 -1
- data/spec/unit/indirector/status/rest_spec.rb +1 -1
- data/spec/unit/indirector/yaml_spec.rb +7 -7
- data/spec/unit/indirector_spec.rb +2 -2
- data/spec/unit/module_tool/applications/installer_spec.rb +66 -0
- data/spec/unit/network/authconfig_spec.rb +0 -3
- data/spec/unit/network/http/api/indirected_routes_spec.rb +0 -9
- data/spec/unit/network/http/api/master/v3/environments_spec.rb +12 -23
- data/spec/unit/network/http/handler_spec.rb +0 -5
- data/spec/unit/parser/compiler_spec.rb +3 -19
- data/spec/unit/parser/resource_spec.rb +14 -8
- data/spec/unit/parser/templatewrapper_spec.rb +4 -3
- data/spec/unit/pops/evaluator/deferred_resolver_spec.rb +20 -0
- data/spec/unit/property_spec.rb +1 -0
- data/spec/unit/provider/exec_spec.rb +4 -3
- data/spec/unit/provider/group/groupadd_spec.rb +5 -2
- data/spec/unit/provider/nameservice_spec.rb +66 -65
- data/spec/unit/provider/package/apt_spec.rb +28 -23
- data/spec/unit/provider/package/aptitude_spec.rb +1 -1
- data/spec/unit/provider/package/base_spec.rb +6 -5
- data/spec/unit/provider/package/dpkg_spec.rb +22 -7
- data/spec/unit/provider/package/openbsd_spec.rb +2 -0
- data/spec/unit/provider/package/pacman_spec.rb +18 -12
- data/spec/unit/provider/package/pip2_spec.rb +36 -0
- data/spec/unit/provider/package/pip_spec.rb +6 -11
- data/spec/unit/provider/package/pkgdmg_spec.rb +0 -4
- data/spec/unit/provider/package/puppetserver_gem_spec.rb +137 -0
- data/spec/unit/provider/package/yum_spec.rb +31 -0
- data/spec/unit/provider/service/base_spec.rb +2 -4
- data/spec/unit/provider/service/bsd_spec.rb +5 -1
- data/spec/unit/provider/service/daemontools_spec.rb +1 -1
- data/spec/unit/provider/service/debian_spec.rb +3 -5
- data/spec/unit/provider/service/freebsd_spec.rb +1 -1
- data/spec/unit/provider/service/gentoo_spec.rb +4 -5
- data/spec/unit/provider/service/init_spec.rb +4 -5
- data/spec/unit/provider/service/launchd_spec.rb +5 -6
- data/spec/unit/provider/service/openrc_spec.rb +4 -5
- data/spec/unit/provider/service/openwrt_spec.rb +1 -1
- data/spec/unit/provider/service/redhat_spec.rb +1 -1
- data/spec/unit/provider/service/runit_spec.rb +2 -1
- data/spec/unit/provider/service/smf_spec.rb +1 -1
- data/spec/unit/provider/service/src_spec.rb +3 -5
- data/spec/unit/provider/service/systemd_spec.rb +3 -1
- data/spec/unit/provider/service/upstart_spec.rb +4 -5
- data/spec/unit/provider/user/aix_spec.rb +5 -0
- data/spec/unit/provider/user/hpux_spec.rb +1 -1
- data/spec/unit/provider/user/pw_spec.rb +2 -0
- data/spec/unit/provider/user/useradd_spec.rb +56 -3
- data/spec/unit/provider_spec.rb +8 -10
- data/spec/unit/puppet_pal_catalog_spec.rb +45 -0
- data/spec/unit/resource/capability_finder_spec.rb +6 -1
- data/spec/unit/resource/type_spec.rb +1 -1
- data/spec/unit/resource_spec.rb +11 -10
- data/spec/unit/rest/route_spec.rb +4 -4
- data/spec/unit/settings_spec.rb +576 -239
- data/spec/unit/ssl/base_spec.rb +0 -1
- data/spec/unit/ssl/host_spec.rb +0 -5
- data/spec/unit/ssl/ssl_provider_spec.rb +14 -8
- data/spec/unit/transaction/additional_resource_generator_spec.rb +3 -7
- data/spec/unit/transaction/event_manager_spec.rb +14 -11
- data/spec/unit/transaction/report_spec.rb +2 -0
- data/spec/unit/transaction_spec.rb +13 -4
- data/spec/unit/type/file/content_spec.rb +0 -1
- data/spec/unit/type/file/selinux_spec.rb +0 -2
- data/spec/unit/type/file/source_spec.rb +1 -1
- data/spec/unit/type/file_spec.rb +0 -6
- data/spec/unit/type/filebucket_spec.rb +1 -1
- data/spec/unit/type/group_spec.rb +13 -6
- data/spec/unit/type/resources_spec.rb +7 -7
- data/spec/unit/type/service_spec.rb +1 -1
- data/spec/unit/type/tidy_spec.rb +0 -1
- data/spec/unit/type_spec.rb +2 -2
- data/spec/unit/util/at_fork_spec.rb +2 -2
- data/spec/unit/util/autoload_spec.rb +5 -1
- data/spec/unit/util/backups_spec.rb +1 -2
- data/spec/unit/util/execution_spec.rb +15 -11
- data/spec/unit/util/inifile_spec.rb +6 -14
- data/spec/unit/util/log_spec.rb +8 -7
- data/spec/unit/util/logging_spec.rb +3 -3
- data/spec/unit/util/posix_spec.rb +363 -15
- data/spec/unit/util/rubygems_spec.rb +2 -2
- data/spec/unit/util/run_mode_spec.rb +6 -6
- data/spec/unit/util/selinux_spec.rb +76 -52
- data/spec/unit/util/storage_spec.rb +3 -1
- data/spec/unit/util/suidmanager_spec.rb +44 -41
- data/spec/unit/util_spec.rb +13 -6
- metadata +32 -10
- data/spec/integration/application/config_spec.rb +0 -74
- data/spec/unit/face/catalog_spec.rb +0 -6
- data/spec/unit/face/module_spec.rb +0 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6ee93175cca7e18018a8607fc1663272ecdf80b7283c69932e2fbc0bbd9a0218
|
4
|
+
data.tar.gz: 97b734453ce4e59a3a5aabab929c58c8939002f2801a40cf1024c1d45744c72a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a2323af5df043cdb154a4ca9b7b3fbcc4c3bc7b581efd6f884de2471ce9b3a2f69f1fda18f348c316ff272e6b111b460543c73a1d5bf18729aadaff826c2cdb8
|
7
|
+
data.tar.gz: 892b5609e917a10aa4ca0ca980106fa2ead648a39319b4c6277b76dbb42f432a5dbcd8f7af4db2155adc3131ef12aa50d009d7bac73a820df73490c22b9f9431
|
data/CODEOWNERS
CHANGED
@@ -1,23 +1,9 @@
|
|
1
|
-
#
|
2
|
-
* @puppetlabs/platform-core @puppetlabs/puppetserver-maintainers
|
3
|
-
|
4
|
-
# Night's Watch
|
5
|
-
/lib/puppet/type/group @puppetlabs/night-s-watch
|
6
|
-
/lib/puppet/type/package @puppetlabs/night-s-watch
|
7
|
-
/lib/puppet/type/service @puppetlabs/night-s-watch
|
8
|
-
/lib/puppet/type/user @puppetlabs/night-s-watch
|
9
|
-
/lib/puppet/provider/group @puppetlabs/night-s-watch
|
10
|
-
/lib/puppet/provider/package @puppetlabs/night-s-watch
|
11
|
-
/lib/puppet/provider/service @puppetlabs/night-s-watch
|
12
|
-
/lib/puppet/provider/user @puppetlabs/night-s-watch
|
1
|
+
# defaults
|
2
|
+
* @puppetlabs/platform-core @puppetlabs/puppetserver-maintainers @puppetlabs/night-s-watch
|
13
3
|
|
14
4
|
# PAL
|
15
5
|
/lib/puppet/pal @puppetlabs/bolt
|
16
6
|
|
17
|
-
# puppet device
|
18
|
-
/lib/puppet/application/device.rb @puppetlabs/networking
|
19
|
-
/lib/puppet/util/network_device @puppetlabs/networking
|
20
|
-
|
21
7
|
# puppet module
|
22
8
|
/lib/puppet/application/module.rb @puppetlabs/pdk
|
23
9
|
/lib/puppet/face/module @puppetlabs/pdk
|
data/Gemfile
CHANGED
@@ -38,9 +38,11 @@ group(:features) do
|
|
38
38
|
end
|
39
39
|
|
40
40
|
group(:test) do
|
41
|
+
gem "ffi", require: false
|
41
42
|
gem "json-schema", "~> 2.0", require: false
|
42
43
|
gem "rake", *location_for(ENV['RAKE_LOCATION'] || '~> 12.2')
|
43
44
|
gem "rspec", "~> 3.1", require: false
|
45
|
+
gem "rspec-expectations", ["~> 3.9", "!= 3.9.3"]
|
44
46
|
gem "rspec-its", "~> 1.1", require: false
|
45
47
|
gem 'vcr', '~> 5.0', require: false
|
46
48
|
gem 'webmock', '~> 3.0', require: false
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
puppet (6.
|
4
|
+
puppet (6.21.1)
|
5
5
|
CFPropertyList (~> 2.2)
|
6
6
|
concurrent-ruby (~> 1.0)
|
7
7
|
deep_merge (~> 1.0)
|
@@ -20,19 +20,20 @@ GEM
|
|
20
20
|
addressable (2.7.0)
|
21
21
|
public_suffix (>= 2.0.2, < 5.0)
|
22
22
|
artifactory (2.8.2)
|
23
|
-
ast (2.4.
|
23
|
+
ast (2.4.2)
|
24
24
|
coderay (1.1.3)
|
25
|
-
concurrent-ruby (1.1.
|
26
|
-
crack (0.4.
|
27
|
-
|
25
|
+
concurrent-ruby (1.1.8)
|
26
|
+
crack (0.4.5)
|
27
|
+
rexml
|
28
28
|
csv (3.1.5)
|
29
29
|
deep_merge (1.2.1)
|
30
30
|
diff-lcs (1.4.4)
|
31
31
|
docopt (0.6.1)
|
32
|
-
facter (4.0.
|
32
|
+
facter (4.0.51)
|
33
33
|
hocon (~> 1.3)
|
34
34
|
thor (>= 1.0.1, < 2.0)
|
35
35
|
fast_gettext (1.1.2)
|
36
|
+
ffi (1.14.2)
|
36
37
|
gettext (3.2.9)
|
37
38
|
locale (>= 2.0.5)
|
38
39
|
text (>= 1.3.0)
|
@@ -52,59 +53,60 @@ GEM
|
|
52
53
|
json-schema (2.8.1)
|
53
54
|
addressable (>= 2.4)
|
54
55
|
locale (2.1.3)
|
55
|
-
memory_profiler (0.
|
56
|
+
memory_profiler (1.0.0)
|
56
57
|
method_source (1.0.0)
|
57
58
|
minitar (0.9)
|
58
|
-
msgpack (1.
|
59
|
+
msgpack (1.4.2)
|
59
60
|
multi_json (1.15.0)
|
60
61
|
mustache (1.1.1)
|
61
62
|
optimist (3.0.1)
|
62
|
-
packaging (0.99.
|
63
|
+
packaging (0.99.75)
|
63
64
|
artifactory (~> 2)
|
64
65
|
csv (= 3.1.5)
|
65
66
|
rake (>= 12.3)
|
66
67
|
release-metrics
|
67
|
-
parallel (1.
|
68
|
-
parser (2.7.
|
68
|
+
parallel (1.20.1)
|
69
|
+
parser (2.7.2.0)
|
69
70
|
ast (~> 2.4.1)
|
70
|
-
powerpack (0.1.
|
71
|
-
pry (0.
|
71
|
+
powerpack (0.1.3)
|
72
|
+
pry (0.14.0)
|
72
73
|
coderay (~> 1.1)
|
73
74
|
method_source (~> 1.0)
|
74
|
-
public_suffix (4.0.
|
75
|
+
public_suffix (4.0.6)
|
75
76
|
puppet-resource_api (1.8.13)
|
76
77
|
hocon (>= 1.0)
|
77
|
-
puppetserver-ca (1.
|
78
|
+
puppetserver-ca (1.9.1)
|
78
79
|
facter (>= 2.0.1, < 5)
|
79
80
|
racc (1.4.9)
|
80
81
|
rainbow (2.2.2)
|
81
82
|
rake
|
82
83
|
rake (12.3.3)
|
83
84
|
rdiscount (2.2.0.2)
|
84
|
-
rdoc (6.
|
85
|
+
rdoc (6.3.0)
|
85
86
|
release-metrics (1.1.0)
|
86
87
|
csv
|
87
88
|
docopt
|
89
|
+
rexml (3.2.4)
|
88
90
|
ronn (0.7.3)
|
89
91
|
hpricot (>= 0.8.2)
|
90
92
|
mustache (>= 0.7.0)
|
91
93
|
rdiscount (>= 1.5.8)
|
92
|
-
rspec (3.
|
93
|
-
rspec-core (~> 3.
|
94
|
-
rspec-expectations (~> 3.
|
95
|
-
rspec-mocks (~> 3.
|
96
|
-
rspec-core (3.
|
97
|
-
rspec-support (~> 3.
|
98
|
-
rspec-expectations (3.
|
94
|
+
rspec (3.10.0)
|
95
|
+
rspec-core (~> 3.10.0)
|
96
|
+
rspec-expectations (~> 3.10.0)
|
97
|
+
rspec-mocks (~> 3.10.0)
|
98
|
+
rspec-core (3.10.1)
|
99
|
+
rspec-support (~> 3.10.0)
|
100
|
+
rspec-expectations (3.10.1)
|
99
101
|
diff-lcs (>= 1.2.0, < 2.0)
|
100
|
-
rspec-support (~> 3.
|
102
|
+
rspec-support (~> 3.10.0)
|
101
103
|
rspec-its (1.3.0)
|
102
104
|
rspec-core (>= 3.0.0)
|
103
105
|
rspec-expectations (>= 3.0.0)
|
104
|
-
rspec-mocks (3.
|
106
|
+
rspec-mocks (3.10.2)
|
105
107
|
diff-lcs (>= 1.2.0, < 2.0)
|
106
|
-
rspec-support (~> 3.
|
107
|
-
rspec-support (3.
|
108
|
+
rspec-support (~> 3.10.0)
|
109
|
+
rspec-support (3.10.2)
|
108
110
|
rubocop (0.49.1)
|
109
111
|
parallel (~> 1.10)
|
110
112
|
parser (>= 2.3.3.1, < 3.0)
|
@@ -114,25 +116,25 @@ GEM
|
|
114
116
|
unicode-display_width (~> 1.0, >= 1.0.1)
|
115
117
|
rubocop-i18n (1.2.0)
|
116
118
|
rubocop (~> 0.49.0)
|
117
|
-
ruby-prof (1.4.
|
118
|
-
ruby-progressbar (1.
|
119
|
-
|
120
|
-
semantic_puppet (1.0.2)
|
119
|
+
ruby-prof (1.4.2)
|
120
|
+
ruby-progressbar (1.11.0)
|
121
|
+
semantic_puppet (1.0.3)
|
121
122
|
text (1.3.1)
|
122
|
-
thor (1.0
|
123
|
+
thor (1.1.0)
|
123
124
|
unicode-display_width (1.7.0)
|
124
125
|
vcr (5.1.0)
|
125
|
-
webmock (3.
|
126
|
+
webmock (3.11.2)
|
126
127
|
addressable (>= 2.3.6)
|
127
128
|
crack (>= 0.3.2)
|
128
129
|
hashdiff (>= 0.4.0, < 2.0.0)
|
129
|
-
yard (0.9.
|
130
|
+
yard (0.9.26)
|
130
131
|
|
131
132
|
PLATFORMS
|
132
133
|
ruby
|
133
134
|
|
134
135
|
DEPENDENCIES
|
135
136
|
diff-lcs (~> 1.3)
|
137
|
+
ffi
|
136
138
|
gettext-setup (~> 0.28)
|
137
139
|
hiera-eyaml
|
138
140
|
hocon (~> 1.0)
|
@@ -150,6 +152,7 @@ DEPENDENCIES
|
|
150
152
|
rdoc (~> 6.0)
|
151
153
|
ronn (~> 0.7.3)
|
152
154
|
rspec (~> 3.1)
|
155
|
+
rspec-expectations (~> 3.9, != 3.9.3)
|
153
156
|
rspec-its (~> 1.1)
|
154
157
|
rubocop (~> 0.49)
|
155
158
|
rubocop-i18n (~> 1.2.0)
|
data/README.md
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
# Puppet
|
2
2
|
|
3
|
-
|
4
|
-
[![Appveyor Status](https://ci.appveyor.com/api/projects/status/cvhpypd4504sevqq/branch/master?svg=true)](https://ci.appveyor.com/project/puppetlabs/puppet/branch/master)
|
3
|
+
![RSpec tests](https://github.com/puppetlabs/puppet/workflows/RSpec%20tests/badge.svg)
|
5
4
|
[![Gem Version](https://badge.fury.io/rb/puppet.svg)](https://badge.fury.io/rb/puppet)
|
6
5
|
[![Inline docs](https://inch-ci.org/github/puppetlabs/puppet.svg)](https://inch-ci.org/github/puppetlabs/puppet)
|
7
6
|
|
data/Rakefile
CHANGED
@@ -61,12 +61,8 @@ end
|
|
61
61
|
desc "verify that commit messages match CONTRIBUTING.md requirements"
|
62
62
|
task(:commits) do
|
63
63
|
# This rake task looks at the summary from every commit from this branch not
|
64
|
-
# in the branch targeted for a PR.
|
65
|
-
|
66
|
-
# populated with the range of commits the PR contains. If not available, this
|
67
|
-
# falls back to `master..HEAD` as a next best bet as `master` is unlikely to
|
68
|
-
# ever be absent.
|
69
|
-
commit_range = ENV['TRAVIS_COMMIT_RANGE'].nil? ? 'master..HEAD' : ENV['TRAVIS_COMMIT_RANGE'].sub(/\.\.\./, '..')
|
64
|
+
# in the branch targeted for a PR.
|
65
|
+
commit_range = 'HEAD^..HEAD'
|
70
66
|
puts "Checking commits #{commit_range}"
|
71
67
|
%x{git log --no-merges --pretty=%s #{commit_range}}.each_line do |commit_summary|
|
72
68
|
# This regex tests for the currently supported commit summary tokens: maint, doc, packaging, or pup-<number>.
|
@@ -91,12 +87,8 @@ end
|
|
91
87
|
|
92
88
|
desc "verify that changed files are clean of Ruby warnings"
|
93
89
|
task(:warnings) do
|
94
|
-
# This rake task looks at all files modified in this branch.
|
95
|
-
|
96
|
-
# is present in travis CI and populated with the range of commits the PR
|
97
|
-
# contains. If not available, this falls back to `master..HEAD` as a next
|
98
|
-
# best bet as `master` is unlikely to ever be absent.
|
99
|
-
commit_range = ENV['TRAVIS_COMMIT_RANGE'].nil? ? 'master...HEAD' : ENV['TRAVIS_COMMIT_RANGE']
|
90
|
+
# This rake task looks at all files modified in this branch.
|
91
|
+
commit_range = 'HEAD^..HEAD'
|
100
92
|
ruby_files_ok = true
|
101
93
|
puts "Checking modified files #{commit_range}"
|
102
94
|
%x{git diff --diff-filter=ACM --name-only #{commit_range}}.each_line do |modified_file|
|
data/lib/puppet/agent/locker.rb
CHANGED
@@ -27,14 +27,7 @@ module Puppet::Agent::Locker
|
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
30
|
-
# @deprecated
|
31
30
|
def running?
|
32
|
-
#TRANSLATORS 'Puppet::Agent::Locker.running?' is a method name and should not be translated
|
33
|
-
message = _('Puppet::Agent::Locker.running? is deprecated as it is inherently unsafe.')
|
34
|
-
#TRANSLATORS 'LockError' should not be translated
|
35
|
-
message += ' ' + _('The only safe way to know if the lock is locked is to try lock and perform some '\
|
36
|
-
'action and then handle the LockError that may result.')
|
37
|
-
Puppet.deprecation_warning(message)
|
38
31
|
lockfile.locked?
|
39
32
|
end
|
40
33
|
|
data/lib/puppet/application.rb
CHANGED
@@ -420,12 +420,16 @@ class Application
|
|
420
420
|
def handle_logdest_arg(arg)
|
421
421
|
return if arg.nil?
|
422
422
|
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
|
423
|
+
logdest = arg.split(',').map!(&:strip)
|
424
|
+
Puppet[:logdest] = arg
|
425
|
+
|
426
|
+
logdest.each do |dest|
|
427
|
+
begin
|
428
|
+
Puppet::Util::Log.newdestination(dest)
|
429
|
+
options[:setdest] = true
|
430
|
+
rescue => detail
|
431
|
+
Puppet.log_and_raise(detail, _("Could not set logdest to %{dest}.") % { dest: arg })
|
432
|
+
end
|
429
433
|
end
|
430
434
|
end
|
431
435
|
|
@@ -103,7 +103,7 @@ USAGE
|
|
103
103
|
puppet agent [--certname <NAME>] [-D|--daemonize|--no-daemonize]
|
104
104
|
[-d|--debug] [--detailed-exitcodes] [--digest <DIGEST>] [--disable [MESSAGE]] [--enable]
|
105
105
|
[--fingerprint] [-h|--help] [-l|--logdest syslog|eventlog|<ABS FILEPATH>|console]
|
106
|
-
[--
|
106
|
+
[--serverport <PORT>] [--noop] [-o|--onetime] [--sourceaddress <IP_ADDRESS>] [-t|--test]
|
107
107
|
[-v|--verbose] [-V|--version] [-w|--waitforcert <SECONDS>]
|
108
108
|
|
109
109
|
|
@@ -267,6 +267,7 @@ generated by running puppet agent with '--genconfig'.
|
|
267
267
|
service), 'eventlog' (the Windows Event Log), 'console', or the path to a log
|
268
268
|
file. If debugging or verbosity is enabled, this defaults to 'console'.
|
269
269
|
Otherwise, it defaults to 'syslog' on POSIX systems and 'eventlog' on Windows.
|
270
|
+
Multiple destinations can be set using a comma separated list (eg: `/path/file1,console,/path/file2`)"
|
270
271
|
|
271
272
|
A path ending with '.json' will receive structured output in JSON format. The
|
272
273
|
log file will not have an ending ']' automatically written to it due to the
|
@@ -277,8 +278,9 @@ generated by running puppet agent with '--genconfig'.
|
|
277
278
|
format.
|
278
279
|
|
279
280
|
* --masterport:
|
280
|
-
The port on which to contact the
|
281
|
-
(This is a Puppet setting, and can go in puppet.conf.
|
281
|
+
The port on which to contact the Puppet Server.
|
282
|
+
(This is a Puppet setting, and can go in puppet.conf.
|
283
|
+
Deprecated in favor of the 'serverport' setting.)
|
282
284
|
|
283
285
|
* --noop:
|
284
286
|
Use 'noop' mode where the daemon runs in a no-op or dry-run mode. This
|
@@ -294,6 +296,10 @@ generated by running puppet agent with '--genconfig'.
|
|
294
296
|
(This is a Puppet setting, and can go in puppet.conf. Note the special 'no-'
|
295
297
|
prefix for boolean settings on the command line.)
|
296
298
|
|
299
|
+
* --serverport:
|
300
|
+
The port on which to contact the Puppet Server.
|
301
|
+
(This is a Puppet setting, and can go in puppet.conf.)
|
302
|
+
|
297
303
|
* --sourceaddress:
|
298
304
|
Set the source IP address for transactions. This defaults to automatically selected.
|
299
305
|
(This is a Puppet setting, and can go in puppet.conf.)
|
@@ -113,6 +113,7 @@ configuration options by running puppet with
|
|
113
113
|
Where to send log messages. Choose between 'syslog' (the POSIX syslog
|
114
114
|
service), 'eventlog' (the Windows Event Log), 'console', or the path to a log
|
115
115
|
file. Defaults to 'console'.
|
116
|
+
Multiple destinations can be set using a comma separated list (eg: `/path/file1,console,/path/file2`)"
|
116
117
|
|
117
118
|
A path ending with '.json' will receive structured output in JSON format. The
|
118
119
|
log file will not have an ending ']' automatically written to it due to the
|
@@ -236,7 +237,7 @@ Copyright (c) 2011 Puppet Inc., LLC Licensed under the Apache 2.0 License
|
|
236
237
|
end
|
237
238
|
|
238
239
|
# Resolve all deferred values and replace them / mutate the catalog
|
239
|
-
Puppet::Pops::Evaluator::DeferredResolver.resolve_and_replace(node.facts, catalog)
|
240
|
+
Puppet::Pops::Evaluator::DeferredResolver.resolve_and_replace(node.facts, catalog, apply_environment)
|
240
241
|
|
241
242
|
# Translate it to a RAL catalog
|
242
243
|
catalog = catalog.to_ral
|
@@ -330,7 +331,7 @@ Copyright (c) 2011 Puppet Inc., LLC Licensed under the Apache 2.0 License
|
|
330
331
|
raise Puppet::Error, _("Could not deserialize catalog from %{format}: %{detail}") % { format: format, detail: detail }, detail.backtrace
|
331
332
|
end
|
332
333
|
# Resolve all deferred values and replace them / mutate the catalog
|
333
|
-
Puppet::Pops::Evaluator::DeferredResolver.resolve_and_replace(node.facts, catalog)
|
334
|
+
Puppet::Pops::Evaluator::DeferredResolver.resolve_and_replace(node.facts, catalog, configured_environment)
|
334
335
|
|
335
336
|
catalog.to_ral
|
336
337
|
end
|
@@ -155,6 +155,7 @@ you can specify '--server <servername>' as an argument.
|
|
155
155
|
Where to send log messages. Choose between 'syslog' (the POSIX syslog
|
156
156
|
service), 'console', or the path to a log file. If debugging or verbosity is
|
157
157
|
enabled, this defaults to 'console'. Otherwise, it defaults to 'syslog'.
|
158
|
+
Multiple destinations can be set using a comma separated list (eg: `/path/file1,console,/path/file2`)"
|
158
159
|
|
159
160
|
A path ending with '.json' will receive structured output in JSON format. The
|
160
161
|
log file will not have an ending ']' automatically written to it due to the
|
@@ -186,8 +186,8 @@ EXAMPLES
|
|
186
186
|
$ puppet filebucket -b /tmp/TestBucket list
|
187
187
|
d41d8cd98f00b204e9800998ecf8427e 2015-05-11 09:33:22 /tmp/TestFile2
|
188
188
|
|
189
|
-
## From a Puppet
|
190
|
-
$ puppet filebucket -b $(puppet config print bucketdir --section
|
189
|
+
## From a Puppet Server, list files in the server bucketdir
|
190
|
+
$ puppet filebucket -b $(puppet config print bucketdir --section server) list
|
191
191
|
d43a6ecaa892a1962398ac9170ea9bf2 2015-05-11 09:27:56 /tmp/TestFile
|
192
192
|
7ae322f5791217e031dc60188f4521ef 2015-05-11 09:52:15 /tmp/TestFile
|
193
193
|
|
@@ -8,7 +8,7 @@ class Puppet::Application::Lookup < Puppet::Application
|
|
8
8
|
RUN_HELP = _("Run 'puppet lookup --help' for more details").freeze
|
9
9
|
DEEP_MERGE_OPTIONS = '--knock-out-prefix, --sort-merged-arrays, and --merge-hash-arrays'.freeze
|
10
10
|
|
11
|
-
run_mode :
|
11
|
+
run_mode :server
|
12
12
|
|
13
13
|
# Options for lookup
|
14
14
|
option('--merge TYPE') do |arg|
|
@@ -92,12 +92,12 @@ class Puppet::Application::Lookup < Puppet::Application
|
|
92
92
|
|
93
93
|
if options[:node]
|
94
94
|
Puppet::Util.skip_external_facts do
|
95
|
-
Puppet.settings.use :main, :
|
95
|
+
Puppet.settings.use :main, :server, :ssl, :metrics
|
96
96
|
end
|
97
97
|
else
|
98
|
-
Puppet.settings.use :main, :
|
98
|
+
Puppet.settings.use :main, :server, :ssl, :metrics
|
99
99
|
end
|
100
|
-
|
100
|
+
|
101
101
|
setup_terminuses
|
102
102
|
end
|
103
103
|
|
@@ -371,7 +371,7 @@ Copyright (c) 2015 Puppet Inc., LLC Licensed under the Apache 2.0 License
|
|
371
371
|
Puppet[:code] = 'undef' unless options[:compile]
|
372
372
|
compiler = Puppet::Parser::Compiler.new(node)
|
373
373
|
if options[:node]
|
374
|
-
Puppet::Util.skip_external_facts do
|
374
|
+
Puppet::Util.skip_external_facts do
|
375
375
|
compiler.compile { |catalog| yield(compiler.topscope); catalog }
|
376
376
|
end
|
377
377
|
else
|
@@ -71,6 +71,7 @@ configuration options can also be generated by running puppet with
|
|
71
71
|
Where to send log messages. Choose between 'syslog' (the POSIX syslog
|
72
72
|
service), 'eventlog' (the Windows Event Log), 'console', or the path to a log
|
73
73
|
file. Defaults to 'console'.
|
74
|
+
Multiple destinations can be set using a comma separated list (eg: `/path/file1,console,/path/file2`)"
|
74
75
|
|
75
76
|
A path ending with '.json' will receive structured output in JSON format. The
|
76
77
|
log file will not have an ending ']' automatically written to it due to the
|
@@ -53,6 +53,13 @@ module Puppet
|
|
53
53
|
route_file = Puppet[:route_file]
|
54
54
|
if Puppet::FileSystem.exist?(route_file)
|
55
55
|
routes = Puppet::Util::Yaml.safe_load_file(route_file, [Symbol])
|
56
|
+
if routes["server"] && routes["master"]
|
57
|
+
Puppet.warning("Route file #{route_file} contains both server and master route settings.")
|
58
|
+
elsif routes["server"] && !routes["master"]
|
59
|
+
routes["master"] = routes["server"]
|
60
|
+
elsif routes["master"] && !routes["server"]
|
61
|
+
routes["server"] = routes["master"]
|
62
|
+
end
|
56
63
|
application_routes = routes[application_name]
|
57
64
|
Puppet::Indirector.configure_routes(application_routes) if application_routes
|
58
65
|
end
|
data/lib/puppet/configurer.rb
CHANGED
@@ -53,6 +53,7 @@ class Puppet::Configurer
|
|
53
53
|
def initialize(transaction_uuid = nil, job_id = nil)
|
54
54
|
@running = false
|
55
55
|
@splayed = false
|
56
|
+
@running_failure = false
|
56
57
|
@cached_catalog_status = 'not_used'
|
57
58
|
@environment = Puppet[:environment]
|
58
59
|
@transaction_uuid = transaction_uuid || SecureRandom.uuid
|
@@ -65,9 +66,16 @@ class Puppet::Configurer
|
|
65
66
|
# Get the remote catalog, yo. Returns nil if no catalog can be found.
|
66
67
|
def retrieve_catalog(facts, query_options)
|
67
68
|
query_options ||= {}
|
68
|
-
|
69
|
+
if Puppet[:use_cached_catalog] || @running_failure
|
70
|
+
result = retrieve_catalog_from_cache(query_options)
|
71
|
+
end
|
72
|
+
|
69
73
|
if result
|
70
|
-
|
74
|
+
if Puppet[:use_cached_catalog]
|
75
|
+
@cached_catalog_status = 'explicitly_requested'
|
76
|
+
elsif @running_failure
|
77
|
+
@cached_catalog_status = 'on_failure'
|
78
|
+
end
|
71
79
|
|
72
80
|
Puppet.info _("Using cached catalog from environment '%{environment}'") % { environment: result.environment }
|
73
81
|
else
|
@@ -104,7 +112,7 @@ class Puppet::Configurer
|
|
104
112
|
catalog_conversion_time = thinmark do
|
105
113
|
# Will mutate the result and replace all Deferred values with resolved values
|
106
114
|
if facts
|
107
|
-
Puppet::Pops::Evaluator::DeferredResolver.resolve_and_replace(facts, result)
|
115
|
+
Puppet::Pops::Evaluator::DeferredResolver.resolve_and_replace(facts, result, Puppet.lookup(:current_environment))
|
108
116
|
end
|
109
117
|
|
110
118
|
catalog = result.to_ral
|
@@ -216,9 +224,22 @@ class Puppet::Configurer
|
|
216
224
|
if options[:catalog].nil? && do_failover
|
217
225
|
server, port = find_functional_server
|
218
226
|
if server.nil?
|
219
|
-
|
227
|
+
detail = _("Could not select a functional puppet server from server_list: '%{server_list}'") % { server_list: Puppet.settings.value(:server_list, Puppet[:environment].to_sym, true) }
|
228
|
+
if Puppet[:usecacheonfailure]
|
229
|
+
options[:pluginsync] = false
|
230
|
+
@running_failure = true
|
231
|
+
|
232
|
+
server = Puppet[:server_list].first[0]
|
233
|
+
port = Puppet[:server_list].first[1] || Puppet[:serverport]
|
234
|
+
|
235
|
+
Puppet.err(detail)
|
236
|
+
else
|
237
|
+
raise Puppet::Error, detail
|
238
|
+
end
|
220
239
|
else
|
221
|
-
|
240
|
+
#TRANSLATORS 'server_list' is the name of a setting and should not be translated
|
241
|
+
Puppet.debug _("Selected puppet server from the `server_list` setting: %{server}:%{port}") % { server: server, port: port }
|
242
|
+
report.server_used = "#{server}:#{port}"
|
222
243
|
end
|
223
244
|
Puppet.override(server: server, serverport: port) do
|
224
245
|
completed = run_internal(options)
|
@@ -376,16 +397,29 @@ class Puppet::Configurer
|
|
376
397
|
if !cached_catalog && options[:catalog]
|
377
398
|
ral_catalog = options[:catalog]
|
378
399
|
else
|
400
|
+
# Ordering here matters. We have to resolve deferred resources in the
|
401
|
+
# resource catalog, convert the resource catalog to a RAL catalog (which
|
402
|
+
# triggers type/provider validation), and only if that is successful,
|
403
|
+
# should we cache the *original* resource catalog. However, deferred
|
404
|
+
# evaluation mutates the resource catalog, so we need to make a copy of
|
405
|
+
# it here. If PUP-9323 is ever implemented so that we resolve deferred
|
406
|
+
# resources in the RAL catalog as they are needed, then we could eliminate
|
407
|
+
# this step.
|
408
|
+
catalog_to_cache = Puppet.override(:rich_data => Puppet[:rich_data]) do
|
409
|
+
Puppet::Resource::Catalog.from_data_hash(catalog.to_data_hash)
|
410
|
+
end
|
411
|
+
|
379
412
|
# REMIND @duration is the time spent loading the last catalog, and doesn't
|
380
413
|
# account for things like we failed to download and fell back to the cache
|
381
414
|
ral_catalog = convert_catalog(catalog, @duration, facts, options)
|
382
415
|
|
383
|
-
#
|
416
|
+
# Validation succeeded, so commit the `catalog_to_cache` for non-noop runs. Don't
|
417
|
+
# commit `catalog` since it contains the result of deferred evaluation. Ideally
|
384
418
|
# we'd just copy the downloaded response body, instead of serializing the
|
385
419
|
# in-memory catalog, but that's hard due to the indirector.
|
386
420
|
indirection = Puppet::Resource::Catalog.indirection
|
387
421
|
if !Puppet[:noop] && indirection.cache?
|
388
|
-
request = indirection.request(:save, nil,
|
422
|
+
request = indirection.request(:save, nil, catalog_to_cache, environment: Puppet::Node::Environment.remote(catalog_to_cache.environment))
|
389
423
|
Puppet.info("Caching catalog for #{request.key}")
|
390
424
|
indirection.cache.save(request)
|
391
425
|
end
|
@@ -538,6 +572,14 @@ class Puppet::Configurer
|
|
538
572
|
end
|
539
573
|
|
540
574
|
def download_plugins(remote_environment_for_plugins)
|
541
|
-
|
575
|
+
begin
|
576
|
+
@handler.download_plugins(remote_environment_for_plugins)
|
577
|
+
rescue Puppet::Error => detail
|
578
|
+
if !Puppet[:ignore_plugin_errors] && Puppet[:usecacheonfailure]
|
579
|
+
@running_failure = true
|
580
|
+
else
|
581
|
+
raise detail
|
582
|
+
end
|
583
|
+
end
|
542
584
|
end
|
543
585
|
end
|