diff --git a/hack/gen-swagger-doc/gen-swagger-docs.sh b/hack/gen-swagger-doc/gen-swagger-docs.sh index 381499d2f6..10c5cf14f2 100755 --- a/hack/gen-swagger-doc/gen-swagger-docs.sh +++ b/hack/gen-swagger-doc/gen-swagger-docs.sh @@ -35,7 +35,7 @@ top_level_models=$(grep '&[A-Za-z]*{},' /register.go | sed 's/.*&//;s/{},//') # check if the top level models exist in the definitions.adoc. If they exist, # their name will be . VERSION="${1#*_}" -for m in $top_level_models +for m in ${top_level_models} do if grep -xq "=== ${VERSION}.$m" ./definitions.adoc then diff --git a/hack/ginkgo-e2e.sh b/hack/ginkgo-e2e.sh index b408b699fa..c4fc31186d 100755 --- a/hack/ginkgo-e2e.sh +++ b/hack/ginkgo-e2e.sh @@ -87,7 +87,7 @@ if [[ "${KUBERNETES_PROVIDER}" == "gce" ]]; then set_num_migs NODE_INSTANCE_GROUP="" for ((i=1; i<=${NUM_MIGS}; i++)); do - if [[ $i == ${NUM_MIGS} ]]; then + if [[ ${i} == ${NUM_MIGS} ]]; then # We are assigning the same mig names as create-nodes function from cluster/gce/util.sh. NODE_INSTANCE_GROUP="${NODE_INSTANCE_GROUP}${NODE_INSTANCE_PREFIX}-group" else diff --git a/hack/jenkins/benchmark-dockerized.sh b/hack/jenkins/benchmark-dockerized.sh index 1b86e6521e..c1c4ae11f9 100755 --- a/hack/jenkins/benchmark-dockerized.sh +++ b/hack/jenkins/benchmark-dockerized.sh @@ -21,7 +21,7 @@ set -o xtrace retry() { for i in {1..5}; do - "$@" && return 0 || sleep $i + "$@" && return 0 || sleep "${i}" done "$@" } diff --git a/hack/jenkins/test-dockerized.sh b/hack/jenkins/test-dockerized.sh index df29a6f693..6ef9728a75 100755 --- a/hack/jenkins/test-dockerized.sh +++ b/hack/jenkins/test-dockerized.sh @@ -21,7 +21,7 @@ set -o xtrace retry() { for i in {1..5}; do - "$@" && return 0 || sleep $i + "$@" && return 0 || sleep "${i}" done "$@" } diff --git a/hack/lib/etcd.sh b/hack/lib/etcd.sh index 5423d246c5..dc8d246e16 100755 --- a/hack/lib/etcd.sh +++ b/hack/lib/etcd.sh @@ -47,12 +47,12 @@ kube::etcd::validate() { # validate installed version is at least equal to minimum version=$(etcd --version | tail -n +1 | head -n 1 | cut -d " " -f 3) - if [[ $(kube::etcd::version $ETCD_VERSION) -gt $(kube::etcd::version $version) ]]; then - export PATH=$KUBE_ROOT/third_party/etcd:$PATH + if [[ $(kube::etcd::version ${ETCD_VERSION}) -gt $(kube::etcd::version ${version}) ]]; then + export PATH=${KUBE_ROOT}/third_party/etcd:$PATH hash etcd echo $PATH version=$(etcd --version | head -n 1 | cut -d " " -f 3) - if [[ $(kube::etcd::version $ETCD_VERSION) -gt $(kube::etcd::version $version) ]]; then + if [[ $(kube::etcd::version ${ETCD_VERSION}) -gt $(kube::etcd::version ${version}) ]]; then kube::log::usage "etcd version ${ETCD_VERSION} or greater required." kube::log::info "You can use 'hack/install-etcd.sh' to install a copy in third_party/." exit 1 diff --git a/hack/lib/golang.sh b/hack/lib/golang.sh index c92b7069a2..9b5ba67474 100755 --- a/hack/lib/golang.sh +++ b/hack/lib/golang.sh @@ -594,11 +594,11 @@ kube::golang::build_binaries_for_platform() { for binary in "${binaries[@]}"; do if [[ "${binary}" =~ ".test"$ ]]; then - tests+=($binary) + tests+=(${binary}) elif kube::golang::is_statically_linked_library "${binary}"; then - statics+=($binary) + statics+=(${binary}) else - nonstatics+=($binary) + nonstatics+=(${binary}) fi done diff --git a/hack/lib/logging.sh b/hack/lib/logging.sh index 458c218867..237b92cc17 100644 --- a/hack/lib/logging.sh +++ b/hack/lib/logging.sh @@ -57,10 +57,10 @@ kube::log::install_errexit() { kube::log::stack() { local stack_skip=${1:-0} stack_skip=$((stack_skip + 1)) - if [[ ${#FUNCNAME[@]} -gt $stack_skip ]]; then + if [[ ${#FUNCNAME[@]} -gt ${stack_skip} ]]; then echo "Call stack:" >&2 local i - for ((i=1 ; i <= ${#FUNCNAME[@]} - $stack_skip ; i++)) + for ((i=1 ; i <= ${#FUNCNAME[@]} - ${stack_skip} ; i++)) do local frame_no=$((i - 1 + stack_skip)) local source_file=${BASH_SOURCE[$frame_no]} @@ -90,7 +90,7 @@ kube::log::error_exit() { echo " ${1}" >&2 } - kube::log::stack $stack_skip + kube::log::stack ${stack_skip} echo "Exiting with status ${code}" >&2 fi @@ -130,7 +130,7 @@ kube::log::usage_from_stdin() { # Print out some info that isn't a top level status line kube::log::info() { local V="${V:-0}" - if [[ $KUBE_VERBOSE < $V ]]; then + if [[ ${KUBE_VERBOSE} < ${V} ]]; then return fi @@ -158,7 +158,7 @@ kube::log::info_from_stdin() { # Print a status line. Formatted to show up in a stream of output. kube::log::status() { local V="${V:-0}" - if [[ $KUBE_VERBOSE < $V ]]; then + if [[ ${KUBE_VERBOSE} < ${V} ]]; then return fi diff --git a/hack/lib/protoc.sh b/hack/lib/protoc.sh index 2ba21ecee9..304f070417 100644 --- a/hack/lib/protoc.sh +++ b/hack/lib/protoc.sh @@ -83,7 +83,7 @@ function kube::protoc::format() { function kube::protoc::diff() { local ret=0 diff -I "gzipped FileDescriptorProto" -I "0x" -Naupr ${1} ${2} || ret=$? - if [[ $ret -ne 0 ]]; then + if [[ ${ret} -ne 0 ]]; then echo ${3} exit 1 fi diff --git a/hack/local-up-cluster.sh b/hack/local-up-cluster.sh index f526e80dcf..c719e5666a 100755 --- a/hack/local-up-cluster.sh +++ b/hack/local-up-cluster.sh @@ -169,7 +169,7 @@ function guess_built_binary_path { GO_OUT=${GO_OUT:-} while getopts "ho:O" OPTION do - case $OPTION in + case ${OPTION} in o) echo "skipping build" GO_OUT="$OPTARG" @@ -263,20 +263,20 @@ function test_apiserver_off { # For the common local scenario, fail fast if server is already running. # this can happen if you run local-up-cluster.sh twice and kill etcd in between. if [[ "${API_PORT}" -gt "0" ]]; then - curl --silent -g $API_HOST:$API_PORT + curl --silent -g ${API_HOST}:${API_PORT} if [ ! $? -eq 0 ]; then echo "API SERVER insecure port is free, proceeding..." else - echo "ERROR starting API SERVER, exiting. Some process on $API_HOST is serving already on $API_PORT" + echo "ERROR starting API SERVER, exiting. Some process on ${API_HOST} is serving already on ${API_PORT}" exit 1 fi fi - curl --silent -k -g $API_HOST:$API_SECURE_PORT + curl --silent -k -g ${API_HOST}:${API_SECURE_PORT} if [ ! $? -eq 0 ]; then echo "API SERVER secure port is free, proceeding..." else - echo "ERROR starting API SERVER, exiting. Some process on $API_HOST is serving already on $API_SECURE_PORT" + echo "ERROR starting API SERVER, exiting. Some process on ${API_HOST} is serving already on ${API_SECURE_PORT}" exit 1 fi } @@ -335,9 +335,9 @@ function detect_binary { cleanup_dockerized_kubelet() { - if [[ -e $KUBELET_CIDFILE ]]; then - docker kill $(<$KUBELET_CIDFILE) > /dev/null - rm -f $KUBELET_CIDFILE + if [[ -e ${KUBELET_CIDFILE} ]]; then + docker kill $(<${KUBELET_CIDFILE}) > /dev/null + rm -f ${KUBELET_CIDFILE} # Save the docker logs if [[ -f /var/log/docker.log ]]; then @@ -841,7 +841,7 @@ function start_kubelet { --pid=host \ --privileged=true \ -i \ - --cidfile=$KUBELET_CIDFILE \ + --cidfile=${KUBELET_CIDFILE} \ "${KUBELET_IMAGE}" \ /kubelet "${all_kubelet_flags[@]}" >"${KUBELET_LOG}" 2>&1 & # Get PID of kubelet container. @@ -858,7 +858,7 @@ function start_kubelet { done fi # Quick check that kubelet is running. - if [ -n "$KUBELET_PID" ] && ps -p $KUBELET_PID > /dev/null; then + if [ -n "$KUBELET_PID" ] && ps -p ${KUBELET_PID} > /dev/null; then echo "kubelet ( $KUBELET_PID ) is running." else cat ${KUBELET_LOG} ; exit 1 @@ -882,7 +882,7 @@ EOF # foo: true # bar: false for gate in $(echo ${FEATURE_GATES} | tr ',' ' '); do - echo $gate | ${SED} -e 's/\(.*\)=\(.*\)/ \1: \2/' + echo ${gate} | ${SED} -e 's/\(.*\)=\(.*\)/ \1: \2/' done fi >>/tmp/kube-proxy.yaml @@ -953,9 +953,9 @@ function create_storage_class { CLASS_FILE=${KUBE_ROOT}/cluster/addons/storage-class/${CLOUD_PROVIDER}/default.yaml fi - if [ -e $CLASS_FILE ]; then + if [ -e ${CLASS_FILE} ]; then echo "Create default storage class for $CLOUD_PROVIDER" - ${KUBECTL} --kubeconfig="${CERT_DIR}/admin.kubeconfig" create -f $CLASS_FILE + ${KUBECTL} --kubeconfig="${CERT_DIR}/admin.kubeconfig" create -f ${CLASS_FILE} else echo "No storage class available for $CLOUD_PROVIDER." fi diff --git a/hack/make-rules/make-help.sh b/hack/make-rules/make-help.sh index 7228a4bd4c..e6cda09a5b 100755 --- a/hack/make-rules/make-help.sh +++ b/hack/make-rules/make-help.sh @@ -28,15 +28,15 @@ CMD_FLAG=false PLUGIN_CMD_FLAG=false echo "--------------------------------------------------------------------------------" -for tar in $ALL_TARGETS; do - for cmdtar in $CMD_TARGETS; do - if [ $tar = $cmdtar ]; then - if [ $CMD_FLAG = true ]; then +for tar in ${ALL_TARGETS}; do + for cmdtar in ${CMD_TARGETS}; do + if [ ${tar} = ${cmdtar} ]; then + if [ ${CMD_FLAG} = true ]; then continue 2; fi echo -e "${red}${CMD_TARGETS}${reset}" - make -C "${KUBE_ROOT}" $tar PRINT_HELP=y + make -C "${KUBE_ROOT}" ${tar} PRINT_HELP=y echo "---------------------------------------------------------------------------------" CMD_FLAG=true @@ -45,6 +45,6 @@ for tar in $ALL_TARGETS; do done echo -e "${red}${tar}${reset}" - make -C "${KUBE_ROOT}" $tar PRINT_HELP=y + make -C "${KUBE_ROOT}" ${tar} PRINT_HELP=y echo "---------------------------------------------------------------------------------" done diff --git a/hack/make-rules/test-e2e-node.sh b/hack/make-rules/test-e2e-node.sh index c82bfa3059..6af13abafc 100755 --- a/hack/make-rules/test-e2e-node.sh +++ b/hack/make-rules/test-e2e-node.sh @@ -37,20 +37,20 @@ system_spec_name=${SYSTEM_SPEC_NAME:-} # Parse the flags to pass to ginkgo ginkgoflags="" -if [[ $parallelism > 1 ]]; then - ginkgoflags="$ginkgoflags -nodes=$parallelism " +if [[ ${parallelism} > 1 ]]; then + ginkgoflags="${ginkgoflags} -nodes=${parallelism} " fi -if [[ $focus != "" ]]; then - ginkgoflags="$ginkgoflags -focus=\"$focus\" " +if [[ ${focus} != "" ]]; then + ginkgoflags="${ginkgoflags} -focus=\"${focus}\" " fi -if [[ $skip != "" ]]; then - ginkgoflags="$ginkgoflags -skip=\"$skip\" " +if [[ ${skip} != "" ]]; then + ginkgoflags="${ginkgoflags} -skip=\"${skip}\" " fi -if [[ $run_until_failure != "" ]]; then - ginkgoflags="$ginkgoflags -untilItFails=$run_until_failure " +if [[ ${run_until_failure} != "" ]]; then + ginkgoflags="${ginkgoflags} -untilItFails=${run_until_failure} " fi # Setup the directory to copy test artifacts (logs, junit.xml, etc) from remote host to local host @@ -60,34 +60,34 @@ if [ ! -d "${artifacts}" ]; then fi echo "Test artifacts will be written to ${artifacts}" -if [[ $runtime == "remote" ]] ; then - if [[ ! -z $container_runtime_endpoint ]] ; then - test_args="--container-runtime-endpoint=${container_runtime_endpoint} $test_args" +if [[ ${runtime} == "remote" ]] ; then + if [[ ! -z ${container_runtime_endpoint} ]] ; then + test_args="--container-runtime-endpoint=${container_runtime_endpoint} ${test_args}" fi - if [[ ! -z $image_service_endpoint ]] ; then - test_args="--image-service-endpoint=$image_service_endpoint $test_args" + if [[ ! -z ${image_service_endpoint} ]] ; then + test_args="--image-service-endpoint=${image_service_endpoint} ${test_args}" fi fi -if [ $remote = true ] ; then +if [ ${remote} = true ] ; then # The following options are only valid in remote run. images=${IMAGES:-""} hosts=${HOSTS:-""} image_project=${IMAGE_PROJECT:-"kubernetes-node-e2e-images"} metadata=${INSTANCE_METADATA:-""} list_images=${LIST_IMAGES:-false} - if [[ $list_images == "true" ]]; then + if [[ ${list_images} == "true" ]]; then gcloud compute images list --project="${image_project}" | grep "e2e-node" exit 0 fi gubernator=${GUBERNATOR:-"false"} image_config_file=${IMAGE_CONFIG_FILE:-""} - if [[ $hosts == "" && $images == "" && $image_config_file == "" ]]; then + if [[ ${hosts} == "" && ${images} == "" && ${image_config_file} == "" ]]; then image_project=${IMAGE_PROJECT:-"cos-cloud"} - gci_image=$(gcloud compute images list --project $image_project \ + gci_image=$(gcloud compute images list --project ${image_project} \ --no-standard-images --filter="name ~ 'cos-beta.*'" --format="table[no-heading](name)") - images=$gci_image + images=${gci_image} metadata="user-data<${KUBE_ROOT}/test/e2e_node/jenkins/gci-init.yaml,gci-update-strategy=update_disabled" fi instance_prefix=${INSTANCE_PREFIX:-"test"} @@ -97,58 +97,58 @@ if [ $remote = true ] ; then # Get the compute zone zone=${ZONE:-"$(gcloud info --format='value(config.properties.compute.zone)')"} - if [[ $zone == "" ]]; then + if [[ ${zone} == "" ]]; then echo "Could not find gcloud compute/zone when running: \`gcloud info --format='value(config.properties.compute.zone)'\`" exit 1 fi # Get the compute project project=$(gcloud info --format='value(config.project)') - if [[ $project == "" ]]; then + if [[ ${project} == "" ]]; then echo "Could not find gcloud project when running: \`gcloud info --format='value(config.project)'\`" exit 1 fi # Check if any of the images specified already have running instances. If so reuse those instances # by moving the IMAGE to a HOST - if [[ $images != "" ]]; then - IFS=',' read -ra IM <<< "$images" + if [[ ${images} != "" ]]; then + IFS=',' read -ra IM <<< "${images}" images="" for i in "${IM[@]}"; do - if [[ $(gcloud compute instances list "${instance_prefix}-$i" | grep $i) ]]; then - if [[ $hosts != "" ]]; then - hosts="$hosts," + if [[ $(gcloud compute instances list "${instance_prefix}-$i" | grep ${i}) ]]; then + if [[ ${hosts} != "" ]]; then + hosts="${hosts}," fi echo "Reusing host ${instance_prefix}-$i" hosts="${hosts}${instance_prefix}-${i}" else - if [[ $images != "" ]]; then - images="$images," + if [[ ${images} != "" ]]; then + images="${images}," fi - images="$images$i" + images="${images}${i}" fi done fi # Output the configuration we will try to run echo "Running tests remotely using" - echo "Project: $project" - echo "Image Project: $image_project" - echo "Compute/Zone: $zone" - echo "Images: $images" - echo "Hosts: $hosts" - echo "Ginkgo Flags: $ginkgoflags" - echo "Instance Metadata: $metadata" - echo "Image Config File: $image_config_file" + echo "Project: ${project}" + echo "Image Project: ${image_project}" + echo "Compute/Zone: ${zone}" + echo "Images: ${images}" + echo "Hosts: ${hosts}" + echo "Ginkgo Flags: ${ginkgoflags}" + echo "Instance Metadata: ${metadata}" + echo "Image Config File: ${image_config_file}" # Invoke the runner go run test/e2e_node/runner/remote/run_remote.go --logtostderr --vmodule=*=4 --ssh-env="gce" \ - --zone="$zone" --project="$project" --gubernator="$gubernator" \ - --hosts="$hosts" --images="$images" --cleanup="$cleanup" \ - --results-dir="$artifacts" --ginkgo-flags="$ginkgoflags" \ - --image-project="$image_project" --instance-name-prefix="$instance_prefix" \ - --delete-instances="$delete_instances" --test_args="$test_args" --instance-metadata="$metadata" \ - --image-config-file="$image_config_file" --system-spec-name="$system_spec_name" \ - --test-suite="$test_suite" \ + --zone="${zone}" --project="${project}" --gubernator="${gubernator}" \ + --hosts="${hosts}" --images="${images}" --cleanup="${cleanup}" \ + --results-dir="${artifacts}" --ginkgo-flags="${ginkgoflags}" \ + --image-project="${image_project}" --instance-name-prefix="${instance_prefix}" \ + --delete-instances="${delete_instances}" --test_args="${test_args}" --instance-metadata="${metadata}" \ + --image-config-file="${image_config_file}" --system-spec-name="${system_spec_name}" \ + --test-suite="${test_suite}" \ 2>&1 | tee -i "${artifacts}/build-log.txt" exit $? @@ -161,10 +161,10 @@ else # Do not use any network plugin by default. User could override the flags with # test_args. - test_args='--kubelet-flags="--network-plugin= --cni-bin-dir=" '$test_args + test_args='--kubelet-flags="--network-plugin= --cni-bin-dir=" '${test_args} # Runtime flags - test_args='--kubelet-flags="--container-runtime='$runtime'" '$test_args + test_args='--kubelet-flags="--container-runtime='${runtime}'" '${test_args} # Test using the host the script was run on # Provided for backwards compatibility @@ -172,6 +172,6 @@ else --system-spec-name="$system_spec_name" --ginkgo-flags="$ginkgoflags" \ --test-flags="--container-runtime=${runtime} \ --alsologtostderr --v 4 --report-dir=${artifacts} --node-name $(hostname) \ - $test_args" --build-dependencies=true 2>&1 | tee -i "${artifacts}/build-log.txt" + ${test_args}" --build-dependencies=true 2>&1 | tee -i "${artifacts}/build-log.txt" exit $? fi diff --git a/hack/make-rules/test.sh b/hack/make-rules/test.sh index e2a2f03deb..1bd113b318 100755 --- a/hack/make-rules/test.sh +++ b/hack/make-rules/test.sh @@ -143,7 +143,7 @@ isnum() { PARALLEL="${PARALLEL:-1}" while getopts "hp:i:" opt ; do - case $opt in + case ${opt} in h) kube::test::usage exit 0 @@ -316,12 +316,12 @@ runTests() { # vendor/k8s.io/client-go/1.4/rest: causes cover internal errors # https://github.com/golang/go/issues/16540 cover_ignore_dirs="vendor/k8s.io/code-generator/cmd/generator|vendor/k8s.io/client-go/1.4/rest" - for path in $(echo $cover_ignore_dirs | sed 's/|/ /g'); do + for path in $(echo ${cover_ignore_dirs} | sed 's/|/ /g'); do echo -e "skipped\tk8s.io/kubernetes/$path" done printf "%s\n" "${@}" \ - | grep -Ev $cover_ignore_dirs \ + | grep -Ev ${cover_ignore_dirs} \ | xargs -I{} -n 1 -P ${KUBE_COVERPROCS} \ bash -c "set -o pipefail; _pkg=\"\$0\"; _pkg_out=\${_pkg//\//_}; \ go test ${goflags[@]:+${goflags[@]}} \ @@ -349,7 +349,7 @@ runTests() { # Include all coverage reach data in the combined profile, but exclude the # 'mode' lines, as there should be only one. for x in `find "${cover_report_dir}" -name "${cover_profile}"`; do - cat $x | grep -h -v "^mode:" || true + cat ${x} | grep -h -v "^mode:" || true done } >"${COMBINED_COVER_PROFILE}" @@ -374,8 +374,8 @@ checkFDs() { # several unittests panic when httptest cannot open more sockets # due to the low default files limit on OS X. Warn about low limit. local fileslimit="$(ulimit -n)" - if [[ $fileslimit -lt 1000 ]]; then - echo "WARNING: ulimit -n (files) should be at least 1000, is $fileslimit, may cause test failure"; + if [[ ${fileslimit} -lt 1000 ]]; then + echo "WARNING: ulimit -n (files) should be at least 1000, is ${fileslimit}, may cause test failure"; fi } @@ -387,7 +387,7 @@ IFS=';' read -a apiVersions <<< "${KUBE_TEST_API_VERSIONS}" apiVersionsCount=${#apiVersions[@]} for (( i=0; i<${apiVersionsCount}; i++ )); do apiVersion=${apiVersions[i]} - echo "Running tests for APIVersion: $apiVersion" + echo "Running tests for APIVersion: ${apiVersion}" # KUBE_TEST_API sets the version of each group to be tested. KUBE_TEST_API="${apiVersion}" runTests "$@" done diff --git a/hack/update-gofmt.sh b/hack/update-gofmt.sh index d5d4009738..33de85bbf0 100755 --- a/hack/update-gofmt.sh +++ b/hack/update-gofmt.sh @@ -44,4 +44,4 @@ find_files() { } GOFMT="gofmt -s -w" -find_files | xargs $GOFMT +find_files | xargs ${GOFMT}