Skip to content

Commit 5172d9c

Browse files
authored
Merge pull request #453 from NHSDigital/revert-450-revert-447-master
Revert "Revert "ALB changes""
2 parents 22d8791 + 4f08380 commit 5172d9c

8 files changed

Lines changed: 32 additions & 29 deletions

File tree

ansible/roles/create-api-deployment-pre-reqs/templates/terraform/iam.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -265,11 +265,11 @@ data "aws_iam_policy_document" "deploy-user" {
265265
]
266266
resources = concat(
267267
[
268-
"arn:aws:elasticloadbalancing:${local.region}:${local.account_id}:listener/app/apis-${var.apigee_environment}/*",
269268
"arn:aws:elasticloadbalancing:${local.region}:${local.account_id}:listener-rule/app/apis-${var.apigee_environment}/*",
270269
"arn:aws:elasticloadbalancing:${local.region}:${local.account_id}:listener/app/apis-public-${var.apigee_environment}/*",
271270
"arn:aws:elasticloadbalancing:${local.region}:${local.account_id}:listener-rule/app/apis-public-${var.apigee_environment}/*",
272271
],
272+
[for listener in local.private_alb_listeners : listener.arn],
273273
[for ns in local.short_env_service_namespaces : "arn:aws:elasticloadbalancing:${local.region}:${local.account_id}:targetgroup/${ns}/*"],
274274
[for ns in local.service_namespaces : "arn:aws:ecs:${local.region}:${local.account_id}:service/apis-${var.apigee_environment}/${ns}"]
275275
)

