puppet 7.20.0-universal-darwin → 7.22.0-universal-darwin
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.
- checksums.yaml +4 -4
- data/Gemfile.lock +62 -48
- data/Guardfile.example +1 -1
- data/ext/project_data.yaml +1 -1
- data/ext/windows/service/daemon.rb +1 -1
- data/lib/puppet/application/lookup.rb +5 -5
- data/lib/puppet/defaults.rb +14 -0
- data/lib/puppet/indirector/facts/facter.rb +8 -1
- data/lib/puppet/info_service/task_information_service.rb +10 -2
- data/lib/puppet/transaction/report.rb +18 -1
- data/lib/puppet/type/resources.rb +1 -6
- data/lib/puppet/type/tidy.rb +3 -2
- data/lib/puppet/type/user.rb +1 -3
- data/lib/puppet/type.rb +10 -0
- data/lib/puppet/version.rb +1 -1
- data/man/man5/puppet.conf.5 +18 -2
- data/man/man8/puppet-agent.8 +1 -1
- data/man/man8/puppet-apply.8 +1 -1
- 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 +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 +1 -1
- data/man/man8/puppet-generate.8 +1 -1
- data/man/man8/puppet-help.8 +1 -1
- data/man/man8/puppet-lookup.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-ssl.8 +1 -1
- data/man/man8/puppet.8 +2 -2
- data/spec/integration/application/agent_spec.rb +100 -1
- data/spec/integration/application/lookup_spec.rb +55 -0
- data/spec/unit/agent_spec.rb +1 -1
- data/spec/unit/application/agent_spec.rb +1 -1
- data/spec/unit/application/device_spec.rb +1 -1
- data/spec/unit/application/resource_spec.rb +1 -1
- data/spec/unit/confiner_spec.rb +1 -1
- data/spec/unit/daemon_spec.rb +1 -1
- data/spec/unit/file_bucket/dipper_spec.rb +1 -1
- data/spec/unit/file_serving/fileset_spec.rb +14 -14
- data/spec/unit/file_system_spec.rb +3 -1
- data/spec/unit/graph/simple_graph_spec.rb +1 -1
- data/spec/unit/http/service/compiler_spec.rb +1 -1
- data/spec/unit/indirector/facts/facter_spec.rb +25 -0
- data/spec/unit/indirector/file_server_spec.rb +5 -5
- data/spec/unit/indirector/indirection_spec.rb +1 -1
- data/spec/unit/indirector/node/plain_spec.rb +1 -1
- data/spec/unit/info_service_spec.rb +21 -0
- data/spec/unit/module_tool/tar/mini_spec.rb +1 -1
- data/spec/unit/network/formats_spec.rb +1 -1
- data/spec/unit/provider/file/posix_spec.rb +4 -4
- data/spec/unit/provider/ldap_spec.rb +3 -3
- data/spec/unit/provider/nameservice_spec.rb +15 -15
- data/spec/unit/provider/package/aix_spec.rb +1 -1
- data/spec/unit/provider/package/dpkg_spec.rb +3 -3
- data/spec/unit/provider/package/nim_spec.rb +2 -2
- data/spec/unit/provider/package/pkgutil_spec.rb +4 -4
- data/spec/unit/provider/parsedfile_spec.rb +4 -4
- data/spec/unit/provider/service/bsd_spec.rb +4 -4
- data/spec/unit/provider/service/debian_spec.rb +2 -2
- data/spec/unit/provider/service/gentoo_spec.rb +20 -20
- data/spec/unit/provider/service/openbsd_spec.rb +18 -18
- data/spec/unit/provider/service/openrc_spec.rb +19 -19
- data/spec/unit/provider/service/systemd_spec.rb +22 -22
- data/spec/unit/provider/service/upstart_spec.rb +6 -6
- data/spec/unit/provider/user/aix_spec.rb +1 -1
- data/spec/unit/provider/user/hpux_spec.rb +1 -1
- data/spec/unit/provider/user/openbsd_spec.rb +1 -1
- data/spec/unit/provider/user/useradd_spec.rb +1 -1
- data/spec/unit/reports/store_spec.rb +5 -1
- data/spec/unit/resource/type_spec.rb +2 -2
- data/spec/unit/ssl/base_spec.rb +1 -1
- data/spec/unit/ssl/certificate_request_spec.rb +1 -1
- data/spec/unit/ssl/certificate_spec.rb +1 -1
- data/spec/unit/transaction/event_manager_spec.rb +4 -4
- data/spec/unit/transaction/report_spec.rb +38 -1
- data/spec/unit/transaction_spec.rb +2 -2
- data/spec/unit/type/exec_spec.rb +1 -1
- data/spec/unit/type/file_spec.rb +4 -4
- data/spec/unit/type/filebucket_spec.rb +3 -3
- data/spec/unit/type/resources_spec.rb +14 -0
- data/spec/unit/type/tidy_spec.rb +27 -17
- data/spec/unit/util/backups_spec.rb +1 -1
- data/spec/unit/util/execution_spec.rb +6 -6
- data/spec/unit/util/filetype_spec.rb +3 -3
- data/spec/unit/util/network_device_spec.rb +1 -6
- data/spec/unit/util/resource_template_spec.rb +1 -1
- data/spec/unit/util/storage_spec.rb +1 -1
- data/spec/unit/x509/cert_provider_spec.rb +1 -1
- metadata +9 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e2cd7e029ce27e48180ecc3432b651ff6a2933c99166f31fd82b498fbadd9dc5
|
4
|
+
data.tar.gz: a98915aa4db761d30cc7b652179f998cb549382e01caf4cbcc2a0e82c1bd32e5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a59780e3bd62216fe2ee2fb7d77da686663cf55502fdd58a75defe37cd57859a7094d4054180eb33f284f8651488215ceb18ae20bc0844281d9ea20a9f8f368d
|
7
|
+
data.tar.gz: ff194f4bd0b0c82d90405fbd27e97ec2f0dcd099580cef15f28bedf307b80f25670004c26a54b2feecdf3c7e30856ef4af1917ac11dffee49e62e47ecc2b235c
|
data/Gemfile.lock
CHANGED
@@ -1,23 +1,9 @@
|
|
1
|
-
GIT
|
2
|
-
remote: https://github.com/puppetlabs/packaging
|
3
|
-
revision: 43e14adf3cc3756bb5a776db9bc245c685c11f71
|
4
|
-
branch: 1.0.x
|
5
|
-
specs:
|
6
|
-
packaging (0.108.0)
|
7
|
-
apt_stage_artifacts
|
8
|
-
artifactory (~> 3)
|
9
|
-
csv (= 3.1.5)
|
10
|
-
google-cloud-storage
|
11
|
-
googleauth
|
12
|
-
rake (>= 12.3)
|
13
|
-
release-metrics
|
14
|
-
|
15
1
|
PATH
|
16
2
|
remote: .
|
17
3
|
specs:
|
18
|
-
puppet (7.
|
4
|
+
puppet (7.22.0)
|
19
5
|
CFPropertyList (~> 2.2)
|
20
|
-
concurrent-ruby (~> 1.0)
|
6
|
+
concurrent-ruby (~> 1.0, < 1.2.0)
|
21
7
|
deep_merge (~> 1.0)
|
22
8
|
facter (>= 2.4.0, < 5)
|
23
9
|
fast_gettext (>= 1.1, < 3)
|
@@ -28,7 +14,7 @@ PATH
|
|
28
14
|
semantic_puppet (~> 1.0)
|
29
15
|
|
30
16
|
GEM
|
31
|
-
remote: https://
|
17
|
+
remote: https://rubygems.org/
|
32
18
|
specs:
|
33
19
|
CFPropertyList (2.3.6)
|
34
20
|
addressable (2.8.1)
|
@@ -48,13 +34,32 @@ GEM
|
|
48
34
|
digest-crc (0.6.4)
|
49
35
|
rake (>= 12.0.0, < 14.0.0)
|
50
36
|
docopt (0.6.1)
|
51
|
-
facter (4.2.
|
37
|
+
facter (4.2.14)
|
52
38
|
hocon (~> 1.3)
|
53
39
|
thor (>= 1.0.1, < 2.0)
|
54
|
-
faraday (
|
55
|
-
faraday-
|
40
|
+
faraday (1.10.3)
|
41
|
+
faraday-em_http (~> 1.0)
|
42
|
+
faraday-em_synchrony (~> 1.0)
|
43
|
+
faraday-excon (~> 1.1)
|
44
|
+
faraday-httpclient (~> 1.0)
|
45
|
+
faraday-multipart (~> 1.0)
|
46
|
+
faraday-net_http (~> 1.0)
|
47
|
+
faraday-net_http_persistent (~> 1.0)
|
48
|
+
faraday-patron (~> 1.0)
|
49
|
+
faraday-rack (~> 1.0)
|
50
|
+
faraday-retry (~> 1.0)
|
56
51
|
ruby2_keywords (>= 0.0.4)
|
57
|
-
faraday-
|
52
|
+
faraday-em_http (1.0.0)
|
53
|
+
faraday-em_synchrony (1.0.0)
|
54
|
+
faraday-excon (1.1.0)
|
55
|
+
faraday-httpclient (1.0.1)
|
56
|
+
faraday-multipart (1.0.4)
|
57
|
+
multipart-post (~> 2)
|
58
|
+
faraday-net_http (1.0.1)
|
59
|
+
faraday-net_http_persistent (1.2.0)
|
60
|
+
faraday-patron (1.0.0)
|
61
|
+
faraday-rack (1.0.0)
|
62
|
+
faraday-retry (1.0.3)
|
58
63
|
fast_gettext (1.1.2)
|
59
64
|
ffi (1.15.5)
|
60
65
|
gettext (3.2.9)
|
@@ -64,7 +69,7 @@ GEM
|
|
64
69
|
fast_gettext (~> 1.1.0)
|
65
70
|
gettext (>= 3.0.2, < 3.3.0)
|
66
71
|
locale
|
67
|
-
google-apis-core (0.9.
|
72
|
+
google-apis-core (0.9.5)
|
68
73
|
addressable (~> 2.5, >= 2.5.1)
|
69
74
|
googleauth (>= 0.16.2, < 2.a)
|
70
75
|
httpclient (>= 2.8.1, < 3.a)
|
@@ -73,8 +78,8 @@ GEM
|
|
73
78
|
retriable (>= 2.0, < 4.a)
|
74
79
|
rexml
|
75
80
|
webrick
|
76
|
-
google-apis-iamcredentials_v1 (0.
|
77
|
-
google-apis-core (>= 0.9.
|
81
|
+
google-apis-iamcredentials_v1 (0.16.0)
|
82
|
+
google-apis-core (>= 0.9.1, < 2.a)
|
78
83
|
google-apis-storage_v1 (0.19.0)
|
79
84
|
google-apis-core (>= 0.9.0, < 2.a)
|
80
85
|
google-cloud-core (1.6.0)
|
@@ -83,7 +88,7 @@ GEM
|
|
83
88
|
google-cloud-env (1.6.0)
|
84
89
|
faraday (>= 0.17.3, < 3.0)
|
85
90
|
google-cloud-errors (1.3.0)
|
86
|
-
google-cloud-storage (1.
|
91
|
+
google-cloud-storage (1.44.0)
|
87
92
|
addressable (~> 2.8)
|
88
93
|
digest-crc (~> 0.4)
|
89
94
|
google-apis-iamcredentials_v1 (~> 0.1)
|
@@ -91,7 +96,7 @@ GEM
|
|
91
96
|
google-cloud-core (~> 1.6)
|
92
97
|
googleauth (>= 0.16.2, < 2.a)
|
93
98
|
mini_mime (~> 1.0)
|
94
|
-
googleauth (1.
|
99
|
+
googleauth (1.1.3)
|
95
100
|
faraday (>= 0.17.3, < 3.a)
|
96
101
|
jwt (>= 1.4, < 3.0)
|
97
102
|
memoist (~> 0.16)
|
@@ -99,45 +104,54 @@ GEM
|
|
99
104
|
os (>= 0.9, < 2.0)
|
100
105
|
signet (>= 0.16, < 2.a)
|
101
106
|
hashdiff (1.0.1)
|
102
|
-
hiera (3.
|
107
|
+
hiera (3.11.0)
|
103
108
|
hiera-eyaml (3.3.0)
|
104
109
|
highline
|
105
110
|
optimist
|
106
|
-
highline (2.0
|
111
|
+
highline (2.1.0)
|
107
112
|
hocon (1.3.1)
|
108
113
|
hpricot (0.8.6)
|
109
114
|
httpclient (2.8.3)
|
110
115
|
json-schema (2.8.1)
|
111
116
|
addressable (>= 2.4)
|
112
|
-
jwt (2.
|
117
|
+
jwt (2.6.0)
|
113
118
|
locale (2.1.3)
|
114
119
|
memoist (0.16.2)
|
115
|
-
memory_profiler (1.0.
|
120
|
+
memory_profiler (1.0.1)
|
116
121
|
method_source (1.0.0)
|
117
122
|
mini_mime (1.1.2)
|
118
123
|
minitar (0.9)
|
119
124
|
msgpack (1.6.0)
|
120
125
|
multi_json (1.15.0)
|
126
|
+
multipart-post (2.2.3)
|
121
127
|
mustache (1.1.1)
|
122
128
|
optimist (3.0.1)
|
123
129
|
os (1.1.4)
|
130
|
+
packaging (0.108.1)
|
131
|
+
apt_stage_artifacts
|
132
|
+
artifactory (~> 3)
|
133
|
+
csv (= 3.1.5)
|
134
|
+
google-cloud-storage
|
135
|
+
googleauth
|
136
|
+
rake (>= 12.3)
|
137
|
+
release-metrics
|
124
138
|
parallel (1.22.1)
|
125
139
|
parser (2.7.2.0)
|
126
140
|
ast (~> 2.4.1)
|
127
141
|
powerpack (0.1.3)
|
128
|
-
pry (0.14.
|
142
|
+
pry (0.14.2)
|
129
143
|
coderay (~> 1.1)
|
130
144
|
method_source (~> 1.0)
|
131
|
-
public_suffix (
|
145
|
+
public_suffix (4.0.7)
|
132
146
|
puppet-resource_api (1.8.14)
|
133
147
|
hocon (>= 1.0)
|
134
|
-
puppetserver-ca (2.
|
148
|
+
puppetserver-ca (2.4.0)
|
135
149
|
facter (>= 2.0.1, < 5)
|
136
150
|
racc (1.5.2)
|
137
151
|
rainbow (2.2.2)
|
138
152
|
rake
|
139
153
|
rake (13.0.6)
|
140
|
-
rdiscount (2.2.
|
154
|
+
rdiscount (2.2.7)
|
141
155
|
rdoc (6.3.3)
|
142
156
|
release-metrics (1.1.0)
|
143
157
|
csv
|
@@ -152,22 +166,22 @@ GEM
|
|
152
166
|
hpricot (>= 0.8.2)
|
153
167
|
mustache (>= 0.7.0)
|
154
168
|
rdiscount (>= 1.5.8)
|
155
|
-
rspec (3.
|
156
|
-
rspec-core (~> 3.
|
157
|
-
rspec-expectations (~> 3.
|
158
|
-
rspec-mocks (~> 3.
|
159
|
-
rspec-core (3.
|
160
|
-
rspec-support (~> 3.
|
161
|
-
rspec-expectations (3.
|
169
|
+
rspec (3.12.0)
|
170
|
+
rspec-core (~> 3.12.0)
|
171
|
+
rspec-expectations (~> 3.12.0)
|
172
|
+
rspec-mocks (~> 3.12.0)
|
173
|
+
rspec-core (3.12.0)
|
174
|
+
rspec-support (~> 3.12.0)
|
175
|
+
rspec-expectations (3.12.2)
|
162
176
|
diff-lcs (>= 1.2.0, < 2.0)
|
163
|
-
rspec-support (~> 3.
|
177
|
+
rspec-support (~> 3.12.0)
|
164
178
|
rspec-its (1.3.0)
|
165
179
|
rspec-core (>= 3.0.0)
|
166
180
|
rspec-expectations (>= 3.0.0)
|
167
|
-
rspec-mocks (3.
|
181
|
+
rspec-mocks (3.12.3)
|
168
182
|
diff-lcs (>= 1.2.0, < 2.0)
|
169
|
-
rspec-support (~> 3.
|
170
|
-
rspec-support (3.
|
183
|
+
rspec-support (~> 3.12.0)
|
184
|
+
rspec-support (3.12.0)
|
171
185
|
rubocop (0.49.1)
|
172
186
|
parallel (~> 1.10)
|
173
187
|
parser (>= 2.3.3.1, < 3.0)
|
@@ -182,9 +196,9 @@ GEM
|
|
182
196
|
ruby2_keywords (0.0.5)
|
183
197
|
scanf (1.0.0)
|
184
198
|
semantic_puppet (1.0.4)
|
185
|
-
signet (0.
|
199
|
+
signet (0.16.1)
|
186
200
|
addressable (~> 2.8)
|
187
|
-
faraday (>= 0.17.5, < 3.
|
201
|
+
faraday (>= 0.17.5, < 3.0)
|
188
202
|
jwt (>= 1.5, < 3.0)
|
189
203
|
multi_json (~> 1.10)
|
190
204
|
text (1.3.1)
|
@@ -214,7 +228,7 @@ DEPENDENCIES
|
|
214
228
|
memory_profiler
|
215
229
|
minitar (~> 0.9)
|
216
230
|
msgpack (~> 1.2)
|
217
|
-
packaging
|
231
|
+
packaging (~> 0.99)
|
218
232
|
pry
|
219
233
|
puppet!
|
220
234
|
puppet-resource_api (~> 1.5)
|
data/Guardfile.example
CHANGED
@@ -16,7 +16,7 @@ notification(:terminal_notifier, app_name: "Puppet ::", group: `pwd`.chomp) if `
|
|
16
16
|
|
17
17
|
## Uncomment and set this to only include directories you want to watch
|
18
18
|
# directories %w(app lib config test spec features) \
|
19
|
-
# .select{|d| Dir.
|
19
|
+
# .select{|d| Dir.exist?(d) ? d : UI.warning("Directory #{d} does not exist")}
|
20
20
|
|
21
21
|
## Note: if you are using the `directories` clause above and you are not
|
22
22
|
## watching the project directory ('.'), then you will want to move
|
data/ext/project_data.yaml
CHANGED
@@ -48,7 +48,7 @@ class WindowsDaemon < Puppet::Util::Windows::Daemon
|
|
48
48
|
#
|
49
49
|
# Example code to register an event source;
|
50
50
|
# eventlogdll = File.expand_path(File.join(basedir, 'puppet', 'ext', 'windows', 'eventlog', 'puppetres.dll'))
|
51
|
-
# if (File.
|
51
|
+
# if (File.exist?(eventlogdll))
|
52
52
|
# Win32::EventLog.add_event_source(
|
53
53
|
# 'source' => "Application",
|
54
54
|
# 'key_name' => "Puppet Agent",
|
@@ -376,9 +376,9 @@ Copyright (c) 2015 Puppet Inc., LLC Licensed under the Apache 2.0 License
|
|
376
376
|
facts = retrieve_node_facts(node, given_facts)
|
377
377
|
ni = Puppet::Node.indirection
|
378
378
|
tc = ni.terminus_class
|
379
|
-
if options[:compile]
|
379
|
+
if options[:compile]
|
380
380
|
if tc == :plain
|
381
|
-
node = ni.find(node, facts: facts)
|
381
|
+
node = ni.find(node, facts: facts, environment: Puppet[:environment])
|
382
382
|
else
|
383
383
|
begin
|
384
384
|
service = Puppet.runtime[:http]
|
@@ -390,11 +390,11 @@ Copyright (c) 2015 Puppet Inc., LLC Licensed under the Apache 2.0 License
|
|
390
390
|
Puppet::SSL::Oids.register_puppet_oids
|
391
391
|
trusted = Puppet::Context::TrustedInformation.remote(true, facts.values['certname'] || node, Puppet::SSL::Certificate.from_instance(cert))
|
392
392
|
Puppet.override(trusted_information: trusted) do
|
393
|
-
node = ni.find(node, facts: facts)
|
393
|
+
node = ni.find(node, facts: facts, environment: Puppet[:environment])
|
394
394
|
end
|
395
395
|
rescue
|
396
396
|
Puppet.warning _("CA is not available, the operation will continue without using trusted facts.")
|
397
|
-
node = ni.find(node, facts: facts)
|
397
|
+
node = ni.find(node, facts: facts, environment: Puppet[:environment])
|
398
398
|
end
|
399
399
|
end
|
400
400
|
else
|
@@ -405,7 +405,7 @@ Copyright (c) 2015 Puppet Inc., LLC Licensed under the Apache 2.0 License
|
|
405
405
|
else
|
406
406
|
node.add_extra_facts(given_facts) if given_facts
|
407
407
|
end
|
408
|
-
|
408
|
+
node.environment = Puppet[:environment] if Puppet.settings.set_by_cli?(:environment)
|
409
409
|
Puppet[:code] = 'undef' unless options[:compile]
|
410
410
|
compiler = Puppet::Parser::Compiler.new(node)
|
411
411
|
if options[:node]
|
data/lib/puppet/defaults.rb
CHANGED
@@ -1450,6 +1450,12 @@ EOT
|
|
1450
1450
|
|
1451
1451
|
To turn off reports entirely, set this to `none`",
|
1452
1452
|
},
|
1453
|
+
:exclude_unchanged_resources => {
|
1454
|
+
:default => false,
|
1455
|
+
:type => :boolean,
|
1456
|
+
:desc => 'When set to true, resources that have had no changes after catalog application
|
1457
|
+
will not have corresponding unchanged resource status updates listed in the report.'
|
1458
|
+
},
|
1453
1459
|
:reportdir => {
|
1454
1460
|
:default => "$vardir/reports",
|
1455
1461
|
:type => :directory,
|
@@ -1712,6 +1718,14 @@ EOT
|
|
1712
1718
|
new configurations, where you want to fix the broken configuration
|
1713
1719
|
rather than reverting to a known-good one.",
|
1714
1720
|
},
|
1721
|
+
:include_legacy_facts => {
|
1722
|
+
:type => :boolean,
|
1723
|
+
:default => true,
|
1724
|
+
:desc => "Whether to include legacy facts when requesting a catalog. This
|
1725
|
+
option can be set to false provided all puppet manifests, hiera.yaml and hiera
|
1726
|
+
configuration layers no longer access legacy facts, such as `$osfamily`, and
|
1727
|
+
instead access structured facts, such as `$facts['os']['family']`."
|
1728
|
+
},
|
1715
1729
|
:fact_name_length_soft_limit => {
|
1716
1730
|
:default => 2560,
|
1717
1731
|
:type => :integer,
|
@@ -35,8 +35,15 @@ class Puppet::Node::Facts::Facter < Puppet::Indirector::Code
|
|
35
35
|
result = if request.options[:resolve_options]
|
36
36
|
raise(Puppet::Error, _("puppet facts show requires version 4.0.40 or greater of Facter.")) unless Facter.respond_to?(:resolve)
|
37
37
|
find_with_options(request)
|
38
|
-
|
38
|
+
elsif Puppet[:include_legacy_facts]
|
39
|
+
# to_hash returns both structured and legacy facts
|
39
40
|
Puppet::Node::Facts.new(request.key, Puppet.runtime[:facter].to_hash)
|
41
|
+
else
|
42
|
+
# resolve does not return legacy facts unless requested
|
43
|
+
facts = Puppet.runtime[:facter].resolve('')
|
44
|
+
# some versions of Facter 4 return a Facter::FactCollection instead of
|
45
|
+
# a Hash, breaking API compatibility, so force a hash using `to_h`
|
46
|
+
Puppet::Node::Facts.new(request.key, facts.to_h)
|
40
47
|
end
|
41
48
|
|
42
49
|
result.add_local_facts unless request.options[:resolve_options]
|
@@ -4,11 +4,19 @@ class Puppet::InfoService::TaskInformationService
|
|
4
4
|
def self.tasks_per_environment(environment_name)
|
5
5
|
# get the actual environment object, raise error if the named env doesn't exist
|
6
6
|
env = Puppet.lookup(:environments).get!(environment_name)
|
7
|
+
|
7
8
|
env.modules.map do |mod|
|
8
9
|
mod.tasks.map do |task|
|
9
|
-
|
10
|
+
# If any task is malformed continue to list other tasks in module
|
11
|
+
begin
|
12
|
+
task.validate
|
13
|
+
{:module => {:name => task.module.name}, :name => task.name, :metadata => task.metadata}
|
14
|
+
rescue Puppet::Module::Task::Error => err
|
15
|
+
Puppet.log_exception(err, 'Failed to validate task')
|
16
|
+
nil
|
17
|
+
end
|
10
18
|
end
|
11
|
-
end.flatten
|
19
|
+
end.flatten.compact
|
12
20
|
end
|
13
21
|
|
14
22
|
def self.task_data(environment_name, module_name, task_name)
|
@@ -38,6 +38,7 @@ class Puppet::Transaction::Report
|
|
38
38
|
include Puppet::Util::PsychSupport
|
39
39
|
extend Puppet::Indirector
|
40
40
|
|
41
|
+
STATES_FOR_EXCLUSION_FROM_REPORT = [:failed, :failed_to_restart, :out_of_sync, :skipped].freeze
|
41
42
|
indirects :report, :terminus_class => :processor
|
42
43
|
|
43
44
|
# The version of the configuration
|
@@ -308,6 +309,22 @@ class Puppet::Transaction::Report
|
|
308
309
|
end
|
309
310
|
end
|
310
311
|
|
312
|
+
def resource_unchanged?(rs)
|
313
|
+
STATES_FOR_EXCLUSION_FROM_REPORT.each do |state|
|
314
|
+
return false if rs.send(state)
|
315
|
+
end
|
316
|
+
true
|
317
|
+
end
|
318
|
+
|
319
|
+
def calculate_resource_statuses
|
320
|
+
resource_statuses = if Puppet[:exclude_unchanged_resources]
|
321
|
+
@resource_statuses.reject { |_key, rs| resource_unchanged?(rs) }
|
322
|
+
else
|
323
|
+
@resource_statuses
|
324
|
+
end
|
325
|
+
Hash[resource_statuses.map { |key, rs| [key, rs.nil? ? nil : rs.to_data_hash] }]
|
326
|
+
end
|
327
|
+
|
311
328
|
def to_data_hash
|
312
329
|
hash = {
|
313
330
|
'host' => @host,
|
@@ -323,7 +340,7 @@ class Puppet::Transaction::Report
|
|
323
340
|
'environment' => @environment,
|
324
341
|
'logs' => @logs.map { |log| log.to_data_hash },
|
325
342
|
'metrics' => Hash[@metrics.map { |key, metric| [key, metric.to_data_hash] }],
|
326
|
-
'resource_statuses' =>
|
343
|
+
'resource_statuses' => calculate_resource_statuses,
|
327
344
|
'corrective_change' => @corrective_change,
|
328
345
|
}
|
329
346
|
|
@@ -120,12 +120,7 @@ Puppet::Type.newtype(:resources) do
|
|
120
120
|
select { |r| r.class.validproperty?(:ensure) }.
|
121
121
|
select { |r| able_to_ensure_absent?(r) }.
|
122
122
|
each { |resource|
|
123
|
-
@parameters
|
124
|
-
resource[name] = param.value if param.metaparam?
|
125
|
-
end
|
126
|
-
|
127
|
-
# Mark that we're purging, so transactions can handle relationships
|
128
|
-
# correctly
|
123
|
+
resource.copy_metaparams(@parameters)
|
129
124
|
resource.purging
|
130
125
|
}
|
131
126
|
end
|
data/lib/puppet/type/tidy.rb
CHANGED
@@ -247,9 +247,10 @@ Puppet::Type.newtype(:tidy) do
|
|
247
247
|
:ensure => :absent, :force => true
|
248
248
|
}
|
249
249
|
|
250
|
-
|
250
|
+
new_file = Puppet::Type.type(:file).new(parameters)
|
251
|
+
new_file.copy_metaparams(@parameters)
|
251
252
|
|
252
|
-
|
253
|
+
new_file
|
253
254
|
end
|
254
255
|
|
255
256
|
def retrieve
|
data/lib/puppet/type/user.rb
CHANGED
data/lib/puppet/type.rb
CHANGED
@@ -356,6 +356,16 @@ class Type
|
|
356
356
|
param
|
357
357
|
end
|
358
358
|
|
359
|
+
# Copies all of a resource's metaparameters (except `alias`) to a generated child resource
|
360
|
+
# @param parameters [Hash] of a resource's parameters
|
361
|
+
# @return [Void]
|
362
|
+
def copy_metaparams(parameters)
|
363
|
+
parameters.each do |name, param|
|
364
|
+
self[name] = param.value if param.metaparam? && name != :alias
|
365
|
+
end
|
366
|
+
nil
|
367
|
+
end
|
368
|
+
|
359
369
|
# Returns the list of parameters that comprise the composite key / "uniqueness key".
|
360
370
|
# All parameters that return true from #isnamevar? or is named `:name` are included in the returned result.
|
361
371
|
# @see uniqueness_key
|
data/lib/puppet/version.rb
CHANGED
data/man/man5/puppet.conf.5
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "PUPPETCONF" "5" "
|
4
|
+
.TH "PUPPETCONF" "5" "January 2023" "Puppet, Inc." "Puppet manual"
|
5
5
|
\fBThis page is autogenerated; any changes will get overwritten\fR
|
6
6
|
.
|
7
7
|
.SH "Configuration settings"
|
@@ -647,6 +647,14 @@ Whether each resource should log when it is being evaluated\. This allows you to
|
|
647
647
|
.
|
648
648
|
.IP "" 0
|
649
649
|
.
|
650
|
+
.SS "exclude_unchanged_resources"
|
651
|
+
When set to true, resources that have had no changes after catalog application will not have corresponding unchanged resource status updates listed in the report\.
|
652
|
+
.
|
653
|
+
.IP "\(bu" 4
|
654
|
+
\fIDefault\fR: \fBfalse\fR
|
655
|
+
.
|
656
|
+
.IP "" 0
|
657
|
+
.
|
650
658
|
.SS "external_nodes"
|
651
659
|
The external node classifier (ENC) script to use for node data\. Puppet combines this data with the main manifest to produce node catalogs\.
|
652
660
|
.
|
@@ -929,7 +937,7 @@ The time to wait for data to be read from an HTTP connection\. If nothing is rea
|
|
929
937
|
The HTTP User\-Agent string to send when making network requests\.
|
930
938
|
.
|
931
939
|
.IP "\(bu" 4
|
932
|
-
\fIDefault\fR: \fBPuppet/7\.
|
940
|
+
\fIDefault\fR: \fBPuppet/7\.22\.0 Ruby/2\.7\.5\-p203 (x86_64\-linux)\fR
|
933
941
|
.
|
934
942
|
.IP "" 0
|
935
943
|
.
|
@@ -957,6 +965,14 @@ Boolean; whether puppet agent should ignore schedules\. This is useful for initi
|
|
957
965
|
.
|
958
966
|
.IP "" 0
|
959
967
|
.
|
968
|
+
.SS "include_legacy_facts"
|
969
|
+
Whether to include legacy facts when requesting a catalog\. This option can be set to false provided all puppet manifests, hiera\.yaml and hiera configuration layers no longer access legacy facts, such as \fB$osfamily\fR, and instead access structured facts, such as \fB$facts[\'os\'][\'family\']\fR\.
|
970
|
+
.
|
971
|
+
.IP "\(bu" 4
|
972
|
+
\fIDefault\fR: \fBtrue\fR
|
973
|
+
.
|
974
|
+
.IP "" 0
|
975
|
+
.
|
960
976
|
.SS "key_type"
|
961
977
|
The type of private key\. Valid values are \fBrsa\fR and \fBec\fR\. Default is \fBrsa\fR\.
|
962
978
|
.
|
data/man/man8/puppet-agent.8
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "PUPPET\-AGENT" "8" "
|
4
|
+
.TH "PUPPET\-AGENT" "8" "January 2023" "Puppet, Inc." "Puppet manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBpuppet\-agent\fR \- The puppet agent daemon
|
data/man/man8/puppet-apply.8
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "PUPPET\-APPLY" "8" "
|
4
|
+
.TH "PUPPET\-APPLY" "8" "January 2023" "Puppet, Inc." "Puppet manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBpuppet\-apply\fR \- Apply Puppet manifests locally
|
data/man/man8/puppet-catalog.8
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "PUPPET\-CATALOG" "8" "
|
4
|
+
.TH "PUPPET\-CATALOG" "8" "January 2023" "Puppet, Inc." "Puppet manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBpuppet\-catalog\fR \- Compile, save, view, and convert catalogs\.
|
data/man/man8/puppet-config.8
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "PUPPET\-CONFIG" "8" "
|
4
|
+
.TH "PUPPET\-CONFIG" "8" "January 2023" "Puppet, Inc." "Puppet manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBpuppet\-config\fR \- Interact with Puppet\'s settings\.
|
data/man/man8/puppet-describe.8
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "PUPPET\-DESCRIBE" "8" "
|
4
|
+
.TH "PUPPET\-DESCRIBE" "8" "January 2023" "Puppet, Inc." "Puppet manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBpuppet\-describe\fR \- Display help about resource types
|
data/man/man8/puppet-device.8
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "PUPPET\-DEVICE" "8" "
|
4
|
+
.TH "PUPPET\-DEVICE" "8" "January 2023" "Puppet, Inc." "Puppet manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBpuppet\-device\fR \- Manage remote network devices
|
data/man/man8/puppet-doc.8
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "PUPPET\-DOC" "8" "
|
4
|
+
.TH "PUPPET\-DOC" "8" "January 2023" "Puppet, Inc." "Puppet manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBpuppet\-doc\fR \- Generate Puppet references
|
data/man/man8/puppet-epp.8
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "PUPPET\-EPP" "8" "
|
4
|
+
.TH "PUPPET\-EPP" "8" "January 2023" "Puppet, Inc." "Puppet manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBpuppet\-epp\fR \- Interact directly with the EPP template parser/renderer\.
|
data/man/man8/puppet-facts.8
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "PUPPET\-FACTS" "8" "
|
4
|
+
.TH "PUPPET\-FACTS" "8" "January 2023" "Puppet, Inc." "Puppet manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBpuppet\-facts\fR \- Retrieve and store facts\.
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "PUPPET\-FILEBUCKET" "8" "
|
4
|
+
.TH "PUPPET\-FILEBUCKET" "8" "January 2023" "Puppet, Inc." "Puppet manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBpuppet\-filebucket\fR \- Store and retrieve files in a filebucket
|
data/man/man8/puppet-generate.8
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "PUPPET\-GENERATE" "8" "
|
4
|
+
.TH "PUPPET\-GENERATE" "8" "January 2023" "Puppet, Inc." "Puppet manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBpuppet\-generate\fR \- Generates Puppet code from Ruby definitions\.
|
data/man/man8/puppet-help.8
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
.\" generated with Ronn/v0.7.3
|
2
2
|
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
3
|
.
|
4
|
-
.TH "PUPPET\-HELP" "8" "
|
4
|
+
.TH "PUPPET\-HELP" "8" "January 2023" "Puppet, Inc." "Puppet manual"
|
5
5
|
.
|
6
6
|
.SH "NAME"
|
7
7
|
\fBpuppet\-help\fR \- Display Puppet help\.
|