Fix deployment error when XRay is not enabled
Disabling X-Ray by setting XRAY_ENABLED=false caused deployment errors
due to the fact that the optional x-ray container was not conditionally
linked in the task definition.
Only link the xray container when XRAY_ENABLED=true and properly refer
to the AWS::NoValue by its ref, so that the absence of xray container
do not cause an error.
Bug: Issue 15252
Change-Id: I509403ccaaebcc72ca66a8f2a1261661328a2aee
diff --git a/dual-primary/cf-service-primary.yml b/dual-primary/cf-service-primary.yml
index 72d9b56..5206254 100644
--- a/dual-primary/cf-service-primary.yml
+++ b/dual-primary/cf-service-primary.yml
@@ -402,7 +402,11 @@
awslogs-region: !Ref AWS::Region
awslogs-stream-prefix: !Ref EnvironmentName
Links:
- - !FindInMap ['XRay', 'Info', 'ContainerName']
+ Fn::If:
+ - ShouldEnableXRay
+ -
+ - !FindInMap ['XRay', 'Info', 'ContainerName']
+ - !Ref "AWS::NoValue"
- Fn::If:
- ShouldEnableXRay
- Name: !FindInMap ['XRay', 'Info', 'ContainerName']
@@ -414,7 +418,7 @@
- HostPort: 2000
ContainerPort: 2000
Protocol: "udp"
- - AWS::NoValue
+ - !Ref "AWS::NoValue"
Volumes:
- Name: !FindInMap ['Gerrit', 'Volume', 'Git']
Host:
diff --git a/dual-primary/cf-service-replica.yml b/dual-primary/cf-service-replica.yml
index 77eedf1..042376c 100644
--- a/dual-primary/cf-service-replica.yml
+++ b/dual-primary/cf-service-replica.yml
@@ -355,7 +355,11 @@
awslogs-region: !Ref AWS::Region
awslogs-stream-prefix: !Ref EnvironmentName
Links:
- - !FindInMap ['XRay', 'Info', 'ContainerName']
+ Fn::If:
+ - ShouldEnableXRay
+ -
+ - !FindInMap ['XRay', 'Info', 'ContainerName']
+ - !Ref "AWS::NoValue"
- Name: !Ref GitDaemonServiceName
Essential: true
Image: !Sub '${DockerRegistryUrl}/${GitDaemonDockerImage}'
@@ -412,7 +416,7 @@
- HostPort: 2000
ContainerPort: 2000
Protocol: "udp"
- - AWS::NoValue
+ - !Ref "AWS::NoValue"
Volumes:
- Name: !Ref 'GerritDbVolume'
DockerVolumeConfiguration:
diff --git a/primary-replica/cf-service-primary.yml b/primary-replica/cf-service-primary.yml
index d1fb22c..902e87f 100644
--- a/primary-replica/cf-service-primary.yml
+++ b/primary-replica/cf-service-primary.yml
@@ -339,7 +339,11 @@
awslogs-region: !Ref AWS::Region
awslogs-stream-prefix: !Ref EnvironmentName
Links:
- - !FindInMap ['XRay', 'Info', 'ContainerName']
+ Fn::If:
+ - ShouldEnableXRay
+ -
+ - !FindInMap ['XRay', 'Info', 'ContainerName']
+ - !Ref "AWS::NoValue"
- Fn::If:
- ShouldEnableXRay
- Name: !FindInMap ['XRay', 'Info', 'ContainerName']
@@ -351,7 +355,7 @@
- HostPort: 2000
ContainerPort: 2000
Protocol: "udp"
- - AWS::NoValue
+ - !Ref "AWS::NoValue"
Volumes:
- Name: !FindInMap ['Gerrit', 'Volume', 'Db']
Host:
diff --git a/primary-replica/cf-service-replica.yml b/primary-replica/cf-service-replica.yml
index a57270d..5f318f4 100644
--- a/primary-replica/cf-service-replica.yml
+++ b/primary-replica/cf-service-replica.yml
@@ -355,7 +355,11 @@
awslogs-region: !Ref AWS::Region
awslogs-stream-prefix: !Ref EnvironmentName
Links:
- - !FindInMap ['XRay', 'Info', 'ContainerName']
+ Fn::If:
+ - ShouldEnableXRay
+ -
+ - !FindInMap ['XRay', 'Info', 'ContainerName']
+ - !Ref "AWS::NoValue"
- Name: !Ref GitDaemonServiceName
Essential: true
Image: !Sub '${DockerRegistryUrl}/${GitDaemonDockerImage}'
@@ -412,7 +416,7 @@
- HostPort: 2000
ContainerPort: 2000
Protocol: "udp"
- - AWS::NoValue
+ - !Ref "AWS::NoValue"
Volumes:
- Name: !Ref 'GerritDbVolume'
DockerVolumeConfiguration:
diff --git a/single-primary/cf-service.yml b/single-primary/cf-service.yml
index 61b13f1..221ddf5 100644
--- a/single-primary/cf-service.yml
+++ b/single-primary/cf-service.yml
@@ -315,7 +315,11 @@
awslogs-region: !Ref AWS::Region
awslogs-stream-prefix: !Ref EnvironmentName
Links:
- - !FindInMap ['XRay', 'Info', 'ContainerName']
+ Fn::If:
+ - ShouldEnableXRay
+ -
+ - !FindInMap ['XRay', 'Info', 'ContainerName']
+ - !Ref "AWS::NoValue"
- Fn::If:
- ShouldEnableXRay
- Name: !FindInMap ['XRay', 'Info', 'ContainerName']
@@ -327,7 +331,7 @@
- HostPort: 2000
ContainerPort: 2000
Protocol: "udp"
- - AWS::NoValue
+ - !Ref "AWS::NoValue"
Volumes:
- Name: !FindInMap ['Gerrit', 'Volume', 'Db']
Host: