prima-twig 0.31.38 → 0.31.39

Sign up to get free protection for your applications and to get access to all the features.
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