prima-twig 1.0.26 → 1.0.31

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: 6e674591fdd58afb60ab42cf657d714fd38aa4f2fedb35af9faa39a2f590ca9d
4
- data.tar.gz: a09edeec0d1b54cd56db5fa2c1c7ba06a0566c4b77ed388268f8d870b7feb152
3
+ metadata.gz: 418ab657cf2ab47b3f07d5453122338be256e794f73217c7ac333a430005c741
4
+ data.tar.gz: 7ceb82f1947e646cc524357867616d2adca1e62ab1e5ac618935ee1ccca6d03a
5
5
  SHA512:
6
- metadata.gz: 8c1e16c56cd0e83335552a22c8ad77e8e59e6c58569c76aade3f5057c6b6a64ab2e7f4e6a62f4c97149eee35464c5970e0929951b1034b9658f04dcc3a938f51
7
- data.tar.gz: 84e4203d1cd4bc30ae446a28b4a1950f8f09e5b61c3746bd2916d9a304eb4b1fb5f6c20885e1e28595b9d6616de7da25da0bf69a943827de385e7fcb975fa810
6
+ metadata.gz: 5dcdc7759dde6d217b44308a9863a141c04cf0c16f3eee02fcf5a8100e46b5d140e2a000efeb32b15a37821c5829d8c36614800b68c7b6bcee5f082155423288
7
+ data.tar.gz: 51fca59dc55ebe66dc45a1971521a7ea29dd593f538e53ff8f309806515542a175242a3b6e47cf72609bdad058de7266311fb053f61035194c4f7606b3828edc
@@ -34,7 +34,6 @@ class Build
34
34
  'hal9000' => {},
35
35
  'fidaty' => {},
36
36
  'peano' => {},
37
- # 'rogoreport' => {},
38
37
  'assange' => {},
39
38
  'borat' => {},
40
39
  'crash' => {},
@@ -46,7 +45,11 @@ class Build
46
45
  'pyxis-npm' => {},
47
46
  'starsky' => {},
48
47
  'hutch' => {},
49
- 'maia' => {}
48
+ 'maia' => {},
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",
@@ -332,6 +335,10 @@ class Build
332
335
  parameter_key: "RedisIp",
333
336
  parameter_value: get_ec2_ip_address
334
337
  },
338
+ {
339
+ parameter_key: "LegionIp",
340
+ parameter_value: get_ec2_ip_address
341
+ },
335
342
  {
336
343
  parameter_key: "AssangeElbHostname",
337
344
  parameter_value: get_alb_host(stack_name_alb)
@@ -355,6 +362,14 @@ class Build
355
362
  {
356
363
  parameter_key: 'MaiaElbHostname',
357
364
  parameter_value: get_alb_host(stack_name_alb)
365
+ },
366
+ {
367
+ parameter_key: 'VianelloElbHostname',
368
+ parameter_value: get_alb_host(stack_name_alb)
369
+ },
370
+ {
371
+ parameter_key: 'DomusElbHostname',
372
+ parameter_value: get_alb_host(stack_name_alb)
358
373
  }
359
374
  ]
360
375
 
@@ -419,6 +434,45 @@ class Build
419
434
  end
420
435
  end
421
436
 
437
+ def create_legion_stack()
438
+ wait_for_artifact('prima-artifacts-encrypted', "microservices/legion/#{@projects["legion"]['revision']}-qa.tar.gz")
439
+ stack_name_legion = get_stack_name("legion")
440
+ git_checkout_version('legion', @projects["legion"]['revision'])
441
+ stack_body = File.read('projects/legion/deploy/task.yml')
442
+ parameters = [
443
+ {
444
+ parameter_key: "Environment",
445
+ parameter_value: "qa"
446
+ },
447
+ {
448
+ parameter_key: "ReleaseVersion",
449
+ parameter_value: @projects["legion"]['revision']
450
+ },
451
+ {
452
+ parameter_key: "TaskDesiredCount",
453
+ parameter_value: "1"
454
+ },
455
+ {
456
+ parameter_key: "ECSClusterName",
457
+ parameter_value: get_ecs_cluster_name
458
+ },
459
+ {
460
+ parameter_key: "HostnamePattern",
461
+ parameter_value: "legion-#{get_deploy_id}.qa.colaster.com"
462
+ },
463
+ {
464
+ parameter_key: "HostnamePatternPriority",
465
+ parameter_value: hostname_pattern_priority
466
+ }
467
+ ]
468
+ if stack_exists?(stack_name_legion)
469
+ cur_version = get_currently_deployed_version(stack_name_legion)
470
+ update_stack(stack_name_legion, stack_body, parameters, @tags, @cf_role) unless cur_version.include?(@projects["legion"]['revision'])
471
+ else
472
+ create_stack(stack_name_legion, stack_body, parameters, @tags, @cf_role)
473
+ end
474
+ end
475
+
422
476
  def create_urania_stack()
