Commit ea7547cd authored by Davanum Srinivas's avatar Davanum Srinivas

Check etcd port instead of process name

currently the pgrep check does not allow any etcd process to exist other than the one we intend to start in our scripts. All we need to know is if the port is free. So let us use netstat to check if anyone is using that port. We don't really need to know if there is another instance of etcd is running or not.
parent aee2cff1
......@@ -27,10 +27,10 @@ kube::etcd::validate() {
exit 1
}
# validate it is not running
if pgrep -x etcd >/dev/null 2>&1; then
kube::log::usage "etcd appears to already be running on this machine (`pgrep -xl etcd`) (or its a zombie and you need to kill its parent)."
kube::log::usage "retry after you resolve this etcd error."
# validate etcd port is free
if netstat -nat | grep "[\.:]${ETCD_PORT:?} .*LISTEN" >/dev/null 2>&1; then
kube::log::usage "unable to start etcd as port ${ETCD_PORT} is in use. please stop the process listening on this port and retry."
kube::log::usage "`netstat -nat | grep "[\.:]${ETCD_PORT:?} .*LISTEN"`"
exit 1
fi
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment