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 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