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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9b0ec525fe0b98c249e74fb5b6a904d02112fd62908264d64152e2e7347656a3
4
- data.tar.gz: 4686418d944f65eca2235c99f1a3090c78d92764b0a959b4d66340faae81c6cf
3
+ metadata.gz: f5f5002903a793b89c312ef1a22034bca14770c2d3f791d116d59febb4ebb49b
4
+ data.tar.gz: ae1851fb0acd2fe592ae7e22226236cf9d28ece25d96c769ed1ebc3808028473
5
5
  SHA512:
6
- metadata.gz: 7441d167557bf6e5c4ec7d5d5a5e8f586721b78b7b86c82b6b6997c935d96be35f2c58efdc331b6e192f0b60a2a902cb473ce59fe6d4a402c7ee94e51d6bc889
7
- data.tar.gz: 53c27d85d622b322b7ee948f51073c14921fa41ca2db95b8df2046d179bf66f3df671e63ead971f23ee709d2fe870498d4b1f6473cbe313d7551f728c7590f18
6
+ metadata.gz: e150bd73601cf3c25847f1e42361376a29eaec896345fcd920c6c16813a37be9c72609a8c20561505a7f9e90a3fa6408494ae43ad96ff1bb79eb8c3ddbfed947
7
+ data.tar.gz: 4302d228ab61725709fa944ee40d1cdaa5e7e471954073b93b1aeb870bc2c8fbb3131a2a98cf349d00a7bd519fd80599db0fdde94f7f392cbb583dffb0d24497
@@ -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 = get_stacks()
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
@@ -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.13
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-11 00:00:00.000000000 Z
16
+ date: 2019-01-14 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: aws-sdk