vcloud-edge_gateway 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.travis.yml +2 -0
- data/CHANGELOG.md +8 -0
- data/CONTRIBUTING.md +3 -3
- data/Gemfile +1 -1
- data/README.md +1 -0
- data/lib/vcloud/edge_gateway/cli.rb +1 -1
- data/lib/vcloud/edge_gateway/schema/nat_service.rb +1 -1
- data/lib/vcloud/edge_gateway/version.rb +1 -1
- data/spec/integration/README.md +1 -1
- data/spec/integration/edge_gateway/configure_firewall_spec.rb +6 -6
- data/spec/integration/edge_gateway/configure_load_balancer_spec.rb +7 -7
- data/spec/integration/edge_gateway/{configure_services_spec.rb → configure_multiple_services_spec.rb} +9 -9
- data/spec/integration/edge_gateway/configure_nat_spec.rb +19 -19
- data/spec/spec_helper.rb +11 -15
- data/vcloud-edge_gateway.gemspec +5 -5
- metadata +13 -13
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
## 1.0.1 (2014-06-13)
|
2
|
+
|
3
|
+
Bugfixes:
|
4
|
+
|
5
|
+
- The NAT schema incorrectly allowed 'tcp+udp' as a valid protocol which would
|
6
|
+
lead to a HTTP 500 response from the API. The schema now accepts the correct value,
|
7
|
+
'tcpudp'. Thanks to @abridgett for discovering and fixing this.
|
8
|
+
|
1
9
|
## 1.0.0 (2014-06-04)
|
2
10
|
|
3
11
|
Features:
|
data/CONTRIBUTING.md
CHANGED
@@ -6,7 +6,7 @@ We really welcome contributions.
|
|
6
6
|
|
7
7
|
1. Clone the repo:
|
8
8
|
|
9
|
-
git clone git@github.com:
|
9
|
+
git clone git@github.com:gds-operations/vcloud-edge_gateway.git
|
10
10
|
|
11
11
|
2. Run `bundle` to get the required dependecies
|
12
12
|
|
@@ -18,7 +18,7 @@ We really welcome contributions.
|
|
18
18
|
If you have access to a live environment for testing, it would be great
|
19
19
|
if you could run the integration tests too - for more details on the
|
20
20
|
set-up for that, please see the [integration tests README]
|
21
|
-
(https://github.com/
|
21
|
+
(https://github.com/gds-operations/vcloud-edge_gateway/blob/master/spec/integration/README.md)
|
22
22
|
|
23
23
|
4. Add your functionality or bug fix and a test for your change. Only refactoring and
|
24
24
|
documentation changes do not require tests. If the functionality is at all complicated
|
@@ -27,7 +27,7 @@ We really welcome contributions.
|
|
27
27
|
|
28
28
|
5. Make sure all the tests pass, including the integration tests if possible.
|
29
29
|
|
30
|
-
6. Update the [CHANGELOG](https://github.com/
|
30
|
+
6. Update the [CHANGELOG](https://github.com/gds-operations/vcloud-edge_gateway/blob/master/CHANGELOG.md)
|
31
31
|
with a short description of what the change is. This may be a feature, a bugfix, or an
|
32
32
|
API change. If your change is documenation or refactoring, you do not need to add a line
|
33
33
|
to the CHANGELOG.
|
data/Gemfile
CHANGED
@@ -3,7 +3,7 @@ source 'http://rubygems.org'
|
|
3
3
|
gemspec
|
4
4
|
|
5
5
|
if ENV['VCLOUD_CORE_DEV_MASTER']
|
6
|
-
gem 'vcloud-core', :git => 'git@github.com:
|
6
|
+
gem 'vcloud-core', :git => 'git@github.com:gds-operations/vcloud-core.git', :branch => 'master'
|
7
7
|
elsif ENV['VCLOUD_CORE_DEV_LOCAL']
|
8
8
|
gem 'vcloud-core', :path => '../vcloud-core'
|
9
9
|
end
|
data/README.md
CHANGED
@@ -179,6 +179,7 @@ A DNAT rule has the following form, and translates packets going to the
|
|
179
179
|
* `network_id` specifies the UUID of the external network that packets are
|
180
180
|
translated from.
|
181
181
|
* `original_ip` is an IP address on the external network above.
|
182
|
+
* `protocol` defaults to 'tcp'. Can be 'icmp', 'udp', 'tcpudp' or 'any'
|
182
183
|
|
183
184
|
#### load_balancer_service
|
184
185
|
|
@@ -48,7 +48,7 @@ file which may optionally be a Mustache template.
|
|
48
48
|
It will always output a diff of the changes between the remote config and
|
49
49
|
your local config.
|
50
50
|
|
51
|
-
See https://github.com/
|
51
|
+
See https://github.com/gds-operations/vcloud-edge_gateway for more info
|
52
52
|
EOS
|
53
53
|
|
54
54
|
opts.separator ""
|
@@ -14,7 +14,7 @@ module Vcloud
|
|
14
14
|
original_port: {type: 'string', required: false},
|
15
15
|
translated_ip: {type: 'ip_address_range', required: true},
|
16
16
|
translated_port: {type: 'string', required: false},
|
17
|
-
protocol: {type: 'enum', required: false, acceptable_values: ['tcp', 'udp', 'icmp', '
|
17
|
+
protocol: {type: 'enum', required: false, acceptable_values: ['tcp', 'udp', 'icmp', 'tcpudp', 'any']},
|
18
18
|
}
|
19
19
|
}
|
20
20
|
|
data/spec/integration/README.md
CHANGED
@@ -15,7 +15,7 @@
|
|
15
15
|
and update with parameters suitable for your environment.
|
16
16
|
|
17
17
|
- You need to include the set-up for your testing environment in your
|
18
|
-
[fog file](https://github.com/
|
18
|
+
[fog file](https://github.com/gds-operations/vcloud-core#credentials).
|
19
19
|
|
20
20
|
- The tests use the [vCloud Tools Tester](http://rubygems.org/gems/vcloud-tools-tester) gem.
|
21
21
|
You do not need to install this, `bundler` will do this for you.
|
@@ -6,7 +6,7 @@ module Vcloud
|
|
6
6
|
|
7
7
|
before(:all) do
|
8
8
|
config_file = File.join(File.dirname(__FILE__), "../vcloud_tools_testing_config.yaml")
|
9
|
-
@
|
9
|
+
@test_params = Vcloud::Tools::Tester::TestSetup.new(config_file, []).test_params
|
10
10
|
@files_to_delete = []
|
11
11
|
end
|
12
12
|
|
@@ -16,7 +16,7 @@ module Vcloud
|
|
16
16
|
reset_edge_gateway
|
17
17
|
@vars_config_file = generate_vars_file(edge_gateway_vars_hash)
|
18
18
|
@initial_firewall_config_file = IntegrationHelper.fixture_file('firewall_config.yaml.mustache')
|
19
|
-
@edge_gateway = Vcloud::Core::EdgeGateway.get_by_name(@
|
19
|
+
@edge_gateway = Vcloud::Core::EdgeGateway.get_by_name(@test_params.edge_gateway)
|
20
20
|
@firewall_service = {}
|
21
21
|
end
|
22
22
|
|
@@ -129,7 +129,7 @@ module Vcloud
|
|
129
129
|
end
|
130
130
|
|
131
131
|
def reset_edge_gateway
|
132
|
-
edge_gateway = Core::EdgeGateway.get_by_name @
|
132
|
+
edge_gateway = Core::EdgeGateway.get_by_name @test_params.edge_gateway
|
133
133
|
edge_gateway.update_configuration({
|
134
134
|
FirewallService: {IsEnabled: false, FirewallRule: []},
|
135
135
|
})
|
@@ -146,9 +146,9 @@ module Vcloud
|
|
146
146
|
|
147
147
|
def edge_gateway_vars_hash
|
148
148
|
{
|
149
|
-
:edge_gateway_name => @
|
150
|
-
:edge_gateway_ext_network_id => @
|
151
|
-
:edge_gateway_ext_network_ip => @
|
149
|
+
:edge_gateway_name => @test_params.edge_gateway,
|
150
|
+
:edge_gateway_ext_network_id => @test_params.provider_network_id,
|
151
|
+
:edge_gateway_ext_network_ip => @test_params.provider_network_ip,
|
152
152
|
}
|
153
153
|
end
|
154
154
|
|
@@ -6,7 +6,7 @@ module Vcloud
|
|
6
6
|
|
7
7
|
before(:all) do
|
8
8
|
config_file = File.join(File.dirname(__FILE__), "../vcloud_tools_testing_config.yaml")
|
9
|
-
@
|
9
|
+
@test_params = Vcloud::Tools::Tester::TestSetup.new(config_file, []).test_params
|
10
10
|
@files_to_delete = []
|
11
11
|
end
|
12
12
|
|
@@ -16,7 +16,7 @@ module Vcloud
|
|
16
16
|
reset_edge_gateway
|
17
17
|
@vars_config_file = generate_vars_file(edge_gateway_vars_hash)
|
18
18
|
@initial_load_balancer_config_file = IntegrationHelper.fixture_file('load_balancer_config.yaml.mustache')
|
19
|
-
@edge_gateway = Vcloud::Core::EdgeGateway.get_by_name(@
|
19
|
+
@edge_gateway = Vcloud::Core::EdgeGateway.get_by_name(@test_params.edge_gateway)
|
20
20
|
end
|
21
21
|
|
22
22
|
context "Check update is functional" do
|
@@ -132,7 +132,7 @@ module Vcloud
|
|
132
132
|
end
|
133
133
|
|
134
134
|
def reset_edge_gateway
|
135
|
-
edge_gateway = Core::EdgeGateway.get_by_name @
|
135
|
+
edge_gateway = Core::EdgeGateway.get_by_name @test_params.edge_gateway
|
136
136
|
edge_gateway.update_configuration({
|
137
137
|
LoadBalancerService: {
|
138
138
|
IsEnabled: "false",
|
@@ -153,9 +153,9 @@ module Vcloud
|
|
153
153
|
|
154
154
|
def edge_gateway_vars_hash
|
155
155
|
{
|
156
|
-
:edge_gateway_name => @
|
157
|
-
:edge_gateway_ext_network_id => @
|
158
|
-
:edge_gateway_ext_network_ip => @
|
156
|
+
:edge_gateway_name => @test_params.edge_gateway,
|
157
|
+
:edge_gateway_ext_network_id => @test_params.provider_network_id,
|
158
|
+
:edge_gateway_ext_network_ip => @test_params.provider_network_ip,
|
159
159
|
}
|
160
160
|
end
|
161
161
|
|
@@ -164,7 +164,7 @@ module Vcloud
|
|
164
164
|
q = Vcloud::Core::QueryRunner.new
|
165
165
|
q.run('task',
|
166
166
|
:filter =>
|
167
|
-
"name==networkConfigureEdgeGatewayServices;objectName==#{@
|
167
|
+
"name==networkConfigureEdgeGatewayServices;objectName==#{@test_params.edge_gateway};startDate=ge=#{vcloud_time}",
|
168
168
|
:sortDesc => 'startDate',
|
169
169
|
)
|
170
170
|
end
|
@@ -6,7 +6,7 @@ module Vcloud
|
|
6
6
|
|
7
7
|
before(:all) do
|
8
8
|
config_file = File.join(File.dirname(__FILE__), "../vcloud_tools_testing_config.yaml")
|
9
|
-
@
|
9
|
+
@test_params = Vcloud::Tools::Tester::TestSetup.new(config_file, []).test_params
|
10
10
|
@files_to_delete = []
|
11
11
|
end
|
12
12
|
|
@@ -17,7 +17,7 @@ module Vcloud
|
|
17
17
|
@vars_config_file = generate_vars_file(edge_gateway_vars_hash)
|
18
18
|
@initial_config_file = IntegrationHelper.fixture_file('nat_and_firewall_config.yaml.mustache')
|
19
19
|
@adding_load_balancer_config_file = IntegrationHelper.fixture_file('nat_and_firewall_plus_load_balancer_config.yaml.mustache')
|
20
|
-
@edge_gateway = Vcloud::Core::EdgeGateway.get_by_name(@
|
20
|
+
@edge_gateway = Vcloud::Core::EdgeGateway.get_by_name(@test_params.edge_gateway)
|
21
21
|
end
|
22
22
|
|
23
23
|
context "Check update is functional" do
|
@@ -88,7 +88,7 @@ module Vcloud
|
|
88
88
|
end
|
89
89
|
|
90
90
|
def reset_edge_gateway
|
91
|
-
edge_gateway = Core::EdgeGateway.get_by_name @
|
91
|
+
edge_gateway = Core::EdgeGateway.get_by_name @test_params.edge_gateway
|
92
92
|
edge_gateway.update_configuration({
|
93
93
|
FirewallService: {IsEnabled: false, FirewallRule: []},
|
94
94
|
NatService: {:IsEnabled => "true", :NatRule => []},
|
@@ -111,11 +111,11 @@ module Vcloud
|
|
111
111
|
|
112
112
|
def edge_gateway_vars_hash
|
113
113
|
{
|
114
|
-
edge_gateway_name: @
|
115
|
-
network_id: @
|
116
|
-
original_ip: @
|
117
|
-
edge_gateway_ext_network_id: @
|
118
|
-
edge_gateway_ext_network_ip: @
|
114
|
+
edge_gateway_name: @test_params.edge_gateway,
|
115
|
+
network_id: @test_params.provider_network_id,
|
116
|
+
original_ip: @test_params.provider_network_ip,
|
117
|
+
edge_gateway_ext_network_id: @test_params.provider_network_id,
|
118
|
+
edge_gateway_ext_network_ip: @test_params.provider_network_ip,
|
119
119
|
}
|
120
120
|
end
|
121
121
|
|
@@ -125,7 +125,7 @@ module Vcloud
|
|
125
125
|
|
126
126
|
q.run('task',
|
127
127
|
:filter =>
|
128
|
-
"name==networkConfigureEdgeGatewayServices;objectName==#{@
|
128
|
+
"name==networkConfigureEdgeGatewayServices;objectName==#{@test_params.edge_gateway};startDate=ge=#{vcloud_time}",
|
129
129
|
:sortDesc => 'startDate',
|
130
130
|
)
|
131
131
|
end
|
@@ -6,7 +6,7 @@ module Vcloud
|
|
6
6
|
|
7
7
|
before(:all) do
|
8
8
|
config_file = File.join(File.dirname(__FILE__), "../vcloud_tools_testing_config.yaml")
|
9
|
-
@
|
9
|
+
@test_params = Vcloud::Tools::Tester::TestSetup.new(config_file, []).test_params
|
10
10
|
@files_to_delete = []
|
11
11
|
end
|
12
12
|
|
@@ -16,7 +16,7 @@ module Vcloud
|
|
16
16
|
reset_edge_gateway
|
17
17
|
@vars_config_file = generate_vars_file(edge_gateway_vars_hash)
|
18
18
|
@initial_nat_config_file = IntegrationHelper.fixture_file('nat_config.yaml.mustache')
|
19
|
-
@edge_gateway = Vcloud::Core::EdgeGateway.get_by_name(@
|
19
|
+
@edge_gateway = Vcloud::Core::EdgeGateway.get_by_name(@test_params.edge_gateway)
|
20
20
|
end
|
21
21
|
|
22
22
|
context "Check update is functional" do
|
@@ -80,8 +80,8 @@ module Vcloud
|
|
80
80
|
expect(dnat_rule[:RuleType]).to eq('DNAT')
|
81
81
|
expect(dnat_rule[:Id]).to eq('65537')
|
82
82
|
expect(dnat_rule[:IsEnabled]).to eq('true')
|
83
|
-
expect(dnat_rule[:GatewayNatRule][:Interface][:href]).to include(@
|
84
|
-
expect(dnat_rule[:GatewayNatRule][:OriginalIp]).to eq(@
|
83
|
+
expect(dnat_rule[:GatewayNatRule][:Interface][:href]).to include(@test_params.provider_network_id)
|
84
|
+
expect(dnat_rule[:GatewayNatRule][:OriginalIp]).to eq(@test_params.provider_network_ip)
|
85
85
|
expect(dnat_rule[:GatewayNatRule][:OriginalPort]).to eq('3412')
|
86
86
|
expect(dnat_rule[:GatewayNatRule][:TranslatedIp]).to eq('10.10.1.2-10.10.1.3')
|
87
87
|
expect(dnat_rule[:GatewayNatRule][:TranslatedPort]).to eq('3412')
|
@@ -94,9 +94,9 @@ module Vcloud
|
|
94
94
|
expect(snat_rule[:RuleType]).to eq('SNAT')
|
95
95
|
expect(snat_rule[:Id]).to eq('65538')
|
96
96
|
expect(snat_rule[:IsEnabled]).to eq('true')
|
97
|
-
expect(snat_rule[:GatewayNatRule][:Interface][:href]).to include(@
|
97
|
+
expect(snat_rule[:GatewayNatRule][:Interface][:href]).to include(@test_params.provider_network_id)
|
98
98
|
expect(snat_rule[:GatewayNatRule][:OriginalIp]).to eq('10.10.1.2-10.10.1.3')
|
99
|
-
expect(snat_rule[:GatewayNatRule][:TranslatedIp]).to eq(@
|
99
|
+
expect(snat_rule[:GatewayNatRule][:TranslatedIp]).to eq(@test_params.provider_network_ip)
|
100
100
|
end
|
101
101
|
|
102
102
|
end
|
@@ -105,9 +105,9 @@ module Vcloud
|
|
105
105
|
|
106
106
|
it "and then should configure hairpin NATting with orgVdcNetwork" do
|
107
107
|
vars_file = generate_vars_file({
|
108
|
-
edge_gateway_name: @
|
109
|
-
org_vdc_network_id: @
|
110
|
-
original_ip: @
|
108
|
+
edge_gateway_name: @test_params.edge_gateway,
|
109
|
+
org_vdc_network_id: @test_params.network_1_id,
|
110
|
+
original_ip: @test_params.network_1_ip,
|
111
111
|
})
|
112
112
|
|
113
113
|
diff = EdgeGateway::Configure.new(
|
@@ -118,7 +118,7 @@ module Vcloud
|
|
118
118
|
expect(diff.keys).to eq([:NatService])
|
119
119
|
expect(diff[:NatService]).to have_at_least(1).items
|
120
120
|
|
121
|
-
edge_gateway = Vcloud::Core::EdgeGateway.get_by_name(@
|
121
|
+
edge_gateway = Vcloud::Core::EdgeGateway.get_by_name(@test_params.edge_gateway)
|
122
122
|
nat_service = edge_gateway.vcloud_attributes[:Configuration][:EdgeGatewayServiceConfiguration][:NatService]
|
123
123
|
expected_rule = nat_service[:NatRule].first
|
124
124
|
expect(expected_rule).not_to be_nil
|
@@ -126,8 +126,8 @@ module Vcloud
|
|
126
126
|
expect(expected_rule[:Id]).to eq('65537')
|
127
127
|
expect(expected_rule[:RuleType]).to eq('DNAT')
|
128
128
|
expect(expected_rule[:IsEnabled]).to eq('true')
|
129
|
-
expect(expected_rule[:GatewayNatRule][:Interface][:name]).to eq(@
|
130
|
-
expect(expected_rule[:GatewayNatRule][:OriginalIp]).to eq(@
|
129
|
+
expect(expected_rule[:GatewayNatRule][:Interface][:name]).to eq(@test_params.network_1)
|
130
|
+
expect(expected_rule[:GatewayNatRule][:OriginalIp]).to eq(@test_params.network_1_ip)
|
131
131
|
expect(expected_rule[:GatewayNatRule][:OriginalPort]).to eq('3412')
|
132
132
|
expect(expected_rule[:GatewayNatRule][:TranslatedIp]).to eq('10.10.1.2')
|
133
133
|
expect(expected_rule[:GatewayNatRule][:TranslatedPort]).to eq('3412')
|
@@ -137,9 +137,9 @@ module Vcloud
|
|
137
137
|
it "should raise error if network provided in rule does not exist" do
|
138
138
|
random_network_id = SecureRandom.uuid
|
139
139
|
vars_file = generate_vars_file({
|
140
|
-
edge_gateway_name: @
|
140
|
+
edge_gateway_name: @test_params.edge_gateway,
|
141
141
|
network_id: random_network_id,
|
142
|
-
original_ip: @
|
142
|
+
original_ip: @test_params.network_1_ip,
|
143
143
|
})
|
144
144
|
|
145
145
|
expect {
|
@@ -156,7 +156,7 @@ module Vcloud
|
|
156
156
|
end
|
157
157
|
|
158
158
|
def reset_edge_gateway
|
159
|
-
edge_gateway = Core::EdgeGateway.get_by_name @
|
159
|
+
edge_gateway = Core::EdgeGateway.get_by_name @test_params.edge_gateway
|
160
160
|
edge_gateway.update_configuration({
|
161
161
|
NatService: {:IsEnabled => "true", :NatRule => []},
|
162
162
|
})
|
@@ -173,9 +173,9 @@ module Vcloud
|
|
173
173
|
|
174
174
|
def edge_gateway_vars_hash
|
175
175
|
{
|
176
|
-
:edge_gateway_name => @
|
177
|
-
:network_id => @
|
178
|
-
:original_ip => @
|
176
|
+
:edge_gateway_name => @test_params.edge_gateway,
|
177
|
+
:network_id => @test_params.provider_network_id,
|
178
|
+
:original_ip => @test_params.provider_network_ip,
|
179
179
|
}
|
180
180
|
end
|
181
181
|
|
@@ -183,7 +183,7 @@ module Vcloud
|
|
183
183
|
vcloud_time = timestamp.strftime('%FT%T.000Z')
|
184
184
|
q = Vcloud::Core::QueryRunner.new
|
185
185
|
q.run('task',
|
186
|
-
:filter => "name==networkConfigureEdgeGatewayServices;objectName==#{@
|
186
|
+
:filter => "name==networkConfigureEdgeGatewayServices;objectName==#{@test_params.edge_gateway};startDate=ge=#{vcloud_time}",
|
187
187
|
:sortDesc => 'startDate',
|
188
188
|
)
|
189
189
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,9 +1,15 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
# SimpleCov must run _first_ according to its README
|
3
2
|
if ENV['COVERAGE']
|
4
3
|
require 'simplecov'
|
5
4
|
|
6
|
-
SimpleCov
|
5
|
+
# monkey-patch to prevent SimpleCov from reporting coverage percentage
|
6
|
+
class SimpleCov::Formatter::HTMLFormatter
|
7
|
+
def output_message(_message)
|
8
|
+
nil
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
SimpleCov.adapters.define 'gem' do
|
7
13
|
add_filter '/spec/'
|
8
14
|
add_filter '/features/'
|
9
15
|
add_filter '/vendor/'
|
@@ -11,9 +17,11 @@ if ENV['COVERAGE']
|
|
11
17
|
add_group 'Libraries', '/lib/'
|
12
18
|
end
|
13
19
|
|
20
|
+
SimpleCov.minimum_coverage(99)
|
14
21
|
SimpleCov.start 'gem'
|
15
22
|
end
|
16
23
|
|
24
|
+
require 'support/integration_helper'
|
17
25
|
require 'bundler/setup'
|
18
26
|
require 'vcloud/edge_gateway'
|
19
27
|
require 'vcloud/tools/tester'
|
@@ -23,15 +31,3 @@ RSpec.configure do |config|
|
|
23
31
|
c.syntax = :expect
|
24
32
|
end
|
25
33
|
end
|
26
|
-
|
27
|
-
if ENV['COVERAGE']
|
28
|
-
SimpleCov.at_exit do
|
29
|
-
SimpleCov.result.format!
|
30
|
-
# do not change the coverage percentage, instead add more unit tests to fix coverage failures.
|
31
|
-
if SimpleCov.result.covered_percent < 90
|
32
|
-
print "ERROR::BAD_COVERAGE\n"
|
33
|
-
print "Coverage is less than acceptable limit(90%). Please add more tests to improve the coverage\n"
|
34
|
-
exit(1)
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
data/vcloud-edge_gateway.gemspec
CHANGED
@@ -11,7 +11,7 @@ Gem::Specification.new do |s|
|
|
11
11
|
s.email = ['anna.shipman@digital.cabinet-office.gov.uk']
|
12
12
|
s.summary = 'Tool to configure a VMware vCloud Edge Gateway'
|
13
13
|
s.description = 'Tool to configure a VMware vCloud Edge Gateway. Uses vcloud-core.'
|
14
|
-
s.homepage = 'http://github.com/
|
14
|
+
s.homepage = 'http://github.com/gds-operations/vcloud-edge_gateway'
|
15
15
|
s.license = 'MIT'
|
16
16
|
|
17
17
|
s.files = `git ls-files`.split($/)
|
@@ -19,17 +19,17 @@ Gem::Specification.new do |s|
|
|
19
19
|
s.test_files = s.files.grep(%r{^(test|spec|features)/})
|
20
20
|
s.require_paths = ['lib']
|
21
21
|
|
22
|
-
s.required_ruby_version = '>= 1.9.
|
22
|
+
s.required_ruby_version = '>= 1.9.3'
|
23
23
|
|
24
24
|
s.add_runtime_dependency 'fog', '>= 1.21.0'
|
25
|
-
s.add_runtime_dependency 'vcloud-core', '~> 0.
|
25
|
+
s.add_runtime_dependency 'vcloud-core', '~> 0.5.0'
|
26
26
|
s.add_runtime_dependency 'hashdiff'
|
27
27
|
s.add_development_dependency 'pry'
|
28
28
|
s.add_development_dependency 'rake'
|
29
29
|
s.add_development_dependency 'rspec', '~> 2.14.1'
|
30
30
|
s.add_development_dependency 'rubocop', '~> 0.23.0'
|
31
|
-
s.add_development_dependency 'simplecov', '~> 0.
|
31
|
+
s.add_development_dependency 'simplecov', '~> 0.7.1'
|
32
32
|
s.add_development_dependency 'gem_publisher', '1.2.0'
|
33
|
-
s.add_development_dependency 'vcloud-tools-tester', '0.0
|
33
|
+
s.add_development_dependency 'vcloud-tools-tester', '0.1.0'
|
34
34
|
end
|
35
35
|
|
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: 1.0.
|
4
|
+
version: 1.0.1
|
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-06-
|
12
|
+
date: 2014-06-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: fog
|
@@ -34,7 +34,7 @@ dependencies:
|
|
34
34
|
requirements:
|
35
35
|
- - ~>
|
36
36
|
- !ruby/object:Gem::Version
|
37
|
-
version: 0.
|
37
|
+
version: 0.5.0
|
38
38
|
type: :runtime
|
39
39
|
prerelease: false
|
40
40
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -42,7 +42,7 @@ dependencies:
|
|
42
42
|
requirements:
|
43
43
|
- - ~>
|
44
44
|
- !ruby/object:Gem::Version
|
45
|
-
version: 0.
|
45
|
+
version: 0.5.0
|
46
46
|
- !ruby/object:Gem::Dependency
|
47
47
|
name: hashdiff
|
48
48
|
requirement: !ruby/object:Gem::Requirement
|
@@ -130,7 +130,7 @@ dependencies:
|
|
130
130
|
requirements:
|
131
131
|
- - ~>
|
132
132
|
- !ruby/object:Gem::Version
|
133
|
-
version: 0.
|
133
|
+
version: 0.7.1
|
134
134
|
type: :development
|
135
135
|
prerelease: false
|
136
136
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -138,7 +138,7 @@ dependencies:
|
|
138
138
|
requirements:
|
139
139
|
- - ~>
|
140
140
|
- !ruby/object:Gem::Version
|
141
|
-
version: 0.
|
141
|
+
version: 0.7.1
|
142
142
|
- !ruby/object:Gem::Dependency
|
143
143
|
name: gem_publisher
|
144
144
|
requirement: !ruby/object:Gem::Requirement
|
@@ -162,7 +162,7 @@ dependencies:
|
|
162
162
|
requirements:
|
163
163
|
- - '='
|
164
164
|
- !ruby/object:Gem::Version
|
165
|
-
version: 0.0
|
165
|
+
version: 0.1.0
|
166
166
|
type: :development
|
167
167
|
prerelease: false
|
168
168
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -170,7 +170,7 @@ dependencies:
|
|
170
170
|
requirements:
|
171
171
|
- - '='
|
172
172
|
- !ruby/object:Gem::Version
|
173
|
-
version: 0.0
|
173
|
+
version: 0.1.0
|
174
174
|
description: Tool to configure a VMware vCloud Edge Gateway. Uses vcloud-core.
|
175
175
|
email:
|
176
176
|
- anna.shipman@digital.cabinet-office.gov.uk
|
@@ -218,8 +218,8 @@ files:
|
|
218
218
|
- spec/integration/README.md
|
219
219
|
- spec/integration/edge_gateway/configure_firewall_spec.rb
|
220
220
|
- spec/integration/edge_gateway/configure_load_balancer_spec.rb
|
221
|
+
- spec/integration/edge_gateway/configure_multiple_services_spec.rb
|
221
222
|
- spec/integration/edge_gateway/configure_nat_spec.rb
|
222
|
-
- spec/integration/edge_gateway/configure_services_spec.rb
|
223
223
|
- spec/integration/edge_gateway/data/firewall_config.yaml.mustache
|
224
224
|
- spec/integration/edge_gateway/data/firewall_config_updated_rule.yaml.mustache
|
225
225
|
- spec/integration/edge_gateway/data/firewall_rule_order_test.yaml.mustache
|
@@ -261,7 +261,7 @@ files:
|
|
261
261
|
- spec/vcloud/edge_gateway/nat_schema_validation_spec.rb
|
262
262
|
- tools/fog_credentials.rb
|
263
263
|
- vcloud-edge_gateway.gemspec
|
264
|
-
homepage: http://github.com/
|
264
|
+
homepage: http://github.com/gds-operations/vcloud-edge_gateway
|
265
265
|
licenses:
|
266
266
|
- MIT
|
267
267
|
post_install_message:
|
@@ -273,7 +273,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
273
273
|
requirements:
|
274
274
|
- - ! '>='
|
275
275
|
- !ruby/object:Gem::Version
|
276
|
-
version: 1.9.
|
276
|
+
version: 1.9.3
|
277
277
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
278
278
|
none: false
|
279
279
|
requirements:
|
@@ -282,7 +282,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
282
282
|
version: '0'
|
283
283
|
segments:
|
284
284
|
- 0
|
285
|
-
hash:
|
285
|
+
hash: 3933526703373649757
|
286
286
|
requirements: []
|
287
287
|
rubyforge_project:
|
288
288
|
rubygems_version: 1.8.23
|
@@ -293,8 +293,8 @@ test_files:
|
|
293
293
|
- spec/integration/README.md
|
294
294
|
- spec/integration/edge_gateway/configure_firewall_spec.rb
|
295
295
|
- spec/integration/edge_gateway/configure_load_balancer_spec.rb
|
296
|
+
- spec/integration/edge_gateway/configure_multiple_services_spec.rb
|
296
297
|
- spec/integration/edge_gateway/configure_nat_spec.rb
|
297
|
-
- spec/integration/edge_gateway/configure_services_spec.rb
|
298
298
|
- spec/integration/edge_gateway/data/firewall_config.yaml.mustache
|
299
299
|
- spec/integration/edge_gateway/data/firewall_config_updated_rule.yaml.mustache
|
300
300
|
- spec/integration/edge_gateway/data/firewall_rule_order_test.yaml.mustache
|