From 8e1d005d43910713e15e6dc2b52bac0f3f033b75 Mon Sep 17 00:00:00 2001 From: "Joshua M. Boniface" Date: Fri, 1 Sep 2023 15:42:29 -0400 Subject: [PATCH] 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. --- .../usr/local/sbin/update-motd.sh.j2 | 30 +++++++++++-------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/roles/base/templates/usr/local/sbin/update-motd.sh.j2 b/roles/base/templates/usr/local/sbin/update-motd.sh.j2 index f5d7bab..dcbf746 100755 --- a/roles/base/templates/usr/local/sbin/update-motd.sh.j2 +++ b/roles/base/templates/usr/local/sbin/update-motd.sh.j2 @@ -1,4 +1,4 @@ -#!/bin/sh +#!/usr/bin/env bash # Update dynamic MOTD file # {{ ansible_managed }} @@ -10,19 +10,23 @@ TGTFILE=/run/pvc-motd.dynamic DEBVER="$( grep 'PRETTY_NAME=' /etc/os-release | awk -F'"' '{ print $2 }' )" echo >> $TMPFILE -echo "\033[01;34mParallel Virtual Cluster \033[01;36m(${DEBVER})\033[0m" >> $TMPFILE -echo -n "> \033[01;32m$(hostname)\033[0m" >> $TMPFILE -if test -f /etc/hostdesc; then - echo " - $( cat /etc/hostdesc )" >> $TMPFILE -else - echo >> $TMPFILE -fi +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 -MANUFACTURER="$( /usr/sbin/dmidecode | grep -A1 'Chassis Information' | tail -1 | awk -F':' '{print $2}' | tr -s ' ' | xargs echo -n )" -if [ -z "${MANUFACTURER}" ]; then - MANUFACTURER='Unknown' +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 -echo "> \033[1;37mPVC {% if is_coordinator %}coordinator{% else %}hypervisor{% endif %} node\033[0m on \033[1;31m${MANUFACTURER}\033[0m hardware" >> $TMPFILE -echo "> $(/bin/uname -srvmo)" >> $TMPFILE +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