beaker-aws 0.8.0 → 0.8.1
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/CHANGELOG.md +8 -1
- data/lib/beaker-aws/version.rb +1 -1
- data/lib/beaker/hypervisor/aws_sdk.rb +13 -5
- data/spec/beaker/hypervisor/aws_sdk_spec.rb +9 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 25ed7d4088360b6932af6030241fbec171819c1f
|
4
|
+
data.tar.gz: 5a087caf648e84fc6886f7cb77aea9c430569fa5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0e8141e8939e84487128d04be5315dd7e3ac747076d6a01201aa75d16ede330650c06eed48d8d6ef1b052ef8c32abe80a3993db562866492f3d33212ae838263
|
7
|
+
data.tar.gz: bc3a0e59c45667e3a38939a7f8896f404a4997facf5dc7942f826385af689dbf915d6a1424add235ee2c6a32de41212aba0a53a32250e1e410b168974190da71
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,13 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
-
[Unreleased](https://github.com/puppetlabs/beaker-aws/compare/0.8.
|
3
|
+
[Unreleased](https://github.com/puppetlabs/beaker-aws/compare/0.8.1...master)
|
4
|
+
|
5
|
+
## [0.8.1](https://github.com/puppetlabs/beaker-aws/tree/0.8.0) (2018-12-21)
|
6
|
+
[Full Changelog](https://github.com/puppetlabs/beaker-aws/compare/0.8.0...0.8.1)
|
7
|
+
|
8
|
+
**Merged pull requests:**
|
9
|
+
|
10
|
+
- \(maint\) Fix BKR-1546 for the case where subnet is nil
|
4
11
|
|
5
12
|
## [0.8.0](https://github.com/puppetlabs/beaker-aws/tree/0.8.0) (2018-12-12)
|
6
13
|
[Full Changelog](https://github.com/puppetlabs/beaker-aws/compare/0.7.0...0.8.0)
|
data/lib/beaker-aws/version.rb
CHANGED
@@ -267,10 +267,15 @@ module Beaker
|
|
267
267
|
vpc_id = host['vpc_id'] || @options['vpc_id'] || nil
|
268
268
|
host['sg_cidr_ips'] = host['sg_cidr_ips'] || '0.0.0.0/0';
|
269
269
|
sg_cidr_ips = host['sg_cidr_ips'].split(',')
|
270
|
+
assoc_pub_ip_addr = host['associate_public_ip_address']
|
270
271
|
|
271
272
|
if vpc_id && !subnet_id
|
272
273
|
raise RuntimeError, "A subnet_id must be provided with a vpc_id"
|
273
274
|
end
|
275
|
+
|
276
|
+
if assoc_pub_ip_addr && !subnet_id
|
277
|
+
raise RuntimeError, "A subnet_id must be provided when configuring assoc_pub_ip_addr"
|
278
|
+
end
|
274
279
|
|
275
280
|
# Use snapshot provided for this host
|
276
281
|
image_type = host['snapshot']
|
@@ -345,14 +350,17 @@ module Beaker
|
|
345
350
|
:instance_type => amisize,
|
346
351
|
:disable_api_termination => false,
|
347
352
|
:instance_initiated_shutdown_behavior => "terminate",
|
348
|
-
|
353
|
+
}
|
354
|
+
if assoc_pub_ip_addr
|
355
|
+
config[:network_interfaces] = [{
|
349
356
|
:subnet_id => subnet_id,
|
350
357
|
:groups => [security_group.group_id, ping_security_group.group_id],
|
351
358
|
:device_index => 0,
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
359
|
+
:associate_public_ip_address => assoc_pub_ip_addr,
|
360
|
+
}]
|
361
|
+
else
|
362
|
+
config[:subnet_id] = subnet_id
|
363
|
+
end
|
356
364
|
config[:block_device_mappings] = block_device_mappings if image.root_device_type == :ebs
|
357
365
|
reservation = client(region).run_instances(config)
|
358
366
|
reservation.instances.first
|
@@ -1234,6 +1234,12 @@ module Beaker
|
|
1234
1234
|
allow(aws).to receive(:ensure_key_pair).and_return(key_pair_result)
|
1235
1235
|
end
|
1236
1236
|
|
1237
|
+
it 'raises an error when associate_public_ip_address is included without subnet_id' do
|
1238
|
+
host = @hosts[0]
|
1239
|
+
host['associate_public_ip_address'] = true
|
1240
|
+
expect{ aws.create_instance(host, amispec, nil) }.to raise_error("A subnet_id must be provided when configuring assoc_pub_ip_addr")
|
1241
|
+
end
|
1242
|
+
|
1237
1243
|
it 'sets associate_public_ip_address when included' do
|
1238
1244
|
host = @hosts[0]
|
1239
1245
|
host['associate_public_ip_address'] = true
|
@@ -1241,13 +1247,13 @@ module Beaker
|
|
1241
1247
|
:network_interfaces => [hash_including(:associate_public_ip_address => true)])
|
1242
1248
|
reservation = instance_double(Aws::EC2::Types::Reservation, :instances => [instance_double(Aws::EC2::Types::Instance)])
|
1243
1249
|
expect(mock_client).to receive(:run_instances).with(variable_path).and_return(reservation)
|
1244
|
-
aws.create_instance(host, amispec,
|
1250
|
+
aws.create_instance(host, amispec, "subnetfoo")
|
1245
1251
|
end
|
1246
1252
|
|
1247
|
-
it 'omits associate_public_ip_address when not included' do
|
1253
|
+
it 'omits network_interfaces and associate_public_ip_address when not included, instead using subnet_id' do
|
1248
1254
|
host = @hosts[0]
|
1249
1255
|
variable_path = hash_including(
|
1250
|
-
:
|
1256
|
+
:subnet_id => nil)
|
1251
1257
|
reservation = instance_double(Aws::EC2::Types::Reservation, :instances => [instance_double(Aws::EC2::Types::Instance)])
|
1252
1258
|
expect(mock_client).to receive(:run_instances).with(variable_path).and_return(reservation)
|
1253
1259
|
aws.create_instance(host, amispec, nil)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: beaker-aws
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rishi Javia, Kevin Imber, Tony Vu
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-12-
|
11
|
+
date: 2018-12-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|