From 6372bb2f282ea935e3bd26bf25e645576efff309 Mon Sep 17 00:00:00 2001 From: Ismo Puustinen Date: Fri, 2 Feb 2018 11:26:22 +0200 Subject: [PATCH] cluster/gce: fix checks for empty strings. In order to use -n, the value needs either be quoted or [[ .. ]] block has to be used. Fix the comparisons that way. To verify, consider this (analogous) script: #!/bin/bash subnetwork_url="" if [ -n ${subnetwork_url} ]; then echo "foo" fi if [[ -n ${subnetwork_url} ]]; then echo "bar" fi Here "foo" is echoed by the script, even though the variable subnetwork_url has a zero-length value. --- cluster/gce/gci/flexvolume_node_setup.sh | 4 ++-- cluster/gce/upgrade-aliases.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cluster/gce/gci/flexvolume_node_setup.sh b/cluster/gce/gci/flexvolume_node_setup.sh index cad4b48e80f..ce4d995e95d 100755 --- a/cluster/gce/gci/flexvolume_node_setup.sh +++ b/cluster/gce/gci/flexvolume_node_setup.sh @@ -81,10 +81,10 @@ flex_clean() { umount_silent ${MOUNTER_PATH} rm -rf ${MOUNTER_PATH} - if [ -n ${IMAGE_URL:-} ]; then + if [[ -n ${IMAGE_URL:-} ]]; then docker rmi -f ${IMAGE_URL} &> /dev/null || /bin/true fi - if [ -n ${MOUNTER_DEFAULT_NAME:-} ]; then + if [[ -n ${MOUNTER_DEFAULT_NAME:-} ]]; then docker rm -f ${MOUNTER_DEFAULT_NAME} &> /dev/null || /bin/true fi } diff --git a/cluster/gce/upgrade-aliases.sh b/cluster/gce/upgrade-aliases.sh index 29dbf0232ed..410cd639d88 100755 --- a/cluster/gce/upgrade-aliases.sh +++ b/cluster/gce/upgrade-aliases.sh @@ -53,7 +53,7 @@ function detect-k8s-subnetwork() { local subnetwork_url=$(gcloud compute instances describe \ ${KUBE_MASTER} --project=${PROJECT} --zone=${ZONE} \ --format='value(networkInterfaces[0].subnetwork)') - if [ -n ${subnetwork_url} ]; then + if [[ -n ${subnetwork_url} ]]; then IP_ALIAS_SUBNETWORK=$(echo ${subnetwork_url##*/}) fi }