prima-twig 1.0.28 → 1.0.33

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: 4ebbe34f5930e6a4ce8734c25a861b3e2a0d5975663978673b629a4520c6a262
4
- data.tar.gz: 0fc017cd93fa1b7b450f7df4e1542cb40b952eb0b691983ecc69a7904e25203b
3
+ metadata.gz: 962a543074985813837b099c00085a1bf28437169d051782743652cf815b7421
4
+ data.tar.gz: 2a98f83653a973d61c5bd790f9aab65d9981d7792d19754cc18a0f8922d0ae1a
5
5
  SHA512:
6
- metadata.gz: bf7be18099db0176d241d126a37c71e32dd392cff8f305bd3eb6d0d13634e94b56f1693c966d704001a39f9a76a9c249ec01181b434132dc9d36fee8d1fb4155
7
- data.tar.gz: d0b40a6184d0cfc4da29aaf42bec5830ecbd4138fc8689591911c3bb60a5b2d22aeac763e332fb31f9ed9d53bc0f6ca0f390733e4c4b7281143d65388c9a0eac
6
+ metadata.gz: 471c6be8f236212e706a41572beec06e768ea712b10a860d9a2598e3ea743a1441956485ac89a0d073c3f96adebc0503d4aff3b13ad8ed7ce361559892bfdb3c
7
+ data.tar.gz: de461dad6d2b8ba3f641d18bcb25e9bfccd4b6f7e9b1783196463ad09e3afdebb6194706ab6f81c85c1e4dbb148cd267b3fba61c3e9db6702933a9e60d3bb36e
@@ -19,7 +19,7 @@ class Build
19
19
  @s3 = Aws::S3::Client.new
20
20
  @s3_bucket = 'prima-artifacts'
21
21
  @artifact_path = '/tmp/prima-artifact.zip'
22
- @import_db_task = 'arn:aws:ecs:eu-west-1:001575623345:task-definition/ecs-task-db-restore2-TaskDefinitionDbRestore-4UBHMCZBE5WM:1'
22
+ @import_db_task = 'arn:aws:ecs:eu-west-1:001575623345:task-definition/ecs-task-db-restore2-TaskDefinitionDbRestore-XYF2QX2UJRXZ:1'
23
23
  @cf_role = 'arn:aws:iam::001575623345:role/qainit-service-role-cloudformat-CloudformationRole-18KBZQIS148R9'
24
24
  @ecs_cluster_name = nil
25
25
  @deploy_update = false
@@ -46,7 +46,10 @@ class Build
46
46
  'starsky' => {},
47
47
  'hutch' => {},
48
48
  'maia' => {},
49
- 'legion' => {}
49
+ 'legion' => {},
50
+ 'vianello' => {},
51
+ 'domus' => {}
52
+ # 'toretto' => {}
50
53
  }
51
54
  @base_stack_name_alb = 'ecs-alb-http-public-qa-'
52
55
  @base_stack_name_alb_ws = 'ecs-alb-ws-public-qa-'
@@ -200,7 +203,7 @@ class Build
200
203
  @tags = [
201
204
  {
202
205
  key: "qainit",
203
- value: @git_branch
206
+ value: @git_branch.gsub(/[^a-zA-Z0-9\-]/,"-")
204
207
  },
205
208
  {
206
209
  key: "hostname_pattern_priority",
@@ -208,7 +211,9 @@ class Build
208
211
  }
209
212
  ]
210
213
  @projects.each do |key, value|
211
- @tags << { key: key, value: value['name'] }
214
+ unless value['name'].to_s.strip.empty?
215
+ @tags << { key: key, value: value['name'] }
216
+ end
212
217
  end
213
218
  end
214
219
 
@@ -359,6 +364,14 @@ class Build
359
364
  {
360
365
  parameter_key: 'MaiaElbHostname',
361
366
  parameter_value: get_alb_host(stack_name_alb)
367
+ },
368
+ {
369
+ parameter_key: 'VianelloElbHostname',
370
+ parameter_value: get_alb_host(stack_name_alb)
371
+ },
372
+ {
373
+ parameter_key: 'DomusElbHostname',
374
+ parameter_value: get_alb_host(stack_name_alb)
362
375
  }
363
376
  ]
364
377
 
@@ -424,43 +437,42 @@ class Build
424
437
  end
425
438
 
426
439
  def create_legion_stack()
