bosh_aws_cpi 1.2972.0 → 1.2975.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8e06d17c1465acf4c2d05fe7b746b75e7835d683
4
- data.tar.gz: 5ed9c3c800c500a7f07657b107de9629599d36ab
3
+ metadata.gz: 27920c7a1d5f41822c62323aef01a46c5e96a988
4
+ data.tar.gz: 3d834910c5b2187156ecbffa4b544213ae371d85
5
5
  SHA512:
6
- metadata.gz: f660a88e715614d77a2e6e73385b0c5fddb662d913458690b7ea4892205519afd6eda7c92085d4111210d2da22d0b6eadac769e8e39305df6ae5b88567da6d53
7
- data.tar.gz: e9ff55052f5ff610401a32c596acf6c6a63b2494e37e85c83513918eea4ee6840e21f8260654964193c9deb9e33a0f72422ab5f3879c031e6eeee68da1958d8a
6
+ metadata.gz: 5f2d2d7f548c8d9910e960033c65a99ff37ae906d054a0fd64fe13ee34f70e7216798b52a1c452100ba3dafccc33736f6a169c93b01eb42edd224c722dfac3cb
7
+ data.tar.gz: 7b3653126dec05e54b8885c73eb4af31f4fc0d8f6aec4b37d4fff35c83ed95ae48ea6487b8d16da31b2cdafcb2460016dd47f79c430b051cad253cdc491c4471
@@ -190,13 +190,14 @@ module Bosh::AwsCloud
190
190
  # @return [String] created EBS volume id
191
191
  def create_disk(size, cloud_properties, instance_id = nil)
192
192
  with_thread_name("create_disk(#{size}, #{instance_id})") do
193
- validate_disk_size(size)
193
+ type = validate_disk_type(cloud_properties.fetch('type', 'standard'))
194
+ validate_disk_size(type, size)
194
195
 
195
196
  # if the disk is created for an instance, use the same availability zone as they must match
196
197
  volume = @ec2.volumes.create(
197
198
  size: (size / 1024.0).ceil,
198
199
  availability_zone: @az_selector.select_availability_zone(instance_id),
199
- volume_type: validate_disk_type(cloud_properties.fetch('type', 'standard')),
200
+ volume_type: type,
200
201
  encrypted: cloud_properties.fetch('encrypted', false)
201
202
  )
202
203
 
@@ -207,16 +208,20 @@ module Bosh::AwsCloud
207
208
  end
208
209
  end
209
210
 
210
- def validate_disk_size(size)
211
+ def validate_disk_size(type, size)
211
212
  raise ArgumentError, 'disk size needs to be an integer' unless size.kind_of?(Integer)
212
213
 
213
214
  cloud_error('AWS CPI minimum disk size is 1 GiB') if size < 1024
214
- cloud_error('AWS CPI maximum disk size is 1 TiB') if size > 1024 * 1000
215
+ if type == 'standard'
216
+ cloud_error('AWS CPI maximum disk size is 1 TiB') if size > 1024 * 1000
217
+ else
218
+ cloud_error('AWS CPI maximum disk size is 16 TiB') if size > 1024 * 16000
219
+ end
215
220
  end
216
221
 
217
222
  def validate_disk_type(type)
218
- unless %w[gp2 standard].include?(type)
219
- cloud_error('AWS CPI supports only gp2 or standard disk type')
223
+ unless %w[gp2 standard io1].include?(type)
224
+ cloud_error('AWS CPI supports only gp2, io1, or standard disk type')
220
225
  end
221
226
  type
222
227
  end
@@ -92,7 +92,10 @@ module Bosh::AwsCloud
92
92
  def remove_from_load_balancers
93
93
  @elb.load_balancers.each do |load_balancer|
94
94
  begin
95
- load_balancer.instances.deregister(@aws_instance)
95
+ Bosh::Common.retryable(on: [AWS::ELB::Errors::Throttling], tries: 20) do
96
+ load_balancer.instances.deregister(@aws_instance)
97
+ true
98
+ end
96
99
  rescue AWS::ELB::Errors::InvalidInstance
97
100
  # ignore this, as it just means it wasn't registered
98
101
  end
@@ -79,8 +79,8 @@ module Bosh::AwsCloud
79
79
  # address is in use - it can happen when the director recreates a VM and AWS
80
80
  # is too slow to update its state when we have released the IP address and want to
81
81
  # realocate it again.
82
- errors = [AWS::EC2::Errors::InvalidIPAddress::InUse]
83
- Bosh::Common.retryable(sleep: instance_create_wait_time, tries: 10, on: errors) do |tries, error|
82
+ errors = [AWS::EC2::Errors::InvalidIPAddress::InUse, AWS::EC2::Errors::RequestLimitExceeded]
83
+ Bosh::Common.retryable(sleep: instance_create_wait_time, tries: 20, on: errors) do |tries, error|
84
84
  @logger.info("Launching on demand instance...")
85
85
  @logger.warn("IP address was in use: #{error}") if tries > 0
86
86
  @region.instances.create(instance_params)
@@ -1,5 +1,5 @@
1
1
  module Bosh
2
2
  module AwsCloud
3
- VERSION = '1.2972.0'
3
+ VERSION = '1.2975.0'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bosh_aws_cpi
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2972.0
4
+ version: 1.2975.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - VMware
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-14 00:00:00.000000000 Z
11
+ date: 2015-05-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk
@@ -30,42 +30,42 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 1.2972.0
33
+ version: 1.2975.0
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: 1.2972.0
40
+ version: 1.2975.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bosh_cpi
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 1.2972.0
47
+ version: 1.2975.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 1.2972.0
54
+ version: 1.2975.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: bosh-registry
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 1.2972.0
61
+ version: 1.2975.0
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 1.2972.0
68
+ version: 1.2975.0
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: httpclient
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -138,7 +138,7 @@ dependencies:
138
138
  version: '0'
139
139
  description: |-
140
140
  BOSH AWS CPI
141
- a6d1e9
141
+ a143e0
142
142
  email: support@cloudfoundry.com
143
143
  executables:
144
144
  - aws_cpi