423
477
  wait_for_artifact('prima-artifacts-encrypted', "microservices/urania/#{@projects["urania"]['revision']}-qa.tar.gz")
424
478
  stack_name_urania = get_stack_name("urania")
@@ -708,38 +762,6 @@ class Build
708
762
  end
709
763
  end
710
764
 
711
- # def create_rogoreport_stack()
712
- # wait_for_artifact('prima-artifacts-encrypted', "microservices/rogoreport/rogoreport-#{@projects["rogoreport"]['revision']}-qa.tar.gz")
713
- #
714
- # stack_name_rogoreport = get_stack_name("rogoreport")
715
- # git_checkout_version('rogoreport', @projects["rogoreport"]['revision'])
716
- # stack_body = IO.read('projects/rogoreport/deploy/task.yml')
717
- # parameters = [
718
- # {
719
- # parameter_key: "Environment",
720
- # parameter_value: "qa"
721
- # },
722
- # {
723
- # parameter_key: "ReleaseVersion",
724
- # parameter_value: "#{@projects["rogoreport"]['revision']}"
725
- # },
726
- # {
727
- # parameter_key: "ReleaseName",
728
- # parameter_value: "rogoreport"
729
- # },
730
- # {
731
- # parameter_key: "ECSClusterName",
732
- # parameter_value: get_ecs_cluster_name
733
- # }
734
- # ]
735
- # if stack_exists?(stack_name_rogoreport)
736
- # cur_version = get_currently_deployed_version(stack_name_rogoreport)
737
- # update_stack(stack_name_rogoreport, stack_body, parameters, @tags, @cf_role) unless cur_version.include?(@projects["rogoreport"]['revision'])
738
- # else
739
- # create_stack(stack_name_rogoreport, stack_body, parameters, @tags, @cf_role)
740
- # end
741
- # end
742
-
743
765
  def create_assange_stack()
744
766
  wait_for_artifact('prima-artifacts-encrypted', "microservices/assange/#{@projects["assange"]['revision']}-qa.tar.gz")
745
767
 
@@ -1415,6 +1437,114 @@ class Build
1415
1437
  end
1416
1438
  end
1417
1439
 