427
- return true
428
- # wait_for_artifact('prima-artifacts-encrypted', "microservices/legion/#{@projects["legion"]['revision']}-qa.tar.gz")
429
- # stack_name_legion = get_stack_name("legion")
430
- # git_checkout_version('legion', @projects["legion"]['revision'])
431
- # stack_body = File.read('projects/legion/deploy/task.yml')
432
- # parameters = [
433
- # {
434
- # parameter_key: "Environment",
435
- # parameter_value: "qa"
436
- # },
437
- # {
438
- # parameter_key: "ReleaseVersion",
439
- # parameter_value: @projects["legion"]['revision']
440
- # },
441
- # {
442
- # parameter_key: "TaskDesiredCount",
443
- # parameter_value: "1"
444
- # },
445
- # {
446
- # parameter_key: "ECSClusterName",
447
- # parameter_value: get_ecs_cluster_name
448
- # },
449
- # {
450
- # parameter_key: "HostnamePattern",
451
- # parameter_value: "legion-#{get_deploy_id}.qa.colaster.com"
452
- # },
453
- # {
454
- # parameter_key: "HostnamePatternPriority",
455
- # parameter_value: hostname_pattern_priority
456
- # }
457
- # ]
458
- # if stack_exists?(stack_name_legion)
459
- # cur_version = get_currently_deployed_version(stack_name_legion)
460
- # update_stack(stack_name_legion, stack_body, parameters, @tags, @cf_role) unless cur_version.include?(@projects["legion"]['revision'])
461
- # else
462
- # create_stack(stack_name_legion, stack_body, parameters, @tags, @cf_role)
463
- # end
440
+ wait_for_artifact('prima-artifacts-encrypted', "microservices/legion/#{@projects["legion"]['revision']}-qa.tar.gz")
441
+ stack_name_legion = get_stack_name("legion")
442
+ git_checkout_version('legion', @projects["legion"]['revision'])
443
+ stack_body = File.read('projects/legion/deploy/task.yml')
444
+ parameters = [
445
+ {
446
+ parameter_key: "Environment",
447
+ parameter_value: "qa"
448
+ },
449
+ {
450
+ parameter_key: "ReleaseVersion",
451
+ parameter_value: @projects["legion"]['revision']
452
+ },
453
+ {
454
+ parameter_key: "TaskDesiredCount",
455
+ parameter_value: "1"
456
+ },
457
+ {
458
+ parameter_key: "ECSClusterName",
459
+ parameter_value: get_ecs_cluster_name
460
+ },
461
+ {
462
+ parameter_key: "HostnamePattern",
463
+ parameter_value: "legion-#{get_deploy_id}.qa.colaster.com"
464
+ },
465
+ {
466
+ parameter_key: "HostnamePatternPriority",
467
+ parameter_value: hostname_pattern_priority
468
+ }
469
+ ]
470
+ if stack_exists?(stack_name_legion)
471
+ cur_version = get_currently_deployed_version(stack_name_legion)
472
+ update_stack(stack_name_legion, stack_body, parameters, @tags, @cf_role) unless cur_version.include?(@projects["legion"]['revision'])
473
+ else
474
+ create_stack(stack_name_legion, stack_body, parameters, @tags, @cf_role)
475
+ end
464
476
  end
465
477
 
466
478
  def create_urania_stack()
@@ -1427,6 +1439,114 @@ class Build
1427
1439
  end
1428
1440
  end
1429
1441
 
