prima-twig 1.0.32 → 1.0.37
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-build +151 -4
- data/bin/twig-feature +4 -1
- data/lib/prima_aws_client.rb +1 -1
- 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: 62128e9f20c5ce337980ee371b18816b947decb219a3e17594de1b0a3a19d8a0
|
4
|
+
data.tar.gz: 3cde0c6dc5e7f27c400b56d45f60b5db1865d2be3f33bcb11e9b2e2debf45244
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 046d020a23506a2ecdc249b8f4791d60effd960d5d77bd908f6e80ef48b456e7e5a50527c321dd14c9ea148fc793e023f0cb337d06b95fed97bbb7ae44f98b0d
|
7
|
+
data.tar.gz: b4f03442676383d648b38f644884c9610ca54eff8d4d2be3944548caa869708c8c994e5a7e9d1ae68e4d7a6a2f3ced8f846161fad49cfa22f560f57bb3148a9d
|
data/bin/twig-build
CHANGED
@@ -48,8 +48,8 @@ class Build
|
|
48
48
|
'maia' => {},
|
49
49
|
'legion' => {},
|
50
50
|
'vianello' => {},
|
51
|
-
'domus' => {}
|
52
|
-
|
51
|
+
'domus' => {},
|
52
|
+
'toretto' => {}
|
53
53
|
}
|
54
54
|
@base_stack_name_alb = 'ecs-alb-http-public-qa-'
|
55
55
|
@base_stack_name_alb_ws = 'ecs-alb-ws-public-qa-'
|
@@ -372,6 +372,14 @@ class Build
|
|
372
372
|
{
|
373
373
|
parameter_key: 'DomusElbHostname',
|
374
374
|
parameter_value: get_alb_host(stack_name_alb)
|
375
|
+
},
|
376
|
+
{
|
377
|
+
parameter_key: 'TorettoElbHostname',
|
378
|
+
parameter_value: get_alb_host(stack_name_alb)
|
379
|
+
},
|
380
|
+
{
|
381
|
+
parameter_key: 'TorettoFeElbHostname',
|
382
|
+
parameter_value: get_alb_host(stack_name_alb)
|
375
383
|
}
|
376
384
|
]
|
377
385
|
|
@@ -1547,6 +1555,112 @@ class Build
|
|
1547
1555
|
end
|
1548
1556
|
end
|
1549
1557
|
|
1558
|
+
def create_toretto_stack()
|
1559
|
+
if deploy_toretto?
|
1560
|
+
wait_for_artifact('prima-artifacts-encrypted', "microservices/toretto/#{@projects["toretto"]['revision']}-qa.tar.gz")
|
1561
|
+
|
1562
|
+
git_checkout_version('toretto', @projects["toretto"]['revision'])
|
1563
|
+
stack_name_toretto = get_stack_name("toretto")
|
1564
|
+
stack_body = IO.read('projects/toretto/deploy/task.yml')
|
1565
|
+
parameters = [
|
1566
|
+
{
|
1567
|
+
parameter_key: "Environment",
|
1568
|
+
parameter_value: "qa"
|
1569
|
+
},
|
1570
|
+
{
|
1571
|
+
parameter_key: "ReleaseVersion",
|
1572
|
+
parameter_value: "#{@projects["toretto"]['revision']}"
|
1573
|
+
},
|
1574
|
+
{
|
1575
|
+
parameter_key: "TaskDesiredCount",
|
1576
|
+
parameter_value: "1"
|
1577
|
+
},
|
1578
|
+
{
|
1579
|
+
parameter_key: "ECSClusterName",
|
1580
|
+
parameter_value: get_ecs_cluster_name
|
1581
|
+
},
|
1582
|
+
{
|
1583
|
+
parameter_key: "ALBShortName",
|
1584
|
+
parameter_value: "toretto-api-qa-#{get_deploy_id}"[0..27]
|
1585
|
+
},
|
1586
|
+
{
|
1587
|
+
parameter_key: "EnvHash",
|
1588
|
+
parameter_value: get_deploy_id
|
1589
|
+
},
|
1590
|
+
{
|
1591
|
+
parameter_key: "HostnamePattern",
|
1592
|
+
parameter_value: "carrozzerie-api-#{get_deploy_id}.qa.colaster.com"
|
1593
|
+
},
|
1594
|
+
{
|
1595
|
+
parameter_key: "HostnamePatternPriority",
|
1596
|
+
parameter_value: (hostname_pattern_priority.to_i + 79).to_s
|
1597
|
+
},
|
1598
|
+
{
|
1599
|
+
parameter_key: "AllowedOrigin",
|
1600
|
+
parameter_value: "https://#{get_route53_hostname('toretto_fe')}"
|
1601
|
+
}
|
1602
|
+
]
|
1603
|
+
if stack_exists?(stack_name_toretto)
|
1604
|
+
cur_version = get_currently_deployed_version(stack_name_toretto)
|
1605
|
+
unless cur_version.include?(@projects["toretto"]['revision'])
|
1606
|
+
delete_stack(stack_name_toretto)
|
1607
|
+
wait_for_stack_removal(stack_name_toretto)
|
1608
|
+
create_stack(stack_name_toretto, stack_body, parameters, @tags, @cf_role)
|
1609
|
+
end
|
1610
|
+
else
|
1611
|
+
create_stack(stack_name_toretto, stack_body, parameters, @tags, @cf_role)
|
1612
|
+
end
|
1613
|
+
|
1614
|
+
wait_for_artifact('prima-artifacts-encrypted', "microservices/toretto/fe-#{@projects["toretto"]['revision']}-#{get_deploy_id[0..7]}-qa.tar.gz")
|
1615
|
+
|
1616
|
+
stack_name_toretto_fe = get_stack_name("toretto-fe")
|
1617
|
+
git_checkout_version('toretto', @projects["toretto"]['revision'])
|
1618
|
+
stack_body = File.read('projects/toretto/deploy/task-fe.yml')
|
1619
|
+
parameters = [
|
1620
|
+
{
|
1621
|
+
parameter_key: "Environment",
|
1622
|
+
parameter_value: "qa"
|
1623
|
+
},
|
1624
|
+
{
|
1625
|
+
parameter_key: "ReleaseVersion",
|
1626
|
+
parameter_value: "#{@projects["toretto"]['revision']}-#{get_deploy_id[0..7]}"
|
1627
|
+
},
|
1628
|
+
{
|
1629
|
+
parameter_key: "ALBShortName",
|
1630
|
+
parameter_value: "toretto-fe-qa-#{get_deploy_id}"[0..27]
|
1631
|
+
},
|
1632
|
+
{
|
1633
|
+
parameter_key: "ECSClusterName",
|
1634
|
+
parameter_value: get_ecs_cluster_name
|
1635
|
+
},
|
1636
|
+
{
|
1637
|
+
parameter_key: "EnvHash",
|
1638
|
+
parameter_value: get_deploy_id
|
1639
|
+
},
|
1640
|
+
{
|
1641
|
+
parameter_key: "HostnamePattern",
|
1642
|
+
parameter_value: "carrozzerie-#{get_deploy_id}.qa.colaster.com"
|
1643
|
+
},
|
1644
|
+
{
|
1645
|
+
parameter_key: "HostnamePatternPriority",
|
1646
|
+
parameter_value: (hostname_pattern_priority.to_i + 254).to_s
|
1647
|
+
},
|
1648
|
+
{
|
1649
|
+
parameter_key: "ApiUrl",
|
1650
|
+
parameter_value: "https://#{get_route53_hostname('toretto')}"
|
1651
|
+
}
|
1652
|
+
]
|
1653
|
+
if stack_exists?(stack_name_toretto_fe)
|
1654
|
+
cur_version = get_currently_deployed_version(stack_name_toretto_fe)
|
1655
|
+
update_stack(stack_name_toretto_fe, stack_body, parameters, @tags, @cf_role) unless cur_version.include?(@projects["toretto"]['revision'])
|
1656
|
+
else
|
1657
|
+
create_stack(stack_name_toretto_fe, stack_body, parameters, @tags, @cf_role)
|
1658
|
+
end
|
1659
|
+
else
|
1660
|
+
true
|
1661
|
+
end
|
1662
|
+
end
|
1663
|
+
|
1550
1664
|
def create_rogoreport_stack()
|
1551
1665
|
true
|
1552
1666
|
end
|
@@ -1567,6 +1681,10 @@ class Build
|
|
1567
1681
|
wait_for_stack_ready(get_stack_name("vianello")) unless stack_ready?(get_stack_name("vianello"))
|
1568
1682
|
wait_for_stack_ready(get_stack_name("domus")) unless stack_ready?(get_stack_name("domus"))
|
1569
1683
|
end
|
1684
|
+
if deploy_toretto?
|
1685
|
+
wait_for_stack_ready(get_stack_name("toretto")) unless stack_ready?(get_stack_name("toretto"))
|
1686
|
+
wait_for_stack_ready(get_stack_name("toretto-fe")) unless stack_ready?(get_stack_name("toretto-fe"))
|
1687
|
+
end
|
1570
1688
|
|
1571
1689
|
update_service_defaults(get_stack_name("web"))
|
1572
1690
|
update_service_defaults(get_stack_name("consumer-api"))
|
@@ -1592,6 +1710,10 @@ class Build
|
|
1592
1710
|
update_service_defaults(get_stack_name("vianello"))
|
1593
1711
|
update_service_defaults(get_stack_name("domus"))
|
1594
1712
|
end
|
1713
|
+
if deploy_toretto?
|
1714
|
+
update_service_defaults(get_stack_name("toretto"))
|
1715
|
+
update_service_defaults(get_stack_name("toretto-fe"))
|
1716
|
+
end
|
1595
1717
|
|
1596
1718
|
activia_hostname = get_route53_hostname("activia")
|
1597
1719
|
assange_hostname = get_route53_hostname("assange")
|
@@ -1615,6 +1737,8 @@ class Build
|
|
1615
1737
|
legion_hostname = get_route53_hostname("legion")
|
1616
1738
|
vianello_hostname = get_route53_hostname("vianello")
|
1617
1739
|
domus_hostname = get_route53_hostname("domus")
|
1740
|
+
toretto_hostname = get_route53_hostname("toretto")
|
1741
|
+
toretto_fe_hostname = get_route53_hostname("toretto_fe")
|
1618
1742
|
|
1619
1743
|
#launch_mimo(get_deploy_id)
|
1620
1744
|
|
@@ -1643,6 +1767,9 @@ projects_text.concat "
|
|
1643
1767
|
> Vianello url: https://#{vianello_hostname}
|
1644
1768
|
> Domus url: https://#{domus_hostname}" if deploy_vianello_or_domus?
|
1645
1769
|
projects_text.concat "
|
1770
|
+
> Toretto url: https://#{toretto_fe_hostname}
|
1771
|
+
> Toretto Backend url: https://#{toretto_hostname}" if deploy_toretto?
|
1772
|
+
projects_text.concat "
|
1646
1773
|
> RabbitMQ url: http://#{get_ec2_ip_address}:15672
|
1647
1774
|
> Elasticsearch url: http://#{get_ec2_ip_address}:9200
|
1648
1775
|
> Git branch: #{@git_branch}
|
@@ -1710,6 +1837,10 @@ projects_text.concat "
|
|
1710
1837
|
host = "vianello-#{get_deploy_id}.qa.colaster.com"
|
1711
1838
|
when project.include?('domus')
|
1712
1839
|
host = "domus-#{get_deploy_id}.qa.colaster.com"
|
1840
|
+
when project.include?('toretto_fe')
|
1841
|
+
host = "carrozzerie-#{get_deploy_id}.qa.colaster.com"
|
1842
|
+
when project.include?('toretto')
|
1843
|
+
host = "carrozzerie-api-#{get_deploy_id}.qa.colaster.com"
|
1713
1844
|
end
|
1714
1845
|
host
|
1715
1846
|
end
|
@@ -1775,6 +1906,10 @@ projects_text.concat "
|
|
1775
1906
|
logical_resource_id = 'EcsApplicationLoadBalancerInternal'
|
1776
1907
|
when stack_name.include?('domus')
|
1777
1908
|
logical_resource_id = 'EcsApplicationLoadBalancerPublic'
|
1909
|
+
when stack_name.include?('toretto_fe')
|
1910
|
+
logical_resource_id = 'EcsApplicationLoadBalancerPublic'
|
1911
|
+
when stack_name.include?('toretto')
|
1912
|
+
logical_resource_id = 'EcsApplicationLoadBalancerPublic'
|
1778
1913
|
end
|
1779
1914
|
resp = describe_stack_resource(stack_name, logical_resource_id)
|
1780
1915
|
resp = describe_load_balancers([resp.stack_resource_detail.physical_resource_id])
|
@@ -1831,6 +1966,10 @@ projects_text.concat "
|
|
1831
1966
|
logical_resource_id = 'ECSServiceVianelloQA'
|
1832
1967
|
when stack_name.include?('domus')
|
1833
1968
|
logical_resource_id = 'ECSServiceDomus'
|
1969
|
+
when stack_name.include?('toretto-fe')
|
1970
|
+
logical_resource_id = 'ECSServiceToretto'
|
1971
|
+
when stack_name.include?('toretto')
|
1972
|
+
logical_resource_id = 'ECSServiceTorettoQA'
|
1834
1973
|
else
|
1835
1974
|
raise "Service name non gestito per lo stack #{stack_name}"
|
1836
1975
|
end
|
@@ -1910,11 +2049,19 @@ projects_text.concat "
|
|
1910
2049
|
end
|
1911
2050
|
|
1912
2051
|
def deploy_vianello_or_domus?
|
1913
|
-
|
1914
|
-
|
2052
|
+
puts "check vianello #{!@projects['vianello'].empty?} #{@projects['vianello']['name'] != 'master'} #{@projects} #{@projects['vianello']} #{@projects['vianello']['default_branch'] != 'true'}"
|
2053
|
+
vianello_present = !@projects['vianello'].empty? && @projects['vianello']['name'] != 'master' && !@projects['vianello']['default_branch']
|
2054
|
+
puts "check domus #{!@projects['domus'].empty?} #{@projects['domus']['name'] != 'master'} #{!@projects['domus']['default_branch']}"
|
2055
|
+
domus_present = !@projects['domus'].empty? && @projects['domus']['name'] != 'master' && !@projects['domus']['default_branch']
|
1915
2056
|
vianello_present || domus_present
|
1916
2057
|
end
|
1917
2058
|
|
2059
|
+
def deploy_toretto?
|
2060
|
+
toretto_present = !@projects['toretto'].empty? && @projects['toretto']['name'] != 'master' && @projects['toretto']['default_branch'] != 'true'
|
2061
|
+
crash_present = !@projects['crash'].empty? && @projects['crash']['name'] != 'master' && !@projects['crash']['default_branch'] != 'true'
|
2062
|
+
toretto_present || crash_present
|
2063
|
+
end
|
2064
|
+
|
1918
2065
|
def git_checkout_version(project, revision)
|
1919
2066
|
Dir.chdir "projects/#{project}"
|
1920
2067
|
exec_step "git checkout -- . && git checkout #{revision}"
|
data/bin/twig-feature
CHANGED
@@ -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-'
|
data/lib/prima_aws_client.rb
CHANGED
@@ -416,7 +416,7 @@ module PrimaAwsClient
|
|
416
416
|
def describe_load_balancers(load_balancer_arns)
|
417
417
|
begin
|
418
418
|
resp = alb_client.describe_load_balancers({load_balancer_arns: load_balancer_arns})
|
419
|
-
rescue Aws::
|
419
|
+
rescue Aws::ElasticLoadBalancingV2::Errors::Throttling => e
|
420
420
|
output 'Throttling, retrying in 15 seconds'.red
|
421
421
|
sleep 15
|
422
422
|
resp = describe_load_balancers(load_balancer_arns)
|
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.
|
4
|
+
version: 1.0.37
|
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-
|
17
|
+
date: 2020-07-02 00:00:00.000000000 Z
|
18
18
|
dependencies:
|
19
19
|
- !ruby/object:Gem::Dependency
|
20
20
|
name: aws-sdk-autoscaling
|