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 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