1442
+ def create_vianello_stack()
1443
+ if deploy_vianello_or_domus?
1444
+ wait_for_artifact('prima-artifacts-encrypted', "microservices/vianello/#{@projects["vianello"]['revision']}-qa.tar.gz")
1445
+ stack_name_vianello = "ecs-task-vianello-qa-#{get_deploy_id}"
1446
+ git_checkout_version('vianello', @projects["vianello"]['revision'])
1447
+ stack_body = File.read('projects/vianello/deploy/task.yml')
1448
+ parameters = [
1449
+ {
1450
+ parameter_key: "Environment",
1451
+ parameter_value: "qa"
1452
+ },
1453
+ {
1454
+ parameter_key: "ReleaseVersion",
1455
+ parameter_value: @projects["vianello"]['revision']
1456
+ },
1457
+ {
1458
+ parameter_key: "ECSClusterName",
1459
+ parameter_value: get_ecs_cluster_name
1460
+ },
1461
+ {
1462
+ parameter_key: "TaskDesiredCount",
1463
+ parameter_value: '1'
1464
+ },
1465
+ {
1466
+ parameter_key: "HostnamePattern",
1467
+ parameter_value: "vianello-#{get_deploy_id}.qa.colaster.com"
1468
+ },
1469
+ {
1470
+ parameter_key: "HostnamePatternPriority",
1471
+ parameter_value: (hostname_pattern_priority.to_i + 254).to_s
1472
+ },
1473
+ {
1474
+ parameter_key: "ECSClusterName",
1475
+ parameter_value: get_ecs_cluster_name
1476
+ },
1477
+ {
1478
+ parameter_key: "ALBShortName",
1479
+ parameter_value: "vianello-qa-#{get_deploy_id}"[0..27]
1480
+ },
1481
+ {
1482
+ parameter_key: "EnvHash",
1483
+ parameter_value: get_deploy_id
1484
+ }
1485
+ ]
1486
+ if stack_exists?(stack_name_vianello)
1487
+ cur_version = get_currently_deployed_version(stack_name_vianello)
1488
+ update_stack(stack_name_vianello, stack_body, parameters, @tags, @cf_role) unless cur_version.include?(@projects["vianello"]['revision'])
1489
+ else
1490
+ create_stack(stack_name_vianello, stack_body, parameters, @tags, @cf_role)
1491
+ end
1492
+ else
1493
+ true
1494
+ end
1495
+ end
1496
+
1497
+ def create_domus_stack()
1498
+ if deploy_vianello_or_domus?
1499
+ wait_for_artifact('prima-artifacts-encrypted', "microservices/domus/#{@projects["domus"]['revision']}-#{get_deploy_id[0..7]}-qa.tar.gz")
1500
+ wait_for_stack_ready(get_stack_name("vianello")) unless stack_ready?(get_stack_name("vianello"))
1501
+
1502
+ stack_name_domus = get_stack_name("domus")
1503
+ git_checkout_version('domus', @projects["domus"]['revision'])
1504
+ stack_body = File.read('projects/domus/deploy/task.yml')
1505
+ parameters = [
1506
+ {
1507
+ parameter_key: "Environment",
1508
+ parameter_value: "qa"
1509
+ },
1510
+ {
1511
+ parameter_key: "ReleaseVersion",
1512
+ parameter_value: "#{@projects["domus"]['revision']}-#{get_deploy_id[0..7]}"
1513
+ },
1514
+ {
1515
+ parameter_key: "ALBShortName",
1516
+ parameter_value: "domus-qa-#{get_deploy_id}"[0..27]
1517
+ },
1518
+ {
1519
+ parameter_key: "ECSClusterName",
1520
+ parameter_value: get_ecs_cluster_name
1521
+ },
1522
+ {
1523
+ parameter_key: "EnvHash",
1524
+ parameter_value: get_deploy_id
1525
+ },
1526
+ {
1527
+ parameter_key: "HostnamePattern",
1528
+ parameter_value: "domus-#{get_deploy_id}.qa.colaster.com"
1529
+ },
1530
+ {
1531
+ parameter_key: "HostnamePatternPriority",
1532
+ parameter_value: (hostname_pattern_priority.to_i + 254).to_s
1533
+ },
1534
+ {
1535
+ parameter_key: "ApiUrl",
1536
+ parameter_value: "https://#{get_route53_hostname('vianello')}"
1537
+ }
1538
+ ]
1539
+ if stack_exists?(stack_name_domus)
1540
+ cur_version = get_currently_deployed_version(stack_name_domus)
1541
+ update_stack(stack_name_domus, stack_body, parameters, @tags, @cf_role) unless cur_version.include?(@projects["domus"]['revision'])
1542
+ else
1543
+ create_stack(stack_name_domus, stack_body, parameters, @tags, @cf_role)
1544
+ end
1545
+ else
1546
+ true
1547
+ end
1548
+ end
1549
+
1430
1550
  def create_rogoreport_stack()
1431
1551
  true
1432
1552
  end
@@ -1437,12 +1557,16 @@ class Build
1437
1557
  wait_for_stack_ready(get_stack_name("worker-ermes")) unless stack_ready?(get_stack_name("worker-ermes"))
1438
1558
  wait_for_stack_ready(get_stack_name("ermes")) unless stack_ready?(get_stack_name("ermes"))
1439
1559
  wait_for_stack_ready(get_stack_name("peano")) unless stack_ready?(get_stack_name("peano"))