1440
+ def create_vianello_stack()
1441
+ if deploy_vianello_or_domus?
1442
+ wait_for_artifact('prima-artifacts-encrypted', "microservices/vianello/#{@projects["vianello"]['revision']}-qa.tar.gz")
1443
+ stack_name_vianello = "ecs-task-vianello-qa-#{get_deploy_id}"
1444
+ git_checkout_version('vianello', @projects["vianello"]['revision'])
1445
+ stack_body = File.read('projects/vianello/deploy/task.yml')
1446
+ parameters = [
1447
+ {
1448
+ parameter_key: "Environment",
1449
+ parameter_value: "qa"
1450
+ },
1451
+ {
1452
+ parameter_key: "ReleaseVersion",
1453
+ parameter_value: @projects["vianello"]['revision']
1454
+ },
1455
+ {
1456
+ parameter_key: "ECSClusterName",
1457
+ parameter_value: get_ecs_cluster_name
1458
+ },
1459
+ {
1460
+ parameter_key: "TaskDesiredCount",
1461
+ parameter_value: '1'
1462
+ },
1463
+ {
1464
+ parameter_key: "HostnamePattern",
1465
+ parameter_value: "vianello-#{get_deploy_id}.qa.colaster.com"
1466
+ },
1467
+ {
1468
+ parameter_key: "HostnamePatternPriority",
1469
+ parameter_value: (hostname_pattern_priority.to_i + 254).to_s
1470
+ },
1471
+ {
1472
+ parameter_key: "ECSClusterName",
1473
+ parameter_value: get_ecs_cluster_name
1474
+ },
1475
+ {
1476
+ parameter_key: "ALBShortName",
1477
+ parameter_value: "vianello-qa-#{get_deploy_id}"[0..27]
1478
+ },
1479
+ {
1480
+ parameter_key: "EnvHash",
1481
+ parameter_value: get_deploy_id
1482
+ }
1483
+ ]
1484
+ if stack_exists?(stack_name_vianello)
1485
+ cur_version = get_currently_deployed_version(stack_name_vianello)
1486
+ update_stack(stack_name_vianello, stack_body, parameters, @tags, @cf_role) unless cur_version.include?(@projects["vianello"]['revision'])
1487
+ else
1488
+ create_stack(stack_name_vianello, stack_body, parameters, @tags, @cf_role)
1489
+ end
1490
+ else
1491
+ true
1492
+ end
1493
+ end
1494
+
1495
+ def create_domus_stack()
1496
+ if deploy_vianello_or_domus?
1497
+ wait_for_artifact('prima-artifacts-encrypted', "microservices/domus/#{@projects["domus"]['revision']}-#{get_deploy_id[0..7]}-qa.tar.gz")
1498
+ wait_for_stack_ready(get_stack_name("vianello")) unless stack_ready?(get_stack_name("vianello"))
1499
+
1500
+ stack_name_domus = get_stack_name("domus")
1501
+ git_checkout_version('domus', @projects["domus"]['revision'])
1502
+ stack_body = File.read('projects/domus/deploy/task.yml')
1503
+ parameters = [
1504
+ {
1505
+ parameter_key: "Environment",
1506
+ parameter_value: "qa"
1507
+ },
1508
+ {
1509
+ parameter_key: "ReleaseVersion",
1510
+ parameter_value: "#{@projects["domus"]['revision']}-#{get_deploy_id[0..7]}"
1511
+ },
1512
+ {
1513
+ parameter_key: "ALBShortName",
1514
+ parameter_value: "domus-qa-#{get_deploy_id}"[0..27]
1515
+ },
1516
+ {
1517
+ parameter_key: "ECSClusterName",
1518
+ parameter_value: get_ecs_cluster_name
1519
+ },
1520
+ {
1521
+ parameter_key: "EnvHash",
1522
+ parameter_value: get_deploy_id
1523
+ },
1524
+ {
1525
+ parameter_key: "HostnamePattern",
1526
+ parameter_value: "domus-#{get_deploy_id}.qa.colaster.com"
1527
+ },
1528
+ {
1529
+ parameter_key: "HostnamePatternPriority",
1530
+ parameter_value: (hostname_pattern_priority.to_i + 254).to_s
1531
+ },
1532
+ {
1533
+ parameter_key: "ApiUrl",
1534
+ parameter_value: "https://#{get_route53_hostname('vianello')}"
1535
+ }
1536
+ ]
1537
+ if stack_exists?(stack_name_domus)
1538
+ cur_version = get_currently_deployed_version(stack_name_domus)
1539
+ update_stack(stack_name_domus, stack_body, parameters, @tags, @cf_role) unless cur_version.include?(@projects["domus"]['revision'])
1540
+ else
1541
+ create_stack(stack_name_domus, stack_body, parameters, @tags, @cf_role)
1542
+ end
1543
+ else
1544
+ true
1545
+ end
1546
+ end
1547
+
1418
1548
  def create_rogoreport_stack()
1419
1549
  true
1420
1550
  end
@@ -1425,12 +1555,16 @@ class Build
1425
1555
  wait_for_stack_ready(get_stack_name("worker-ermes")) unless stack_ready?(get_stack_name("worker-ermes"))
1426
1556
  wait_for_stack_ready(get_stack_name("ermes")) unless stack_ready?(get_stack_name("ermes"))
1427
1557
  wait_for_stack_ready(get_stack_name("peano")) unless stack_ready?(get_stack_name("peano"))
1428
- # wait_for_stack_ready(get_stack_name("rogoreport")) unless stack_ready?(get_stack_name("rogoreport"))
1558
+ wait_for_stack_ready(get_stack_name("legion")) unless stack_ready?(get_stack_name("legion"))
1429
1559
  wait_for_stack_ready(get_stack_name("borat")) unless stack_ready?(get_stack_name("borat"))
1430
1560
  wait_for_stack_ready(get_stack_name("activia")) unless stack_ready?(get_stack_name("activia"))
1431
1561
  wait_for_stack_ready(get_stack_name("maia")) unless stack_ready?(get_stack_name("maia"))
1432
1562
  wait_for_stack_ready(get_stack_name("crash")) unless stack_ready?(get_stack_name("crash"))
1433
1563
  wait_for_stack_ready(get_stack_name("hutch")) unless stack_ready?(get_stack_name("hutch"))
