From e3e2a96521afbacf5521f01e7f6aa7b4d16d7d45 Mon Sep 17 00:00:00 2001 From: Bob Killen Date: Mon, 4 Feb 2019 17:47:06 -0600 Subject: [PATCH] Fix shellcheck lint errors in test/kubemark/iks/startup.sh --- hack/.shellcheck_failures | 1 - test/kubemark/iks/startup.sh | 66 ++++++++++++++++++++++++------------ 2 files changed, 44 insertions(+), 23 deletions(-) diff --git a/hack/.shellcheck_failures b/hack/.shellcheck_failures index 26a0a9acab6..51f35750a30 100644 --- a/hack/.shellcheck_failures +++ b/hack/.shellcheck_failures @@ -145,7 +145,6 @@ ./test/images/volume/rbd/create_block.sh ./test/images/volume/rbd/mon.sh ./test/images/volume/rbd/osd.sh -./test/kubemark/iks/startup.sh ./test/kubemark/iks/util.sh ./test/kubemark/master-log-dump.sh ./test/kubemark/resources/start-kubemark-master.sh diff --git a/test/kubemark/iks/startup.sh b/test/kubemark/iks/startup.sh index 6a643943444..c5bcd9f3f1a 100644 --- a/test/kubemark/iks/startup.sh +++ b/test/kubemark/iks/startup.sh @@ -25,7 +25,8 @@ RESOURCE_DIRECTORY="${KUBEMARK_DIRECTORY}/resources" # templates, and finally create these resources through kubectl. function create-kube-hollow-node-resources { # Create kubeconfig for Kubelet. - KUBELET_KUBECONFIG_CONTENTS=$(echo "apiVersion: v1 + KUBELET_KUBECONFIG_CONTENTS="$(cat < "${RESOURCE_DIRECTORY}/addons/heapster.json" metrics_mem_per_node=4 - metrics_mem=$((200 + ${metrics_mem_per_node}*${NUM_NODES})) + metrics_mem=$((200 + metrics_mem_per_node*NUM_NODES)) sed -i'' -e "s/{{METRICS_MEM}}/${metrics_mem}/g" "${RESOURCE_DIRECTORY}/addons/heapster.json" metrics_cpu_per_node_numerator=${NUM_NODES} metrics_cpu_per_node_denominator=2 metrics_cpu=$((80 + metrics_cpu_per_node_numerator / metrics_cpu_per_node_denominator)) sed -i'' -e "s/{{METRICS_CPU}}/${metrics_cpu}/g" "${RESOURCE_DIRECTORY}/addons/heapster.json" eventer_mem_per_node=500 - eventer_mem=$((200 * 1024 + ${eventer_mem_per_node}*${NUM_NODES})) + eventer_mem=$((200 * 1024 + eventer_mem_per_node*NUM_NODES)) sed -i'' -e "s/{{EVENTER_MEM}}/${eventer_mem}/g" "${RESOURCE_DIRECTORY}/addons/heapster.json" # Cluster Autoscaler. @@ -216,7 +234,7 @@ current-context: kubemark-context") proxy_cpu=50 fi proxy_mem_per_node=50 - proxy_mem=$((100 * 1024 + ${proxy_mem_per_node}*${NUM_NODES})) + proxy_mem=$((100 * 1024 + proxy_mem_per_node*NUM_NODES)) sed -i'' -e "s/{{HOLLOW_PROXY_CPU}}/${proxy_cpu}/g" "${RESOURCE_DIRECTORY}/hollow-node.yaml" sed -i'' -e "s/{{HOLLOW_PROXY_MEM}}/${proxy_mem}/g" "${RESOURCE_DIRECTORY}/hollow-node.yaml" sed -i'' -e "s'{{kubemark_image_registry}}'${KUBEMARK_IMAGE_REGISTRY}${KUBE_NAMESPACE}'g" "${RESOURCE_DIRECTORY}/hollow-node.yaml" @@ -236,8 +254,7 @@ function wait-for-hollow-nodes-to-run-or-timeout { echo -n "Waiting for all hollow-nodes to become Running" start=$(date +%s) nodes=$("${KUBECTL}" --kubeconfig="${KUBECONFIG}" get node 2> /dev/null) || true - ready=$(($(echo "${nodes}" | grep -v "NotReady" | wc -l) - 1)) - + ready=$(($(echo "${nodes}" | grep -vc "NotReady") - 1)) until [[ "${ready}" -ge "${NUM_REPLICAS}" ]]; do echo -n "." sleep 1 @@ -245,6 +262,7 @@ function wait-for-hollow-nodes-to-run-or-timeout { # Fail it if it already took more than 30 minutes. if [ $((now - start)) -gt 1800 ]; then echo "" + # shellcheck disable=SC2154 # Color defined in sourced script echo -e "${color_red} Timeout waiting for all hollow-nodes to become Running. ${color_norm}" # Try listing nodes again - if it fails it means that API server is not responding if "${KUBECTL}" --kubeconfig="${KUBECONFIG}" get node &> /dev/null; then @@ -254,16 +272,17 @@ function wait-for-hollow-nodes-to-run-or-timeout { fi spawn-config pods=$("${KUBECTL}" get pods -l name=hollow-node --namespace=kubemark) || true - running=$(($(echo "${pods}" | grep "Running" | wc -l))) + running=$(($(echo "${pods}" | grep -c "Running"))) echo "${running} hollow-nodes are reported as 'Running'" - not_running=$(($(echo "${pods}" | grep -v "Running" | wc -l) - 1)) + not_running=$(($(echo "${pods}" | grep -vc "Running") - 1)) echo "${not_running} hollow-nodes are reported as NOT 'Running'" - echo $(echo "${pods}" | grep -v "Running") + echo "${pods}" | grep -v "Running" exit 1 fi nodes=$("${KUBECTL}" --kubeconfig="${KUBECONFIG}" get node 2> /dev/null) || true - ready=$(($(echo "${nodes}" | grep -v "NotReady" | wc -l) - 1)) + ready=$(($(echo "${nodes}" | grep -vc "NotReady") - 1)) done + # shellcheck disable=SC2154 # Color defined in sourced script echo -e "${color_green} Done!${color_norm}" } @@ -281,14 +300,17 @@ set-hollow-master echo "Creating kube hollow node resources" create-kube-hollow-node-resources master-config +# shellcheck disable=SC2154 # Color defined in sourced script echo -e "${color_blue}EXECUTION COMPLETE${color_norm}" # Check status of Kubemark +# shellcheck disable=SC2154 # Color defined in sourced script echo -e "${color_yellow}CHECKING STATUS${color_norm}" wait-for-hollow-nodes-to-run-or-timeout # Celebrate echo "" +# shellcheck disable=SC2154 # Color defined in sourced script echo -e "${color_blue}SUCCESS${color_norm}" clean-repo -exit 0 +exit 0 \ No newline at end of file