prima-twig 0.31.38 → 0.31.39

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/bin/twig-update-ami +21 -13
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e33b92c795fca48960912187e6aa226d3def6a3f
4
- data.tar.gz: bb0997960aa2e39af5caf8bafbcda27adecb02f0
3
+ metadata.gz: aaaea2c9fc1c40f894ba17ab9554f38cf758fdc6
4
+ data.tar.gz: 4126caf4f83e8dc427f7e20d0041d3f97b47669e
5
5
  SHA512:
6
- metadata.gz: d68395a4b9df1a139129788df0aa9acf2b5815b0a2c8c4b3048458e6c8a523edf747d0965fbf2d0c0e70d524cdfd550ea6914f7ac845f6325f9f390ff78d3e60
7
- data.tar.gz: 7aed21132a0b9f7691eec0089835a5120d0851ee85dc0d03cde19f9169dbcc3cf8e7ad4b278507df91ce0eb9b16cf4a2f875f3d8737b049589708b9eb248b7f1
6
+ metadata.gz: 444c4fca18efa7dbc437c8d104d34180e3132d04b3ae8c8e8aa0b039d7beacec93f07e10b9f66b1f91062458299d63d1f1c6ffecc26a2937809164bf4fed3e45
7
+ data.tar.gz: 7ab01fe2946eb802b310a9cfce1a3aa94ee6307fa06a1e674afb74663638bc476cbd338fbc0c6cbde24a4cf2d2995c0f80c8ba2115372f6259722e43129cb20f
data/bin/twig-update-ami CHANGED
@@ -25,28 +25,32 @@ class TwigUpdateAmi
25
25
  private
26
26
 
27
27
  def update_amis(ami_id, ami_name, ami_description)
28
- @instances['stacks'].each do |instance|
28
+ @instances['amis'].each do |ami|
29
29
  output 'updating instance definition'.light_green
30
30
  Dir.chdir 'ami'
31
- update_instance_name(ami_id, ami_name, ami_description, instance['json'])
31
+ update_instance_name(ami_id, ami_name, ami_description, ami['json'])
32
32
  output 'running packer update (this could take some time)'.light_green
33
- new_ami_id = update_packer instance['json']
33
+ new_ami_id = update_packer ami['json']
34
34
  Dir.chdir '..'
35
35
  output 'new ami id: ' + new_ami_id
36
- instance['stacks'].each do |stack|
36
+ ami['stacks'].each do |stack|
37
37
  output 'updating ' + stack['yaml_filename'] + ' and copying onto s3'
38
38
  update_yml_files(new_ami_id, stack['yaml_filename'])
39
39
  copy_yml_files_to_s3(stack['yaml_filename'], stack['s3_key'])
40
40
  output 'updating stack on cloudformation'
41
- update_stack_url(stack['stack_name'], stack['template_url'], get_stack_parameters(stack['stack_name'])) if stack['stack_name']
41
+ if stack['stack_name'] and stack_exists?(stack['stack_name'])
42
+ update_stack_url(stack['stack_name'], stack['template_url'], get_stack_parameters(stack['stack_name']))
43
+ end
42
44
  end
43
- unless instance['batch_compute_environments'].nil?
44
- instance['batch_compute_environments'].each do |ce|
45
+ unless ami['batch_compute_environments'].nil?
46
+ ami['batch_compute_environments'].each do |ce|
45
47
  update_batch_compute_environment(ce, new_ami_id)
46
48
  end
47
49
  end
48
- instance['stacks'].each do |stack|
49
- wait_for_stack_ready(stack['stack_name'], ['CREATE_FAILED', 'ROLLBACK_IN_PROGRESS', 'ROLLBACK_FAILED', 'DELETE_IN_PROGRESS', 'DELETE_FAILED', 'DELETE_COMPLETE', 'UPDATE_ROLLBACK_FAILED', 'UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS', 'UPDATE_ROLLBACK_COMPLETE', 'ROLLBACK_COMPLETE'])
50
+ ami['stacks'].each do |stack|
51
+ if stack['stack_name'] and stack_exists?(stack['stack_name'])
52
+ wait_for_stack_ready(stack['stack_name'], ['CREATE_FAILED', 'ROLLBACK_IN_PROGRESS', 'ROLLBACK_FAILED', 'DELETE_IN_PROGRESS', 'DELETE_FAILED', 'DELETE_COMPLETE', 'UPDATE_ROLLBACK_FAILED', 'UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS', 'UPDATE_ROLLBACK_COMPLETE', 'ROLLBACK_COMPLETE'])
53
+ end
50
54
  end
51
55
  end
52
56
  end
@@ -64,7 +68,7 @@ class TwigUpdateAmi
64
68
  end
65
69
 
66
70
  def update_packer(json_filename)
67
- execute_command "packer build -machine-readable ./#{json_filename} | tee build.log"
71
+ execute_command "packer build -var datadog_apikey=`biscuit get -f ../configs/secrets/common.yml common_production_apikey_datadog` -machine-readable ./#{json_filename} | tee build.log"
68
72
  `grep 'artifact,0,id' build.log | cut -d, -f6 | cut -d: -f2`.sub(/\n/, '')
69
73
  end
70
74
 
@@ -111,9 +115,9 @@ class TwigUpdateAmi
111
115
  file_content = File.read stack['yaml_filename']
112
116
  file_content.gsub!(/(\w+:\s+)!(\w+)/i, '\1QuaCeraUnPuntoEsclamativo\2')
113
117
  file_content_original = file_content.clone
114
- old_ce_name = file_content[/BatchComputeEnvironment[0-9]?+/]
115
- new_ce_version = old_ce_name.sub('BatchComputeEnvironment', '').to_i + 1
116
- new_ce_name = 'BatchComputeEnvironment' + new_ce_version.to_s
118
+ old_ce_name = file_content[/#{stack['label']}[0-9]?+/]
119
+ new_ce_version = old_ce_name.sub(stack['label'], '').to_i + 1
120
+ new_ce_name = stack['label'] + new_ce_version.to_s
117
121
  file_content.gsub!(old_ce_name, new_ce_name)
118
122
  File.open stack['yaml_filename'] + 'new', 'w' do |f|
119
123
  f.write file_content
@@ -129,6 +133,10 @@ class TwigUpdateAmi
129
133
 
130
134
  output 'updating stack on cloudformation, (step 1)'
131
135
  copy_yml_files_to_s3(stack['yaml_filename'], stack['s3_key'])
136
+ if not stack['stack_name'] or not stack_exists?(stack['stack_name'])
137
+ return false
138
+ end
139
+
132
140
  update_stack_url(stack['stack_name'], stack['template_url'], get_stack_parameters(stack['stack_name']))
133
141
  wait_for_stack_ready(stack['stack_name'], ['CREATE_FAILED', 'ROLLBACK_IN_PROGRESS', 'ROLLBACK_FAILED', 'DELETE_IN_PROGRESS', 'DELETE_FAILED', 'DELETE_COMPLETE', 'UPDATE_ROLLBACK_FAILED', 'UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS', 'UPDATE_ROLLBACK_COMPLETE', 'ROLLBACK_COMPLETE'])
134
142
 
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.31.38
4
+ version: 0.31.39
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matteo Giachino
@@ -13,7 +13,7 @@ authors:
13
13
  autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
- date: 2018-01-24 00:00:00.000000000 Z
16
+ date: 2018-01-26 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: aws-sdk