1440
- #wait_for_stack_ready(get_stack_name("legion")) unless stack_ready?(get_stack_name("legion"))
1560
+ wait_for_stack_ready(get_stack_name("legion")) unless stack_ready?(get_stack_name("legion"))
1441
1561
  wait_for_stack_ready(get_stack_name("borat")) unless stack_ready?(get_stack_name("borat"))
1442
1562
  wait_for_stack_ready(get_stack_name("activia")) unless stack_ready?(get_stack_name("activia"))
1443
1563
  wait_for_stack_ready(get_stack_name("maia")) unless stack_ready?(get_stack_name("maia"))
1444
1564
  wait_for_stack_ready(get_stack_name("crash")) unless stack_ready?(get_stack_name("crash"))
1445
1565
  wait_for_stack_ready(get_stack_name("hutch")) unless stack_ready?(get_stack_name("hutch"))
1566
+ if deploy_vianello_or_domus?
1567
+ wait_for_stack_ready(get_stack_name("vianello")) unless stack_ready?(get_stack_name("vianello"))
1568
+ wait_for_stack_ready(get_stack_name("domus")) unless stack_ready?(get_stack_name("domus"))
1569
+ end
1446
1570
 
1447
1571
  update_service_defaults(get_stack_name("web"))
1448
1572
  update_service_defaults(get_stack_name("consumer-api"))
@@ -1453,7 +1577,7 @@ class Build
1453
1577
  update_service_defaults(get_stack_name("hal9000"))
1454
1578
  update_service_defaults(get_stack_name("fidaty"))
1455
1579
  update_service_defaults(get_stack_name("peano"))
1456
- # update_service_defaults(get_stack_name("legion"))
1580
+ # update_service_defaults(get_stack_name("legion")) TODO UNCOMMENT
1457
1581
  update_service_defaults(get_stack_name("assange"))
1458
1582
  update_service_defaults(get_stack_name("borat"))
1459
1583
  update_service_defaults(get_stack_name("activia"))
@@ -1464,6 +1588,10 @@ class Build
1464
1588
  update_service_defaults(get_stack_name("starsky"))
1465
1589
  update_service_defaults(get_stack_name("hutch"))
1466
1590
  update_service_defaults(get_stack_name("crash"))
1591
+ if deploy_vianello_or_domus?
1592
+ update_service_defaults(get_stack_name("vianello"))
1593
+ update_service_defaults(get_stack_name("domus"))
1594
+ end
1467
1595
 
1468
1596
  activia_hostname = get_route53_hostname("activia")
1469
1597
  assange_hostname = get_route53_hostname("assange")
@@ -1484,7 +1612,9 @@ class Build
1484
1612
  crash_hostname = get_route53_hostname("crash")
1485
1613
  starsky_hostname = get_route53_hostname("starsky")
1486
1614
  hutch_hostname = get_route53_hostname("hutch")
1487
- # legion_hostname = get_route53_hostname("legion")
1615
+ legion_hostname = get_route53_hostname("legion")
1616
+ vianello_hostname = get_route53_hostname("vianello")
1617
+ domus_hostname = get_route53_hostname("domus")
1488
1618
 
1489
1619
  #launch_mimo(get_deploy_id)
1490
1620
 
@@ -1505,10 +1635,14 @@ class Build
1505
1635
  > Rachele url: http://#{rachele_hostname}:10040
1506
1636
  > Maia App url: https://#{maia_app_hostname}
1507
1637
  > Maia Intermediari url: https://#{maia_intermediari_hostname}
1508
- > Legion url: http://#{prima_hostname}:8051
1638
+ > Legion url: http://#{legion_hostname}:8051
1509
1639
  > Crash url: https://#{crash_hostname}
1510
1640
  > Starsky url: https://#{starsky_hostname}
1511
- > Hutch url: https://#{hutch_hostname}
1641
+ > Hutch url: https://#{hutch_hostname}"
1642
+ projects_text.concat "
1643
+ > Vianello url: https://#{vianello_hostname}
1644
+ > Domus url: https://#{domus_hostname}" if deploy_vianello_or_domus?
1645
+ projects_text.concat "
1512
1646
  > RabbitMQ url: http://#{get_ec2_ip_address}:15672
1513
1647
  > Elasticsearch url: http://#{get_ec2_ip_address}:9200
1514
1648
  > Git branch: #{@git_branch}
@@ -1572,6 +1706,10 @@ class Build
1572
1706
  host = "legion-#{get_deploy_id}.qa.colaster.com"
