prima-twig 0.44.13 → 0.44.14
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/twig-feature +18 -6
- data/lib/prima_aws_client.rb +22 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f5f5002903a793b89c312ef1a22034bca14770c2d3f791d116d59febb4ebb49b
|
4
|
+
data.tar.gz: ae1851fb0acd2fe592ae7e22226236cf9d28ece25d96c769ed1ebc3808028473
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e150bd73601cf3c25847f1e42361376a29eaec896345fcd920c6c16813a37be9c72609a8c20561505a7f9e90a3fa6408494ae43ad96ff1bb79eb8c3ddbfed947
|
7
|
+
data.tar.gz: 4302d228ab61725709fa944ee40d1cdaa5e7e471954073b93b1aeb870bc2c8fbb3131a2a98cf349d00a7bd519fd80599db0fdde94f7f392cbb583dffb0d24497
|
data/bin/twig-feature
CHANGED
@@ -351,7 +351,7 @@ class Release
|
|
351
351
|
@deploy_update = true
|
352
352
|
|
353
353
|
output "Recupero le informazioni sui QA attivi..."
|
354
|
-
stack_list, envs =
|
354
|
+
stack_list, envs = get_clusters()
|
355
355
|
|
356
356
|
env_hash = nil
|
357
357
|
unless envs.empty?
|
@@ -981,13 +981,13 @@ class Release
|
|
981
981
|
parameter_value: @ecs_cluster_name
|
982
982
|
}
|
983
983
|
]
|
984
|
-
create_stack(stack_name_db, stack_body, parameters, tags, @cf_role) unless stack_exists?(stack_name_db)
|
984
|
+
create_stack(stack_name_db, stack_body, parameters, tags, @cf_role) unless stack_exists?(stack_name_db) # creazione asincrona stack dei db (~4 min)
|
985
985
|
|
986
986
|
create_prima_artifact(@projects["prima"][:revision], @projects["prima"][:name], deploy_id) unless artifact_exists?('prima-artifacts-encrypted', "prima/#{@projects["prima"][:revision]}-#{deploy_id}.tar.gz")
|
987
|
-
|
988
|
-
wait_for_stack_ready(stack_name_db) unless stack_ready?(stack_name_db)
|
987
|
+
# l'artefatto di prima viene creato sempre (puntamenti all'ambiente compilati nel js) e richiede molto più di 4 minuti
|
988
|
+
wait_for_stack_ready(stack_name_db) unless stack_ready?(stack_name_db) # dovrebbe essere istantaneo
|
989
989
|
db_task = ''
|
990
|
-
db_task = import_dbs(ec2_ip_address(asg_stack_name)) unless stack_exists?("ecs-route53-qa-#{deploy_id}")
|
990
|
+
db_task = import_dbs(ec2_ip_address(asg_stack_name)) unless stack_exists?("ecs-route53-qa-#{deploy_id}") # import asincrono dei dati
|
991
991
|
|
992
992
|
create_crash_artifact(@projects['crash'][:revision], deploy_id) unless !deploy_crash? || artifact_exists?('prima-artifacts-encrypted', "microservices/crash/#{@projects['crash'][:revision]}-#{deploy_id}-qa.tar.gz")
|
993
993
|
create_urania_artifact(@projects["urania"][:revision]) unless artifact_exists?('prima-artifacts-encrypted', "microservices/urania/#{@projects["urania"][:revision]}-qa.tar.gz")
|
@@ -1003,7 +1003,7 @@ class Release
|
|
1003
1003
|
create_activia_artifact(@projects["activia"][:revision]) unless artifact_exists?('prima-artifacts-encrypted', "microservices/activia/#{@projects["activia"][:revision]}-qa.tar.gz")
|
1004
1004
|
create_skynet_artifact(@projects["skynet"][:revision]) unless artifact_exists?('prima-artifacts-encrypted', "microservices/skynet/#{@projects["skynet"][:revision]}-qa.tar.gz")
|
1005
1005
|
|
1006
|
-
wait_for_db_import(db_task) unless stack_exists?("ecs-route53-qa-#{deploy_id}")
|
1006
|
+
wait_for_db_import(db_task) unless stack_exists?("ecs-route53-qa-#{deploy_id}") # dovrebbe essere istantaneo
|
1007
1007
|
|
1008
1008
|
import_redis_crash(ec2_ip_address(asg_stack_name)) if deploy_crash? && !stack_exists?("ecs-task-web-qa-#{deploy_id}")
|
1009
1009
|
|
@@ -2868,6 +2868,18 @@ class Release
|
|
2868
2868
|
return stack_list, envs
|
2869
2869
|
end
|
2870
2870
|
|
2871
|
+
def get_clusters()
|
2872
|
+
envs = {}
|
2873
|
+
cluster_list = cluster_list()
|
2874
|
+
cluster_list.each do |stack|
|
2875
|
+
unless stack.stack_name.match(/spotfleet-allinone-qa-(\w+)$/)
|
2876
|
+
env_hash = stack.stack_name.match(/qa-(\w+)$/)[0]
|
2877
|
+
envs[env_hash] = stack.tags unless envs.has_key?(env_hash) || stack.tags.empty?
|
2878
|
+
end
|
2879
|
+
end
|
2880
|
+
return cluster_list, envs
|
2881
|
+
end
|
2882
|
+
|
2871
2883
|
def hostname_pattern_priority()
|
2872
2884
|
(Time.now.to_i.to_s[-4..-1].to_i + Random.rand(40000)).to_s
|
2873
2885
|
end
|
data/lib/prima_aws_client.rb
CHANGED
@@ -40,6 +40,28 @@ module PrimaAwsClient
|
|
40
40
|
stacks
|
41
41
|
end
|
42
42
|
|
43
|
+
def cluster_list
|
44
|
+
stacks = []
|
45
|
+
next_token = ''
|
46
|
+
loop do
|
47
|
+
print '.'.yellow; STDOUT.flush
|
48
|
+
options = next_token != '' ? { next_token: next_token } : {}
|
49
|
+
begin
|
50
|
+
resp = cf_client.describe_stacks(options)
|
51
|
+
rescue Aws::CloudFormation::Errors::Throttling => e
|
52
|
+
output 'Throttling, retrying in 15 seconds'.red
|
53
|
+
sleep 15
|
54
|
+
resp = cf_client.describe_stacks(options)
|
55
|
+
end
|
56
|
+
stacks += resp.stacks
|
57
|
+
break unless resp.next_token
|
58
|
+
next_token = resp.next_token
|
59
|
+
end
|
60
|
+
puts '.'.yellow; STDOUT.flush
|
61
|
+
stacks.keep_if { |stack| stack.stack_name.include? 'ecs-cluster-qa-' }
|
62
|
+
stacks
|
63
|
+
end
|
64
|
+
|
43
65
|
def list_exports
|
44
66
|
exports = []
|
45
67
|
next_token = ''
|
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.44.
|
4
|
+
version: 0.44.14
|
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: 2019-01-
|
16
|
+
date: 2019-01-14 00:00:00.000000000 Z
|
17
17
|
dependencies:
|
18
18
|
- !ruby/object:Gem::Dependency
|
19
19
|
name: aws-sdk
|