From 342dc931870310bec7e5f58dc6a99adff2492510 Mon Sep 17 00:00:00 2001 From: danielqsj Date: Wed, 23 Jan 2019 21:59:36 +0800 Subject: [PATCH] fix shellcheck in kube-aggregator --- hack/.shellcheck_failures | 5 -- .../kube-aggregator/hack/build-image.sh | 5 +- .../hack/local-up-kube-aggregator.sh | 10 ++-- .../hack/register-all-apis-from.sh | 46 ++++++++++--------- .../kube-aggregator/hack/update-codegen.sh | 16 +++---- .../kube-aggregator/hack/verify-codegen.sh | 3 +- 6 files changed, 42 insertions(+), 43 deletions(-) diff --git a/hack/.shellcheck_failures b/hack/.shellcheck_failures index 3b59cc0fa44..22c2d09d153 100644 --- a/hack/.shellcheck_failures +++ b/hack/.shellcheck_failures @@ -156,11 +156,6 @@ ./pkg/kubectl/cmd/edit/testdata/record_testcase.sh ./pkg/util/verify-util-pkg.sh ./plugin/pkg/admission/imagepolicy/gencerts.sh -./staging/src/k8s.io/kube-aggregator/hack/build-image.sh -./staging/src/k8s.io/kube-aggregator/hack/local-up-kube-aggregator.sh -./staging/src/k8s.io/kube-aggregator/hack/register-all-apis-from.sh -./staging/src/k8s.io/kube-aggregator/hack/update-codegen.sh -./staging/src/k8s.io/kube-aggregator/hack/verify-codegen.sh ./staging/src/k8s.io/metrics/hack/update-codegen.sh ./staging/src/k8s.io/metrics/hack/verify-codegen.sh ./test/cmd/apply.sh diff --git a/staging/src/k8s.io/kube-aggregator/hack/build-image.sh b/staging/src/k8s.io/kube-aggregator/hack/build-image.sh index ee09df3ebd1..cae43ecac10 100755 --- a/staging/src/k8s.io/kube-aggregator/hack/build-image.sh +++ b/staging/src/k8s.io/kube-aggregator/hack/build-image.sh @@ -14,8 +14,11 @@ # See the License for the specific language governing permissions and # limitations under the License. +set -o errexit +set -o nounset +set -o pipefail -KUBE_ROOT=$(dirname "${BASH_SOURCE}")/../../../../.. +KUBE_ROOT=$(dirname "${BASH_SOURCE[0]}")/../../../../.. source "${KUBE_ROOT}/hack/lib/util.sh" # Register function to be called on EXIT to remove generated binary. diff --git a/staging/src/k8s.io/kube-aggregator/hack/local-up-kube-aggregator.sh b/staging/src/k8s.io/kube-aggregator/hack/local-up-kube-aggregator.sh index 158d02affa3..fbe4b204ec6 100755 --- a/staging/src/k8s.io/kube-aggregator/hack/local-up-kube-aggregator.sh +++ b/staging/src/k8s.io/kube-aggregator/hack/local-up-kube-aggregator.sh @@ -20,7 +20,7 @@ set -o errexit set -o nounset set -o pipefail -AGG_ROOT=$(dirname "${BASH_SOURCE}")/.. +AGG_ROOT=$(dirname "${BASH_SOURCE[0]}")/.. KUBE_ROOT=${AGG_ROOT}/../../../.. source "${KUBE_ROOT}/hack/lib/init.sh" @@ -68,10 +68,10 @@ function start_kube-aggregator { kubectl -n kube-public delete configmap etcd-ca kube-aggregator-ca client-ca request-header-ca > /dev/null 2>&1 || true kubectl -n kube-public delete -f "${AGG_ROOT}/artifacts/self-contained" > /dev/null 2>&1 || true - ${sudo} $(which kubectl) -n kube-public create secret tls auth-proxy-client --cert="${FRONT_PROXY_CLIENT_CERT}" --key="${FRONT_PROXY_CLIENT_KEY}" - ${sudo} $(which kubectl) -n kube-public create secret tls serving-etcd --cert="${AGGREGATOR_CERT_DIR}/serving-etcd.crt" --key="${AGGREGATOR_CERT_DIR}/serving-etcd.key" - ${sudo} $(which kubectl) -n kube-public create secret tls serving-kube-aggregator --cert="${SERVING_CERT}" --key="${SERVING_KEY}" - ${sudo} $(which kubectl) -n kube-public create secret tls kube-aggregator-etcd --cert="${AGGREGATOR_CERT_DIR}/client-kube-aggregator-etcd.crt" --key="${AGGREGATOR_CERT_DIR}/client-kube-aggregator-etcd.key" + ${sudo} "$(which kubectl)" -n kube-public create secret tls auth-proxy-client --cert="${FRONT_PROXY_CLIENT_CERT}" --key="${FRONT_PROXY_CLIENT_KEY}" + ${sudo} "$(which kubectl)" -n kube-public create secret tls serving-etcd --cert="${AGGREGATOR_CERT_DIR}/serving-etcd.crt" --key="${AGGREGATOR_CERT_DIR}/serving-etcd.key" + ${sudo} "$(which kubectl)" -n kube-public create secret tls serving-kube-aggregator --cert="${SERVING_CERT}" --key="${SERVING_KEY}" + ${sudo} "$(which kubectl)" -n kube-public create secret tls kube-aggregator-etcd --cert="${AGGREGATOR_CERT_DIR}/client-kube-aggregator-etcd.crt" --key="${AGGREGATOR_CERT_DIR}/client-kube-aggregator-etcd.key" kubectl -n kube-public create configmap etcd-ca --from-file="ca.crt=${AGGREGATOR_CERT_DIR}/etcd-ca.crt" || true kubectl -n kube-public create configmap kube-aggregator-ca --from-file="ca.crt=${SERVING_CERT_CA_CERT}" || true kubectl -n kube-public create configmap client-ca --from-file="ca.crt=${CLIENT_CERT_CA_CERT}" || true diff --git a/staging/src/k8s.io/kube-aggregator/hack/register-all-apis-from.sh b/staging/src/k8s.io/kube-aggregator/hack/register-all-apis-from.sh index fc20f937687..de98c81f157 100755 --- a/staging/src/k8s.io/kube-aggregator/hack/register-all-apis-from.sh +++ b/staging/src/k8s.io/kube-aggregator/hack/register-all-apis-from.sh @@ -36,7 +36,7 @@ function cleanup { trap cleanup EXIT -scriptDir=$(dirname "${BASH_SOURCE}") +scriptDir=$(dirname "${BASH_SOURCE[0]}") # this uses discovery from a kube-like API server to register ALL the API versions that server provides # first argument is reference to kube-config file that points the API server you're adding from @@ -53,38 +53,40 @@ AGG_KUBECONFIG=${4} caBundle=$(base64 /var/run/kubernetes/server-ca.crt | awk 'BEGIN{ORS="";} {print}') # if we have a /api endpoint, then we need to register that -if kubectl --kubeconfig=${FROM_KUBECONFIG} get --raw / | grep -q /api/v1; then +if kubectl --kubeconfig="${FROM_KUBECONFIG}" get --raw / | grep -q /api/v1; then group="" version="v1" resourceName=${version}.${group} - resourceFileName=${dir}/${resourceName}.yaml - cp ${scriptDir}/apiservice-template.yaml ${resourceFileName} - ${SED} -i "s/RESOURCE_NAME/${resourceName}/" ${resourceFileName} - ${SED} -i "s/API_GROUP/${group}/" ${resourceFileName} - ${SED} -i "s/API_VERSION/${version}/" ${resourceFileName} - ${SED} -i "s/SERVICE_NAMESPACE/${SERVICE_NAMESPACE}/" ${resourceFileName} - ${SED} -i "s/SERVICE_NAME/${SERVICE_NAME}/" ${resourceFileName} - ${SED} -i "s/CA_BUNDLE/${caBundle}/" ${resourceFileName} + resourceFileName="${dir}/${resourceName}.yaml" + cp "${scriptDir}/apiservice-template.yaml" "${resourceFileName}" + ${SED} -i "s/RESOURCE_NAME/${resourceName}/" "${resourceFileName}" + ${SED} -i "s/API_GROUP/${group}/" "${resourceFileName}" + ${SED} -i "s/API_VERSION/${version}/" "${resourceFileName}" + ${SED} -i "s/SERVICE_NAMESPACE/${SERVICE_NAMESPACE}/" "${resourceFileName}" + ${SED} -i "s/SERVICE_NAME/${SERVICE_NAME}/" "${resourceFileName}" + ${SED} -i "s/CA_BUNDLE/${caBundle}/" "${resourceFileName}" echo "registering ${resourceName} using ${resourceFileName}" - kubectl --kubeconfig=${AGG_KUBECONFIG} create -f ${resourceFileName} + kubectl --kubeconfig="${AGG_KUBECONFIG}" create -f "${resourceFileName}" fi -groupVersions=( $(kubectl --kubeconfig=${FROM_KUBECONFIG} get --raw / | grep /apis/ | sed 's/",.*//' | sed 's|.*"/apis/||' | grep '/') ) +while IFS=$'\n' read -r groupVersion; + do groupVersions+=("$groupVersion"); +done < <(kubectl get --raw / | grep /apis/ | sed 's/",.*//' | sed 's|.*"/apis/||' | grep '/') for groupVersion in "${groupVersions[@]}"; do - group=$(echo $groupVersion | awk -F/ '{print $1}') - version=$(echo $groupVersion | awk -F/ '{print $2}') + group=$(echo "$groupVersion" | awk -F/ '{print $1}') + version=$(echo "$groupVersion" | awk -F/ '{print $2}') resourceName=${version}.${group} resourceFileName=${dir}/${resourceName}.yaml - cp ${scriptDir}/apiservice-template.yaml ${resourceFileName} - ${SED} -i "s/RESOURCE_NAME/${resourceName}/" ${resourceFileName} - ${SED} -i "s/API_GROUP/${group}/" ${resourceFileName} - ${SED} -i "s/API_VERSION/${version}/" ${resourceFileName} - ${SED} -i "s/SERVICE_NAMESPACE/${SERVICE_NAMESPACE}/" ${resourceFileName} - ${SED} -i "s/SERVICE_NAME/${SERVICE_NAME}/" ${resourceFileName} - ${SED} -i "s/CA_BUNDLE/${caBundle}/" ${resourceFileName} + cp "${scriptDir}/apiservice-template.yaml" "${resourceFileName}" + ${SED} -i "s/RESOURCE_NAME/${resourceName}/" "${resourceFileName}" + ${SED} -i "s/API_GROUP/${group}/" "${resourceFileName}" + ${SED} -i "s/API_VERSION/${version}/" "${resourceFileName}" + ${SED} -i "s/SERVICE_NAMESPACE/${SERVICE_NAMESPACE}/" "${resourceFileName}" + ${SED} -i "s/SERVICE_NAME/${SERVICE_NAME}/" "${resourceFileName}" + ${SED} -i "s/CA_BUNDLE/${caBundle}/" "${resourceFileName}" echo "registering ${resourceName} using ${resourceFileName}" - kubectl --kubeconfig=${AGG_KUBECONFIG} create -f ${resourceFileName} + kubectl --kubeconfig="${AGG_KUBECONFIG}" create -f "${resourceFileName}" done diff --git a/staging/src/k8s.io/kube-aggregator/hack/update-codegen.sh b/staging/src/k8s.io/kube-aggregator/hack/update-codegen.sh index 97388362d23..d50f15cfdb3 100755 --- a/staging/src/k8s.io/kube-aggregator/hack/update-codegen.sh +++ b/staging/src/k8s.io/kube-aggregator/hack/update-codegen.sh @@ -18,22 +18,22 @@ set -o errexit set -o nounset set -o pipefail -SCRIPT_ROOT=$(dirname ${BASH_SOURCE})/.. -CODEGEN_PKG=${CODEGEN_PKG:-$(cd ${SCRIPT_ROOT}; ls -d -1 ./vendor/k8s.io/code-generator 2>/dev/null || echo ../code-generator)} +SCRIPT_ROOT=$(dirname "${BASH_SOURCE[0]}")/.. +CODEGEN_PKG=${CODEGEN_PKG:-$(cd "${SCRIPT_ROOT}"; ls -d -1 ./vendor/k8s.io/code-generator 2>/dev/null || echo ../code-generator)} CLIENTSET_NAME_VERSIONED=clientset \ CLIENTSET_PKG_NAME=clientset_generated \ -${CODEGEN_PKG}/generate-groups.sh deepcopy,client,lister,informer \ +"${CODEGEN_PKG}/generate-groups.sh" deepcopy,client,lister,informer \ k8s.io/kube-aggregator/pkg/client k8s.io/kube-aggregator/pkg/apis \ "apiregistration:v1beta1,v1" \ - --output-base "$(dirname ${BASH_SOURCE})/../../.." \ - --go-header-file ${SCRIPT_ROOT}/hack/boilerplate.go.txt + --output-base "$(dirname "${BASH_SOURCE[0]}")/../../.." \ + --go-header-file "${SCRIPT_ROOT}/hack/boilerplate.go.txt" CLIENTSET_NAME_VERSIONED=clientset \ CLIENTSET_PKG_NAME=clientset_generated \ CLIENTSET_NAME_INTERNAL=internalclientset \ -${CODEGEN_PKG}/generate-internal-groups.sh deepcopy,client,lister,informer,conversion \ +"${CODEGEN_PKG}/generate-internal-groups.sh" deepcopy,client,lister,informer,conversion \ k8s.io/kube-aggregator/pkg/client k8s.io/kube-aggregator/pkg/apis k8s.io/kube-aggregator/pkg/apis \ "apiregistration:v1beta1,v1" \ - --output-base "$(dirname ${BASH_SOURCE})/../../.." \ - --go-header-file ${SCRIPT_ROOT}/hack/boilerplate.go.txt + --output-base "$(dirname "${BASH_SOURCE[0]}")/../../.." \ + --go-header-file "${SCRIPT_ROOT}/hack/boilerplate.go.txt" diff --git a/staging/src/k8s.io/kube-aggregator/hack/verify-codegen.sh b/staging/src/k8s.io/kube-aggregator/hack/verify-codegen.sh index 9fae05895f0..fb4bc53081b 100755 --- a/staging/src/k8s.io/kube-aggregator/hack/verify-codegen.sh +++ b/staging/src/k8s.io/kube-aggregator/hack/verify-codegen.sh @@ -18,8 +18,7 @@ set -o errexit set -o nounset set -o pipefail -SCRIPT_ROOT=$(dirname "${BASH_SOURCE}")/.. -SCRIPT_BASE=${SCRIPT_ROOT}/../.. +SCRIPT_ROOT=$(dirname "${BASH_SOURCE[0]}")/.. DIFFROOT="${SCRIPT_ROOT}/pkg" TMP_DIFFROOT="${SCRIPT_ROOT}/_tmp/pkg"