prima-twig 0.62.17 → 0.62.100

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.
@@ -30,10 +30,11 @@ class TwigUpdateAmi
30
30
  update_instance_name(ami_id, ami_name, ami_description, ami_template)
31
31
  output 'running packer update (this could take some time)'.light_green
32
32
  new_ami_id = update_packer(ami_template, env)
33
- # new_ami_id = 'ami-0278219494e19b969'
33
+ # new_ami_id = 'ami-026890988d91ee8c6'
34
34
  Dir.chdir '..'
35
35
  stop_if(new_ami_id.to_s.empty?, 'Failed to generate AMI!'.red)
36
36
  output "new ami id: #{new_ami_id}"
37
+ stop_if(true, "skipping stacks update")
37
38
 
38
39
  output 'searching for ami to update...'
39
40
  ami_mappings = JSON.parse(@s3.get_object(bucket: @s3_bucket, key: "ami/ami-mappings.json")["body"].read())
@@ -61,6 +62,11 @@ class TwigUpdateAmi
61
62
  { parameter_key: 'TemplateVersion', parameter_value: stack_tags['TemplateVersion'].to_s }
62
63
  ]
63
64
  )
65
+ if stack.include?('offsite-backups')
66
+ stack_template = File.read("./cloudformation/stacks/batch/compute-environment-offsite-backups.yml")
67
+ else
68
+ stack_template = File.read("./cloudformation/stacks/batch/compute-environment.yml")
69
+ end
64
70
  else
65
71
  stack_parameters = update_stack_parameters(get_stack_parameters(stack),
66
72
  [
@@ -69,9 +75,9 @@ class TwigUpdateAmi
69
75
  { parameter_key: 'TemplateVersion', parameter_value: stack_tags['TemplateVersion'].to_s }
70
76
  ]
71
77
  )
78
+ stack_template = File.read("./cloudformation/stacks/asg/#{stack.to_s.split("/")[1]}.yml")
72
79
  end
73
-
74
- update_stack(stack, get_stack_template(stack), stack_parameters, hashes_to_tags(stack_tags))
80
+ update_stack(stack, stack_template, stack_parameters, hashes_to_tags(stack_tags))
75
81
  end
76
82
  end
77
83
 
@@ -337,6 +337,29 @@ module PrimaAwsClient
337
337
  output "#{s3_bucket}/#{destination_path} uploadato con successo!\n".green
338
338
  end
339
339
 
340
+ def wait_for_artifact(bucket, path)
341
+ ready = artifact_exists?(bucket, path)
342
+ sleep_seconds = 13
343
+ output "Attendo che lo sia pronto l'artefatto #{path}...\n".yellow
344
+ retries = 0
345
+ while !ready
346
+ ready = true if artifact_exists?(bucket, path)
347
+ seconds_elapsed = 0
348
+ loop do
349
+ break if seconds_elapsed >= sleep_seconds
350
+ print '.'.yellow; STDOUT.flush
351
+ sleep 1
352
+ seconds_elapsed += 1
353
+ end
354
+ retries += 1
355
+ if retries > 150
356
+ output "\n Timeout raggiunto aspettando #{path}\n".red
357
+ exit
358
+ end
359
+ end
360
+ output "\nArtefatto #{path} creato!\n".green
361
+ end
362
+
340
363
  def list_import_stacks(export_name)
341
364
  stacks = []
342
365
  next_token = ''
@@ -20,7 +20,9 @@ class Prima
20
20
  @twig = Twig.new(:read_options => true, :max_days_old => 30)
21
21
  unless has_config?
22
22
  if File.exist?('../prima/twig.yml')
23
- `cp ../prima/twig.yml .`
23
+ `cp ../prima/twig.yml .`
24
+ elsif File.exist?('/tmp/twig.yml')
25
+ `cp /tmp/twig.yml .`
24
26
  else
25
27
  generate_config
26
28
  end
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.62.17
4
+ version: 0.62.100
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: 2020-03-16 00:00:00.000000000 Z
17
+ date: 2020-05-25 00:00:00.000000000 Z
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
20
20
  name: aws-sdk-autoscaling
@@ -285,6 +285,7 @@ dependencies:
285
285
  description: Our tools to manage git and github
286
286
  email: matteo.giachino@prima.it
287
287
  executables:
288
+ - twig-build
288
289
  - twig-circle
289
290
  - twig-deploy
290
291
  - twig-feature
@@ -296,6 +297,7 @@ executables:
296
297
  extensions: []
297
298
  extra_rdoc_files: []
298
299
  files:
300
+ - bin/twig-build
299
301
  - bin/twig-circle
300
302
  - bin/twig-deploy
301
303
  - bin/twig-feature
@@ -326,7 +328,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
326
328
  - !ruby/object:Gem::Version
327
329
  version: '0'
328
330
  requirements: []
329
- rubygems_version: 3.0.3
331
+ rubyforge_project:
332
+ rubygems_version: 2.7.8
330
333
  signing_key:
331
334
  specification_version: 4
332
335
  summary: The Prima twig toolbelt