Files
pvc-ansible/roles/base/templates/usr/local/sbin/update-motd.sh.j2
Joshua M. Boniface 78342cf4a4 Obtain more information for MOTD header
Add model and serial numbers to the vendor, and put this on its own
line. Also use BASH for proper syntax formatting. Reformat the header to
be a more compact format.
2022-11-02 18:25:17 -04:00

33 lines
1.3 KiB
Django/Jinja
Executable File

#!/usr/bin/env bash
# Update dynamic MOTD file
# {{ ansible_managed }}
set -o errexit
TMPFILE=$(mktemp)
TGTFILE=/run/pvc-motd.dynamic
DEBVER="$( grep 'PRETTY_NAME=' /etc/os-release | awk -F'"' '{ print $2 }' )"
echo >> $TMPFILE
echo -e "\033[01;34mParallel Virtual Cluster \033[01;36m(${DEBVER})\033[0m" >> $TMPFILE
echo -e "> \033[01;32m$(hostname)\033[0m - \033[1;37mPVC {% if is_coordinator %}coordinator{% else %}hypervisor{% endif %} node\033[0m" >> $TMPFILE
# Get machine information
HARDWARE_DETAIL="$( /usr/sbin/dmidecode | grep -A7 'System Information' )"
HARDWARE_VENDOR="$( grep 'Manufacturer:' <<<"${HARDWARE_DETAIL}" | sed 's/Manufacturer: //; s/\s*$//g; s/^\s*//g' )"
if [[ -z ${HARDWARE_VENDOR} ]]; then
HARDWARE_VENDOR="Unknown"
fi
HARDWARE_MODEL="$( grep 'Product Name:' <<<"${HARDWARE_DETAIL}" | sed 's/Product Name: //; s/\s*$//g; s/^\s*//g' )"
if [[ -z ${HARDWARE_MODEL} ]]; then
HARDWARE_MODEL="Unknown"
fi
HARDWARE_SERIAL="$( grep 'Serial Number:' <<<"${HARDWARE_DETAIL}" | sed 's/Serial Number: //; s/\s*$//g; s/^\s*//g' )"
if [[ -z ${HARDWARE_SERIAL} ]]; then
HARDWARE_SERIAL="Unknown"
fi
echo -e "> Hardware Vendor: \033[1;31m${HARDWARE_VENDOR}\033[0m Model: \033[1;31m${HARDWARE_MODEL}\033[0m Serial: \033[1;31m${HARDWARE_SERIAL}\033[0m" >> $TMPFILE
echo -e "> $(/bin/uname -srvmo)" >> $TMPFILE
mv $TMPFILE $TGTFILE || rm $TMPFILE