From ae271b4db0213fb827815e3a14eac8d79d72cccc Mon Sep 17 00:00:00 2001 From: Jeff Peeler Date: Fri, 22 Jun 2018 10:24:42 -0400 Subject: [PATCH] Add warning function that includes timestamp Knowing when a process has terminated is helpful when looking through log files (especially very large ones). This also refactors the terminal coloring function to be used with custom prefix and colors. warning_log outputs red text in the current e2e inspired format: W0628 16:58:26]: this is a test --- hack/local-up-cluster.sh | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/hack/local-up-cluster.sh b/hack/local-up-cluster.sh index 25ba4a09d7..7f4954bbe2 100755 --- a/hack/local-up-cluster.sh +++ b/hack/local-up-cluster.sh @@ -399,12 +399,12 @@ cleanup() # a process dies unexpectedly. function healthcheck { if [[ -n "${APISERVER_PID-}" ]] && ! sudo kill -0 ${APISERVER_PID} 2>/dev/null; then - warning "API server terminated unexpectedly, see ${APISERVER_LOG}" + warning_log "API server terminated unexpectedly, see ${APISERVER_LOG}" APISERVER_PID= fi if [[ -n "${CTLRMGR_PID-}" ]] && ! sudo kill -0 ${CTLRMGR_PID} 2>/dev/null; then - warning "kube-controller-manager terminated unexpectedly, see ${CTLRMGR_LOG}" + warning_log "kube-controller-manager terminated unexpectedly, see ${CTLRMGR_LOG}" CTLRMGR_PID= fi @@ -412,32 +412,37 @@ function healthcheck { # TODO (https://github.com/kubernetes/kubernetes/issues/62474): check health also in this case : elif [[ -n "${KUBELET_PID-}" ]] && ! sudo kill -0 ${KUBELET_PID} 2>/dev/null; then - warning "kubelet terminated unexpectedly, see ${KUBELET_LOG}" + warning_log "kubelet terminated unexpectedly, see ${KUBELET_LOG}" KUBELET_PID= fi if [[ -n "${PROXY_PID-}" ]] && ! sudo kill -0 ${PROXY_PID} 2>/dev/null; then - warning "kube-proxy terminated unexpectedly, see ${PROXY_LOG}" + warning_log "kube-proxy terminated unexpectedly, see ${PROXY_LOG}" PROXY_PID= fi if [[ -n "${SCHEDULER_PID-}" ]] && ! sudo kill -0 ${SCHEDULER_PID} 2>/dev/null; then - warning "scheduler terminated unexpectedly, see ${SCHEDULER_LOG}" + warning_log "scheduler terminated unexpectedly, see ${SCHEDULER_LOG}" SCHEDULER_PID= fi if [[ -n "${ETCD_PID-}" ]] && ! sudo kill -0 ${ETCD_PID} 2>/dev/null; then - warning "etcd terminated unexpectedly" + warning_log "etcd terminated unexpectedly" ETCD_PID= fi } -function warning { +function print_color { message=$1 + prefix=${2:+$2: } # add colon only if defined + color=${3:-1} # default is red + echo -n $(tput bold)$(tput setaf ${color}) + echo "${prefix}${message}" + echo -n $(tput sgr0) +} - echo $(tput bold)$(tput setaf 1) - echo "WARNING: ${message}" - echo $(tput sgr0) +function warning_log { + print_color "$1" "W$(date "+%m%d %H:%M:%S")]" 1 } function start_etcd { @@ -1071,14 +1076,14 @@ if [[ "${START_MODE}" != "nokubelet" ]]; then # Detect the OS name/arch and display appropriate error. case "$(uname -s)" in Darwin) - warning "kubelet is not currently supported in darwin, kubelet aborted." + print_color "kubelet is not currently supported in darwin, kubelet aborted." KUBELET_LOG="" ;; Linux) start_kubelet ;; *) - warning "Unsupported host OS. Must be Linux or Mac OS X, kubelet aborted." + print_color "Unsupported host OS. Must be Linux or Mac OS X, kubelet aborted." ;; esac fi