Fix issue with hardcoded s3 template path

Fix this issue by allowing the S3 bucket name to be configured and
injected to the cloudformation templates.

Bug: Issue 13096
Change-Id: I97ee3ad1951ef6181bd6bbc2405f49c75192bc22
diff --git a/dual-master/Makefile b/dual-master/Makefile
index 15d2b86..c606639 100644
--- a/dual-master/Makefile
+++ b/dual-master/Makefile
@@ -38,6 +38,7 @@
 		--parameters \
 		ParameterKey=DesiredCapacity,ParameterValue=$(CLUSTER_DESIRED_CAPACITY) \
 		ParameterKey=ECSKeyName,ParameterValue=$(CLUSTER_KEYS) \
+		ParameterKey=TemplateBucketName,ParameterValue=$(TEMPLATE_BUCKET_NAME) \
 		ParameterKey=InternetGatewayIdProp,ParameterValue=$(INTERNET_GATEWAY_ID) \
 		ParameterKey=VPCIdProp,ParameterValue=$(VPC_ID) \
 		ParameterKey=SubnetIdProp,ParameterValue=$(SUBNET_ID) \
diff --git a/dual-master/cf-cluster.yml b/dual-master/cf-cluster.yml
index 6eec872..07b4cc2 100644
--- a/dual-master/cf-cluster.yml
+++ b/dual-master/cf-cluster.yml
@@ -3,6 +3,9 @@
              hosts using Elastic Container Service. This stack runs containers on
              hosts that are in a public VPC subnet.
 Parameters:
+  TemplateBucketName:
+    Description: S3 bucket containing cloudformation templates
+    Type: String
   DesiredCapacity:
     Type: Number
     Default: '1'
@@ -260,7 +263,7 @@
   ECSTaskNetworkStack:
     Type: AWS::CloudFormation::Stack
     Properties:
-      TemplateURL: https://aws-gerrit-cf-templates.s3.amazonaws.com/cf-gerrit-network-stack.yml
+      TemplateURL: !Join [ '', ['https://', !Ref TemplateBucketName, '.s3.amazonaws.com/cf-gerrit-network-stack.yml'] ]
       TimeoutInMinutes: '25'
       Parameters:
         InternetGatewayIdProp: !Ref 'InternetGatewayIdProp'
diff --git a/master-slave/Makefile b/master-slave/Makefile
index b9a382f..31f0d29 100644
--- a/master-slave/Makefile
+++ b/master-slave/Makefile
@@ -35,6 +35,7 @@
 		--parameters \
 		ParameterKey=DesiredCapacity,ParameterValue=$(CLUSTER_DESIRED_CAPACITY) \
 		ParameterKey=ECSKeyName,ParameterValue=$(CLUSTER_KEYS) \
+		ParameterKey=TemplateBucketName,ParameterValue=$(TEMPLATE_BUCKET_NAME) \
 		ParameterKey=InternetGatewayIdProp,ParameterValue=$(INTERNET_GATEWAY_ID) \
 		ParameterKey=VPCIdProp,ParameterValue=$(VPC_ID) \
 		ParameterKey=SubnetIdProp,ParameterValue=$(SUBNET_ID) \
diff --git a/master-slave/cf-cluster.yml b/master-slave/cf-cluster.yml
index c3c64f0..c7a4a0e 100644
--- a/master-slave/cf-cluster.yml
+++ b/master-slave/cf-cluster.yml
@@ -3,6 +3,9 @@
              hosts using Elastic Container Service. This stack runs containers on
              hosts that are in a public VPC subnet.
 Parameters:
+  TemplateBucketName:
+    Description: S3 bucket containing cloudformation templates
+    Type: String
   DesiredCapacity:
     Type: Number
     Default: '1'
@@ -204,7 +207,7 @@
   ECSTaskNetworkStack:
     Type: AWS::CloudFormation::Stack
     Properties:
-      TemplateURL: https://aws-gerrit-cf-templates.s3.amazonaws.com/cf-gerrit-network-stack.yml
+      TemplateURL: !Join [ '', ['https://', !Ref TemplateBucketName, '.s3.amazonaws.com/cf-gerrit-network-stack.yml'] ]
       TimeoutInMinutes: '25'
       Parameters:
         InternetGatewayIdProp: !Ref 'InternetGatewayIdProp'
diff --git a/single-master/Makefile b/single-master/Makefile
index 96d133c..b2cd8ae 100644
--- a/single-master/Makefile
+++ b/single-master/Makefile
@@ -31,6 +31,7 @@
 		--region $(AWS_REGION) \
 		--parameters \
 		ParameterKey=ECSKeyName,ParameterValue=$(CLUSTER_KEYS) \
+		ParameterKey=TemplateBucketName,ParameterValue=$(TEMPLATE_BUCKET_NAME) \
 		ParameterKey=InternetGatewayIdProp,ParameterValue=$(INTERNET_GATEWAY_ID) \
 		ParameterKey=VPCIdProp,ParameterValue=$(VPC_ID) \
 		ParameterKey=SubnetIdProp,ParameterValue=$(SUBNET_ID) \
diff --git a/single-master/cf-cluster.yml b/single-master/cf-cluster.yml
index 239ed31..a436035 100644
--- a/single-master/cf-cluster.yml
+++ b/single-master/cf-cluster.yml
@@ -3,6 +3,9 @@
              hosts using Elastic Container Service. This stack runs containers on
              hosts that are in a public VPC subnet.
 Parameters:
+  TemplateBucketName:
+    Description: S3 bucket containing cloudformation templates
+    Type: String
   DesiredCapacity:
     Type: Number
     Default: '1'
@@ -180,7 +183,7 @@
   ECSTaskNetworkStack:
     Type: AWS::CloudFormation::Stack
     Properties:
-      TemplateURL: https://aws-gerrit-cf-templates.s3.amazonaws.com/cf-gerrit-network-stack.yml
+      TemplateURL: !Join [ '', ['https://', !Ref TemplateBucketName, '.s3.amazonaws.com/cf-gerrit-network-stack.yml'] ]
       TimeoutInMinutes: '25'
       Parameters:
         InternetGatewayIdProp: !Ref 'InternetGatewayIdProp'
diff --git a/single-master/cf-service.yml b/single-master/cf-service.yml
index d08ef0e..7b1a2ae 100644
--- a/single-master/cf-service.yml
+++ b/single-master/cf-service.yml
@@ -302,7 +302,7 @@
     ECSTaskExecutionRoleStack:
       Type: AWS::CloudFormation::Stack
       Properties:
-        TemplateURL: https://aws-gerrit-cf-templates.s3.amazonaws.com/cf-gerrit-task-execution-role.yml
+        TemplateURL: !Join [ '', ['https://', !Ref TemplateBucketName, '.s3.amazonaws.com/cf-gerrit-task-execution-role.yml'] ]
         TimeoutInMinutes: '5'
 
 Outputs: