From 5057052c70b9eeffd8219eacf7e9833b64bb869b Mon Sep 17 00:00:00 2001 From: Tin Lam Date: Sat, 7 Dec 2019 16:22:27 -0600 Subject: [PATCH] Fix feature gate envvar overriding Currently using envsubst to perform substitution of value overrides in the feature gate caused conflicts as gotpl gets templated into those overrides. This adds in '%%%REPLACE_${var}%%%' and uses sed to perform the substitution instead to address the issue. This is to achieve parity with OSH-infra patch in [0]. [0] https://review.opendev.org/#/c/697749/ Depends-On: https://review.opendev.org/#/c/697749 Change-Id: I3ed504c65900e7b84728019f3acdf706a40c0427 Signed-off-by: Tin Lam --- cinder/values_overrides/netpol.yaml | 6 +++--- glance/values_overrides/netpol.yaml | 4 ++-- heat/values_overrides/netpol.yaml | 4 ++-- horizon/values_overrides/netpol.yaml | 4 ++-- keystone/values_overrides/netpol.yaml | 4 ++-- neutron/values_overrides/netpol.yaml | 4 ++-- nova/values_overrides/netpol.yaml | 8 ++++---- tools/deployment/common/env-variables.sh | 0 tools/deployment/common/get-values-overrides.sh | 11 +++++++++-- 9 files changed, 26 insertions(+), 19 deletions(-) mode change 100644 => 100755 tools/deployment/common/env-variables.sh diff --git a/cinder/values_overrides/netpol.yaml b/cinder/values_overrides/netpol.yaml index a8647ee542..70a2c2de8f 100644 --- a/cinder/values_overrides/netpol.yaml +++ b/cinder/values_overrides/netpol.yaml @@ -8,10 +8,10 @@ network_policy: cidr: 172.17.0.1/16 - to: - ipBlock: - cidr: $API_ADDR/16 + cidr: %%%REPLACE_API_ADDR%%%/16 - to: - ipBlock: - cidr: $API_ADDR/32 + cidr: %%%REPLACE_API_ADDR%%%/32 ports: - protocol: TCP - port: $API_PORT + port: %%%REPLACE_API_PORT%%% diff --git a/glance/values_overrides/netpol.yaml b/glance/values_overrides/netpol.yaml index 871dcdf6b2..cdadaf1345 100644 --- a/glance/values_overrides/netpol.yaml +++ b/glance/values_overrides/netpol.yaml @@ -42,7 +42,7 @@ network_policy: port: 443 - to: - ipBlock: - cidr: $API_ADDR/32 + cidr: %%%REPLACE_API_ADDR%%%/32 ports: - protocol: TCP - port: $API_PORT + port: %%%REPLACE_API_PORT%%% diff --git a/heat/values_overrides/netpol.yaml b/heat/values_overrides/netpol.yaml index be82a74805..d6675c881d 100644 --- a/heat/values_overrides/netpol.yaml +++ b/heat/values_overrides/netpol.yaml @@ -42,7 +42,7 @@ network_policy: application: cinder - to: - ipBlock: - cidr: $API_ADDR/32 + cidr: %%%REPLACE_API_ADDR%%%/32 ports: - protocol: TCP - port: $API_PORT + port: %%%REPLACE_API_PORT%%% diff --git a/horizon/values_overrides/netpol.yaml b/horizon/values_overrides/netpol.yaml index c1fb702566..807c49178e 100644 --- a/horizon/values_overrides/netpol.yaml +++ b/horizon/values_overrides/netpol.yaml @@ -47,7 +47,7 @@ network_policy: application: heat - to: - ipBlock: - cidr: $API_ADDR/32 + cidr: %%%REPLACE_API_ADDR%%%/32 ports: - protocol: TCP - port: $API_PORT + port: %%%REPLACE_API_PORT%%% diff --git a/keystone/values_overrides/netpol.yaml b/keystone/values_overrides/netpol.yaml index f96439d004..12091706d9 100644 --- a/keystone/values_overrides/netpol.yaml +++ b/keystone/values_overrides/netpol.yaml @@ -66,7 +66,7 @@ network_policy: egress: - to: - ipBlock: - cidr: $API_ADDR/32 + cidr: %%%REPLACE_API_ADDR%%%/32 ports: - protocol: TCP - port: $API_PORT + port: %%%REPLACE_API_PORT%%% diff --git a/neutron/values_overrides/netpol.yaml b/neutron/values_overrides/netpol.yaml index 4099e00166..237f0d813b 100644 --- a/neutron/values_overrides/netpol.yaml +++ b/neutron/values_overrides/netpol.yaml @@ -5,7 +5,7 @@ network_policy: egress: - to: - ipBlock: - cidr: $API_ADDR/32 + cidr: %%%REPLACE_API_ADDR%%%/32 ports: - protocol: TCP - port: $API_PORT + port: %%%REPLACE_API_PORT%%% diff --git a/nova/values_overrides/netpol.yaml b/nova/values_overrides/netpol.yaml index 9927207921..f845215f22 100644 --- a/nova/values_overrides/netpol.yaml +++ b/nova/values_overrides/netpol.yaml @@ -5,15 +5,15 @@ network_policy: egress: - to: - ipBlock: - cidr: $API_ADDR/32 + cidr: %%%REPLACE_API_ADDR%%%/32 ports: - protocol: TCP - port: $API_PORT + port: %%%REPLACE_API_PORT%%% placement: egress: - to: - ipBlock: - cidr: $API_ADDR/32 + cidr: %%%REPLACE_API_ADDR%%%/32 ports: - protocol: TCP - port: $API_PORT + port: %%%REPLACE_API_PORT%%% diff --git a/tools/deployment/common/env-variables.sh b/tools/deployment/common/env-variables.sh old mode 100644 new mode 100755 diff --git a/tools/deployment/common/get-values-overrides.sh b/tools/deployment/common/get-values-overrides.sh index 32a55a8372..2fc367ffe3 100755 --- a/tools/deployment/common/get-values-overrides.sh +++ b/tools/deployment/common/get-values-overrides.sh @@ -54,14 +54,21 @@ function combination () { done } +function replace_variables() { + for key in $(env); do + local arr=( $(echo $key | awk -F'=' '{ print $1, $2 }') ) + sed -i "s#%%%REPLACE_${arr[0]}%%%#${arr[1]}#g" $@ + done +} + function override_file_args () { OVERRIDE_ARGS="" echoerr "We will attempt to use values-override files with the following paths:" for FILE in $(combination ${1//,/ } | uniq | tac); do FILE_PATH="${HELM_CHART_ROOT_PATH}/${HELM_CHART}/values_overrides/${FILE}.yaml" if [ -f "${FILE_PATH}" ]; then - envsubst < ${FILE_PATH} > /tmp/${HELM_CHART}-${FILE}.yaml - OVERRIDE_ARGS+=" --values=/tmp/${HELM_CHART}-${FILE}.yaml " + replace_variables ${FILE_PATH} + OVERRIDE_ARGS+=" --values=${FILE_PATH} " fi echoerr "${FILE_PATH}" done