prima-twig 0.59.5 → 0.59.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/twig-feature +5 -1
- data/lib/prima_aws_client.rb +35 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dfcc17e7e85bf497486e1778840b79d5c5f63d6c0098d1cfdb13a98a35c85d70
|
4
|
+
data.tar.gz: 597e097e0d54316e0e259e8e46fa1321bc83179193b3b3be7800d3b7c3b25e0b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b8c75234241b6f2dd08fa00ed0a3e5650c2fe2a77b24fffcf5f256e7ae5c7e5c73c9be94df69a22bd0fac37d25abb005fafc237a6e2ec05746f3ab18bdfa5a99
|
7
|
+
data.tar.gz: 356d00ac1cb2dcb523cff3c4d927eaab54019046d32b21375bf79fd2092ca68cd2bfe4063faf557f81eb8f4cc4ac040cb91e466154a567991e61a21ca502c4fe
|
data/bin/twig-feature
CHANGED
@@ -1273,7 +1273,11 @@ class Release
|
|
1273
1273
|
]
|
1274
1274
|
if stack_exists?(stack_name_rachele)
|
1275
1275
|
cur_version = get_currently_deployed_version(stack_name_rachele)
|
1276
|
-
|
1276
|
+
unless cur_version.include?(@projects["rachele"]['revision'])
|
1277
|
+
delete_stack(stack_name_rachele)
|
1278
|
+
wait_for_stack_removal(stack_name_rachele)
|
1279
|
+
create_stack(stack_name_rachele, stack_body, parameters, tags, @cf_role)
|
1280
|
+
end
|
1277
1281
|
else
|
1278
1282
|
create_stack(stack_name_rachele, stack_body, parameters, tags, @cf_role)
|
1279
1283
|
end
|
data/lib/prima_aws_client.rb
CHANGED
@@ -212,6 +212,24 @@ module PrimaAwsClient
|
|
212
212
|
output "\nStack #{stack_name} pronto!\n".green
|
213
213
|
end
|
214
214
|
|
215
|
+
def wait_for_stack_removal(stack_name)
|
216
|
+
ready = false
|
217
|
+
sleep_seconds = 13
|
218
|
+
sleep 10
|
219
|
+
output "Attendo che lo stack #{stack_name} finisca di essere cancellato...\n".yellow
|
220
|
+
while !ready
|
221
|
+
ready = true if stack_deleted?(stack_name)
|
222
|
+
seconds_elapsed = 0
|
223
|
+
loop do
|
224
|
+
break if seconds_elapsed >= sleep_seconds
|
225
|
+
print '.'.yellow; STDOUT.flush
|
226
|
+
sleep 1
|
227
|
+
seconds_elapsed += 1
|
228
|
+
end
|
229
|
+
end
|
230
|
+
output "\nStack #{stack_name} eliminato!\n".green
|
231
|
+
end
|
232
|
+
|
215
233
|
def get_stack_tags(name)
|
216
234
|
begin
|
217
235
|
resp = cf_client.describe_stacks(stack_name: name)
|
@@ -275,6 +293,23 @@ module PrimaAwsClient
|
|
275
293
|
['CREATE_COMPLETE', 'UPDATE_COMPLETE', 'UPDATE_ROLLBACK_COMPLETE', 'ROLLBACK_COMPLETE'].include? stack_status
|
276
294
|
end
|
277
295
|
|
296
|
+
def stack_deleted?(stack_name, failed_statuses = ['ROLLBACK_IN_PROGRESS', 'ROLLBACK_FAILED', 'DELETE_FAILED', 'UPDATE_ROLLBACK_FAILED', 'UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS'])
|
297
|
+
begin
|
298
|
+
resp = cf_client.describe_stacks(
|
299
|
+
stack_name: stack_name
|
300
|
+
)
|
301
|
+
stack_status = resp.stacks[0].stack_status
|
302
|
+
rescue Aws::CloudFormation::Errors::Throttling => e
|
303
|
+
print 'Throttling'.red; STDOUT.flush
|
304
|
+
return false
|
305
|
+
rescue Aws::CloudFormation::Errors::ValidationError => e
|
306
|
+
print 'Stack deleted'
|
307
|
+
return true
|
308
|
+
end
|
309
|
+
raise "The stack #{stack_name} errored out" if failed_statuses.include? stack_status
|
310
|
+
['DELETE_COMPLETE'].include? stack_status
|
311
|
+
end
|
312
|
+
|
278
313
|
def artifact_exists?(bucket, path)
|
279
314
|
resp = s3_client.list_objects(
|
280
315
|
bucket: bucket,
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: prima-twig
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.59.
|
4
|
+
version: 0.59.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matteo Giachino
|
@@ -14,7 +14,7 @@ authors:
|
|
14
14
|
autorequire:
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
|
-
date: 2019-
|
17
|
+
date: 2019-12-24 00:00:00.000000000 Z
|
18
18
|
dependencies:
|
19
19
|
- !ruby/object:Gem::Dependency
|
20
20
|
name: aws-sdk
|
@@ -214,7 +214,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
214
214
|
- !ruby/object:Gem::Version
|
215
215
|
version: '0'
|
216
216
|
requirements: []
|
217
|
-
rubygems_version: 3.0.
|
217
|
+
rubygems_version: 3.0.1
|
218
218
|
signing_key:
|
219
219
|
specification_version: 4
|
220
220
|
summary: The Prima twig toolbelt
|