chef 15.6.10-universal-mingw32 → 15.7.30-universal-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +1 -1
- data/README.md +2 -2
- data/lib/chef/chef_fs/file_system/chef_server/cookbooks_dir.rb +22 -5
- data/lib/chef/cookbook/cookbook_version_loader.rb +12 -6
- data/lib/chef/cookbook_loader.rb +55 -2
- data/lib/chef/cookbook_uploader.rb +2 -0
- data/lib/chef/cookbook_version.rb +17 -0
- data/lib/chef/dist.rb +3 -3
- data/lib/chef/event_loggers/windows_eventlog.rb +1 -1
- data/lib/chef/knife/bootstrap.rb +5 -0
- data/lib/chef/knife/bootstrap/templates/chef-full.erb +11 -11
- data/lib/chef/knife/cookbook_upload.rb +75 -45
- data/lib/chef/knife/core/bootstrap_context.rb +5 -5
- data/lib/chef/knife/core/windows_bootstrap_context.rb +1 -1
- data/lib/chef/knife/supermarket_install.rb +1 -1
- data/lib/chef/log/winevt.rb +1 -1
- data/lib/chef/mixin/openssl_helper.rb +21 -0
- data/lib/chef/monkey_patches/net_http.rb +0 -38
- data/lib/chef/provider/cron.rb +54 -9
- data/lib/chef/provider/cron/aix.rb +9 -2
- data/lib/chef/provider/launchd.rb +1 -1
- data/lib/chef/provider/user/aix.rb +1 -1
- data/lib/chef/provider/user/mac.rb +17 -22
- data/lib/chef/provider/windows_task.rb +2 -2
- data/lib/chef/resource/archive_file.rb +5 -2
- data/lib/chef/resource/cron.rb +29 -0
- data/lib/chef/resource/cron_d.rb +29 -0
- data/lib/chef/resource/openssl_x509_certificate.rb +32 -21
- data/lib/chef/resource/sudo.rb +13 -4
- data/lib/chef/version.rb +2 -2
- data/lib/chef/version_string.rb +3 -126
- data/spec/data/cookbooks/apache2/metadata.json +33 -0
- data/spec/data/cookbooks/java/metadata.json +33 -0
- data/spec/functional/event_loggers/windows_eventlog_spec.rb +5 -5
- data/spec/integration/knife/chef_fs_data_store_spec.rb +7 -2
- data/spec/integration/knife/cookbook_upload_spec.rb +10 -0
- data/spec/integration/knife/deps_spec.rb +11 -0
- data/spec/integration/knife/upload_spec.rb +115 -14
- data/spec/unit/cookbook/cookbook_version_loader_spec.rb +7 -4
- data/spec/unit/knife/cookbook_upload_spec.rb +79 -18
- data/spec/unit/mixin/openssl_helper_spec.rb +42 -0
- data/spec/unit/provider/cron_spec.rb +127 -0
- data/spec/unit/provider/user/aix_spec.rb +2 -2
- metadata +8 -6
@@ -854,4 +854,46 @@ describe Chef::Mixin::OpenSSLHelper do
|
|
854
854
|
end
|
855
855
|
end
|
856
856
|
end
|
857
|
+
|
858
|
+
describe "#cert_need_renewall?" do
|
859
|
+
require "tempfile"
|
860
|
+
|
861
|
+
before(:each) do
|
862
|
+
@certfile = Tempfile.new("certfile")
|
863
|
+
end
|
864
|
+
|
865
|
+
context "When the cert file doesnt not exist" do
|
866
|
+
it "returns true" do
|
867
|
+
expect(instance.cert_need_renewall?("/tmp/bad_filename", 3650)).to be_truthy
|
868
|
+
end
|
869
|
+
end
|
870
|
+
|
871
|
+
context "When the cert file does exist, but does not contain a valid Certificate" do
|
872
|
+
it "returns true" do
|
873
|
+
@certfile.write("I_am_not_a_cert_I_am_a_free_man")
|
874
|
+
@certfile.close
|
875
|
+
expect(instance.cert_need_renewall?(@certfile.path, 3650)).to be_truthy
|
876
|
+
end
|
877
|
+
end
|
878
|
+
|
879
|
+
context "When the cert file does exist, and does not contain a soon to expire certficitate" do
|
880
|
+
it "returns false" do
|
881
|
+
@certfile.write("-----BEGIN CERTIFICATE-----\nMIIDODCCAiCgAwIBAgIVAPCkjE+wlZ1PgXwgvFgXKzhSpUkvMA0GCSqGSIb3DQEB\nCwUAMA0xCzAJBgNVBAMMAkNBMB4XDTE5MTIyNTEyNTY1NVoXDTI5MTIyMjEyNTY1\nNVowDTELMAkGA1UEAwwCQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC9bDWs5akf85UEMj8kry4DYNuAnaL4GnMs6XukQtp3dso+FgbKprgVogyepnet\nE+GlQq32u/n4y8K228kB6NoCn+c/yP+4QlKUBt0xSzQbSUuAE/5xZoKi/kH1ZsQ/\nuKXN/tIHagApEUGn5zqc8WBvWPliRAqiklwj8WtSw1WRa5eCdaVtln3wKuvPnYR5\n/V4YBHyHNhtlfXJBMtEaXm1rRzJGun+FdcrsCfcIFXp8lWobF+EVP8fRwqFTEtT6\nRXv6RT8sHy53a0KNTm8qnbacfr1MofgUuhzLjOrbIVvXpnRLeOkv8XW5rSH+zgsC\nZFK3bJ3j6UVbFQV4jXwlAWVrAgMBAAGjgY4wgYswDgYDVR0PAQH/BAQDAgGmMA8G\nA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFK4S2PNu6bpjxkJxedNaxfCrwtD4MEkG\nA1UdIwRCMECAFK4S2PNu6bpjxkJxedNaxfCrwtD4oRGkDzANMQswCQYDVQQDDAJD\nQYIVAPCkjE+wlZ1PgXwgvFgXKzhSpUkvMA0GCSqGSIb3DQEBCwUAA4IBAQBGk+u3\n9N3PLWNOwYrqK7fD4yceWnz4UsV9uN1IU5PQTgYBaGyAZvU+VJluZZeDj7QjwbUW\ngISclvW/pSWpUVW3O0sfAM97u+5UMYHz4W5Bgq8CtdOKHgdZHKhzBePhmou11zO0\nZ6uQ7bkh0/REqKO7TFKaMMnakEhFXoDrS1EiB4W69KVXyrBVzVm5LK7uvOAQAeMp\nnEk3Oz+5pmKjSCf1cEd2jzAgDbaVrIvxICPgXAlNrKukmRW/0UHqDDVBfF7PioD2\nptlQFxWIkih6s/clwhsBFBwV1yyCirYfjhzmKPPLZUmx10okudLzaKrRbkPxrzbC\nmKEZoV+Nz2CNrGm5\n-----END CERTIFICATE-----\n")
|
882
|
+
@certfile.close
|
883
|
+
expect(instance.cert_need_renewall?(@certfile.path, 5)).to be_falsey
|
884
|
+
end
|
885
|
+
end
|
886
|
+
|
887
|
+
context "When the cert file does exist, and does contain a soon to expire certficitate" do
|
888
|
+
it "returns true" do
|
889
|
+
@certfile.write("-----BEGIN CERTIFICATE-----\nMIIDODCCAiCgAwIBAgIVAPCkjE+wlZ1PgXwgvFgXKzhSpUkvMA0GCSqGSIb3DQEB\nCwUAMA0xCzAJBgNVBAMMAkNBMB4XDTE5MTIyNTEyNTY1NVoXDTI5MTIyMjEyNTY1\nNVowDTELMAkGA1UEAwwCQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQC9bDWs5akf85UEMj8kry4DYNuAnaL4GnMs6XukQtp3dso+FgbKprgVogyepnet\nE+GlQq32u/n4y8K228kB6NoCn+c/yP+4QlKUBt0xSzQbSUuAE/5xZoKi/kH1ZsQ/\nuKXN/tIHagApEUGn5zqc8WBvWPliRAqiklwj8WtSw1WRa5eCdaVtln3wKuvPnYR5\n/V4YBHyHNhtlfXJBMtEaXm1rRzJGun+FdcrsCfcIFXp8lWobF+EVP8fRwqFTEtT6\nRXv6RT8sHy53a0KNTm8qnbacfr1MofgUuhzLjOrbIVvXpnRLeOkv8XW5rSH+zgsC\nZFK3bJ3j6UVbFQV4jXwlAWVrAgMBAAGjgY4wgYswDgYDVR0PAQH/BAQDAgGmMA8G\nA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFK4S2PNu6bpjxkJxedNaxfCrwtD4MEkG\nA1UdIwRCMECAFK4S2PNu6bpjxkJxedNaxfCrwtD4oRGkDzANMQswCQYDVQQDDAJD\nQYIVAPCkjE+wlZ1PgXwgvFgXKzhSpUkvMA0GCSqGSIb3DQEBCwUAA4IBAQBGk+u3\n9N3PLWNOwYrqK7fD4yceWnz4UsV9uN1IU5PQTgYBaGyAZvU+VJluZZeDj7QjwbUW\ngISclvW/pSWpUVW3O0sfAM97u+5UMYHz4W5Bgq8CtdOKHgdZHKhzBePhmou11zO0\nZ6uQ7bkh0/REqKO7TFKaMMnakEhFXoDrS1EiB4W69KVXyrBVzVm5LK7uvOAQAeMp\nnEk3Oz+5pmKjSCf1cEd2jzAgDbaVrIvxICPgXAlNrKukmRW/0UHqDDVBfF7PioD2\nptlQFxWIkih6s/clwhsBFBwV1yyCirYfjhzmKPPLZUmx10okudLzaKrRbkPxrzbC\nmKEZoV+Nz2CNrGm5\n-----END CERTIFICATE-----\n")
|
890
|
+
@certfile.close
|
891
|
+
expect(instance.cert_need_renewall?(@certfile.path, 3650)).to be_truthy
|
892
|
+
end
|
893
|
+
end
|
894
|
+
|
895
|
+
after(:each) do
|
896
|
+
@certfile.unlink
|
897
|
+
end
|
898
|
+
end
|
857
899
|
end
|
@@ -1081,4 +1081,131 @@ describe Chef::Provider::Cron do
|
|
1081
1081
|
end
|
1082
1082
|
end
|
1083
1083
|
end
|
1084
|
+
|
1085
|
+
describe "#env_var_str" do
|
1086
|
+
context "when no env vars are set" do
|
1087
|
+
it "returns an empty string" do
|
1088
|
+
expect(@provider.send(:env_var_str)).to be_empty
|
1089
|
+
end
|
1090
|
+
end
|
1091
|
+
let(:mailto) { "foo@example.com" }
|
1092
|
+
context "When set directly" do
|
1093
|
+
it "returns string with value" do
|
1094
|
+
@new_resource.mailto mailto
|
1095
|
+
expect(@provider.send(:env_var_str)).to include(mailto)
|
1096
|
+
end
|
1097
|
+
end
|
1098
|
+
context "When set within the hash" do
|
1099
|
+
context "env properties" do
|
1100
|
+
it "returns string with a warning" do
|
1101
|
+
@new_resource.environment "MAILTO" => mailto
|
1102
|
+
expect(logger).to receive(:warn).with("cronhole some stuff: the environment property contains the 'MAILTO' variable, which should be set separately as a property.")
|
1103
|
+
expect(@provider.send(:env_var_str)).to include(mailto)
|
1104
|
+
end
|
1105
|
+
end
|
1106
|
+
context "other properties" do
|
1107
|
+
it "returns string with no warning" do
|
1108
|
+
@new_resource.environment "FOOMAILTO" => mailto
|
1109
|
+
expect(logger).not_to receive(:warn).with("cronhole some stuff: the environment property contains the 'MAILTO' variable, which should be set separately as a property.")
|
1110
|
+
expect(@provider.send(:env_var_str)).to include(mailto)
|
1111
|
+
end
|
1112
|
+
it "and a line break within properties" do
|
1113
|
+
@new_resource.environment "FOOMAILTO" => mailto, "BARMAILTO" => mailto
|
1114
|
+
expect(@provider.send(:env_var_str)).to eq("FOOMAILTO=foo@example.com\nBARMAILTO=foo@example.com")
|
1115
|
+
end
|
1116
|
+
end
|
1117
|
+
context "both env and other properties" do
|
1118
|
+
it "returns string with line break within the properties" do
|
1119
|
+
@new_resource.mailto mailto
|
1120
|
+
@new_resource.environment "FOOMAILTO" => mailto
|
1121
|
+
expect(@provider.send(:env_var_str)).to eq("MAILTO=\"foo@example.com\"\nFOOMAILTO=foo@example.com")
|
1122
|
+
end
|
1123
|
+
end
|
1124
|
+
end
|
1125
|
+
end
|
1126
|
+
|
1127
|
+
describe "#duration_str" do
|
1128
|
+
context "time as a frequency" do
|
1129
|
+
it "returns string" do
|
1130
|
+
@new_resource.time :yearly
|
1131
|
+
expect(@provider.send(:duration_str)).to eq("@yearly")
|
1132
|
+
end
|
1133
|
+
end
|
1134
|
+
context "time as a duration" do
|
1135
|
+
it "defaults to * (No Specific Value)" do
|
1136
|
+
@new_resource.minute "1"
|
1137
|
+
expect(@provider.send(:duration_str)).to eq("1 * * * *")
|
1138
|
+
end
|
1139
|
+
it "returns cron format string" do
|
1140
|
+
@new_resource.minute "1"
|
1141
|
+
@new_resource.hour "2"
|
1142
|
+
@new_resource.day "3"
|
1143
|
+
@new_resource.month "4"
|
1144
|
+
@new_resource.weekday "5"
|
1145
|
+
expect(@provider.send(:duration_str)).to eq("1 2 3 4 5")
|
1146
|
+
end
|
1147
|
+
end
|
1148
|
+
end
|
1149
|
+
|
1150
|
+
describe "#time_out_str" do
|
1151
|
+
context "When not given" do
|
1152
|
+
it "Returns an empty string" do
|
1153
|
+
expect(@provider.send(:time_out_str)).to be_empty
|
1154
|
+
end
|
1155
|
+
end
|
1156
|
+
context "When given" do
|
1157
|
+
let(:time_out_str_val) { " timeout 10;" }
|
1158
|
+
context "as String" do
|
1159
|
+
it "returns string" do
|
1160
|
+
@new_resource.time_out "10"
|
1161
|
+
expect(@provider.send(:time_out_str)).to eq time_out_str_val
|
1162
|
+
end
|
1163
|
+
end
|
1164
|
+
context "as Integer" do
|
1165
|
+
it "returns string" do
|
1166
|
+
@new_resource.time_out "10"
|
1167
|
+
expect(@provider.send(:time_out_str)).to eq time_out_str_val
|
1168
|
+
end
|
1169
|
+
end
|
1170
|
+
context "as Hash" do
|
1171
|
+
it "returns string" do
|
1172
|
+
@new_resource.time_out "duration" => "10"
|
1173
|
+
expect(@provider.send(:time_out_str)).to eq time_out_str_val
|
1174
|
+
end
|
1175
|
+
it "also contains properties" do
|
1176
|
+
@new_resource.time_out "duration" => "10", "foreground" => "true", "signal" => "FOO"
|
1177
|
+
expect(@provider.send(:time_out_str)).to eq " timeout --foreground --signal FOO 10;"
|
1178
|
+
end
|
1179
|
+
end
|
1180
|
+
end
|
1181
|
+
end
|
1182
|
+
|
1183
|
+
describe "#cmd_str" do
|
1184
|
+
context "With command" do
|
1185
|
+
let(:cmd) { "FOOBAR" }
|
1186
|
+
before {
|
1187
|
+
@new_resource.command cmd
|
1188
|
+
}
|
1189
|
+
it "returns a string with command" do
|
1190
|
+
expect(@provider.send(:cmd_str)).to include(cmd)
|
1191
|
+
end
|
1192
|
+
it "string ends with a next line" do
|
1193
|
+
expect(@provider.send(:cmd_str)[-1]).to eq("\n")
|
1194
|
+
end
|
1195
|
+
end
|
1196
|
+
context "Without command, passed" do
|
1197
|
+
context "as nil" do
|
1198
|
+
it "returns an empty string with a next line" do
|
1199
|
+
@new_resource.command nil
|
1200
|
+
expect(@provider.send(:cmd_str)).to eq(" \n")
|
1201
|
+
end
|
1202
|
+
end
|
1203
|
+
context "as an empty string" do
|
1204
|
+
it "returns an empty string with a next line" do
|
1205
|
+
@new_resource.command ""
|
1206
|
+
expect(@provider.send(:cmd_str)).to eq(" \n")
|
1207
|
+
end
|
1208
|
+
end
|
1209
|
+
end
|
1210
|
+
end
|
1084
1211
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright:: Copyright 2017, Chef Software Inc.
|
1
|
+
# Copyright:: Copyright 2017-2019, Chef Software Inc.
|
2
2
|
#
|
3
3
|
# License:: Apache License, Version 2.0
|
4
4
|
#
|
@@ -51,7 +51,7 @@ describe Chef::Provider::User::Aix do
|
|
51
51
|
end
|
52
52
|
|
53
53
|
it "should call chpasswd correctly" do
|
54
|
-
expect(provider).to receive(:shell_out_compacted!).with("echo 'adam:Ostagazuzulum' | chpasswd -e").and_return true
|
54
|
+
expect(provider).to receive(:shell_out_compacted!).with("echo 'adam:Ostagazuzulum' | chpasswd -c -e").and_return true
|
55
55
|
provider.manage_user
|
56
56
|
end
|
57
57
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chef
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 15.
|
4
|
+
version: 15.7.30
|
5
5
|
platform: universal-mingw32
|
6
6
|
authors:
|
7
7
|
- Adam Jacob
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-01-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: chef-config
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 15.
|
19
|
+
version: 15.7.30
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 15.
|
26
|
+
version: 15.7.30
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: chef-utils
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - '='
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 15.
|
33
|
+
version: 15.7.30
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - '='
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 15.
|
40
|
+
version: 15.7.30
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: train-core
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -1692,6 +1692,7 @@ files:
|
|
1692
1692
|
- spec/data/cookbooks/angrybash/metadata.rb
|
1693
1693
|
- spec/data/cookbooks/angrybash/recipes/default.rb
|
1694
1694
|
- spec/data/cookbooks/apache2/files/default/apache2_module_conf_generate.pl
|
1695
|
+
- spec/data/cookbooks/apache2/metadata.json
|
1695
1696
|
- spec/data/cookbooks/apache2/metadata.rb
|
1696
1697
|
- spec/data/cookbooks/apache2/recipes/default.rb
|
1697
1698
|
- spec/data/cookbooks/borken/metadata.rb
|
@@ -1705,6 +1706,7 @@ files:
|
|
1705
1706
|
- spec/data/cookbooks/ignorken/templates/ubuntu-12.10/not_me.rb
|
1706
1707
|
- spec/data/cookbooks/irssi/files/default/irssi.response
|
1707
1708
|
- spec/data/cookbooks/java/files/default/java.response
|
1709
|
+
- spec/data/cookbooks/java/metadata.json
|
1708
1710
|
- spec/data/cookbooks/java/metadata.rb
|
1709
1711
|
- spec/data/cookbooks/name-mismatch-versionnumber/README.md
|
1710
1712
|
- spec/data/cookbooks/name-mismatch-versionnumber/metadata.rb
|