puppet 6.19.0 → 6.22.1
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 +3 -1
- data/Gemfile.lock +50 -39
- data/ext/project_data.yaml +2 -2
- data/lib/puppet/application.rb +10 -6
- data/lib/puppet/application/agent.rb +1 -0
- data/lib/puppet/application/apply.rb +3 -2
- data/lib/puppet/application/device.rb +1 -0
- data/lib/puppet/application/filebucket.rb +2 -2
- data/lib/puppet/application/script.rb +1 -0
- data/lib/puppet/application/ssl.rb +11 -0
- data/lib/puppet/application_support.rb +7 -0
- data/lib/puppet/configurer.rb +28 -18
- data/lib/puppet/defaults.rb +46 -20
- data/lib/puppet/environments.rb +54 -55
- data/lib/puppet/face/config.rb +10 -0
- data/lib/puppet/face/epp.rb +12 -2
- data/lib/puppet/face/facts.rb +158 -0
- 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_system/memory_file.rb +8 -1
- data/lib/puppet/file_system/windows.rb +2 -0
- data/lib/puppet/functions/epp.rb +1 -0
- data/lib/puppet/functions/inline_epp.rb +1 -0
- data/lib/puppet/functions/partition.rb +8 -0
- data/lib/puppet/indirector/fact_search.rb +60 -0
- data/lib/puppet/indirector/facts/facter.rb +24 -3
- data/lib/puppet/indirector/facts/json.rb +27 -0
- data/lib/puppet/indirector/facts/yaml.rb +3 -58
- data/lib/puppet/indirector/json.rb +5 -1
- data/lib/puppet/indirector/node/json.rb +8 -0
- data/lib/puppet/indirector/report/json.rb +34 -0
- 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 +69 -1
- data/lib/puppet/network/http/factory.rb +4 -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/deferred_resolver.rb +5 -3
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +22 -3
- data/lib/puppet/pops/model/ast_transformer.rb +1 -1
- 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/dnfmodule.rb +1 -1
- data/lib/puppet/provider/service/debian.rb +2 -0
- data/lib/puppet/provider/service/systemd.rb +1 -1
- 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/settings.rb +43 -15
- data/lib/puppet/settings/alias_setting.rb +37 -0
- data/lib/puppet/settings/base_setting.rb +26 -2
- data/lib/puppet/settings/environment_conf.rb +1 -0
- data/lib/puppet/type/package.rb +3 -3
- data/lib/puppet/util/autoload.rb +1 -8
- data/lib/puppet/util/fact_dif.rb +81 -0
- data/lib/puppet/util/monkey_patches.rb +7 -0
- data/lib/puppet/util/posix.rb +54 -5
- data/lib/puppet/util/rubygems.rb +5 -1
- data/lib/puppet/util/windows/adsi.rb +46 -0
- data/lib/puppet/util/windows/api_types.rb +1 -1
- data/lib/puppet/util/windows/principal.rb +9 -2
- data/lib/puppet/util/windows/service.rb +1 -1
- data/lib/puppet/util/windows/sid.rb +4 -2
- data/lib/puppet/version.rb +1 -1
- data/locales/puppet.pot +295 -219
- data/man/man5/puppet.conf.5 +15 -7
- data/man/man8/puppet-agent.8 +2 -2
- data/man/man8/puppet-apply.8 +2 -2
- data/man/man8/puppet-catalog.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 +2 -2
- data/man/man8/puppet-doc.8 +1 -1
- data/man/man8/puppet-epp.8 +1 -1
- data/man/man8/puppet-facts.8 +90 -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 +4 -1
- 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 +5 -1
- data/man/man8/puppet-status.8 +1 -1
- data/man/man8/puppet.8 +2 -2
- data/spec/fixtures/integration/application/agent/cached_deferred_catalog.json +91 -0
- data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services_vendor_preset +9 -0
- data/spec/fixtures/unit/provider/user/aix/aix_passwd_file.out +4 -0
- data/spec/integration/application/agent_spec.rb +160 -3
- data/spec/integration/application/apply_spec.rb +19 -0
- data/spec/integration/application/plugin_spec.rb +1 -1
- data/spec/integration/defaults_spec.rb +0 -7
- data/spec/integration/environments/setting_hooks_spec.rb +1 -1
- data/spec/integration/http/client_spec.rb +12 -0
- data/spec/integration/indirector/direct_file_server_spec.rb +1 -3
- 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 +21 -1
- data/spec/integration/util/windows/principal_spec.rb +21 -0
- data/spec/integration/util/windows/registry_spec.rb +6 -10
- data/spec/lib/puppet_spec/settings.rb +6 -1
- data/spec/spec_helper.rb +12 -5
- 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/facts_spec.rb +482 -3
- data/spec/unit/application/filebucket_spec.rb +0 -2
- data/spec/unit/application/ssl_spec.rb +23 -0
- data/spec/unit/application_spec.rb +51 -9
- data/spec/unit/confine/feature_spec.rb +1 -1
- data/spec/unit/confine_spec.rb +8 -2
- data/spec/unit/defaults_spec.rb +36 -1
- data/spec/unit/environments_spec.rb +221 -68
- data/spec/unit/face/config_spec.rb +27 -32
- data/spec/unit/face/facts_spec.rb +4 -0
- data/spec/unit/face/node_spec.rb +0 -11
- 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 +9 -0
- data/spec/unit/forge/module_release_spec.rb +2 -7
- data/spec/unit/functions/inline_epp_spec.rb +26 -1
- data/spec/unit/http/service/compiler_spec.rb +49 -0
- data/spec/unit/http/service_spec.rb +1 -1
- data/spec/unit/indirector/face_spec.rb +0 -1
- data/spec/unit/indirector/facts/facter_spec.rb +95 -1
- data/spec/unit/indirector/facts/json_spec.rb +255 -0
- 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/key/file_spec.rb +0 -1
- data/spec/unit/indirector/node/json_spec.rb +33 -0
- 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_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/formats_spec.rb +41 -0
- data/spec/unit/network/http/api/indirected_routes_spec.rb +0 -9
- data/spec/unit/network/http/factory_spec.rb +19 -0
- 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/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/dnfmodule_spec.rb +10 -1
- data/spec/unit/provider/package/pacman_spec.rb +18 -12
- data/spec/unit/provider/package/pip_spec.rb +6 -11
- data/spec/unit/provider/package/pkgdmg_spec.rb +0 -4
- data/spec/unit/provider/service/systemd_spec.rb +11 -0
- 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 +71 -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/catalog_spec.rb +1 -1
- data/spec/unit/resource/type_spec.rb +1 -1
- data/spec/unit/resource_spec.rb +11 -10
- data/spec/unit/settings_spec.rb +543 -228
- 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_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_spec.rb +0 -6
- 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/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/windows/sid_spec.rb +6 -0
- data/spec/unit/util_spec.rb +13 -6
- metadata +23 -14
- data/spec/integration/application/config_spec.rb +0 -74
- data/spec/lib/matchers/include.rb +0 -27
- data/spec/lib/matchers/include_spec.rb +0 -32
- 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: a807e1e8a70b658cf3b5a430ef99e3cdea58da2ea4c0854c23c7fcf1ae8bd0c3
|
4
|
+
data.tar.gz: 37fb5485826b52ce246a27c9b2c5c79df4b281743842a33a087692e4b429abdc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bdf22c7e19c448567811224ff61b29928894296ad31b24741083a29bddc0197e60e177576c20e76fd3fb983da968fb19d3d8c225657dc5071e610b406155460c
|
7
|
+
data.tar.gz: d50e5a0ce643431eb1d09ac77f67d1a3cca01f0044b822898cdc23b21d52713958cad91f0f185535f1025437a715797de4c2fdabf8c512c9f4b155fe7ee9b3ee
|
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
|
@@ -54,7 +56,7 @@ group(:development, optional: true) do
|
|
54
56
|
gem 'memory_profiler', require: false, platforms: [:mri]
|
55
57
|
gem 'pry', require: false, platforms: [:ruby]
|
56
58
|
gem "racc", "1.4.9", require: false, platforms: [:ruby]
|
57
|
-
if RUBY_PLATFORM != 'java'
|
59
|
+
if RUBY_PLATFORM != 'java' && RUBY_VERSION.to_f >= 2.5
|
58
60
|
gem 'ruby-prof', '>= 0.16.0', require: false
|
59
61
|
end
|
60
62
|
end
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,18 @@
|
|
1
|
+
GIT
|
2
|
+
remote: git://github.com/ciprianbadescu/packaging
|
3
|
+
revision: 5f8d2bda941abfeeb8fb1731c9b1dd4d108f5d33
|
4
|
+
branch: maint/windows-signing
|
5
|
+
specs:
|
6
|
+
packaging (0.99.49.171.g5f8d2bd)
|
7
|
+
artifactory (~> 2)
|
8
|
+
csv (= 3.1.5)
|
9
|
+
rake (>= 12.3)
|
10
|
+
release-metrics
|
11
|
+
|
1
12
|
PATH
|
2
13
|
remote: .
|
3
14
|
specs:
|
4
|
-
puppet (6.
|
15
|
+
puppet (6.22.1)
|
5
16
|
CFPropertyList (~> 2.2)
|
6
17
|
concurrent-ruby (~> 1.0)
|
7
18
|
deep_merge (~> 1.0)
|
@@ -20,18 +31,20 @@ GEM
|
|
20
31
|
addressable (2.7.0)
|
21
32
|
public_suffix (>= 2.0.2, < 5.0)
|
22
33
|
artifactory (2.8.2)
|
23
|
-
ast (2.4.
|
34
|
+
ast (2.4.2)
|
24
35
|
coderay (1.1.3)
|
25
|
-
concurrent-ruby (1.1.
|
26
|
-
crack (0.4.
|
36
|
+
concurrent-ruby (1.1.8)
|
37
|
+
crack (0.4.5)
|
38
|
+
rexml
|
27
39
|
csv (3.1.5)
|
28
40
|
deep_merge (1.2.1)
|
29
41
|
diff-lcs (1.4.4)
|
30
42
|
docopt (0.6.1)
|
31
|
-
facter (4.
|
43
|
+
facter (4.1.1)
|
32
44
|
hocon (~> 1.3)
|
33
45
|
thor (>= 1.0.1, < 2.0)
|
34
46
|
fast_gettext (1.1.2)
|
47
|
+
ffi (1.15.0)
|
35
48
|
gettext (3.2.9)
|
36
49
|
locale (>= 2.0.5)
|
37
50
|
text (>= 1.3.0)
|
@@ -40,70 +53,66 @@ GEM
|
|
40
53
|
gettext (>= 3.0.2, < 3.3.0)
|
41
54
|
locale
|
42
55
|
hashdiff (1.0.1)
|
43
|
-
hiera (3.
|
44
|
-
hiera-eyaml (3.2.
|
45
|
-
highline
|
56
|
+
hiera (3.7.0)
|
57
|
+
hiera-eyaml (3.2.1)
|
58
|
+
highline
|
46
59
|
optimist
|
47
|
-
highline (
|
60
|
+
highline (2.0.3)
|
48
61
|
hocon (1.3.1)
|
49
62
|
hpricot (0.8.6)
|
50
63
|
httpclient (2.8.3)
|
51
64
|
json-schema (2.8.1)
|
52
65
|
addressable (>= 2.4)
|
53
66
|
locale (2.1.3)
|
54
|
-
memory_profiler (0.
|
67
|
+
memory_profiler (1.0.0)
|
55
68
|
method_source (1.0.0)
|
56
69
|
minitar (0.9)
|
57
|
-
msgpack (1.
|
70
|
+
msgpack (1.4.2)
|
58
71
|
multi_json (1.15.0)
|
59
72
|
mustache (1.1.1)
|
60
73
|
optimist (3.0.1)
|
61
|
-
|
62
|
-
artifactory (~> 2)
|
63
|
-
csv (= 3.1.5)
|
64
|
-
rake (>= 12.3)
|
65
|
-
release-metrics
|
66
|
-
parallel (1.19.2)
|
74
|
+
parallel (1.20.1)
|
67
75
|
parser (2.7.2.0)
|
68
76
|
ast (~> 2.4.1)
|
69
|
-
powerpack (0.1.
|
70
|
-
pry (0.
|
77
|
+
powerpack (0.1.3)
|
78
|
+
pry (0.14.1)
|
71
79
|
coderay (~> 1.1)
|
72
80
|
method_source (~> 1.0)
|
73
81
|
public_suffix (4.0.6)
|
74
82
|
puppet-resource_api (1.8.13)
|
75
83
|
hocon (>= 1.0)
|
76
|
-
puppetserver-ca (1.
|
84
|
+
puppetserver-ca (1.9.4)
|
77
85
|
facter (>= 2.0.1, < 5)
|
78
86
|
racc (1.4.9)
|
79
87
|
rainbow (2.2.2)
|
80
88
|
rake
|
81
89
|
rake (12.3.3)
|
82
90
|
rdiscount (2.2.0.2)
|
83
|
-
rdoc (6.
|
91
|
+
rdoc (6.3.0)
|
84
92
|
release-metrics (1.1.0)
|
85
93
|
csv
|
86
94
|
docopt
|
95
|
+
rexml (3.2.5)
|
87
96
|
ronn (0.7.3)
|
88
97
|
hpricot (>= 0.8.2)
|
89
98
|
mustache (>= 0.7.0)
|
90
99
|
rdiscount (>= 1.5.8)
|
91
|
-
rspec (3.
|
92
|
-
rspec-core (~> 3.
|
93
|
-
rspec-expectations (~> 3.
|
94
|
-
rspec-mocks (~> 3.
|
95
|
-
rspec-core (3.
|
96
|
-
rspec-support (~> 3.
|
97
|
-
rspec-expectations (3.
|
100
|
+
rspec (3.10.0)
|
101
|
+
rspec-core (~> 3.10.0)
|
102
|
+
rspec-expectations (~> 3.10.0)
|
103
|
+
rspec-mocks (~> 3.10.0)
|
104
|
+
rspec-core (3.10.1)
|
105
|
+
rspec-support (~> 3.10.0)
|
106
|
+
rspec-expectations (3.10.1)
|
98
107
|
diff-lcs (>= 1.2.0, < 2.0)
|
99
|
-
rspec-support (~> 3.
|
108
|
+
rspec-support (~> 3.10.0)
|
100
109
|
rspec-its (1.3.0)
|
101
110
|
rspec-core (>= 3.0.0)
|
102
111
|
rspec-expectations (>= 3.0.0)
|
103
|
-
rspec-mocks (3.
|
112
|
+
rspec-mocks (3.10.2)
|
104
113
|
diff-lcs (>= 1.2.0, < 2.0)
|
105
|
-
rspec-support (~> 3.
|
106
|
-
rspec-support (3.
|
114
|
+
rspec-support (~> 3.10.0)
|
115
|
+
rspec-support (3.10.2)
|
107
116
|
rubocop (0.49.1)
|
108
117
|
parallel (~> 1.10)
|
109
118
|
parser (>= 2.3.3.1, < 3.0)
|
@@ -113,24 +122,25 @@ GEM
|
|
113
122
|
unicode-display_width (~> 1.0, >= 1.0.1)
|
114
123
|
rubocop-i18n (1.2.0)
|
115
124
|
rubocop (~> 0.49.0)
|
116
|
-
ruby-prof (1.4.
|
117
|
-
ruby-progressbar (1.
|
118
|
-
semantic_puppet (1.0.
|
125
|
+
ruby-prof (1.4.3)
|
126
|
+
ruby-progressbar (1.11.0)
|
127
|
+
semantic_puppet (1.0.3)
|
119
128
|
text (1.3.1)
|
120
|
-
thor (1.0
|
129
|
+
thor (1.1.0)
|
121
130
|
unicode-display_width (1.7.0)
|
122
131
|
vcr (5.1.0)
|
123
|
-
webmock (3.
|
132
|
+
webmock (3.12.2)
|
124
133
|
addressable (>= 2.3.6)
|
125
134
|
crack (>= 0.3.2)
|
126
135
|
hashdiff (>= 0.4.0, < 2.0.0)
|
127
|
-
yard (0.9.
|
136
|
+
yard (0.9.26)
|
128
137
|
|
129
138
|
PLATFORMS
|
130
139
|
ruby
|
131
140
|
|
132
141
|
DEPENDENCIES
|
133
142
|
diff-lcs (~> 1.3)
|
143
|
+
ffi
|
134
144
|
gettext-setup (~> 0.28)
|
135
145
|
hiera-eyaml
|
136
146
|
hocon (~> 1.0)
|
@@ -138,7 +148,7 @@ DEPENDENCIES
|
|
138
148
|
memory_profiler
|
139
149
|
minitar (~> 0.9)
|
140
150
|
msgpack (~> 1.2)
|
141
|
-
packaging
|
151
|
+
packaging!
|
142
152
|
pry
|
143
153
|
puppet!
|
144
154
|
puppet-resource_api (~> 1.5)
|
@@ -148,6 +158,7 @@ DEPENDENCIES
|
|
148
158
|
rdoc (~> 6.0)
|
149
159
|
ronn (~> 0.7.3)
|
150
160
|
rspec (~> 3.1)
|
161
|
+
rspec-expectations (~> 3.9, != 3.9.3)
|
151
162
|
rspec-its (~> 1.1)
|
152
163
|
rubocop (~> 0.49)
|
153
164
|
rubocop-i18n (~> 1.2.0)
|
data/ext/project_data.yaml
CHANGED
@@ -41,7 +41,7 @@ gem_platform_dependencies:
|
|
41
41
|
gem_runtime_dependencies:
|
42
42
|
ffi: ['> 1.9.24', '< 2']
|
43
43
|
# win32-xxxx gems are pinned due to PUP-6445
|
44
|
-
win32-dir: '
|
44
|
+
win32-dir: ['>= 0.4.9', '<= 0.7.2']
|
45
45
|
win32-process: '= 0.7.5'
|
46
46
|
# Use of win32-security is deprecated
|
47
47
|
win32-security: '= 0.2.5'
|
@@ -51,7 +51,7 @@ gem_platform_dependencies:
|
|
51
51
|
gem_runtime_dependencies:
|
52
52
|
ffi: ['> 1.9.24', '< 2']
|
53
53
|
# win32-xxxx gems are pinned due to PUP-6445
|
54
|
-
win32-dir: '
|
54
|
+
win32-dir: ['>= 0.4.9', '<= 0.7.2']
|
55
55
|
win32-process: '= 0.7.5'
|
56
56
|
# Use of win32-security is deprecated
|
57
57
|
win32-security: '= 0.2.5'
|
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
|
|
@@ -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
|
@@ -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
|
|
@@ -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
|
@@ -74,6 +74,9 @@ ACTIONS
|
|
74
74
|
`--localca` is specified, then also remove this host's local copy of the
|
75
75
|
CA certificate(s) and CRL bundle. if `--target CERTNAME` is specified, then
|
76
76
|
remove the files for the specified device on this host instead of this host.
|
77
|
+
|
78
|
+
* show:
|
79
|
+
Print the full-text version of this host's certificate.
|
77
80
|
HELP
|
78
81
|
end
|
79
82
|
|
@@ -142,11 +145,19 @@ HELP
|
|
142
145
|
end
|
143
146
|
@machine.ensure_client_certificate
|
144
147
|
Puppet.notice(_("Completed SSL initialization"))
|
148
|
+
when 'show'
|
149
|
+
show(certname)
|
145
150
|
else
|
146
151
|
raise Puppet::Error, _("Unknown action '%{action}'") % { action: action }
|
147
152
|
end
|
148
153
|
end
|
149
154
|
|
155
|
+
def show(certname)
|
156
|
+
password = @cert_provider.load_private_key_password
|
157
|
+
ssl_context = @ssl_provider.load_context(certname: certname, password: password)
|
158
|
+
puts ssl_context.client_cert.to_text
|
159
|
+
end
|
160
|
+
|
150
161
|
def submit_request(ssl_context)
|
151
162
|
key = @cert_provider.load_private_key(Puppet[:certname])
|
152
163
|
unless key
|
@@ -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
@@ -112,7 +112,7 @@ class Puppet::Configurer
|
|
112
112
|
catalog_conversion_time = thinmark do
|
113
113
|
# Will mutate the result and replace all Deferred values with resolved values
|
114
114
|
if facts
|
115
|
-
Puppet::Pops::Evaluator::DeferredResolver.resolve_and_replace(facts, result)
|
115
|
+
Puppet::Pops::Evaluator::DeferredResolver.resolve_and_replace(facts, result, Puppet.lookup(:current_environment))
|
116
116
|
end
|
117
117
|
|
118
118
|
catalog = result.to_ral
|
@@ -223,26 +223,23 @@ class Puppet::Configurer
|
|
223
223
|
# mode. We shouldn't try to do any failover in that case.
|
224
224
|
if options[:catalog].nil? && do_failover
|
225
225
|
server, port = find_functional_server
|
226
|
-
|
227
|
-
|
228
|
-
raise Puppet::Error, _("Could not select a functional puppet server from server_list: '%{server_list}'") % { server_list: Puppet.settings.value(:server_list, Puppet[:environment].to_sym, true) }
|
229
|
-
else
|
230
|
-
#TRANSLATORS 'server_list' is the name of a setting and should not be translated
|
231
|
-
Puppet.debug _("Selected puppet server from the `server_list` setting: %{server}:%{port}") % { server: server, port: port }
|
232
|
-
report.server_used = "#{server}:#{port}"
|
233
|
-
end
|
234
|
-
rescue Puppet::Error => detail
|
226
|
+
if server.nil?
|
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) }
|
235
228
|
if Puppet[:usecacheonfailure]
|
236
229
|
options[:pluginsync] = false
|
237
230
|
@running_failure = true
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
Puppet.
|
231
|
+
|
232
|
+
server = Puppet[:server_list].first[0]
|
233
|
+
port = Puppet[:server_list].first[1] || Puppet[:serverport]
|
234
|
+
|
235
|
+
Puppet.err(detail)
|
243
236
|
else
|
244
|
-
raise detail
|
237
|
+
raise Puppet::Error, detail
|
245
238
|
end
|
239
|
+
else
|
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}"
|
246
243
|
end
|
247
244
|
Puppet.override(server: server, serverport: port) do
|
248
245
|
completed = run_internal(options)
|
@@ -400,16 +397,29 @@ class Puppet::Configurer
|
|
400
397
|
if !cached_catalog && options[:catalog]
|
401
398
|
ral_catalog = options[:catalog]
|
402
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
|
+
|
403
412
|
# REMIND @duration is the time spent loading the last catalog, and doesn't
|
404
413
|
# account for things like we failed to download and fell back to the cache
|
405
414
|
ral_catalog = convert_catalog(catalog, @duration, facts, options)
|
406
415
|
|
407
|
-
#
|
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
|
408
418
|
# we'd just copy the downloaded response body, instead of serializing the
|
409
419
|
# in-memory catalog, but that's hard due to the indirector.
|
410
420
|
indirection = Puppet::Resource::Catalog.indirection
|
411
421
|
if !Puppet[:noop] && indirection.cache?
|
412
|
-
request = indirection.request(:save, nil,
|
422
|
+
request = indirection.request(:save, nil, catalog_to_cache, environment: Puppet::Node::Environment.remote(catalog_to_cache.environment))
|
413
423
|
Puppet.info("Caching catalog for #{request.key}")
|
414
424
|
indirection.cache.save(request)
|
415
425
|
end
|