puppet 7.0.0 → 7.5.0
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/CODEOWNERS +2 -16
- data/Gemfile +2 -3
- data/Gemfile.lock +45 -33
- data/ext/build_defaults.yaml +0 -1
- data/ext/project_data.yaml +1 -0
- 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/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 +16 -3
- data/lib/puppet/defaults.rb +14 -41
- data/lib/puppet/environments.rb +54 -55
- data/lib/puppet/face/facts.rb +26 -2
- data/lib/puppet/face/node/clean.rb +8 -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/ffi/windows/api_types.rb +1 -1
- data/lib/puppet/ffi/windows/constants.rb +1 -1
- data/lib/puppet/file_serving/configuration/parser.rb +5 -2
- data/lib/puppet/file_system/memory_file.rb +8 -1
- data/lib/puppet/file_system/windows.rb +2 -0
- data/lib/puppet/http/factory.rb +4 -0
- data/lib/puppet/indirector/facts/facter.rb +1 -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 +67 -0
- data/lib/puppet/network/http.rb +5 -2
- data/lib/puppet/network/http/api.rb +10 -6
- data/lib/puppet/network/http/api/master.rb +3 -2
- data/lib/puppet/network/http/api/master/v3.rb +2 -25
- data/lib/puppet/network/http/api/master/v3/environments.rb +2 -33
- data/lib/puppet/network/http/api/server.rb +10 -0
- data/lib/puppet/network/http/api/server/v3.rb +39 -0
- data/lib/puppet/network/http/api/server/v3/environments.rb +48 -0
- 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/model/ast_transformer.rb +1 -1
- data/lib/puppet/pops/parser/lexer2.rb +0 -4
- data/lib/puppet/pops/validation/checker4_0.rb +0 -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/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/settings.rb +33 -28
- data/lib/puppet/settings/alias_setting.rb +37 -0
- data/lib/puppet/settings/environment_conf.rb +1 -0
- data/lib/puppet/type/package.rb +3 -3
- data/lib/puppet/type/user.rb +1 -1
- data/lib/puppet/util/autoload.rb +1 -8
- data/lib/puppet/util/monkey_patches.rb +7 -0
- data/lib/puppet/util/posix.rb +54 -5
- data/lib/puppet/util/windows/adsi.rb +46 -0
- data/lib/puppet/util/windows/principal.rb +9 -2
- data/lib/puppet/util/windows/sid.rb +4 -2
- data/lib/puppet/version.rb +1 -1
- data/locales/puppet.pot +166 -146
- data/man/man5/puppet.conf.5 +14 -6
- 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 +8 -2
- 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 +2 -2
- data/man/man8/puppet-ssl.8 +5 -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/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/http/client_spec.rb +12 -0
- data/spec/integration/indirector/direct_file_server_spec.rb +1 -3
- data/spec/integration/indirector/file_content/file_server_spec.rb +0 -2
- data/spec/integration/indirector/file_metadata/file_server_spec.rb +0 -2
- data/spec/integration/parser/collection_spec.rb +10 -0
- 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/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/facts_spec.rb +58 -7
- 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 +1 -56
- data/spec/unit/environments_spec.rb +221 -68
- data/spec/unit/face/node_spec.rb +14 -13
- data/spec/unit/file_serving/configuration/parser_spec.rb +8 -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/http/factory_spec.rb +19 -0
- data/spec/unit/indirector/face_spec.rb +0 -1
- data/spec/unit/indirector/facts/facter_spec.rb +20 -5
- 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_spec.rb +2 -2
- data/spec/unit/module_tool/applications/installer_spec.rb +66 -0
- data/spec/unit/network/formats_spec.rb +41 -0
- data/spec/unit/network/http/api/indirected_routes_spec.rb +0 -4
- data/spec/unit/network/http/api/master_spec.rb +38 -0
- data/spec/unit/network/http/api/{master → server}/v3/environments_spec.rb +2 -2
- data/spec/unit/network/http/api/{master → server}/v3_spec.rb +19 -19
- data/spec/unit/network/http/api_spec.rb +11 -11
- 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/pops/parser/lexer2_spec.rb +0 -4
- data/spec/unit/pops/validator/validator_spec.rb +20 -43
- 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/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/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 +6 -8
- data/spec/unit/resource/type_spec.rb +1 -1
- data/spec/unit/resource_spec.rb +11 -10
- data/spec/unit/settings_spec.rb +13 -6
- data/spec/unit/ssl/base_spec.rb +0 -1
- data/spec/unit/ssl/certificate_request_spec.rb +4 -10
- data/spec/unit/ssl/ssl_provider_spec.rb +5 -2
- 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/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 +33 -16
- data/spec/lib/matchers/include.rb +0 -27
- data/spec/lib/matchers/include_spec.rb +0 -32
- data/spec/unit/pops/parser/parse_application_spec.rb +0 -13
- data/spec/unit/pops/parser/parse_capabilities_spec.rb +0 -23
- data/spec/unit/pops/parser/parse_site_spec.rb +0 -43
|
@@ -143,9 +143,11 @@ describe Puppet::Util::Storage do
|
|
|
143
143
|
end
|
|
144
144
|
|
|
145
145
|
it "should raise an error if the state file does not contain valid YAML and cannot be renamed" do
|
|
146
|
+
allow(File).to receive(:rename).and_call_original
|
|
147
|
+
|
|
146
148
|
write_state_file('{ invalid')
|
|
147
149
|
|
|
148
|
-
expect(File).to receive(:rename).and_raise(SystemCallError)
|
|
150
|
+
expect(File).to receive(:rename).with(@state_file, "#{@state_file}.bad").and_raise(SystemCallError)
|
|
149
151
|
|
|
150
152
|
expect { Puppet::Util::Storage.load }.to raise_error(Puppet::Error, /Could not rename/)
|
|
151
153
|
end
|
|
@@ -14,12 +14,14 @@ describe Puppet::Util::SUIDManager do
|
|
|
14
14
|
pwent = double('pwent', :name => 'fred', :uid => 42, :gid => 42)
|
|
15
15
|
allow(Etc).to receive(:getpwuid).with(42).and_return(pwent)
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
unless Puppet::Util::Platform.windows?
|
|
18
|
+
[:euid, :egid, :uid, :gid, :groups].each do |id|
|
|
19
|
+
allow(Process).to receive("#{id}=") {|value| xids[id] = value}
|
|
20
|
+
end
|
|
19
21
|
end
|
|
20
22
|
end
|
|
21
23
|
|
|
22
|
-
describe "#initgroups" do
|
|
24
|
+
describe "#initgroups", unless: Puppet::Util::Platform.windows? do
|
|
23
25
|
it "should use the primary group of the user as the 'basegid'" do
|
|
24
26
|
expect(Process).to receive(:initgroups).with('fred', 42)
|
|
25
27
|
described_class.initgroups(42)
|
|
@@ -27,7 +29,7 @@ describe Puppet::Util::SUIDManager do
|
|
|
27
29
|
end
|
|
28
30
|
|
|
29
31
|
describe "#uid" do
|
|
30
|
-
it "should allow setting euid/egid" do
|
|
32
|
+
it "should allow setting euid/egid", unless: Puppet::Util::Platform.windows? do
|
|
31
33
|
Puppet::Util::SUIDManager.egid = user[:gid]
|
|
32
34
|
Puppet::Util::SUIDManager.euid = user[:uid]
|
|
33
35
|
|
|
@@ -37,8 +39,7 @@ describe Puppet::Util::SUIDManager do
|
|
|
37
39
|
end
|
|
38
40
|
|
|
39
41
|
describe "#asuser" do
|
|
40
|
-
it "should not get or set euid/egid when not root" do
|
|
41
|
-
allow(Puppet::Util::Platform).to receive(:windows?).and_return(false)
|
|
42
|
+
it "should not get or set euid/egid when not root", unless: Puppet::Util::Platform.windows? do
|
|
42
43
|
allow(Process).to receive(:uid).and_return(1)
|
|
43
44
|
|
|
44
45
|
allow(Process).to receive(:egid).and_return(51)
|
|
@@ -49,13 +50,12 @@ describe Puppet::Util::SUIDManager do
|
|
|
49
50
|
expect(xids).to be_empty
|
|
50
51
|
end
|
|
51
52
|
|
|
52
|
-
context "when root and not
|
|
53
|
+
context "when root and not Windows" do
|
|
53
54
|
before :each do
|
|
54
55
|
allow(Process).to receive(:uid).and_return(0)
|
|
55
|
-
allow(Puppet::Util::Platform).to receive(:windows?).and_return(false)
|
|
56
56
|
end
|
|
57
57
|
|
|
58
|
-
it "should set euid/egid" do
|
|
58
|
+
it "should set euid/egid", unless: Puppet::Util::Platform.windows? do
|
|
59
59
|
allow(Process).to receive(:egid).and_return(51, 51, user[:gid])
|
|
60
60
|
allow(Process).to receive(:euid).and_return(50, 50, user[:uid])
|
|
61
61
|
|
|
@@ -79,29 +79,23 @@ describe Puppet::Util::SUIDManager do
|
|
|
79
79
|
end
|
|
80
80
|
|
|
81
81
|
it "should just yield if user and group are nil" do
|
|
82
|
-
|
|
83
|
-
Puppet::Util::SUIDManager.asuser(nil, nil) { yielded = true }
|
|
84
|
-
expect(yielded).to be_truthy
|
|
82
|
+
expect { |b| Puppet::Util::SUIDManager.asuser(nil, nil, &b) }.to yield_control
|
|
85
83
|
expect(xids).to eq({})
|
|
86
84
|
end
|
|
87
85
|
|
|
88
|
-
it "should just change group if only group is given" do
|
|
89
|
-
|
|
90
|
-
Puppet::Util::SUIDManager.asuser(nil, 42) { yielded = true }
|
|
91
|
-
expect(yielded).to be_truthy
|
|
86
|
+
it "should just change group if only group is given", unless: Puppet::Util::Platform.windows? do
|
|
87
|
+
expect { |b| Puppet::Util::SUIDManager.asuser(nil, 42, &b) }.to yield_control
|
|
92
88
|
expect(xids).to eq({ :egid => 42 })
|
|
93
89
|
end
|
|
94
90
|
|
|
95
|
-
it "should change gid to the primary group of uid by default" do
|
|
91
|
+
it "should change gid to the primary group of uid by default", unless: Puppet::Util::Platform.windows? do
|
|
96
92
|
allow(Process).to receive(:initgroups)
|
|
97
93
|
|
|
98
|
-
|
|
99
|
-
Puppet::Util::SUIDManager.asuser(42) { yielded = true }
|
|
100
|
-
expect(yielded).to be_truthy
|
|
94
|
+
expect { |b| Puppet::Util::SUIDManager.asuser(42, nil, &b) }.to yield_control
|
|
101
95
|
expect(xids).to eq({ :euid => 42, :egid => 42 })
|
|
102
96
|
end
|
|
103
97
|
|
|
104
|
-
it "should change both uid and gid if given" do
|
|
98
|
+
it "should change both uid and gid if given", unless: Puppet::Util::Platform.windows? do
|
|
105
99
|
# I don't like the sequence, but it is the only way to assert on the
|
|
106
100
|
# internal behaviour in a reliable fashion, given we need multiple
|
|
107
101
|
# sequenced calls to the same methods. --daniel 2012-02-05
|
|
@@ -110,21 +104,23 @@ describe Puppet::Util::SUIDManager do
|
|
|
110
104
|
expect(Puppet::Util::SUIDManager).to receive(:change_group).with(Puppet::Util::SUIDManager.egid, false).ordered()
|
|
111
105
|
expect(Puppet::Util::SUIDManager).to receive(:change_user).with(Puppet::Util::SUIDManager.euid, false).ordered()
|
|
112
106
|
|
|
113
|
-
|
|
114
|
-
Puppet::Util::SUIDManager.asuser(42, 43) { yielded = true }
|
|
115
|
-
expect(yielded).to be_truthy
|
|
107
|
+
expect { |b| Puppet::Util::SUIDManager.asuser(42, 43, &b) }.to yield_control
|
|
116
108
|
end
|
|
117
109
|
end
|
|
118
110
|
|
|
119
|
-
it "should
|
|
120
|
-
Puppet::Util::SUIDManager.asuser(
|
|
121
|
-
|
|
122
|
-
expect(xids).to be_empty
|
|
111
|
+
it "should just yield on Windows", if: Puppet::Util::Platform.windows? do
|
|
112
|
+
expect { |b| Puppet::Util::SUIDManager.asuser(1, 2, &b) }.to yield_control
|
|
123
113
|
end
|
|
124
114
|
end
|
|
125
115
|
|
|
126
116
|
describe "#change_group" do
|
|
127
|
-
|
|
117
|
+
it "raises on Windows", if: Puppet::Util::Platform.windows? do
|
|
118
|
+
expect {
|
|
119
|
+
Puppet::Util::SUIDManager.change_group(42, true)
|
|
120
|
+
}.to raise_error(NotImplementedError, /change_privilege\(\) function is unimplemented/)
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
describe "when changing permanently", unless: Puppet::Util::Platform.windows? do
|
|
128
124
|
it "should change_privilege" do
|
|
129
125
|
expect(Process::GID).to receive(:change_privilege) do |gid|
|
|
130
126
|
Process.gid = gid
|
|
@@ -150,7 +146,7 @@ describe Puppet::Util::SUIDManager do
|
|
|
150
146
|
end
|
|
151
147
|
end
|
|
152
148
|
|
|
153
|
-
describe "when changing temporarily" do
|
|
149
|
+
describe "when changing temporarily", unless: Puppet::Util::Platform.windows? do
|
|
154
150
|
it "should change only egid" do
|
|
155
151
|
Puppet::Util::SUIDManager.change_group(42, false)
|
|
156
152
|
|
|
@@ -161,7 +157,13 @@ describe Puppet::Util::SUIDManager do
|
|
|
161
157
|
end
|
|
162
158
|
|
|
163
159
|
describe "#change_user" do
|
|
164
|
-
|
|
160
|
+
it "raises on Windows", if: Puppet::Util::Platform.windows? do
|
|
161
|
+
expect {
|
|
162
|
+
Puppet::Util::SUIDManager.change_user(42, true)
|
|
163
|
+
}.to raise_error(NotImplementedError, /initgroups\(\) function is unimplemented/)
|
|
164
|
+
end
|
|
165
|
+
|
|
166
|
+
describe "when changing permanently", unless: Puppet::Util::Platform.windows? do
|
|
165
167
|
it "should change_privilege" do
|
|
166
168
|
expect(Process::UID).to receive(:change_privilege) do |uid|
|
|
167
169
|
Process.uid = uid
|
|
@@ -191,7 +193,7 @@ describe Puppet::Util::SUIDManager do
|
|
|
191
193
|
end
|
|
192
194
|
end
|
|
193
195
|
|
|
194
|
-
describe "when changing temporarily" do
|
|
196
|
+
describe "when changing temporarily", unless: Puppet::Util::Platform.windows? do
|
|
195
197
|
it "should change only euid and groups" do
|
|
196
198
|
allow(Puppet::Util::SUIDManager).to receive(:initgroups).and_return([])
|
|
197
199
|
Puppet::Util::SUIDManager.change_user(42, false)
|
|
@@ -221,12 +223,7 @@ describe Puppet::Util::SUIDManager do
|
|
|
221
223
|
end
|
|
222
224
|
|
|
223
225
|
describe "#root?" do
|
|
224
|
-
describe "on POSIX systems" do
|
|
225
|
-
before :each do
|
|
226
|
-
allow(Puppet.features).to receive(:posix?).and_return(true)
|
|
227
|
-
allow(Puppet::Util::Platform).to receive(:windows?).and_return(false)
|
|
228
|
-
end
|
|
229
|
-
|
|
226
|
+
describe "on POSIX systems", unless: Puppet::Util::Platform.windows? do
|
|
230
227
|
it "should be root if uid is 0" do
|
|
231
228
|
allow(Process).to receive(:uid).and_return(0)
|
|
232
229
|
|
|
@@ -240,7 +237,7 @@ describe Puppet::Util::SUIDManager do
|
|
|
240
237
|
end
|
|
241
238
|
end
|
|
242
239
|
|
|
243
|
-
describe "on
|
|
240
|
+
describe "on Windows", :if => Puppet::Util::Platform.windows? do
|
|
244
241
|
it "should be root if user is privileged" do
|
|
245
242
|
allow(Puppet::Util::Windows::User).to receive(:admin?).and_return(true)
|
|
246
243
|
|
|
@@ -261,13 +258,19 @@ describe 'Puppet::Util::SUIDManager#groups=' do
|
|
|
261
258
|
Puppet::Util::SUIDManager
|
|
262
259
|
end
|
|
263
260
|
|
|
264
|
-
it "
|
|
261
|
+
it "raises on Windows", if: Puppet::Util::Platform.windows? do
|
|
262
|
+
expect {
|
|
263
|
+
subject.groups = []
|
|
264
|
+
}.to raise_error(NotImplementedError, /groups=\(\) function is unimplemented/)
|
|
265
|
+
end
|
|
266
|
+
|
|
267
|
+
it "(#3419) should rescue Errno::EINVAL on OS X", unless: Puppet::Util::Platform.windows? do
|
|
265
268
|
expect(Process).to receive(:groups=).and_raise(Errno::EINVAL, 'blew up')
|
|
266
269
|
expect(subject).to receive(:osx_maj_ver).and_return('10.7').twice
|
|
267
270
|
subject.groups = ['list', 'of', 'groups']
|
|
268
271
|
end
|
|
269
272
|
|
|
270
|
-
it "(#3419) should fail if an Errno::EINVAL is raised NOT on OS X" do
|
|
273
|
+
it "(#3419) should fail if an Errno::EINVAL is raised NOT on OS X", unless: Puppet::Util::Platform.windows? do
|
|
271
274
|
expect(Process).to receive(:groups=).and_raise(Errno::EINVAL, 'blew up')
|
|
272
275
|
expect(subject).to receive(:osx_maj_ver).and_return(false)
|
|
273
276
|
expect { subject.groups = ['list', 'of', 'groups'] }.to raise_error(Errno::EINVAL)
|
|
@@ -158,6 +158,12 @@ describe "Puppet::Util::Windows::SID", :if => Puppet::Util::Platform.windows? do
|
|
|
158
158
|
# this works in French Windows, even though the account is really AUTORITE NT\\Syst\u00E8me
|
|
159
159
|
expect(subject.name_to_principal('NT AUTHORITY\SYSTEM').sid).to eq(sid)
|
|
160
160
|
end
|
|
161
|
+
|
|
162
|
+
it "should print a debug message on failures" do
|
|
163
|
+
expect(Puppet).to receive(:debug).with(/Could not retrieve raw SID bytes from 'NonExistingUser'/)
|
|
164
|
+
expect(Puppet).to receive(:debug).with(/No mapping between account names and security IDs was done/)
|
|
165
|
+
subject.name_to_principal('NonExistingUser')
|
|
166
|
+
end
|
|
161
167
|
end
|
|
162
168
|
|
|
163
169
|
context "#ads_to_principal" do
|
data/spec/unit/util_spec.rb
CHANGED
|
@@ -309,7 +309,7 @@ describe Puppet::Util do
|
|
|
309
309
|
|
|
310
310
|
describe "when using platform :posix" do
|
|
311
311
|
before :each do
|
|
312
|
-
allow(Puppet.features).to receive(:posix).and_return(true)
|
|
312
|
+
allow(Puppet.features).to receive(:posix?).and_return(true)
|
|
313
313
|
allow(Puppet::Util::Platform).to receive(:windows?).and_return(false)
|
|
314
314
|
end
|
|
315
315
|
|
|
@@ -322,7 +322,7 @@ describe Puppet::Util do
|
|
|
322
322
|
|
|
323
323
|
describe "when using platform :windows" do
|
|
324
324
|
before :each do
|
|
325
|
-
allow(Puppet.features).to receive(:posix).and_return(false)
|
|
325
|
+
allow(Puppet.features).to receive(:posix?).and_return(false)
|
|
326
326
|
allow(Puppet::Util::Platform).to receive(:windows?).and_return(true)
|
|
327
327
|
end
|
|
328
328
|
|
|
@@ -456,7 +456,7 @@ describe Puppet::Util do
|
|
|
456
456
|
|
|
457
457
|
describe "when using platform :posix" do
|
|
458
458
|
before :each do
|
|
459
|
-
allow(Puppet.features).to receive(:posix).and_return(true)
|
|
459
|
+
allow(Puppet.features).to receive(:posix?).and_return(true)
|
|
460
460
|
allow(Puppet::Util::Platform).to receive(:windows?).and_return(false)
|
|
461
461
|
end
|
|
462
462
|
|
|
@@ -495,7 +495,7 @@ describe Puppet::Util do
|
|
|
495
495
|
|
|
496
496
|
describe "when using platform :windows" do
|
|
497
497
|
before :each do
|
|
498
|
-
allow(Puppet.features).to receive(:posix).and_return(false)
|
|
498
|
+
allow(Puppet.features).to receive(:posix?).and_return(false)
|
|
499
499
|
allow(Puppet::Util::Platform).to receive(:windows?).and_return(true)
|
|
500
500
|
end
|
|
501
501
|
|
|
@@ -533,7 +533,6 @@ describe Puppet::Util do
|
|
|
533
533
|
expect(Puppet::Util.uri_to_path(URI.parse('http://foo/bar%20baz'))).to eq('/bar baz')
|
|
534
534
|
end
|
|
535
535
|
|
|
536
|
-
|
|
537
536
|
[
|
|
538
537
|
"http://foo/A%DB%BF%E1%9A%A0%F0%A0%9C%8E",
|
|
539
538
|
"http://foo/A%DB%BF%E1%9A%A0%F0%A0%9C%8E".force_encoding(Encoding::ASCII)
|
|
@@ -583,7 +582,15 @@ describe Puppet::Util do
|
|
|
583
582
|
end
|
|
584
583
|
end
|
|
585
584
|
|
|
586
|
-
describe "safe_posix_fork" do
|
|
585
|
+
describe "safe_posix_fork on Windows and JRuby", if: Puppet::Util::Platform.windows? || Puppet::Util::Platform.jruby? do
|
|
586
|
+
it "raises not implemented error" do
|
|
587
|
+
expect {
|
|
588
|
+
Puppet::Util.safe_posix_fork
|
|
589
|
+
}.to raise_error(NotImplementedError, /fork/)
|
|
590
|
+
end
|
|
591
|
+
end
|
|
592
|
+
|
|
593
|
+
describe "safe_posix_fork", unless: Puppet::Util::Platform.windows? || Puppet::Util::Platform.jruby? do
|
|
587
594
|
let(:pid) { 5501 }
|
|
588
595
|
|
|
589
596
|
before :each do
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: puppet
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 7.
|
|
4
|
+
version: 7.5.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Puppet Labs
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2021-03-15 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: facter
|
|
@@ -148,6 +148,20 @@ dependencies:
|
|
|
148
148
|
- - "~>"
|
|
149
149
|
- !ruby/object:Gem::Version
|
|
150
150
|
version: '1.0'
|
|
151
|
+
- !ruby/object:Gem::Dependency
|
|
152
|
+
name: scanf
|
|
153
|
+
requirement: !ruby/object:Gem::Requirement
|
|
154
|
+
requirements:
|
|
155
|
+
- - "~>"
|
|
156
|
+
- !ruby/object:Gem::Version
|
|
157
|
+
version: '1.0'
|
|
158
|
+
type: :runtime
|
|
159
|
+
prerelease: false
|
|
160
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
161
|
+
requirements:
|
|
162
|
+
- - "~>"
|
|
163
|
+
- !ruby/object:Gem::Version
|
|
164
|
+
version: '1.0'
|
|
151
165
|
description: Puppet, an automated configuration management tool
|
|
152
166
|
email: info@puppetlabs.com
|
|
153
167
|
executables:
|
|
@@ -397,6 +411,9 @@ files:
|
|
|
397
411
|
- lib/puppet/feature/ssh.rb
|
|
398
412
|
- lib/puppet/feature/telnet.rb
|
|
399
413
|
- lib/puppet/feature/zlib.rb
|
|
414
|
+
- lib/puppet/ffi/posix.rb
|
|
415
|
+
- lib/puppet/ffi/posix/constants.rb
|
|
416
|
+
- lib/puppet/ffi/posix/functions.rb
|
|
400
417
|
- lib/puppet/ffi/windows.rb
|
|
401
418
|
- lib/puppet/ffi/windows/api_types.rb
|
|
402
419
|
- lib/puppet/ffi/windows/constants.rb
|
|
@@ -689,6 +706,9 @@ files:
|
|
|
689
706
|
- lib/puppet/network/http/api/master.rb
|
|
690
707
|
- lib/puppet/network/http/api/master/v3.rb
|
|
691
708
|
- lib/puppet/network/http/api/master/v3/environments.rb
|
|
709
|
+
- lib/puppet/network/http/api/server.rb
|
|
710
|
+
- lib/puppet/network/http/api/server/v3.rb
|
|
711
|
+
- lib/puppet/network/http/api/server/v3/environments.rb
|
|
692
712
|
- lib/puppet/network/http/connection.rb
|
|
693
713
|
- lib/puppet/network/http/error.rb
|
|
694
714
|
- lib/puppet/network/http/handler.rb
|
|
@@ -1094,6 +1114,7 @@ files:
|
|
|
1094
1114
|
- lib/puppet/scheduler/splay_job.rb
|
|
1095
1115
|
- lib/puppet/scheduler/timer.rb
|
|
1096
1116
|
- lib/puppet/settings.rb
|
|
1117
|
+
- lib/puppet/settings/alias_setting.rb
|
|
1097
1118
|
- lib/puppet/settings/array_setting.rb
|
|
1098
1119
|
- lib/puppet/settings/autosign_setting.rb
|
|
1099
1120
|
- lib/puppet/settings/base_setting.rb
|
|
@@ -1337,6 +1358,7 @@ files:
|
|
|
1337
1358
|
- man/man8/puppet.8
|
|
1338
1359
|
- spec/fixtures/faulty_face/puppet/face/syntax.rb
|
|
1339
1360
|
- spec/fixtures/hiera.yaml
|
|
1361
|
+
- spec/fixtures/integration/application/agent/cached_deferred_catalog.json
|
|
1340
1362
|
- spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/provider/applytest/applytest.rb
|
|
1341
1363
|
- spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/type/applytest.rb
|
|
1342
1364
|
- spec/fixtures/integration/node/environment/sitedir/00_a.pp
|
|
@@ -1800,10 +1822,8 @@ files:
|
|
|
1800
1822
|
- spec/integration/util/windows/user_spec.rb
|
|
1801
1823
|
- spec/integration/util_spec.rb
|
|
1802
1824
|
- spec/lib/matchers/containment_matchers.rb
|
|
1803
|
-
- spec/lib/matchers/include.rb
|
|
1804
1825
|
- spec/lib/matchers/include_in_order.rb
|
|
1805
1826
|
- spec/lib/matchers/include_in_order_spec.rb
|
|
1806
|
-
- spec/lib/matchers/include_spec.rb
|
|
1807
1827
|
- spec/lib/matchers/json.rb
|
|
1808
1828
|
- spec/lib/matchers/match_tokens2.rb
|
|
1809
1829
|
- spec/lib/matchers/relationship_graph_matchers.rb
|
|
@@ -2128,8 +2148,9 @@ files:
|
|
|
2128
2148
|
- spec/unit/network/format_support_spec.rb
|
|
2129
2149
|
- spec/unit/network/formats_spec.rb
|
|
2130
2150
|
- spec/unit/network/http/api/indirected_routes_spec.rb
|
|
2131
|
-
- spec/unit/network/http/api/
|
|
2132
|
-
- spec/unit/network/http/api/
|
|
2151
|
+
- spec/unit/network/http/api/master_spec.rb
|
|
2152
|
+
- spec/unit/network/http/api/server/v3/environments_spec.rb
|
|
2153
|
+
- spec/unit/network/http/api/server/v3_spec.rb
|
|
2133
2154
|
- spec/unit/network/http/api_spec.rb
|
|
2134
2155
|
- spec/unit/network/http/connection_spec.rb
|
|
2135
2156
|
- spec/unit/network/http/error_spec.rb
|
|
@@ -2192,6 +2213,7 @@ files:
|
|
|
2192
2213
|
- spec/unit/pops/evaluator/collections_ops_spec.rb
|
|
2193
2214
|
- spec/unit/pops/evaluator/comparison_ops_spec.rb
|
|
2194
2215
|
- spec/unit/pops/evaluator/conditionals_spec.rb
|
|
2216
|
+
- spec/unit/pops/evaluator/deferred_resolver_spec.rb
|
|
2195
2217
|
- spec/unit/pops/evaluator/evaluating_parser_spec.rb
|
|
2196
2218
|
- spec/unit/pops/evaluator/evaluator_rspec_helper.rb
|
|
2197
2219
|
- spec/unit/pops/evaluator/json_strict_literal_evaluator_spec.rb
|
|
@@ -2222,10 +2244,8 @@ files:
|
|
|
2222
2244
|
- spec/unit/pops/parser/evaluating_parser_spec.rb
|
|
2223
2245
|
- spec/unit/pops/parser/lexer2_spec.rb
|
|
2224
2246
|
- spec/unit/pops/parser/locator_spec.rb
|
|
2225
|
-
- spec/unit/pops/parser/parse_application_spec.rb
|
|
2226
2247
|
- spec/unit/pops/parser/parse_basic_expressions_spec.rb
|
|
2227
2248
|
- spec/unit/pops/parser/parse_calls_spec.rb
|
|
2228
|
-
- spec/unit/pops/parser/parse_capabilities_spec.rb
|
|
2229
2249
|
- spec/unit/pops/parser/parse_conditionals_spec.rb
|
|
2230
2250
|
- spec/unit/pops/parser/parse_containers_spec.rb
|
|
2231
2251
|
- spec/unit/pops/parser/parse_functions_spec.rb
|
|
@@ -2233,7 +2253,6 @@ files:
|
|
|
2233
2253
|
- spec/unit/pops/parser/parse_lambda_spec.rb
|
|
2234
2254
|
- spec/unit/pops/parser/parse_plan_spec.rb
|
|
2235
2255
|
- spec/unit/pops/parser/parse_resource_spec.rb
|
|
2236
|
-
- spec/unit/pops/parser/parse_site_spec.rb
|
|
2237
2256
|
- spec/unit/pops/parser/parser_rspec_helper.rb
|
|
2238
2257
|
- spec/unit/pops/parser/parser_spec.rb
|
|
2239
2258
|
- spec/unit/pops/parser/parsing_typed_parameters_spec.rb
|
|
@@ -2575,6 +2594,7 @@ summary: Puppet, an automated configuration management tool
|
|
|
2575
2594
|
test_files:
|
|
2576
2595
|
- spec/fixtures/faulty_face/puppet/face/syntax.rb
|
|
2577
2596
|
- spec/fixtures/hiera.yaml
|
|
2597
|
+
- spec/fixtures/integration/application/agent/cached_deferred_catalog.json
|
|
2578
2598
|
- spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/provider/applytest/applytest.rb
|
|
2579
2599
|
- spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/type/applytest.rb
|
|
2580
2600
|
- spec/fixtures/integration/node/environment/sitedir/00_a.pp
|
|
@@ -3038,10 +3058,8 @@ test_files:
|
|
|
3038
3058
|
- spec/integration/util/windows/user_spec.rb
|
|
3039
3059
|
- spec/integration/util_spec.rb
|
|
3040
3060
|
- spec/lib/matchers/containment_matchers.rb
|
|
3041
|
-
- spec/lib/matchers/include.rb
|
|
3042
3061
|
- spec/lib/matchers/include_in_order.rb
|
|
3043
3062
|
- spec/lib/matchers/include_in_order_spec.rb
|
|
3044
|
-
- spec/lib/matchers/include_spec.rb
|
|
3045
3063
|
- spec/lib/matchers/json.rb
|
|
3046
3064
|
- spec/lib/matchers/match_tokens2.rb
|
|
3047
3065
|
- spec/lib/matchers/relationship_graph_matchers.rb
|
|
@@ -3366,8 +3384,9 @@ test_files:
|
|
|
3366
3384
|
- spec/unit/network/format_support_spec.rb
|
|
3367
3385
|
- spec/unit/network/formats_spec.rb
|
|
3368
3386
|
- spec/unit/network/http/api/indirected_routes_spec.rb
|
|
3369
|
-
- spec/unit/network/http/api/
|
|
3370
|
-
- spec/unit/network/http/api/
|
|
3387
|
+
- spec/unit/network/http/api/master_spec.rb
|
|
3388
|
+
- spec/unit/network/http/api/server/v3/environments_spec.rb
|
|
3389
|
+
- spec/unit/network/http/api/server/v3_spec.rb
|
|
3371
3390
|
- spec/unit/network/http/api_spec.rb
|
|
3372
3391
|
- spec/unit/network/http/connection_spec.rb
|
|
3373
3392
|
- spec/unit/network/http/error_spec.rb
|
|
@@ -3430,6 +3449,7 @@ test_files:
|
|
|
3430
3449
|
- spec/unit/pops/evaluator/collections_ops_spec.rb
|
|
3431
3450
|
- spec/unit/pops/evaluator/comparison_ops_spec.rb
|
|
3432
3451
|
- spec/unit/pops/evaluator/conditionals_spec.rb
|
|
3452
|
+
- spec/unit/pops/evaluator/deferred_resolver_spec.rb
|
|
3433
3453
|
- spec/unit/pops/evaluator/evaluating_parser_spec.rb
|
|
3434
3454
|
- spec/unit/pops/evaluator/evaluator_rspec_helper.rb
|
|
3435
3455
|
- spec/unit/pops/evaluator/json_strict_literal_evaluator_spec.rb
|
|
@@ -3460,10 +3480,8 @@ test_files:
|
|
|
3460
3480
|
- spec/unit/pops/parser/evaluating_parser_spec.rb
|
|
3461
3481
|
- spec/unit/pops/parser/lexer2_spec.rb
|
|
3462
3482
|
- spec/unit/pops/parser/locator_spec.rb
|
|
3463
|
-
- spec/unit/pops/parser/parse_application_spec.rb
|
|
3464
3483
|
- spec/unit/pops/parser/parse_basic_expressions_spec.rb
|
|
3465
3484
|
- spec/unit/pops/parser/parse_calls_spec.rb
|
|
3466
|
-
- spec/unit/pops/parser/parse_capabilities_spec.rb
|
|
3467
3485
|
- spec/unit/pops/parser/parse_conditionals_spec.rb
|
|
3468
3486
|
- spec/unit/pops/parser/parse_containers_spec.rb
|
|
3469
3487
|
- spec/unit/pops/parser/parse_functions_spec.rb
|
|
@@ -3471,7 +3489,6 @@ test_files:
|
|
|
3471
3489
|
- spec/unit/pops/parser/parse_lambda_spec.rb
|
|
3472
3490
|
- spec/unit/pops/parser/parse_plan_spec.rb
|
|
3473
3491
|
- spec/unit/pops/parser/parse_resource_spec.rb
|
|
3474
|
-
- spec/unit/pops/parser/parse_site_spec.rb
|
|
3475
3492
|
- spec/unit/pops/parser/parser_rspec_helper.rb
|
|
3476
3493
|
- spec/unit/pops/parser/parser_spec.rb
|
|
3477
3494
|
- spec/unit/pops/parser/parsing_typed_parameters_spec.rb
|