Process LDAP account pattern in a separate target
LDAP account pattern might contain dollar ($) signs which need to be
escaped ad '$$$$', as documented in Configuration.md.
This however, is not enough when the variable is evaluated multiple
times in an eval section. This causes additional expansions of the $
sign, eventually resulting in an empty string.
Process LDAP account pattern separately from other variables by
providing a dedicated target 'set-ldap-account-pattern', which sets
the LDAP_ACCOUNT_PATTERN_PARAM, ensuring that the LDAP_ACCOUNT_PATTERN is
only evaluated once, thus preserving additional $ signs expansion.
Bug: Issue 13438
Change-Id: I007468522e3178bac13b55e718d78e018381bd9f
diff --git a/Makefile.common b/Makefile.common
index 16a8970..35ff78a 100644
--- a/Makefile.common
+++ b/Makefile.common
@@ -61,3 +61,8 @@
ifdef MULTISITE_ZOOKEEPER_ROOT_NODE
$(eval MULTISITE_OPTIONAL_PARAMS := $(MULTISITE_OPTIONAL_PARAMS) ParameterKey=MultiSiteZookeeperRootNode,ParameterValue=$(MULTISITE_ZOOKEEPER_ROOT_NODE))
endif
+
+set-ldap-account-pattern:
+ifdef LDAP_ACCOUNT_PATTERN
+ $(eval LDAP_ACCOUNT_PATTERN_PARAM := ParameterKey=LDAPAccountPattern,ParameterValue=\"$(LDAP_ACCOUNT_PATTERN)\")
+endif
\ No newline at end of file
diff --git a/dual-master/Makefile b/dual-master/Makefile
index d3fe5c9..1826b0e 100644
--- a/dual-master/Makefile
+++ b/dual-master/Makefile
@@ -78,13 +78,10 @@
ParameterKey=SubnetIdProp,ParameterValue=$(SUBNET_ID) \
$(CLUSTER_OPTIONAL_PARAMS)
-service-master-1: set-optional-params-metrics-cloudwatch set-optional-params-smtp set-optional-params-multisite
+service-master-1: set-optional-params-metrics-cloudwatch set-optional-params-smtp set-optional-params-multisite set-ldap-account-pattern
ifdef GERRIT_MASTER1_INSTANCE_ID
$(eval MASTER1_SERVICE_OPTIONAL_PARAMS := $(MASTER1_SERVICE_OPTIONAL_PARAMS) ParameterKey=InstanceId,ParameterValue=$(GERRIT_MASTER1_INSTANCE_ID))
endif
-ifdef LDAP_ACCOUNT_PATTERN
- $(eval MASTER1_SERVICE_OPTIONAL_PARAMS := $(MASTER1_SERVICE_OPTIONAL_PARAMS) ParameterKey=LDAPAccountPattern,ParameterValue=\"$(LDAP_ACCOUNT_PATTERN)\")
-endif
ifdef LOAD_BALANCER_SCHEME
$(eval MASTER1_SERVICE_OPTIONAL_PARAMS := $(MASTER1_SERVICE_OPTIONAL_PARAMS) ParameterKey=LoadBalancerScheme,ParameterValue=$(LOAD_BALANCER_SCHEME))
endif
@@ -129,16 +126,14 @@
$(MULTISITE_OPTIONAL_PARAMS) \
$(REMOTE_OPTIONAL_PARAMS) \
$(MASTER1_SERVICE_OPTIONAL_PARAMS) \
+ $(LDAP_ACCOUNT_PATTERN_PARAM) \
$(METRICS_CW_OPTIONAL_PARAMS) \
$(SMTP_OPTIONAL_PARAMS)
-service-master-2: set-optional-params-metrics-cloudwatch set-optional-params-smtp set-optional-params-multisite
+service-master-2: set-optional-params-metrics-cloudwatch set-optional-params-smtp set-optional-params-multisite set-ldap-account-pattern
ifdef GERRIT_MASTER2_INSTANCE_ID
$(eval MASTER2_SERVICE_OPTIONAL_PARAMS := $(MASTER2_SERVICE_OPTIONAL_PARAMS) ParameterKey=InstanceId,ParameterValue=$(GERRIT_MASTER2_INSTANCE_ID))
endif
-ifdef LDAP_ACCOUNT_PATTERN
- $(eval MASTER2_SERVICE_OPTIONAL_PARAMS := $(MASTER2_SERVICE_OPTIONAL_PARAMS) ParameterKey=LDAPAccountPattern,ParameterValue=\"$(LDAP_ACCOUNT_PATTERN)\")
-endif
ifdef LOAD_BALANCER_SCHEME
$(eval MASTER2_SERVICE_OPTIONAL_PARAMS := $(MASTER2_SERVICE_OPTIONAL_PARAMS) ParameterKey=LoadBalancerScheme,ParameterValue=$(LOAD_BALANCER_SCHEME))
endif
@@ -184,6 +179,7 @@
$(MULTISITE_OPTIONAL_PARAMS) \
$(REMOTE_OPTIONAL_PARAMS) \
$(MASTER2_SERVICE_OPTIONAL_PARAMS) \
+ $(LDAP_ACCOUNT_PATTERN_PARAM) \
$(METRICS_CW_OPTIONAL_PARAMS) \
$(SMTP_OPTIONAL_PARAMS)
@@ -203,13 +199,10 @@
ParameterKey=HostedZoneName,ParameterValue=$(HOSTED_ZONE_NAME) \
ParameterKey=GitReplicationSubdomain,ParameterValue=$(GIT_REPLICATION_SUBDOMAIN)
-service-slave: set-optional-params-metrics-cloudwatch
+service-slave: set-optional-params-metrics-cloudwatch set-ldap-account-pattern
ifdef GERRIT_SLAVE_INSTANCE_ID
$(eval SLAVE_SERVICE_OPTIONAL_PARAMS := $(SLAVE_SERVICE_OPTIONAL_PARAMS) ParameterKey=InstanceId,ParameterValue=$(GERRIT_SLAVE_INSTANCE_ID))
endif
-ifdef LDAP_ACCOUNT_PATTERN
- $(eval SLAVE_SERVICE_OPTIONAL_PARAMS := $(SLAVE_SERVICE_OPTIONAL_PARAMS) ParameterKey=LDAPAccountPattern,ParameterValue=\"$(LDAP_ACCOUNT_PATTERN)\")
-endif
ifdef LOAD_BALANCER_SCHEME
$(eval SLAVE_SERVICE_OPTIONAL_PARAMS := $(SLAVE_SERVICE_OPTIONAL_PARAMS) ParameterKey=LoadBalancerScheme,ParameterValue=$(LOAD_BALANCER_SCHEME))
endif
@@ -236,6 +229,7 @@
ParameterKey=GerritCPU,ParameterValue=$(GERRIT_CPU) \
ParameterKey=GerritHeapLimit,ParameterValue=$(GERRIT_HEAP_LIMIT) \
ParameterKey=JgitCacheSize,ParameterValue=$(JGIT_CACHE_SIZE) \
+ $(LDAP_ACCOUNT_PATTERN_PARAM) \
$(SLAVE_SERVICE_OPTIONAL_PARAMS) \
$(METRICS_CW_OPTIONAL_PARAMS)
diff --git a/master-slave/Makefile b/master-slave/Makefile
index 8f42df1..6c1c67e 100644
--- a/master-slave/Makefile
+++ b/master-slave/Makefile
@@ -53,16 +53,13 @@
ParameterKey=SubnetIdProp,ParameterValue=$(SUBNET_ID) \
$(CLUSTER_OPTIONAL_PARAMS)
-service-master: set-optional-params-metrics-cloudwatch set-optional-params-smtp
+service-master: set-optional-params-metrics-cloudwatch set-optional-params-smtp set-ldap-account-pattern
ifdef LOAD_BALANCER_SCHEME
$(eval MASTER_SERVICE_OPTIONAL_PARAMS := $(MASTER_SERVICE_OPTIONAL_PARAMS) ParameterKey=LoadBalancerScheme,ParameterValue=$(LOAD_BALANCER_SCHEME))
endif
ifdef GERRIT_MASTER_INSTANCE_ID
$(eval MASTER_SERVICE_OPTIONAL_PARAMS := $(MASTER_SERVICE_OPTIONAL_PARAMS) ParameterKey=InstanceId,ParameterValue=$(GERRIT_MASTER_INSTANCE_ID))
endif
-ifdef LDAP_ACCOUNT_PATTERN
- $(eval MASTER_SERVICE_OPTIONAL_PARAMS := $(MASTER_SERVICE_OPTIONAL_PARAMS) ParameterKey=LDAPAccountPattern,ParameterValue=\"$(LDAP_ACCOUNT_PATTERN)\")
-endif
$(AWS_FC_COMMAND) create-stack \
--stack-name $(SERVICE_MASTER_STACK_NAME) \
@@ -91,20 +88,18 @@
ParameterKey=GerritCPU,ParameterValue=$(GERRIT_CPU) \
ParameterKey=GerritHeapLimit,ParameterValue=$(GERRIT_HEAP_LIMIT) \
ParameterKey=JgitCacheSize,ParameterValue=$(JGIT_CACHE_SIZE) \
+ $(LDAP_ACCOUNT_PATTERN_PARAM) \
$(MASTER_SERVICE_OPTIONAL_PARAMS) \
$(METRICS_CW_OPTIONAL_PARAMS) \
$(SMTP_OPTIONAL_PARAMS)
-service-slave: set-optional-params-metrics-cloudwatch
+service-slave: set-optional-params-metrics-cloudwatch set-ldap-account-pattern
ifdef LOAD_BALANCER_SCHEME
$(eval SLAVE_SERVICE_OPTIONAL_PARAMS := $(SLAVE_SERVICE_OPTIONAL_PARAMS) ParameterKey=LoadBalancerScheme,ParameterValue=$(LOAD_BALANCER_SCHEME))
endif
ifdef GERRIT_SLAVE_INSTANCE_ID
$(eval SLAVE_SERVICE_OPTIONAL_PARAMS := $(SLAVE_SERVICE_OPTIONAL_PARAMS) ParameterKey=InstanceId,ParameterValue=$(GERRIT_SLAVE_INSTANCE_ID))
endif
-ifdef LDAP_ACCOUNT_PATTERN
- $(eval SLAVE_SERVICE_OPTIONAL_PARAMS := $(SLAVE_SERVICE_OPTIONAL_PARAMS) ParameterKey=LDAPAccountPattern,ParameterValue=\"$(LDAP_ACCOUNT_PATTERN)\")
-endif
$(AWS_FC_COMMAND) create-stack \
--stack-name $(SERVICE_SLAVE_STACK_NAME) \
@@ -128,6 +123,7 @@
ParameterKey=GerritCPU,ParameterValue=$(GERRIT_CPU) \
ParameterKey=GerritHeapLimit,ParameterValue=$(GERRIT_HEAP_LIMIT) \
ParameterKey=JgitCacheSize,ParameterValue=$(JGIT_CACHE_SIZE) \
+ $(LDAP_ACCOUNT_PATTERN_PARAM) \
$(SLAVE_SERVICE_OPTIONAL_PARAMS) \
$(METRICS_CW_OPTIONAL_PARAMS)
diff --git a/single-master/Makefile b/single-master/Makefile
index 1a1ac52..eb3ca8e 100644
--- a/single-master/Makefile
+++ b/single-master/Makefile
@@ -43,16 +43,13 @@
ParameterKey=SubnetIdProp,ParameterValue=$(SUBNET_ID) \
$(CLUSTER_OPTIONAL_PARAMS)
-service: set-optional-params-metrics-cloudwatch set-optional-params-smtp
+service: set-optional-params-metrics-cloudwatch set-optional-params-smtp set-ldap-account-pattern
ifdef LOAD_BALANCER_SCHEME
$(eval SERVICE_OPTIONAL_PARAMS := $(SERVICE_OPTIONAL_PARAMS) ParameterKey=LoadBalancerScheme,ParameterValue=$(LOAD_BALANCER_SCHEME))
endif
ifdef GERRIT_INSTANCE_ID
$(eval SERVICE_OPTIONAL_PARAMS := $(SERVICE_OPTIONAL_PARAMS) ParameterKey=InstanceId,ParameterValue=$(GERRIT_INSTANCE_ID))
endif
-ifdef LDAP_ACCOUNT_PATTERN
- $(eval SERVICE_OPTIONAL_PARAMS := $(SERVICE_OPTIONAL_PARAMS) ParameterKey=LDAPAccountPattern,ParameterValue=\"$(LDAP_ACCOUNT_PATTERN)\")
-endif
$(AWS_FC_COMMAND) create-stack \
--stack-name $(SERVICE_STACK_NAME) \
@@ -79,6 +76,7 @@
ParameterKey=GerritCPU,ParameterValue=$(GERRIT_CPU) \
ParameterKey=GerritHeapLimit,ParameterValue=$(GERRIT_HEAP_LIMIT) \
ParameterKey=JgitCacheSize,ParameterValue=$(JGIT_CACHE_SIZE) \
+ $(LDAP_ACCOUNT_PATTERN_PARAM) \
$(SERVICE_OPTIONAL_PARAMS) \
$(METRICS_CW_OPTIONAL_PARAMS) \
$(SMTP_OPTIONAL_PARAMS)