1564
+ if deploy_vianello_or_domus?
1565
+ wait_for_stack_ready(get_stack_name("vianello")) unless stack_ready?(get_stack_name("vianello"))
1566
+ wait_for_stack_ready(get_stack_name("domus")) unless stack_ready?(get_stack_name("domus"))
1567
+ end
1434
1568
 
1435
1569
  update_service_defaults(get_stack_name("web"))
1436
1570
  update_service_defaults(get_stack_name("consumer-api"))
@@ -1441,7 +1575,7 @@ class Build
1441
1575
  update_service_defaults(get_stack_name("hal9000"))
1442
1576
  update_service_defaults(get_stack_name("fidaty"))
1443
1577
  update_service_defaults(get_stack_name("peano"))
1444
- # update_service_defaults(get_stack_name("rogoreport"))
1578
+ # update_service_defaults(get_stack_name("legion")) TODO UNCOMMENT
1445
1579
  update_service_defaults(get_stack_name("assange"))
1446
1580
  update_service_defaults(get_stack_name("borat"))
1447
1581
  update_service_defaults(get_stack_name("activia"))
@@ -1452,6 +1586,10 @@ class Build
1452
1586
  update_service_defaults(get_stack_name("starsky"))
1453
1587
  update_service_defaults(get_stack_name("hutch"))
1454
1588
  update_service_defaults(get_stack_name("crash"))
1589
+ if deploy_vianello_or_domus?
1590
+ update_service_defaults(get_stack_name("vianello"))
1591
+ update_service_defaults(get_stack_name("domus"))
1592
+ end
1455
1593
 
1456
1594
  activia_hostname = get_route53_hostname("activia")
1457
1595
  assange_hostname = get_route53_hostname("assange")
@@ -1472,8 +1610,11 @@ class Build
1472
1610
  crash_hostname = get_route53_hostname("crash")
1473
1611
  starsky_hostname = get_route53_hostname("starsky")
1474
1612
  hutch_hostname = get_route53_hostname("hutch")
1613
+ legion_hostname = get_route53_hostname("legion")
1614
+ vianello_hostname = get_route53_hostname("vianello")
1615
+ domus_hostname = get_route53_hostname("domus")
1475
1616
 
1476
- launch_mimo(get_deploy_id)
1617
+ #launch_mimo(get_deploy_id)
1477
1618
 
1478
1619
  projects_text = "
1479
1620
  > Prima url: https://#{prima_hostname}
@@ -1492,9 +1633,14 @@ class Build
1492
1633
  > Rachele url: http://#{rachele_hostname}:10040
1493
1634
  > Maia App url: https://#{maia_app_hostname}
1494
1635
  > Maia Intermediari url: https://#{maia_intermediari_hostname}
1636
+ > Legion url: http://#{legion_hostname}:8051
1495
1637
  > Crash url: https://#{crash_hostname}
1496
1638
  > Starsky url: https://#{starsky_hostname}
1497
- > Hutch url: https://#{hutch_hostname}
1639
+ > Hutch url: https://#{hutch_hostname}"
1640
+ projects_text.concat "
1641
+ > Vianello url: https://#{vianello_hostname}
1642
+ > Domus url: https://#{domus_hostname}" if deploy_vianello_or_domus?
1643
+ projects_text.concat "
1498
1644
  > RabbitMQ url: http://#{get_ec2_ip_address}:15672
1499
1645
  > Elasticsearch url: http://#{get_ec2_ip_address}:9200
1500
1646
  > Git branch: #{@git_branch}
@@ -1554,8 +1700,14 @@ class Build
1554
1700
  host = "hutch-#{get_deploy_id}.qa.colaster.com"
1555
1701
  when project.include?('maia-app')
1556
1702
  host = "api-#{get_deploy_id}.qa.colaster.com"
1703
+ when project.include?('legion')
1704
+ host = "legion-#{get_deploy_id}.qa.colaster.com"
1557
1705
  when project.include?('maia-intermediari')
1558
1706
  host = "api-intermediari-#{get_deploy_id}.qa.colaster.com"
1707
+ when project.include?('vianello')
1708
+ host = "vianello-#{get_deploy_id}.qa.colaster.com"
1709
+ when project.include?('domus')
1710
+ host = "domus-#{get_deploy_id}.qa.colaster.com"
1559
1711
  end
1560
1712
  host
1561
1713
  end
@@ -1615,6 +1767,12 @@ class Build
1615
1767
  logical_resource_id = 'EcsApplicationLoadBalancerPublic'
1616
1768
  when stack_name.include?('maia')
