Update nodemgmt-scripts.sh
This commit is contained in:
@@ -301,6 +301,7 @@ KEEPALIVE-CONFIG() {
|
|||||||
NODEUPDATES() {
|
NODEUPDATES() {
|
||||||
start=`date +%s`
|
start=`date +%s`
|
||||||
cw=40;
|
cw=40;
|
||||||
|
rm -f /tmp/.nodeupdate.*
|
||||||
if [ "${1}" = "report" ]; then
|
if [ "${1}" = "report" ]; then
|
||||||
unset idsCL idsBG idsST
|
unset idsCL idsBG idsST
|
||||||
idsCL=('')
|
idsCL=('')
|
||||||
@@ -325,16 +326,33 @@ NODEUPDATES() {
|
|||||||
|
|
||||||
echo
|
echo
|
||||||
|
|
||||||
|
ncount=0
|
||||||
for NTYPE in "${NM_NODE_TYPES[@]}"; do
|
for NTYPE in "${NM_NODE_TYPES[@]}"; do
|
||||||
var=${NTYPE}_HOSTS[@]
|
var=${NTYPE}_HOSTS[@]
|
||||||
for nip in "${!var}"; do
|
for nip in "${!var}"; do
|
||||||
if [[ ${RUN_NODE_IP} == *"${nip}"* ]]; then
|
if [[ ${RUN_NODE_IP} == *"${nip}"* ]]; then
|
||||||
nip='localhost '
|
nip='localhost '
|
||||||
fi
|
fi
|
||||||
NODEUPDATE "${nip}" "${2}" "${NMCMD}"
|
NODEUPDATE "${nip}" "${2}" "${NMCMD}" &
|
||||||
|
((ncount++))
|
||||||
done
|
done
|
||||||
echo
|
done
|
||||||
|
|
||||||
|
nc_count=0; completed=false
|
||||||
|
until [ "${completed}" == "true" ]; do
|
||||||
|
for nodecmd in /tmp/.nodeupdate.*.done; do
|
||||||
|
if [[ "${nodecmd}" != *"*"* ]]; then
|
||||||
|
nodecmd_output=$(cat ${nodecmd})
|
||||||
|
[ "${nodecmd_output}" != "" ] && echo -e "${nodecmd_output}\n"
|
||||||
|
rm -f ${nodecmd}
|
||||||
|
((nc_count++))
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if [ ${nc_count} -eq ${ncount} ]; then
|
||||||
|
completed=true
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
sleep 2s
|
||||||
done
|
done
|
||||||
|
|
||||||
echo -e "${idsCL[Green]}All Nodes have been Updated.${idsCL[Default]}"
|
echo -e "${idsCL[Green]}All Nodes have been Updated.${idsCL[Default]}"
|
||||||
@@ -356,44 +374,47 @@ NODEUPDATE(){
|
|||||||
fi
|
fi
|
||||||
NCMD="ssh -tq -o ConnectTimeout=1 -o ConnectionAttempts=1 root@${nip}"
|
NCMD="ssh -tq -o ConnectTimeout=1 -o ConnectionAttempts=1 root@${nip}"
|
||||||
NODE="${NM_HOSTNAMES[${nip}]} [${nip}]"
|
NODE="${NM_HOSTNAMES[${nip}]} [${nip}]"
|
||||||
|
tmpfile=/tmp/.nodeupdate.${NM_HOSTNAMES[${nip}]// /-}
|
||||||
|
touch ${tmpfile}.running
|
||||||
|
|
||||||
if [ ${noup} -eq 0 ]; then
|
if [ ${noup} -eq 0 ]; then
|
||||||
c=0; spca=''; spc1=`expr ${cw} - ${#NODE}`; until [ $c = ${spc1} ]; do spca="${spca} "; c=`expr $c + 1`; done
|
c=0; spca=''; spc1=`expr ${cw} - ${#NODE}`; until [ $c = ${spc1} ]; do spca="${spca} "; c=`expr $c + 1`; done
|
||||||
echo -en "Updating ${NODE}${spca}"
|
echo -en "Updating ${NODE}${spca}" >> ${tmpfile}.running
|
||||||
fi
|
fi
|
||||||
betacheck=$(BETACHECK)
|
betacheck=$(BETACHECK)
|
||||||
|
|
||||||
if [ "${nip}" != "100.100.2.1" ] && [ "${nip}" != "10.2.1.1" ] && [ ! -f ${NM_TMPFOLDER}/${nip}.down ]; then
|
if [ "${nip}" != "100.100.2.1" ] && [ "${nip}" != "10.2.1.1" ] && [ ! -f ${NM_TMPFOLDER}/${nip}.down ]; then
|
||||||
if [ "${betacheck}" == "false" ]; then
|
if [ "${betacheck}" == "false" ]; then
|
||||||
if [ "${2}" != "sync" ]; then
|
if [ "${2}" != "sync" ]; then
|
||||||
[ ${noup} -eq 0 ] && echo -en " ~ ${idsCL[LightCyan]}NodeMGMT${idsCL[Default]} : "
|
[ ${noup} -eq 0 ] && echo -en " ~ ${idsCL[LightCyan]}NodeMGMT${idsCL[Default]} : " >> ${tmpfile}.running
|
||||||
if [ "$(ssh -o BatchMode=yes -o ConnectTimeout=3 root@${nip} echo ok 2>&1)" != "ok" ]; then
|
if [ "$(ssh -o BatchMode=yes -o ConnectTimeout=3 root@${nip} echo ok 2>&1)" != "ok" ]; then
|
||||||
echo -e "${idsCL[Yellow]}New server, needs SSH credentials${idsCL[Default]}"
|
echo -e "${idsCL[Yellow]}[${nip}] New server, needs SSH credentials${idsCL[Default]}"
|
||||||
ssh-copy-id root@${nip}
|
ssh-copy-id root@${nip}
|
||||||
fi
|
fi
|
||||||
if ! ${NCMD} command -v nodemgmt > /dev/null; then
|
if ! ${NCMD} command -v nodemgmt > /dev/null; then
|
||||||
${NCMD} "bash <(curl -sL https://go.scity.us/install-nodemgmt)" >/dev/null 2>&1
|
${NCMD} "bash <(curl -sL https://go.scity.us/install-nodemgmt)" >/dev/null 2>&1
|
||||||
${NMCMD} rsync -az ${NM_FOLDER}/conf/*.inc ${NM_FOLDER}/conf/*.conf root@${nip}:${NM_FOLDER}/conf/ & >/dev/null 2>&1
|
${NMCMD} rsync -az ${NM_FOLDER}/conf/*.inc ${NM_FOLDER}/conf/*.conf root@${nip}:${NM_FOLDER}/conf/ & >/dev/null 2>&1
|
||||||
[ "${NM_GITPASS}" != "" ] && [ "${NM_GITUSER}" == "voltron" ] && ${NMCMD} "bash <(curl -sL https://go.scity.us/add-linux-pass)" >/dev/null 2>&1
|
[ "${NM_GITPASS}" != "" ] && [ "${NM_GITUSER}" == "voltron" ] && ${NMCMD} "bash <(curl -sL https://go.scity.us/add-linux-pass)" >/dev/null 2>&1
|
||||||
echo -e "${idsCL[Green]}Installed & Synced${idsCL[Default]}"
|
echo -e "${idsCL[Green]}Installed & Synced${idsCL[Default]}" >> ${tmpfile}.running
|
||||||
elif [ ${noup} -eq 1 ]; then
|
elif [ ${noup} -eq 1 ]; then
|
||||||
echo -e "${idsCL[Green]}Already Installed${idsCL[Default]}"
|
echo -e "${idsCL[Green]}Already Installed${idsCL[Default]}" >> ${tmpfile}.running
|
||||||
else
|
else
|
||||||
${NCMD} "nodemgmt update q"
|
${NCMD} "nodemgmt update q" >> ${tmpfile}.running
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo -en " ~ ${idsCL[LightCyan]}Sync Shared Nodemgmt Defaults${idsCL[Default]} : "
|
echo -en " ~ ${idsCL[LightCyan]}Sync Shared Nodemgmt Defaults${idsCL[Default]} : " >> ${tmpfile}.running
|
||||||
${NMCMD} rsync -az ${NM_FOLDER}/conf/*.inc ${NM_FOLDER}/conf/*.conf root@${nip}:${NM_FOLDER}/conf/ & >/dev/null 2>&1
|
${NMCMD} rsync -az ${NM_FOLDER}/conf/*.inc ${NM_FOLDER}/conf/*.conf root@${nip}:${NM_FOLDER}/conf/ & >/dev/null 2>&1
|
||||||
echo -e "${idsCL[Green]}Files Synced${idsCL[Default]}"
|
echo -e "${idsCL[Green]}Files Synced${idsCL[Default]}" >> ${tmpfile}.running
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo -e " ~ ${idsCL[LightCyan]}NodeMGMT${idsCL[Default]} : Skipping BETA Update"
|
echo -e " ~ ${idsCL[LightCyan]}NodeMGMT${idsCL[Default]} : Skipping BETA Update" >> ${tmpfile}.running
|
||||||
fi
|
fi
|
||||||
elif [ -f ${NM_TMPFOLDER}/${nip}.down ]; then
|
elif [ -f ${NM_TMPFOLDER}/${nip}.down ]; then
|
||||||
echo -e " ~ ${idsCL[LightCyan]}Skipping, host is offline${idsCL[Default]}"
|
echo -e " ~ ${idsCL[LightCyan]}Skipping, host is offline${idsCL[Default]}" >> ${tmpfile}.running
|
||||||
else
|
else
|
||||||
echo -e " ~ ${idsCL[LightCyan]}Skipping${idsCL[Default]}"
|
echo -e " ~ ${idsCL[LightCyan]}Skipping${idsCL[Default]}" >> ${tmpfile}.running
|
||||||
fi
|
fi
|
||||||
|
mv ${tmpfile}.running ${tmpfile}.done
|
||||||
}
|
}
|
||||||
|
|
||||||
ADD_LOGROTATE_CRONTAB(){
|
ADD_LOGROTATE_CRONTAB(){
|
||||||
|
|||||||
Reference in New Issue
Block a user