prima-twig 1.2.1 → 1.2.2
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.
- checksums.yaml +4 -4
- data/bin/twig-update-ami +11 -23
- data/lib/prima_aws_client.rb +0 -17
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 375cff1dcb6c293a35af2cbed16c3d2868c8e02df37fc6dd9daaa3cc86b9bf9b
|
4
|
+
data.tar.gz: e7fd3d93fc6a856eb504290ba8c1498121b0c900ba35be697033a3fcde833aae
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 06a6dd7bf5686f6bc466728dfd0916987e9b0c537133ea521d6faaeae57e5409208785428f03e6a34a7e6654cb93be7a648c91960f014d011293025e5682793b
|
7
|
+
data.tar.gz: '009485acbc7e40d0fc4d1a0c03c9f730ee5f0704ea15b48f228f926a1af82d5b772021d706c54b29424e509cd52904c6457e9b3cdfe670764760135cc5eb4194'
|
data/bin/twig-update-ami
CHANGED
@@ -30,7 +30,7 @@ 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
|
-
#
|
33
|
+
# new_ami_id = 'ami-0d8488b68731e8756'
|
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}"
|
@@ -51,32 +51,19 @@ class TwigUpdateAmi
|
|
51
51
|
output "skipping stack #{stack} because is a qa"
|
52
52
|
next
|
53
53
|
else
|
54
|
-
|
55
|
-
|
56
|
-
|
54
|
+
stack_parameters = get_stack_parameters(stack)
|
55
|
+
stack_parameters = update_stack_parameters(stack_parameters, "AMIID", new_ami_id)
|
57
56
|
if stack.include?('batch')
|
58
|
-
stack_parameters = update_stack_parameters(get_stack_parameters(stack),
|
59
|
-
[
|
60
|
-
{ parameter_key: 'AMIID', parameter_value: new_ami_id },
|
61
|
-
{ parameter_key: 'TemplateVersion', parameter_value: stack_tags['TemplateVersion'].to_s }
|
62
|
-
]
|
63
|
-
)
|
64
57
|
if stack.include?('offsite-backups')
|
65
58
|
stack_template = File.read("./cloudformation/stacks/batch/compute-environment-offsite-backups.yml")
|
66
59
|
else
|
67
60
|
stack_template = File.read("./cloudformation/stacks/batch/compute-environment.yml")
|
68
61
|
end
|
69
62
|
else
|
70
|
-
stack_parameters = update_stack_parameters(
|
71
|
-
[
|
72
|
-
{ parameter_key: 'AMIID', parameter_value: new_ami_id },
|
73
|
-
{ parameter_key: 'DesiredCapacity', parameter_value: get_desired_capacity(stack).to_s },
|
74
|
-
{ parameter_key: 'TemplateVersion', parameter_value: stack_tags['TemplateVersion'].to_s }
|
75
|
-
]
|
76
|
-
)
|
63
|
+
stack_parameters = update_stack_parameters(stack_parameters, "DesiredCapacity", get_desired_capacity(stack).to_s)
|
77
64
|
stack_template = File.read("./cloudformation/stacks/asg/#{stack.to_s.split("/")[1]}.yml")
|
78
65
|
end
|
79
|
-
update_stack(stack, stack_template, stack_parameters
|
66
|
+
update_stack(stack, stack_template, stack_parameters)
|
80
67
|
end
|
81
68
|
end
|
82
69
|
|
@@ -120,10 +107,11 @@ class TwigUpdateAmi
|
|
120
107
|
old_values.uniq
|
121
108
|
end
|
122
109
|
|
123
|
-
def update_stack_parameters(stack_parameters,
|
124
|
-
|
125
|
-
|
126
|
-
|
110
|
+
def update_stack_parameters(stack_parameters, key, value)
|
111
|
+
stack_parameters.each do |param|
|
112
|
+
if param.parameter_key == key
|
113
|
+
param.parameter_value = value
|
114
|
+
end
|
127
115
|
end
|
128
116
|
stack_parameters
|
129
117
|
end
|
@@ -143,7 +131,7 @@ class TwigUpdateAmi
|
|
143
131
|
def get_desired_capacity(stack_name)
|
144
132
|
stack_outputs = get_stack_outputs(stack_name)
|
145
133
|
stack_outputs.each do |out|
|
146
|
-
if out.export_name.include?('EC2Fleet') or out.export_name.include?('AutoScalingGroup')
|
134
|
+
if out.export_name.include?('EC2Fleet') or out.export_name.include?('AutoScalingGroup') or out.export_name.include?('NodeGroup')
|
147
135
|
return get_autoscaling_capacity(out.output_value)
|
148
136
|
end
|
149
137
|
end
|
data/lib/prima_aws_client.rb
CHANGED
@@ -474,21 +474,4 @@ module PrimaAwsClient
|
|
474
474
|
resp = ec2_client.describe_spot_fleet_requests(spot_fleet_request_ids: [fleet_arn])
|
475
475
|
resp.spot_fleet_request_configs[0].spot_fleet_request_config.target_capacity
|
476
476
|
end
|
477
|
-
|
478
|
-
def hashes_to_tags(hashes)
|
479
|
-
tags = []
|
480
|
-
hkeys = hashes.keys
|
481
|
-
hkeys.each do |hkey|
|
482
|
-
tags.insert(0, { key: hkey, value: hashes[hkey].to_s })
|
483
|
-
end
|
484
|
-
tags
|
485
|
-
end
|
486
|
-
|
487
|
-
def tags_to_hashes(tags)
|
488
|
-
hash = Hash.new
|
489
|
-
tags.each do |tags_obj|
|
490
|
-
hash[tags_obj.key] = tags_obj.value
|
491
|
-
end
|
492
|
-
hash
|
493
|
-
end
|
494
477
|
end
|