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.
- checksums.yaml +4 -4
- data/bin/twig-update-ami +21 -13
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: aaaea2c9fc1c40f894ba17ab9554f38cf758fdc6
|
4
|
+
data.tar.gz: 4126caf4f83e8dc427f7e20d0041d3f97b47669e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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['
|
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,
|
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
|
33
|
+
new_ami_id = update_packer ami['json']
|
34
34
|
Dir.chdir '..'
|
35
35
|
output 'new ami id: ' + new_ami_id
|
36
|
-
|
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
|
-
|
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
|
44
|
-
|
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
|
-
|
49
|
-
|
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[
|
115
|
-
new_ce_version = old_ce_name.sub('
|
116
|
-
new_ce_name = '
|
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.
|
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-
|
16
|
+
date: 2018-01-26 00:00:00.000000000 Z
|
17
17
|
dependencies:
|
18
18
|
- !ruby/object:Gem::Dependency
|
19
19
|
name: aws-sdk
|