autocanary24 0.5.0 → 0.6.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: 4fb0dc82d78df443b153179546ecb97bb5ec993d
4
- data.tar.gz: e60978aee96da8e647ec95bc7baacd4fb8ee9db0
3
+ metadata.gz: 5d9824692ed66f16a0e310cca0a4700acc7b18d5
4
+ data.tar.gz: 9d74e678286da454fcf4068e961c24279d3a88a5
5
5
  SHA512:
6
- metadata.gz: 27383625a91fb41f9a1b926870bd225d9631c5ba08cc22a959376e9d5efd5274fc9181a7f39b32e74900219067ea85d8825d095038139422a579b30d2c591537
7
- data.tar.gz: 693e6587e28fa664a3f73e5082002140ce96f417d91544e711aedcdb393ae4d4b49d5e2eaeb18314d865dd40cdc231ab7001efee7dd08f91825b4fccd4b2f1c4
6
+ metadata.gz: f42769370b63e538cbb0a0e419d85cf2f3df444ddef3ae86d8293ce163a239f9d460031f9ca6ad2e5325cf6987681207492f072cfa5b59de5c7656bdc1716190
7
+ data.tar.gz: 45bbac5039dcf3161951df33820440807055ecbefab2784d32f1eb1207985680b4e86c98be16c701b0b6df23ae5f4472715fd2efda8d40b70d984627d2cca67e
@@ -20,7 +20,9 @@ Gem::Specification.new do |spec|
20
20
  spec.require_paths = ["lib"]
21
21
 
22
22
  spec.add_dependency 'autostacker24', '~> 2'
23
- spec.add_dependency 'aws-sdk-core', '~> 2'
23
+ spec.add_dependency 'retriable', '~> 3.1'
24
+ spec.add_dependency 'aws-sdk-core', '~> 3'
25
+ spec.add_dependency 'aws-sdk-elasticloadbalancing', '~> 1.2'
24
26
 
25
27
  spec.add_development_dependency "bundler", "~> 1.11"
26
28
  spec.add_development_dependency "rake", "~> 10.0"
@@ -93,6 +93,7 @@ task :sample_5 do
93
93
  client.cleanup_stack(STACK_NAME)
94
94
  else
95
95
  client.rollback_stack(STACK_NAME)
96
+ raise "Deployment failed because of health check"
96
97
  end
97
98
  end
98
99
 
@@ -1,4 +1,6 @@
1
1
  require 'aws-sdk-core'
2
+ require 'retriable'
3
+ require 'aws-sdk-elasticloadbalancing'
2
4
 
3
5
  module AutoCanary24
4
6
  class CanaryStack
@@ -125,7 +127,10 @@ module AutoCanary24
125
127
  retries = (@wait_timeout / @sleep_during_wait).round
126
128
  while retries > 0
127
129
  begin
128
- elb_instances = elb_client.describe_instance_health({load_balancer_name: elb, instances: instances})
130
+ elb_instances = {}
131
+ Retriable.retriable(on: Aws::CloudFormation::Errors::Throttling, tries: 5, base_interval: 1) do
132
+ elb_instances = elb_client.describe_instance_health({load_balancer_name: elb, instances: instances})
133
+ end
129
134
  break if elb_instances[:instance_states].select{ |s| s.state == 'InService' }.length == 0
130
135
  rescue Aws::ElasticLoadBalancing::Errors::InvalidInstance
131
136
  end
@@ -1,3 +1,3 @@
1
1
  module AutoCanary24
2
- VERSION = "0.5.0"
2
+ VERSION = "0.6.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: autocanary24
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Philipp Garbe
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-02-21 00:00:00.000000000 Z
11
+ date: 2018-04-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: autostacker24
@@ -24,20 +24,48 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '2'
27
+ - !ruby/object:Gem::Dependency
28
+ name: retriable
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '3.1'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '3.1'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: aws-sdk-core
29
43
  requirement: !ruby/object:Gem::Requirement
30
44
  requirements:
31
45
  - - "~>"
32
46
  - !ruby/object:Gem::Version
33
- version: '2'
47
+ version: '3'
34
48
  type: :runtime
35
49
  prerelease: false
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
38
52
  - - "~>"
39
53
  - !ruby/object:Gem::Version
40
- version: '2'
54
+ version: '3'
55
+ - !ruby/object:Gem::Dependency
56
+ name: aws-sdk-elasticloadbalancing
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.2'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1.2'
41
69
  - !ruby/object:Gem::Dependency
42
70
  name: bundler
43
71
  requirement: !ruby/object:Gem::Requirement