prima-twig 0.59.5 → 0.59.6
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/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
|