ansible/roles/create-api-deployment-pre-reqs/templates/terraform/locals.tf

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,8 @@ locals {
1212
short_env_service_namespaces = [for ns in local.service_namespaces : "${var.apigee_shortenv}-${ns}"]
1313
workspaces = contains(["internal-dev", "internal-dev-sandbox"], var.apigee_environment) ? [var.workspace, "${var.workspace}:*"] : [var.workspace]
1414

15-
16-
private_alb_listener = data.terraform_remote_state.account.outputs.apis.alb-listener.private[var.apigee_environment]
17-
private_alb = data.terraform_remote_state.account.outputs.apis.alb.private[var.apigee_environment]
15+
private_alb_listeners = data.terraform_remote_state.account.outputs.apis.alb-listener.private[var.apigee_environment]
16+
private_albs = data.terraform_remote_state.account.outputs.apis.alb.private[var.apigee_environment]
1817
ecs_cluster = data.terraform_remote_state.account.outputs.apis.ecs_clusters[var.apigee_environment]
1918
apis_subdomain = data.terraform_remote_state.account.outputs.apis.apis_subdomain
2019

ansible/roles/create-api-deployment-pre-reqs/templates/terraform/outputs.tf

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,16 @@ output "vpc_id" {
33
value = data.terraform_remote_state.account.outputs.account_vpc.id
44
}
55

6-
output "private_alb_listener_arn" {
7-
value = local.private_alb_listener.arn
6+
output "private_alb_listener_arns" {
7+
value = [for listener in local.private_alb_listeners : listener.arn]
88
}
99

10-
output "private_alb_arn_suffix" {
11-
value = local.private_alb.arn_suffix
10+
output "private_alb_listener_count" {
11+
value = data.terraform_remote_state.account.outputs.apis.alb-listener-count
12+
}
13+
14+
output "private_alb_arn_suffixes" {
15+
value = [for alb in local.private_albs : alb.arn_suffix]
1216
}
1317

1418
output "subnet_ids" {

ansible/roles/deploy-ecs-proxies/templates/terraform/alb.tf

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,14 @@ resource "aws_alb_target_group" "service" {
1818
}
1919

2020
resource "aws_lb_listener_rule" "service" {
21-
listener_arn = data.terraform_remote_state.pre-reqs.outputs.private_alb_listener_arn
22-
21+
listener_arn = local.private_alb_listener_arns[
22+
parseint(md5(local.short_env_namespaced_name), 16) % local.private_alb_listener_count
23+
]
2324
action {
2425
order = 1
2526
target_group_arn = aws_alb_target_group.service.arn
2627
type = "forward"
2728
}
28-
2929
condition {
3030
http_header {
3131
http_header_name = "X-APIM-Service"

ansible/roles/deploy-ecs-proxies/templates/terraform/fargate.tf

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -89,11 +89,8 @@ resource "aws_appautoscaling_target" "ecs_target" {
8989
service_namespace = "ecs"
9090
}
9191

92-
9392
resource "aws_appautoscaling_policy" "ecs_policy" {
9493

95-
count = var.autoscaling_enabled ? 1 : 0
96-
9794
name = local.short_env_namespaced_name
9895
policy_type = "TargetTrackingScaling"
9996
resource_id = aws_appautoscaling_target.ecs_target.resource_id
@@ -103,10 +100,11 @@ resource "aws_appautoscaling_policy" "ecs_policy" {
103100
target_tracking_scaling_policy_configuration {
104101
predefined_metric_specification {
105102
predefined_metric_type = var.autoscaling_service_metric
106-
resource_label = local.autoscaling_resource_label
103+
resource_label = each.key
107104
}
108105
scale_out_cooldown = var.autoscaling_scale_out_cooldown
109106
scale_in_cooldown = var.autoscaling_scale_in_cooldown
110107
target_value = var.autoscaling_target_value
111108
}
109+
for_each = var.autoscaling_enabled ? toset(local.autoscaling_resource_labels) : toset([])
112110
}

ansible/roles/deploy-ecs-proxies/templates/terraform/locals.tf

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,10 +58,12 @@ locals {
5858

5959
exposed_service = element(matchkeys(local.ecs_service, local.ecs_service.*.expose, list(true)), 0)
6060

61-
private_alb_arn_suffix = data.terraform_remote_state.pre-reqs.outputs.private_alb_arn_suffix
61+
private_alb_arn_suffixes = data.terraform_remote_state.pre-reqs.outputs.private_alb_arn_suffixes
62+
private_alb_listener_arns = data.terraform_remote_state.pre-reqs.outputs.private_alb_listener_arns
63+
private_alb_listener_count = data.terraform_remote_state.pre-reqs.outputs.private_alb_listener_count
6264

63-
autoscaling_resource_label = (
64-
var.autoscaling_enabled && var.autoscaling_service_metric == "ALBRequestCountPerTarget" ?
65-
"${local.private_alb_arn_suffix}/${aws_alb_target_group.service.arn_suffix}" : ""
66-
)
65+
autoscaling_resource_labels = [
66+
for suffix in data.terraform_remote_state.pre-reqs.outputs.private_alb_arn_suffixes : (
67+
var.autoscaling_enabled && var.autoscaling_service_metric == "ALBRequestCountPerTarget" ? "${suffix}/${aws_alb_target_group.service.arn_suffix}"
68+
: "")]
6769
}

azure/common/apigee-build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ jobs:
212212
213213
- bash: |
214214
tfenv use 0.14.6
215-
displayName: use terraforn
215+
displayName: use terraform
216216
condition: and(succeeded(), eq(variables['build_containers'], 'true'))
217217
218218
- bash: |

azure/templates/deploy-service.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -69,13 +69,13 @@ steps:
6969
workingDirectory: "$(SERVICE_DIR)"
7070
displayName: "Check for ECS proxy definitions"
7171
72-
- task: s3-cache-action@1
73-
inputs:
74-
key: poetry | utils | $(UTILS_DIR)/poetry.lock
75-
location: "$(UTILS_DIR)/.venv"
76-
debug: true
77-
alias: 'UtilsPreReq'
78-
displayName: cache utils pre-requisites
72+
# - task: s3-cache-action@1
73+
# inputs:
74+
# key: poetry | utils | $(UTILS_DIR)/poetry.lock
75+
# location: "$(UTILS_DIR)/.venv"
76+
# debug: true
77+
# alias: 'UtilsPreReq'
78+
# displayName: cache utils pre-requisites
7979

8080
- bash: |
8181
n=0
@@ -85,7 +85,7 @@ steps:
8585
n=$((n+1))
8686
done
8787
workingDirectory: "$(UTILS_DIR)"
88-
condition: ne(variables['CacheRestored-UtilsPreReq'], 'true')
88+
# condition: ne(variables['CacheRestored-UtilsPreReq'], 'true')
8989
displayName: "Install utils pre-requisites"
9090
9191
- bash: |

0 commit comments

Comments
 (0)