1617
1769
  logical_resource_id = 'EcsApplicationLoadBalancerPublic'
1770
+ when stack_name.include?('legion')
1771
+ logical_resource_id = 'EcsApplicationLoadBalancerInternal'
1772
+ when stack_name.include?('vianello')
1773
+ logical_resource_id = 'EcsApplicationLoadBalancerInternal'
1774
+ when stack_name.include?('domus')
1775
+ logical_resource_id = 'EcsApplicationLoadBalancerPublic'
1618
1776
  end
1619
1777
  resp = describe_stack_resource(stack_name, logical_resource_id)
1620
1778
  resp = describe_load_balancers([resp.stack_resource_detail.physical_resource_id])
@@ -1649,8 +1807,6 @@ class Build
1649
1807
  logical_resource_id = 'ECSServiceActiviaQA'
1650
1808
  when stack_name.include?('peano')
1651
1809
  logical_resource_id = 'ECSServicePeanoQA'
1652
- # when stack_name.include?('rogoreport')
1653
- # logical_resource_id = 'ECSServiceRogoreport'
1654
1810
  when stack_name.include?('assange')
1655
1811
  logical_resource_id = 'ECSServiceAssangeQA'
1656
1812
  when stack_name.include?('borat')
@@ -1667,6 +1823,12 @@ class Build
1667
1823
  logical_resource_id = 'ECSServiceHutch'
1668
1824
  when stack_name.include?('maia')
1669
1825
  logical_resource_id = 'ECSServiceMaia'
1826
+ when stack_name.include?('legion')
1827
+ logical_resource_id = 'ECSServiceLegionQA'
1828
+ when stack_name.include?('vianello')
1829
+ logical_resource_id = 'ECSServiceVianelloQA'
1830
+ when stack_name.include?('domus')
1831
+ logical_resource_id = 'ECSServiceDomus'
1670
1832
  else
1671
1833
  raise "Service name non gestito per lo stack #{stack_name}"
1672
1834
  end
@@ -1745,6 +1907,12 @@ class Build
1745
1907
  })
1746
1908
  end
1747
1909
 
1910
+ def deploy_vianello_or_domus?
1911
+ vianello_present = !@projects['vianello'].empty? && @projects['vianello'][:name] != 'master' && !@projects['vianello'][:default_branch]
1912
+ domus_present = !@projects['domus'].empty? && @projects['domus'][:name] != 'master' && !@projects['domus'][:default_branch]
1913
+ vianello_present || domus_present
1914
+ end
1915
+
1748
1916
  def git_checkout_version(project, revision)
1749
1917
  Dir.chdir "projects/#{project}"
1750
1918
  exec_step "git checkout -- . && git checkout #{revision}"
@@ -45,7 +45,8 @@ class Release
45
45
  'pyxis-npm' => {},
46
46
  'starsky' => {},
47
47
  'hutch' => {},
48
- 'maia' => {}
48
+ 'maia' => {},
49
+ 'legion' => {}
49
50
  }
50
51
  @base_stack_name_alb = 'ecs-alb-http-public-qa-'
51
52
  @base_stack_name_alb_ws = 'ecs-alb-ws-public-qa-'
@@ -433,6 +434,8 @@ class Release
433
434
  def qainit_deploy!(quiet = false)
434
435
  `git checkout master && git pull && git submodule update --init --recursive && git remote prune origin`
435
436
 
437
+ `git branch -r | awk '{print $1}' | egrep -v -f /dev/fd/0 <(git branch -vv | grep origin) | awk '{print $1}' | xargs git branch -D`
438
+
436
439
  default_name = get_default_branch_name @projects
437
440
  feature_number = ''
438
441
  unless quiet
@@ -650,6 +653,8 @@ class Release
650
653
  logical_resource_id = 'EcsApplicationLoadBalancerPublic'
651
654
  when stack_name.include?('maia')
652
655
  logical_resource_id = 'EcsApplicationLoadBalancerPublic'
656
+ when stack_name.include?('legion')
657
+ logical_resource_id = 'EcsApplicationLoadBalancerInternal'
653
658
  end
654
659
  resp = describe_stack_resource(stack_name, logical_resource_id)
655
660
  resp = describe_load_balancers([resp.stack_resource_detail.physical_resource_id])
@@ -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.26
4
+ version: 1.0.31
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-12 00:00:00.000000000 Z
17
+ date: 2020-06-25 00:00:00.000000000 Z
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
20
20
  name: aws-sdk-autoscaling