Update nodemgmt-scripts.sh

This commit is contained in:
2023-12-12 09:02:17 -06:00
parent 6d11c1d19c
commit 9cd897f175

View File

@@ -734,6 +734,95 @@ DOWNLIST(){
echo
}
MAINTENANCE_MODE(){
if [ "${NM_NODETYPES[${1^^}]}" != "" ]; then
ntss=${1^^}
ntypesel=(${ntss})
NMG_ACTION=${2}
else
ntss=""
ntypesel=(${NM_NODE_TYPES[@]})
[ "${1}" == "sync" ] && NMG_ACTION=repl || NMG_ACTION=${1}
fi
PRI_CW=40
declare -i cw; declare -i spc1; declare -i c
for NODETYPE in "${ntypesel[@]}"; do
dockers=${NODETYPE}_DOCKERS_CHECK[@]
hosts=${NODETYPE}_HOSTS[@]
NTHOSTS=${NODETYPE}_HOSTS[@]
if ([[ ! -v ${NODETYPE}_DOCKERS_CHECK ]] && [ "${NMG_ACTION}" == "dockers" ]) || ([ "${NM_SERVICES_CHECK[${NODETYPE}]}" == "" ] && [ "${NMG_ACTION}" == "services" ]); then
GOFORCHECK=false;
else
GOFORCHECK=true;
fi
if [ ${GOFORCHECK} = true ]; then
if [ "${NMG_ACTION}" != "check" ]; then
echo -e "${idsST[Bold]}"; DIVIDER
if [ "${NMG_ACTION}" == "dockers" ]; then
echo -e "${idsCL[LightYellow]} ${NM_NODETYPES[$NTYPE]}-Node Docker Status${idsCL[Default]}"
else
echo -e "${idsCL[LightYellow]} ${NM_NODETYPES[$NTYPE]}-Node Service Status${idsCL[Default]}"
fi
DIVIDER . lightYellow; echo -en "${idsST[Reset]}"
fi
for nip in "${!NTHOSTS}"; do
echo -e " ${idsST[Bold]}${idsCL[LightCyan]}${NM_HOSTNAMES[${nip}]} [${nip}]${idsST[Reset]}${idsCL[Default]}"
DIVIDER false lightCyan
########################
## SERVICES CHECK
########################
if [ "${NMG_ACTION}" != "dockers" ] && [ "${NM_SERVICES_CHECK[${NODETYPE}]}" != "" ]; then
echo -e "${idsCL[Green]} System Service(s) Status${idsCL[Default]}"
DIVIDER . green 52
srvcs=${NODETYPE}_SERVICES_CHECK[@];
srvcstotest="$(join_by " " ${!srvcs})"
for srvc in "${!srvcs}"; do
c=0; cw=${PRI_CW}; spc=''
spc1=${cw}-${#NM_SERVICE_DESC[${srvc}]}
until [ $c = ${spc1} ]; do spc="${spc} "; c=`expr $c + 1`; done
echo -en "${idsCL[White]} ${NM_SERVICE_DESC[${srvc}]}${spc}${idsCL[Default]}: "
echo -e "${idsCL[LightGreen]}Running${idsCL[Default]}"
done
fi
########################
## DOCKER CHECK
########################
if [[ -v ${NODETYPE}_DOCKERS_CHECK ]] && [ "${NMG_ACTION}" != "services" ]; then
if [ "${NMG_ACTION}" != "check" ]; then
[ "${NMG_ACTION}" == "" ] && [ "${NM_SERVICES_CHECK[${NODETYPE}]}" != "" ] && echo
echo -e "${idsCL[Green]} Docker Service(s) Status${idsCL[Default]}"
DIVIDER . green 52
fi
for docker in "${!dockers}"; do
c=0; cw=${PRI_CW}; spc=''
spc1=`expr ${cw} - ${#NM_DOCKER_DESC[${docker}]}`
until [ $c = ${spc1} ]; do spc="${spc} "; c=`expr $c + 1`; done
echo -en "${idsCL[White]} ${NM_DOCKER_DESC[${docker}]}$spc${idsCL[Default]}: "
echo -en "${idsCL[LightGreen]}Running${idsCL[Default]}"
done
fi
echo
done
fi
done
}
SETUPSSH(){
echo -e "\n${idsST[Bold]}${idsCL[LightCyan]}Beginning SSH verifiication, you may get prompted for crednetials along the way\n"
for NTYPE in "${NM_NODE_TYPES[@]}"; do
@@ -878,6 +967,7 @@ GUI(){
else
DOWNLIST ${2}
fi;;
mm) MAINTENANCE_MODE ${2} ${3};;
status)
if [ "${2}" == "freespace" ]; then
STATUS freespace ${3}