1573
1707
  when project.include?('maia-intermediari')
1574
1708
  host = "api-intermediari-#{get_deploy_id}.qa.colaster.com"
1709
+ when project.include?('vianello')
1710
+ host = "vianello-#{get_deploy_id}.qa.colaster.com"
1711
+ when project.include?('domus')
1712
+ host = "domus-#{get_deploy_id}.qa.colaster.com"
1575
1713
  end
1576
1714
  host
1577
1715
  end
@@ -1633,6 +1771,10 @@ class Build
1633
1771
  logical_resource_id = 'EcsApplicationLoadBalancerPublic'
1634
1772
  when stack_name.include?('legion')
1635
1773
  logical_resource_id = 'EcsApplicationLoadBalancerInternal'
1774
+ when stack_name.include?('vianello')
1775
+ logical_resource_id = 'EcsApplicationLoadBalancerInternal'
1776
+ when stack_name.include?('domus')
1777
+ logical_resource_id = 'EcsApplicationLoadBalancerPublic'
1636
1778
  end
1637
1779
  resp = describe_stack_resource(stack_name, logical_resource_id)
1638
1780
  resp = describe_load_balancers([resp.stack_resource_detail.physical_resource_id])
@@ -1685,6 +1827,10 @@ class Build
1685
1827
  logical_resource_id = 'ECSServiceMaia'
1686
1828
  when stack_name.include?('legion')
1687
1829
  logical_resource_id = 'ECSServiceLegionQA'
1830
+ when stack_name.include?('vianello')
1831
+ logical_resource_id = 'ECSServiceVianelloQA'
1832
+ when stack_name.include?('domus')
1833
+ logical_resource_id = 'ECSServiceDomus'
1688
1834
  else
1689
1835
  raise "Service name non gestito per lo stack #{stack_name}"
1690
1836
  end
@@ -1763,6 +1909,12 @@ class Build
1763
1909
  })
1764
1910
  end
1765
1911
 
1912
+ def deploy_vianello_or_domus?
1913
+ vianello_present = !@projects['vianello'].empty? && @projects['vianello'][:name] != 'master' && !@projects['vianello'][:default_branch]
1914
+ domus_present = !@projects['domus'].empty? && @projects['domus'][:name] != 'master' && !@projects['domus'][:default_branch]
1915
+ vianello_present || domus_present
1916
+ end
1917
+
1766
1918
  def git_checkout_version(project, revision)
1767
1919
  Dir.chdir "projects/#{project}"
1768
1920
  exec_step "git checkout -- . && git checkout #{revision}"
@@ -46,7 +46,10 @@ class Release
46
46
  'starsky' => {},
47
47
  'hutch' => {},
48
48
  'maia' => {},
49
- 'legion' => {}
49
+ 'legion' => {},
50
+ 'vianello' => {},
51
+ 'domus' => {}
52
+ # 'toretto' => {}
50
53
  }
51
54
  @base_stack_name_alb = 'ecs-alb-http-public-qa-'
52
55
  @base_stack_name_alb_ws = 'ecs-alb-ws-public-qa-'
@@ -434,6 +437,8 @@ class Release
434
437
  def qainit_deploy!(quiet = false)
435
438
  `git checkout master && git pull && git submodule update --init --recursive && git remote prune origin`
436
439
 
440
+ `git branch -r | awk '{print $1}' | egrep -v -f /dev/fd/0 <(git branch -vv | grep origin) | awk '{print $1}' | xargs git branch -D`
441
+
437
442
  default_name = get_default_branch_name @projects
438
443
  feature_number = ''
439
444
  unless quiet
@@ -340,7 +340,7 @@ module PrimaAwsClient
340
340
  def wait_for_artifact(bucket, path)
341
341
  ready = artifact_exists?(bucket, path)
342
342
  sleep_seconds = 13
343
- output "Attendo che lo sia pronto l'artefatto #{path}...\n".yellow
343
+ output "Attendo che sia pronto l'artefatto #{path}...\n".yellow
344
344
  retries = 0
345
345
  while !ready
346
346
  ready = true if artifact_exists?(bucket, path)
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: 1.0.28
4
+ version: 1.0.33
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matteo Giachino
@@ -14,7 +14,7 @@ authors:
14
14
  autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
- date: 2020-05-26 00:00:00.000000000 Z
17
+ date: 2020-06-26 00:00:00.000000000 Z
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
20
20
  name: aws-sdk-autoscaling