prima-twig 0.44.13 → 0.44.14
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-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
|