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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 46bbc2836fcb68d207738300559ea4e690fcad14adbb544306e54213d238e86f
4
- data.tar.gz: 1f6d94cfacf68ed7d4024a179986228034c685e7bb080b7ae6c7869fa85b23fd
3
+ metadata.gz: dfcc17e7e85bf497486e1778840b79d5c5f63d6c0098d1cfdb13a98a35c85d70
4
+ data.tar.gz: 597e097e0d54316e0e259e8e46fa1321bc83179193b3b3be7800d3b7c3b25e0b
5
5
  SHA512:
6
- metadata.gz: 1f6c1340ce9acbeeae49dea729cc8b11d2cfc38f815a21a7e0438a8422b7ccd9d28b6715729c2cea24419f6906f4be7d1d86411470a696f40b5cdb38de395ccc
7
- data.tar.gz: 266ed72ced2080adc5360dffeb4eebe0a3ef835fd59674c95e64fd5e184a6a095549cacb0ed37d84fb01f1ea777a1724c122cbbba657fde63cc1a7ed04b6829c
6
+ metadata.gz: b8c75234241b6f2dd08fa00ed0a3e5650c2fe2a77b24fffcf5f256e7ae5c7e5c73c9be94df69a22bd0fac37d25abb005fafc237a6e2ec05746f3ab18bdfa5a99
7
+ data.tar.gz: 356d00ac1cb2dcb523cff3c4d927eaab54019046d32b21375bf79fd2092ca68cd2bfe4063faf557f81eb8f4cc4ac040cb91e466154a567991e61a21ca502c4fe
@@ -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
- update_stack(stack_name_rachele, stack_body, parameters, tags, @cf_role) unless cur_version.include?(@projects["rachele"]['revision'])
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
@@ -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.5
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-11-26 00:00:00.000000000 Z
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.3
217
+ rubygems_version: 3.0.1
218
218
  signing_key:
219
219
  specification_version: 4
220
220
  summary: The Prima twig toolbelt