Skip to content

Commit 82e65f3

Browse files
committed
remove specific error, wrap more stuff in retry
1 parent 74c8d11 commit 82e65f3

File tree

5 files changed

+37
-30
lines changed

5 files changed

+37
-30
lines changed

zerg/lib/zerg/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,5 @@
2222
#++
2323

2424
module Zerg
25-
VERSION = "0.0.18"
25+
VERSION = "0.0.19"
2626
end

zerg/zerg.gemspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ Gem::Specification.new do |s|
2727
s.add_dependency "thor"
2828
s.add_dependency "highline"
2929
s.add_dependency "zergrush_vagrant", ">= 0.0.4"
30-
s.add_dependency "zergrush_cf", ">= 0.0.11"
30+
s.add_dependency "zergrush_cf", ">= 0.0.12"
3131

3232
s.files = `git ls-files`.split("\n")
3333
s.executables = `git ls-files`.split("\n").map{|f| f =~ /^bin\/(.*)/ ? $1 : nil}.compact

zerg_plugins/zergrush_cf/lib/zergrush_cf/init.rb

Lines changed: 33 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -111,19 +111,24 @@ def rush hive_location, task_name, task_hash, debug
111111

112112

113113
# get the event collection and initial info
114-
outputs_info = cf.describe_stacks({ 'StackName' => stack_name })
115-
while outputs_info == nil do
116-
sleep 1
114+
outputs_info = nil
115+
with_retries(:max_tries => 10, :base_sleep_seconds => 3, :max_sleep_seconds => 20) {
117116
outputs_info = cf.describe_stacks({ 'StackName' => stack_name })
117+
}
118+
while outputs_info == nil do
119+
sleep 3
120+
with_retries(:max_tries => 10, :base_sleep_seconds => 3, :max_sleep_seconds => 20) {
121+
outputs_info = cf.describe_stacks({ 'StackName' => stack_name })
122+
}
118123
end
119124

