From a2b728a706c8281dd34e41792d4067ab8e33de48 Mon Sep 17 00:00:00 2001 From: Slava Semushin Date: Mon, 15 Jan 2018 20:38:23 +0100 Subject: [PATCH] hack/update-swagger-spec.sh(cleanup): fix signal handler to really cleanup etcd and minor improvements. Prior this change, etcd wasn't cleaned up on my machine that lead to orphaned etcd process after the update-swagger-spec.sh failed. This change also adds additional improvements: - don't kill/wait/rm when argument is empty. - use kube::util::trap_add. --- hack/lib/etcd.sh | 10 +++++++--- hack/update-swagger-spec.sh | 7 +++++-- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/hack/lib/etcd.sh b/hack/lib/etcd.sh index 704c57ce7861c..9e693b5616c79 100755 --- a/hack/lib/etcd.sh +++ b/hack/lib/etcd.sh @@ -74,12 +74,16 @@ kube::etcd::start() { } kube::etcd::stop() { - kill "${ETCD_PID-}" >/dev/null 2>&1 || : - wait "${ETCD_PID-}" >/dev/null 2>&1 || : + if [[ -n "${ETCD_PID-}" ]]; then + kill "${ETCD_PID}" &>/dev/null || : + wait "${ETCD_PID}" &>/dev/null || : + fi } kube::etcd::clean_etcd_dir() { - rm -rf "${ETCD_DIR-}" + if [[ -n "${ETCD_DIR-}" ]]; then + rm -rf "${ETCD_DIR}" + fi } kube::etcd::cleanup() { diff --git a/hack/update-swagger-spec.sh b/hack/update-swagger-spec.sh index ed45f2c15549e..1e08c76ecbcee 100755 --- a/hack/update-swagger-spec.sh +++ b/hack/update-swagger-spec.sh @@ -37,14 +37,17 @@ make -C "${KUBE_ROOT}" WHAT=cmd/kube-apiserver function cleanup() { - [[ -n ${APISERVER_PID-} ]] && kill ${APISERVER_PID} 1>&2 2>/dev/null + if [[ -n "${APISERVER_PID-}" ]]; then + kill "${APISERVER_PID}" &>/dev/null || : + wait "${APISERVER_PID}" &>/dev/null || : + fi kube::etcd::cleanup kube::log::status "Clean up complete" } -trap cleanup EXIT SIGINT +kube::util::trap_add cleanup EXIT kube::golang::setup_env