vcloud-edge_gateway 0.4.0 → 0.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.
- data/CHANGELOG.md +6 -0
- data/README.md +28 -0
- data/bin/vcloud-configure-edge +3 -2
- data/lib/vcloud/edge_gateway.rb +5 -6
- data/lib/vcloud/edge_gateway/configuration_generator/load_balancer_service.rb +14 -10
- data/lib/vcloud/edge_gateway/configure.rb +32 -0
- data/lib/vcloud/edge_gateway/schema/edge_gateway.rb +18 -0
- data/lib/vcloud/edge_gateway/schema/firewall_service.rb +41 -0
- data/lib/vcloud/edge_gateway/schema/load_balancer_service.rb +183 -0
- data/lib/vcloud/edge_gateway/schema/nat_service.rb +38 -0
- data/lib/vcloud/edge_gateway/version.rb +1 -1
- data/spec/integration/edge_gateway/data/load_balancer_config.yaml.mustache +4 -0
- data/spec/integration/edge_gateway/edge_gateway_services_spec.rb +6 -6
- data/spec/integration/edge_gateway/firewall_service_spec.rb +9 -9
- data/spec/integration/edge_gateway/load_balancer_service_spec.rb +10 -10
- data/spec/integration/edge_gateway/nat_service_spec.rb +10 -10
- data/spec/vcloud/edge_gateway/configuration_generator/data/load_balancer_http-input.yaml +1 -1
- data/spec/vcloud/edge_gateway/configuration_generator/data/load_balancer_http-output.yaml +2 -2
- data/spec/vcloud/edge_gateway/configuration_generator/data/load_balancer_http-tcp-healthcheck-input.yaml +41 -0
- data/spec/vcloud/edge_gateway/configuration_generator/data/load_balancer_http-tcp-healthcheck-with-uri-input.yaml +42 -0
- data/spec/vcloud/edge_gateway/configuration_generator/data/load_balancer_https-healthcheck-uri-input.yaml +42 -0
- data/spec/vcloud/edge_gateway/configuration_generator/data/load_balancer_https-output.yaml +2 -2
- data/spec/vcloud/edge_gateway/configuration_generator/data/load_balancer_mixed_complex-output.yaml +3 -3
- data/spec/vcloud/edge_gateway/configuration_generator/load_balancer_service_spec.rb +64 -3
- data/spec/vcloud/edge_gateway/edge_gateway_configuration_spec.rb +6 -6
- data/spec/vcloud/edge_gateway/firewall_schema_validation_spec.rb +2 -2
- data/spec/vcloud/edge_gateway/load_balancer_schema_validation_spec.rb +123 -7
- data/spec/vcloud/edge_gateway/nat_schema_validation_spec.rb +4 -4
- metadata +14 -18
- data/lib/vcloud/edge_gateway_services.rb +0 -31
- data/lib/vcloud/schema/edge_gateway.rb +0 -16
- data/lib/vcloud/schema/firewall_service.rb +0 -39
- data/lib/vcloud/schema/load_balancer_service.rb +0 -132
- data/lib/vcloud/schema/nat_service.rb +0 -35
- data/spec/vcloud/data/basic_preamble_test.erb +0 -8
- data/spec/vcloud/data/basic_preamble_test.erb.OUT +0 -8
- data/spec/vcloud/data/working.json +0 -21
- data/spec/vcloud/data/working.yaml +0 -22
- data/spec/vcloud/data/working_with_defaults.yaml +0 -25
data/spec/vcloud/edge_gateway/configuration_generator/data/load_balancer_mixed_complex-output.yaml
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
:HealthCheckPort: '8081'
|
11
11
|
:HealthCheck:
|
12
12
|
:Mode: TCP
|
13
|
-
:Uri: '
|
13
|
+
:Uri: ''
|
14
14
|
:HealthThreshold: '2'
|
15
15
|
:UnhealthThreshold: '3'
|
16
16
|
:Interval: '5'
|
@@ -22,7 +22,7 @@
|
|
22
22
|
:HealthCheckPort: '443'
|
23
23
|
:HealthCheck:
|
24
24
|
:Mode: TCP
|
25
|
-
:Uri: '
|
25
|
+
:Uri: ''
|
26
26
|
:HealthThreshold: '2'
|
27
27
|
:UnhealthThreshold: '3'
|
28
28
|
:Interval: '5'
|
@@ -34,7 +34,7 @@
|
|
34
34
|
:HealthCheckPort: ''
|
35
35
|
:HealthCheck:
|
36
36
|
:Mode: TCP
|
37
|
-
:Uri: '
|
37
|
+
:Uri: ''
|
38
38
|
:HealthThreshold: '2'
|
39
39
|
:UnhealthThreshold: '3'
|
40
40
|
:Interval: '5'
|
@@ -141,7 +141,7 @@ module Vcloud
|
|
141
141
|
:HealthCheckPort=>"",
|
142
142
|
:HealthCheck=>{
|
143
143
|
:Mode=>"SSL",
|
144
|
-
:Uri=>"
|
144
|
+
:Uri=>"",
|
145
145
|
:HealthThreshold=>"2",
|
146
146
|
:UnhealthThreshold=>"3",
|
147
147
|
:Interval=>"5",
|
@@ -156,7 +156,7 @@ module Vcloud
|
|
156
156
|
:HealthCheckPort=>"",
|
157
157
|
:HealthCheck=>{
|
158
158
|
:Mode=>"TCP",
|
159
|
-
:Uri=>"
|
159
|
+
:Uri=>"",
|
160
160
|
:HealthThreshold=>"2",
|
161
161
|
:UnhealthThreshold=>"3",
|
162
162
|
:Interval=>"5",
|
@@ -194,6 +194,44 @@ module Vcloud
|
|
194
194
|
expect(generated_config).to eq(expected_output)
|
195
195
|
end
|
196
196
|
|
197
|
+
it "should set the healthcheck URI to '/' by default" do
|
198
|
+
input = read_data_file('load_balancer_http-input.yaml')
|
199
|
+
expect(input[:pools][0][:service][:http][:health_check][:protocol]).to eq('HTTP')
|
200
|
+
expect(input[:pools][0][:service][:http][:health_check].key?(:uri)).to be(false)
|
201
|
+
|
202
|
+
generated_config = LoadBalancerService.new(@edge_gw_interface_list).
|
203
|
+
generate_fog_config input
|
204
|
+
|
205
|
+
http_pool_service_port = generated_config[:Pool][0][:ServicePort][0]
|
206
|
+
expect(http_pool_service_port[:IsEnabled]).to eq('true')
|
207
|
+
expect(http_pool_service_port[:HealthCheck][:Mode]).to eq('HTTP')
|
208
|
+
expect(http_pool_service_port[:HealthCheck][:Uri]).to eq('/')
|
209
|
+
end
|
210
|
+
|
211
|
+
it "should set the healthchech URI to '' by default for a TCP healthcheck" do
|
212
|
+
input = read_data_file('load_balancer_http-tcp-healthcheck-input.yaml')
|
213
|
+
expect(input[:pools][0][:service][:http][:health_check][:protocol]).to eq('TCP')
|
214
|
+
expect(input[:pools][0][:service][:http][:health_check].key?(:uri)).to be(false)
|
215
|
+
|
216
|
+
generated_config = LoadBalancerService.new(@edge_gw_interface_list).
|
217
|
+
generate_fog_config input
|
218
|
+
|
219
|
+
http_pool_service_port = generated_config[:Pool][0][:ServicePort][0]
|
220
|
+
expect(http_pool_service_port[:IsEnabled]).to eq('true')
|
221
|
+
expect(http_pool_service_port[:HealthCheck][:Mode]).to eq('TCP')
|
222
|
+
expect(http_pool_service_port[:HealthCheck][:Uri]).to eq('')
|
223
|
+
end
|
224
|
+
|
225
|
+
it 'should raise an exception if I define a healthcheck URI on a TCP healthcheck' do
|
226
|
+
input = read_data_file('load_balancer_http-tcp-healthcheck-with-uri-input.yaml')
|
227
|
+
expect(input[:pools][0][:service][:http][:health_check][:uri]).to eq('/notsupported')
|
228
|
+
expect(input[:pools][0][:service][:http][:health_check][:protocol]).to eq('TCP')
|
229
|
+
|
230
|
+
expect {
|
231
|
+
LoadBalancerService.new(@edge_gw_interface_list).generate_fog_config input
|
232
|
+
}.to raise_error "vCloud Director does not support healthcheck URI on protocols other than HTTP"
|
233
|
+
end
|
234
|
+
|
197
235
|
end
|
198
236
|
|
199
237
|
context "When configuring HTTPS load balancer" do
|
@@ -206,12 +244,35 @@ module Vcloud
|
|
206
244
|
expect(generated_config).to eq(expected_output)
|
207
245
|
end
|
208
246
|
|
247
|
+
it "should set the healthcheck URI to '' by default" do
|
248
|
+
input = read_data_file('load_balancer_https-input.yaml')
|
249
|
+
expect(input[:pools][0][:service][:https].key?(:health_check)).to be(false)
|
250
|
+
|
251
|
+
generated_config = LoadBalancerService.new(@edge_gw_interface_list).
|
252
|
+
generate_fog_config input
|
253
|
+
|
254
|
+
https_pool_service_port = generated_config[:Pool][0][:ServicePort][1]
|
255
|
+
expect(https_pool_service_port[:IsEnabled]).to eq('true')
|
256
|
+
expect(https_pool_service_port[:HealthCheck][:Mode]).to eq('SSL')
|
257
|
+
expect(https_pool_service_port[:HealthCheck][:Uri]).to eq('')
|
258
|
+
end
|
259
|
+
|
260
|
+
it 'should raise an exception if I define a healthcheck URI on a HTTPS healthcheck' do
|
261
|
+
input = read_data_file('load_balancer_https-healthcheck-uri-input.yaml')
|
262
|
+
expect(input[:pools][0][:service][:https][:health_check][:uri]).to eq('/notsupported')
|
263
|
+
expect(input[:pools][0][:service][:https][:health_check].key?(:protocol)).to be(false)
|
264
|
+
|
265
|
+
expect {
|
266
|
+
LoadBalancerService.new(@edge_gw_interface_list).generate_fog_config input
|
267
|
+
}.to raise_error "vCloud Director does not support healthcheck URI on protocols other than HTTP"
|
268
|
+
end
|
269
|
+
|
209
270
|
end
|
210
271
|
|
211
272
|
context "When configuring complex mixed protocol load balancer" do
|
212
273
|
|
213
274
|
it 'should expand out input config into Fog expected input' do
|
214
|
-
input
|
275
|
+
input = read_data_file('load_balancer_mixed_complex-input.yaml')
|
215
276
|
expected_output = read_data_file('load_balancer_mixed_complex-output.yaml')
|
216
277
|
generated_config = LoadBalancerService.new(@edge_gw_interface_list).
|
217
278
|
generate_fog_config input
|
@@ -659,7 +659,7 @@ module Vcloud
|
|
659
659
|
:HealthCheckPort=>"",
|
660
660
|
:HealthCheck=>{
|
661
661
|
:Mode=>"SSL",
|
662
|
-
:Uri=>"
|
662
|
+
:Uri=>"",
|
663
663
|
:HealthThreshold=>"2",
|
664
664
|
:UnhealthThreshold=>"3",
|
665
665
|
:Interval=>"5",
|
@@ -673,7 +673,7 @@ module Vcloud
|
|
673
673
|
:HealthCheckPort=>"",
|
674
674
|
:HealthCheck=>{
|
675
675
|
:Mode=>"TCP",
|
676
|
-
:Uri=>"
|
676
|
+
:Uri=>"",
|
677
677
|
:HealthThreshold=>"2",
|
678
678
|
:UnhealthThreshold=>"3",
|
679
679
|
:Interval=>"5",
|
@@ -844,7 +844,7 @@ module Vcloud
|
|
844
844
|
:HealthCheckPort=>"",
|
845
845
|
:HealthCheck=>{
|
846
846
|
:Mode=>"SSL",
|
847
|
-
:Uri=>"
|
847
|
+
:Uri=>"",
|
848
848
|
:HealthThreshold=>"2",
|
849
849
|
:UnhealthThreshold=>"3",
|
850
850
|
:Interval=>"5",
|
@@ -858,7 +858,7 @@ module Vcloud
|
|
858
858
|
:HealthCheckPort=>"",
|
859
859
|
:HealthCheck=>{
|
860
860
|
:Mode=>"TCP",
|
861
|
-
:Uri=>"
|
861
|
+
:Uri=>"",
|
862
862
|
:HealthThreshold=>"2",
|
863
863
|
:UnhealthThreshold=>"3",
|
864
864
|
:Interval=>"5",
|
@@ -1030,7 +1030,7 @@ module Vcloud
|
|
1030
1030
|
:HealthCheckPort=>"",
|
1031
1031
|
:HealthCheck=>{
|
1032
1032
|
:Mode=>"SSL",
|
1033
|
-
:Uri=>"
|
1033
|
+
:Uri=>"",
|
1034
1034
|
:HealthThreshold=>"2",
|
1035
1035
|
:UnhealthThreshold=>"3",
|
1036
1036
|
:Interval=>"5",
|
@@ -1044,7 +1044,7 @@ module Vcloud
|
|
1044
1044
|
:HealthCheckPort=>"",
|
1045
1045
|
:HealthCheck=>{
|
1046
1046
|
:Mode=>"TCP",
|
1047
|
-
:Uri=>"
|
1047
|
+
:Uri=>"",
|
1048
1048
|
:HealthThreshold=>"2",
|
1049
1049
|
:UnhealthThreshold=>"3",
|
1050
1050
|
:Interval=>"5",
|
@@ -16,7 +16,7 @@ module Vcloud
|
|
16
16
|
]
|
17
17
|
|
18
18
|
}
|
19
|
-
validator = Vcloud::Core::ConfigValidator.validate(:base, config, Schema::FIREWALL_SERVICE)
|
19
|
+
validator = Vcloud::Core::ConfigValidator.validate(:base, config, Vcloud::EdgeGateway::Schema::FIREWALL_SERVICE)
|
20
20
|
expect(validator.valid?).to be_false
|
21
21
|
expect(validator.errors).to eq([
|
22
22
|
"source_ip: 192.0 is not a valid IP address range. Valid values can be IP address, CIDR, IP range, 'Any','internal' and 'external'.",
|
@@ -37,7 +37,7 @@ module Vcloud
|
|
37
37
|
]
|
38
38
|
|
39
39
|
}
|
40
|
-
validator = Vcloud::Core::ConfigValidator.validate(:base, config, Schema::FIREWALL_SERVICE)
|
40
|
+
validator = Vcloud::Core::ConfigValidator.validate(:base, config, Vcloud::EdgeGateway::Schema::FIREWALL_SERVICE)
|
41
41
|
expect(validator.valid?).to be_true
|
42
42
|
end
|
43
43
|
end
|
@@ -54,7 +54,7 @@ module Vcloud
|
|
54
54
|
valid_tests.each do |test|
|
55
55
|
it "#{test[:name]}" do
|
56
56
|
validator = Vcloud::Core::ConfigValidator.validate(:base, test[:input],
|
57
|
-
Vcloud::Schema::LOAD_BALANCER_POOL_ENTRY)
|
57
|
+
Vcloud::EdgeGateway::Schema::LOAD_BALANCER_POOL_ENTRY)
|
58
58
|
expect(validator.errors).to eq([])
|
59
59
|
expect(validator.valid?).to be_true
|
60
60
|
end
|
@@ -94,12 +94,128 @@ module Vcloud
|
|
94
94
|
valid_tests.each do |test|
|
95
95
|
it "#{test[:name]}" do
|
96
96
|
validator = Vcloud::Core::ConfigValidator.validate(:base, test[:input],
|
97
|
-
Vcloud::Schema::LOAD_BALANCER_VIRTUAL_SERVER_ENTRY)
|
97
|
+
Vcloud::EdgeGateway::Schema::LOAD_BALANCER_VIRTUAL_SERVER_ENTRY)
|
98
98
|
expect(validator.errors).to eq([])
|
99
99
|
expect(validator.valid?).to be_true
|
100
100
|
end
|
101
101
|
end
|
102
102
|
|
103
|
+
it "validates a virtual_server entry with a COOKIE http persistence method" do
|
104
|
+
input = {
|
105
|
+
name: 'virtual server with COOKIE persistence',
|
106
|
+
ip_address: "192.2.0.40",
|
107
|
+
network: "TestNetwork",
|
108
|
+
pool: "TestPool",
|
109
|
+
logging: true,
|
110
|
+
service_profiles: {
|
111
|
+
http: {
|
112
|
+
enabled: true,
|
113
|
+
port: 8080,
|
114
|
+
persistence: {
|
115
|
+
method: 'COOKIE',
|
116
|
+
cookie_name: 'JSESSIONID',
|
117
|
+
cookie_mode: 'APP',
|
118
|
+
},
|
119
|
+
},
|
120
|
+
}
|
121
|
+
}
|
122
|
+
validator = Vcloud::Core::ConfigValidator.validate(:base, input,
|
123
|
+
Vcloud::EdgeGateway::Schema::LOAD_BALANCER_VIRTUAL_SERVER_ENTRY)
|
124
|
+
expect(validator.errors).to eq([])
|
125
|
+
expect(validator.valid?).to be_true
|
126
|
+
end
|
127
|
+
|
128
|
+
it "does not validate a virtual_server entry with a COOKIE http " +
|
129
|
+
"persistence method, when no cookie_name or cookie_mode is specified" do
|
130
|
+
input = {
|
131
|
+
name: 'virtual server with COOKIE persistence',
|
132
|
+
ip_address: "192.2.0.40",
|
133
|
+
network: "TestNetwork",
|
134
|
+
pool: "TestPool",
|
135
|
+
logging: true,
|
136
|
+
service_profiles: {
|
137
|
+
http: {
|
138
|
+
enabled: true,
|
139
|
+
port: 8080,
|
140
|
+
persistence: {
|
141
|
+
method: 'COOKIE',
|
142
|
+
},
|
143
|
+
},
|
144
|
+
}
|
145
|
+
}
|
146
|
+
validator = Vcloud::Core::ConfigValidator.validate(:base, input,
|
147
|
+
Vcloud::EdgeGateway::Schema::LOAD_BALANCER_VIRTUAL_SERVER_ENTRY)
|
148
|
+
expect(validator.errors).to eq([
|
149
|
+
"persistence: missing 'cookie_name' parameter",
|
150
|
+
"persistence: missing 'cookie_mode' parameter",
|
151
|
+
])
|
152
|
+
expect(validator.valid?).to be_false
|
153
|
+
end
|
154
|
+
|
155
|
+
it "validates a virtual_server entry with a SSL_SESSION_ID https persistence method" do
|
156
|
+
input = {
|
157
|
+
name: 'virtual server with SSL_SESSION_ID persistence',
|
158
|
+
ip_address: "192.2.0.40",
|
159
|
+
network: "TestNetwork",
|
160
|
+
pool: "TestPool",
|
161
|
+
logging: true,
|
162
|
+
service_profiles: {
|
163
|
+
https: {
|
164
|
+
enabled: true,
|
165
|
+
port: 8080,
|
166
|
+
persistence: {
|
167
|
+
method: 'SSL_SESSION_ID',
|
168
|
+
},
|
169
|
+
},
|
170
|
+
}
|
171
|
+
}
|
172
|
+
validator = Vcloud::Core::ConfigValidator.validate(:base, input,
|
173
|
+
Vcloud::EdgeGateway::Schema::LOAD_BALANCER_VIRTUAL_SERVER_ENTRY)
|
174
|
+
expect(validator.errors).to eq([])
|
175
|
+
expect(validator.valid?).to be_true
|
176
|
+
end
|
177
|
+
|
178
|
+
it "validates a virtual_server entry with a tcp service_profile" do
|
179
|
+
input = {
|
180
|
+
name: 'virtual server with tcp service_profile',
|
181
|
+
ip_address: "192.2.0.40",
|
182
|
+
network: "TestNetwork",
|
183
|
+
pool: "TestPool",
|
184
|
+
logging: true,
|
185
|
+
service_profiles: {
|
186
|
+
tcp: {
|
187
|
+
enabled: true,
|
188
|
+
port: 7777,
|
189
|
+
},
|
190
|
+
}
|
191
|
+
}
|
192
|
+
validator = Vcloud::Core::ConfigValidator.validate(:base, input,
|
193
|
+
Vcloud::EdgeGateway::Schema::LOAD_BALANCER_VIRTUAL_SERVER_ENTRY)
|
194
|
+
expect(validator.errors).to eq([])
|
195
|
+
expect(validator.valid?).to be_true
|
196
|
+
end
|
197
|
+
|
198
|
+
it "does not validate a virtual_server tcp service_profile with a persistence section" do
|
199
|
+
input = {
|
200
|
+
name: 'BOGUS virtual server with tcp service profile persistence section',
|
201
|
+
ip_address: "192.2.0.40",
|
202
|
+
network: "TestNetwork",
|
203
|
+
pool: "TestPool",
|
204
|
+
logging: true,
|
205
|
+
service_profiles: {
|
206
|
+
tcp: {
|
207
|
+
enabled: true,
|
208
|
+
port: 7777,
|
209
|
+
persistence: {},
|
210
|
+
},
|
211
|
+
}
|
212
|
+
}
|
213
|
+
validator = Vcloud::Core::ConfigValidator.validate(:base, input,
|
214
|
+
Vcloud::EdgeGateway::Schema::LOAD_BALANCER_VIRTUAL_SERVER_ENTRY)
|
215
|
+
expect(validator.errors).to eq(["tcp: parameter 'persistence' is invalid"])
|
216
|
+
expect(validator.valid?).to be_false
|
217
|
+
end
|
218
|
+
|
103
219
|
end
|
104
220
|
|
105
221
|
context "check complete load balancer sections" do
|
@@ -124,7 +240,7 @@ module Vcloud
|
|
124
240
|
},
|
125
241
|
],
|
126
242
|
}
|
127
|
-
validator = Vcloud::Core::ConfigValidator.validate(:base, input, Vcloud::Schema::LOAD_BALANCER_SERVICE)
|
243
|
+
validator = Vcloud::Core::ConfigValidator.validate(:base, input, Vcloud::EdgeGateway::Schema::LOAD_BALANCER_SERVICE)
|
128
244
|
expect(validator.errors).to eq([])
|
129
245
|
expect(validator.valid?).to be_true
|
130
246
|
end
|
@@ -144,7 +260,7 @@ module Vcloud
|
|
144
260
|
},
|
145
261
|
],
|
146
262
|
}
|
147
|
-
validator = Vcloud::Core::ConfigValidator.validate(:base, input, Vcloud::Schema::LOAD_BALANCER_SERVICE)
|
263
|
+
validator = Vcloud::Core::ConfigValidator.validate(:base, input, Vcloud::EdgeGateway::Schema::LOAD_BALANCER_SERVICE)
|
148
264
|
expect(validator.errors).to eq([])
|
149
265
|
expect(validator.valid?).to be_true
|
150
266
|
end
|
@@ -166,7 +282,7 @@ module Vcloud
|
|
166
282
|
},
|
167
283
|
],
|
168
284
|
}
|
169
|
-
validator = Vcloud::Core::ConfigValidator.validate(:base, input, Vcloud::Schema::LOAD_BALANCER_SERVICE)
|
285
|
+
validator = Vcloud::Core::ConfigValidator.validate(:base, input, Vcloud::EdgeGateway::Schema::LOAD_BALANCER_SERVICE)
|
170
286
|
expect(validator.errors).to eq([])
|
171
287
|
expect(validator.valid?).to be_true
|
172
288
|
end
|
@@ -175,7 +291,7 @@ module Vcloud
|
|
175
291
|
input = {
|
176
292
|
virtual_servers: []
|
177
293
|
}
|
178
|
-
validator = Vcloud::Core::ConfigValidator.validate(:base, input, Vcloud::Schema::LOAD_BALANCER_SERVICE)
|
294
|
+
validator = Vcloud::Core::ConfigValidator.validate(:base, input, Vcloud::EdgeGateway::Schema::LOAD_BALANCER_SERVICE)
|
179
295
|
expect(validator.valid?).to be_true
|
180
296
|
end
|
181
297
|
|
@@ -183,7 +299,7 @@ module Vcloud
|
|
183
299
|
input = {
|
184
300
|
pools: []
|
185
301
|
}
|
186
|
-
validator = Vcloud::Core::ConfigValidator.validate(:base, input, Vcloud::Schema::LOAD_BALANCER_SERVICE)
|
302
|
+
validator = Vcloud::Core::ConfigValidator.validate(:base, input, Vcloud::EdgeGateway::Schema::LOAD_BALANCER_SERVICE)
|
187
303
|
expect(validator.valid?).to be_true
|
188
304
|
end
|
189
305
|
|
@@ -13,7 +13,7 @@ module Vcloud
|
|
13
13
|
translated_ip: "10.10.20.20",
|
14
14
|
|
15
15
|
}
|
16
|
-
validator = Vcloud::Core::ConfigValidator.validate(:base, snat_rule, Vcloud::Schema::NAT_RULE)
|
16
|
+
validator = Vcloud::Core::ConfigValidator.validate(:base, snat_rule, Vcloud::EdgeGateway::Schema::NAT_RULE)
|
17
17
|
expect(validator.valid?).to be_true
|
18
18
|
expect(validator.errors).to be_empty
|
19
19
|
|
@@ -33,7 +33,7 @@ module Vcloud
|
|
33
33
|
mandatory_fields.each do |mandatory_field|
|
34
34
|
it "should error since mandatory field #{mandatory_field} is missing" do
|
35
35
|
@snat_rule.delete(mandatory_field)
|
36
|
-
validator = Vcloud::Core::ConfigValidator.validate(:base, @snat_rule, Vcloud::Schema::NAT_RULE)
|
36
|
+
validator = Vcloud::Core::ConfigValidator.validate(:base, @snat_rule, Vcloud::EdgeGateway::Schema::NAT_RULE)
|
37
37
|
expect(validator.valid?).to be_false
|
38
38
|
expect(validator.errors).to eq(["base: missing '#{mandatory_field}' parameter"])
|
39
39
|
end
|
@@ -52,7 +52,7 @@ module Vcloud
|
|
52
52
|
protocol: 'tcp'
|
53
53
|
|
54
54
|
}
|
55
|
-
validator = Vcloud::Core::ConfigValidator.validate(:base, snat_rule, Vcloud::Schema::NAT_RULE)
|
55
|
+
validator = Vcloud::Core::ConfigValidator.validate(:base, snat_rule, Vcloud::EdgeGateway::Schema::NAT_RULE)
|
56
56
|
expect(validator.valid?).to be_true
|
57
57
|
expect(validator.errors).to be_empty
|
58
58
|
end
|
@@ -84,7 +84,7 @@ module Vcloud
|
|
84
84
|
}
|
85
85
|
]
|
86
86
|
}
|
87
|
-
validator = Vcloud::Core::ConfigValidator.validate(:base, nat_service, Vcloud::Schema::NAT_SERVICE)
|
87
|
+
validator = Vcloud::Core::ConfigValidator.validate(:base, nat_service, Vcloud::EdgeGateway::Schema::NAT_SERVICE)
|
88
88
|
expect(validator.valid?).to be_true
|
89
89
|
expect(validator.errors).to be_empty
|
90
90
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vcloud-edge_gateway
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-05-
|
12
|
+
date: 2014-05-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: fog
|
@@ -169,16 +169,16 @@ files:
|
|
169
169
|
- lib/vcloud/edge_gateway/configuration_generator/id_ranges.rb
|
170
170
|
- lib/vcloud/edge_gateway/configuration_generator/load_balancer_service.rb
|
171
171
|
- lib/vcloud/edge_gateway/configuration_generator/nat_service.rb
|
172
|
+
- lib/vcloud/edge_gateway/configure.rb
|
172
173
|
- lib/vcloud/edge_gateway/edge_gateway_configuration.rb
|
173
174
|
- lib/vcloud/edge_gateway/firewall_configuration_differ.rb
|
174
175
|
- lib/vcloud/edge_gateway/load_balancer_configuration_differ.rb
|
175
176
|
- lib/vcloud/edge_gateway/nat_configuration_differ.rb
|
177
|
+
- lib/vcloud/edge_gateway/schema/edge_gateway.rb
|
178
|
+
- lib/vcloud/edge_gateway/schema/firewall_service.rb
|
179
|
+
- lib/vcloud/edge_gateway/schema/load_balancer_service.rb
|
180
|
+
- lib/vcloud/edge_gateway/schema/nat_service.rb
|
176
181
|
- lib/vcloud/edge_gateway/version.rb
|
177
|
-
- lib/vcloud/edge_gateway_services.rb
|
178
|
-
- lib/vcloud/schema/edge_gateway.rb
|
179
|
-
- lib/vcloud/schema/firewall_service.rb
|
180
|
-
- lib/vcloud/schema/load_balancer_service.rb
|
181
|
-
- lib/vcloud/schema/nat_service.rb
|
182
182
|
- spec/integration/edge_gateway/data/firewall_config.yaml.mustache
|
183
183
|
- spec/integration/edge_gateway/data/firewall_config_updated_rule.yaml.mustache
|
184
184
|
- spec/integration/edge_gateway/data/firewall_rule_order_test.yaml.mustache
|
@@ -198,15 +198,13 @@ files:
|
|
198
198
|
- spec/integration/edge_gateway/nat_service_spec.rb
|
199
199
|
- spec/spec_helper.rb
|
200
200
|
- spec/support/integration_helper.rb
|
201
|
-
- spec/vcloud/data/basic_preamble_test.erb
|
202
|
-
- spec/vcloud/data/basic_preamble_test.erb.OUT
|
203
|
-
- spec/vcloud/data/working.json
|
204
|
-
- spec/vcloud/data/working.yaml
|
205
|
-
- spec/vcloud/data/working_with_defaults.yaml
|
206
201
|
- spec/vcloud/edge_gateway/configuration_differ_shared_examples.rb
|
207
202
|
- spec/vcloud/edge_gateway/configuration_differ_spec.rb
|
208
203
|
- spec/vcloud/edge_gateway/configuration_generator/data/load_balancer_http-input.yaml
|
209
204
|
- spec/vcloud/edge_gateway/configuration_generator/data/load_balancer_http-output.yaml
|
205
|
+
- spec/vcloud/edge_gateway/configuration_generator/data/load_balancer_http-tcp-healthcheck-input.yaml
|
206
|
+
- spec/vcloud/edge_gateway/configuration_generator/data/load_balancer_http-tcp-healthcheck-with-uri-input.yaml
|
207
|
+
- spec/vcloud/edge_gateway/configuration_generator/data/load_balancer_https-healthcheck-uri-input.yaml
|
210
208
|
- spec/vcloud/edge_gateway/configuration_generator/data/load_balancer_https-input.yaml
|
211
209
|
- spec/vcloud/edge_gateway/configuration_generator/data/load_balancer_https-output.yaml
|
212
210
|
- spec/vcloud/edge_gateway/configuration_generator/data/load_balancer_mixed_complex-input.yaml
|
@@ -244,7 +242,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
244
242
|
version: '0'
|
245
243
|
segments:
|
246
244
|
- 0
|
247
|
-
hash:
|
245
|
+
hash: -1385962529695170701
|
248
246
|
requirements: []
|
249
247
|
rubyforge_project:
|
250
248
|
rubygems_version: 1.8.23
|
@@ -271,15 +269,13 @@ test_files:
|
|
271
269
|
- spec/integration/edge_gateway/nat_service_spec.rb
|
272
270
|
- spec/spec_helper.rb
|
273
271
|
- spec/support/integration_helper.rb
|
274
|
-
- spec/vcloud/data/basic_preamble_test.erb
|
275
|
-
- spec/vcloud/data/basic_preamble_test.erb.OUT
|
276
|
-
- spec/vcloud/data/working.json
|
277
|
-
- spec/vcloud/data/working.yaml
|
278
|
-
- spec/vcloud/data/working_with_defaults.yaml
|
279
272
|
- spec/vcloud/edge_gateway/configuration_differ_shared_examples.rb
|
280
273
|
- spec/vcloud/edge_gateway/configuration_differ_spec.rb
|
281
274
|
- spec/vcloud/edge_gateway/configuration_generator/data/load_balancer_http-input.yaml
|
282
275
|
- spec/vcloud/edge_gateway/configuration_generator/data/load_balancer_http-output.yaml
|
276
|
+
- spec/vcloud/edge_gateway/configuration_generator/data/load_balancer_http-tcp-healthcheck-input.yaml
|
277
|
+
- spec/vcloud/edge_gateway/configuration_generator/data/load_balancer_http-tcp-healthcheck-with-uri-input.yaml
|
278
|
+
- spec/vcloud/edge_gateway/configuration_generator/data/load_balancer_https-healthcheck-uri-input.yaml
|
283
279
|
- spec/vcloud/edge_gateway/configuration_generator/data/load_balancer_https-input.yaml
|
284
280
|
- spec/vcloud/edge_gateway/configuration_generator/data/load_balancer_https-output.yaml
|
285
281
|
- spec/vcloud/edge_gateway/configuration_generator/data/load_balancer_mixed_complex-input.yaml
|