120125
events = nil
121-
with_retries(:max_tries => 10, :base_sleep_seconds => 3, :max_sleep_seconds => 20, :rescue => Fog::Errors::Error) {
126+
with_retries(:max_tries => 10, :base_sleep_seconds => 3, :max_sleep_seconds => 20) {
122127
events = cf.describe_stack_events(stack_name).body['StackEvents']
123128
}
124129
while events == nil do
125130
sleep 3
126-
with_retries(:max_tries => 10, :base_sleep_seconds => 3, :max_sleep_seconds => 20, :rescue => Fog::Errors::Error) {
131+
with_retries(:max_tries => 10, :base_sleep_seconds => 3, :max_sleep_seconds => 20) {
127132
events = cf.describe_stack_events(stack_name).body['StackEvents']
128133
}
129134
end
@@ -134,10 +139,10 @@ def rush hive_location, task_name, task_hash, debug
134139
logRabbitEvents(events.first(events.length - event_counter), rabbit_objects, eval_params(task_hash["vm"]["driver"]["driveroptions"][0]["rabbit"]))
135140
event_counter = events.length
136141

137-
with_retries(:max_tries => 10, :base_sleep_seconds => 3, :max_sleep_seconds => 20, :rescue => Fog::Errors::Error) {
142+
with_retries(:max_tries => 10, :base_sleep_seconds => 3, :max_sleep_seconds => 20) {
138143
events = cf.describe_stack_events(stack_name).body['StackEvents']
144+
outputs_info = cf.describe_stacks({ 'StackName' => stack_name })
139145
}
140-
outputs_info = cf.describe_stacks({ 'StackName' => stack_name })
141146
if outputs_info.body["Stacks"][0]["StackStatus"] == "CREATE_COMPLETE"
142147
logEvents(events.first(events.length - event_counter))
143148
logRabbitEvents(events.first(events.length - event_counter), rabbit_objects, eval_params(task_hash["vm"]["driver"]["driveroptions"][0]["rabbit"]))
@@ -203,23 +208,25 @@ def clean hive_location, task_name, task_hash, debug
203208
# get the event collection and initial info
204209
outputs_info = nil
205210
while outputs_info == nil do
206-
sleep 1
207-
begin
208-
outputs_info = cf.describe_stacks({ 'StackName' => stack_name })
209-
rescue Fog::AWS::CloudFormation::NotFound
210-
rabbit_objects[:connection].close unless rabbit_objects == nil
211-
return 0
212-
end
211+
sleep 3
212+
outputs_info = cf.describe_stacks({ 'StackName' => stack_name })
213+
begin
214+
outputs_info = cf.describe_stacks({ 'StackName' => stack_name })
215+
rescue Fog::AWS::CloudFormation::NotFound
216+
rabbit_objects[:connection].close unless rabbit_objects == nil
217+
return 0
218+
end
219+
}
213220
end
214221

215222
events = nil
216-
with_retries(:max_tries => 10, :base_sleep_seconds => 3, :max_sleep_seconds => 20, :rescue => Fog::Errors::Error) {
223+
with_retries(:max_tries => 10, :base_sleep_seconds => 3, :max_sleep_seconds => 20) {
217224
events = cf.describe_stack_events(stack_name).body['StackEvents']
218225
}
219226
while events == nil do
220227
sleep 3
221228
begin
222-
with_retries(:max_tries => 10, :base_sleep_seconds => 3, :max_sleep_seconds => 20, :rescue => Fog::Errors::Error) {
229+
with_retries(:max_tries => 10, :base_sleep_seconds => 3, :max_sleep_seconds => 20) {
223230
events = cf.describe_stack_events(stack_name).body['StackEvents']
224231
}
225232
rescue Fog::AWS::CloudFormation::NotFound
@@ -234,17 +241,17 @@ def clean hive_location, task_name, task_hash, debug
234241
logRabbitEvents(events.first(events.length - event_counter), rabbit_objects, eval_params(task_hash["vm"]["driver"]["driveroptions"][0]["rabbit"]))
235242

236243
event_counter = events.length
237-
begin
238-
with_retries(:max_tries => 10, :base_sleep_seconds => 3, :max_sleep_seconds => 20, :rescue => Fog::Errors::Error) {
244+
with_retries(:max_tries => 10, :base_sleep_seconds => 3, :max_sleep_seconds => 20) {
245+
begin
239246
events = cf.describe_stack_events(stack_name).body['StackEvents']
240-
}
241-
outputs_info = cf.describe_stacks({ 'StackName' => stack_name })
242-
rescue Fog::AWS::CloudFormation::NotFound
243-
logEvents(events.first(events.length - event_counter))
244-
logRabbitEvents(events.first(events.length - event_counter), rabbit_objects, eval_params(task_hash["vm"]["driver"]["driveroptions"][0]["rabbit"]))
245-
rabbit_objects[:connection].close unless rabbit_objects == nil
246-
return 0
247-
end
247+
outputs_info = cf.describe_stacks({ 'StackName' => stack_name })
248+
rescue Fog::AWS::CloudFormation::NotFound
249+
logEvents(events.first(events.length - event_counter))
250+
logRabbitEvents(events.first(events.length - event_counter), rabbit_objects, eval_params(task_hash["vm"]["driver"]["driveroptions"][0]["rabbit"]))
251+
rabbit_objects[:connection].close unless rabbit_objects == nil
252+
return 0
253+
end
254+
}
248255
end
249256

250257
# log remaining events for error case

zerg_plugins/zergrush_cf/lib/zergrush_cf/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,5 @@
2222
#++
2323

2424
module ZergrushCF
25-
VERSION = "0.0.11"
25+
VERSION = "0.0.12"
2626
end

zerg_plugins/zergrush_cf/zergrush_cf.gemspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Gem::Specification.new do |s|
1717

1818
s.add_development_dependency "bundler", ">= 1.0.0"
1919
s.add_development_dependency "rake"
20-
s.add_development_dependency "zergrush", ">= 0.0.18"
20+
s.add_development_dependency "zergrush", ">= 0.0.19"
2121

2222
s.add_dependency "fog", ">=1.20.0"
2323
s.add_dependency "bunny", ">=1.2.1"

0 commit comments

Comments
 (0)