scripts: fix kvm host undefined version (#7179)

On Oracle Linux 9.0, version shows as undefined and even Host.OS shows as "Red".
This change fixes the script to use '/etc/os-release' ins such cases.

Signed-off-by: Abhishek Kumar <abhishek.kumar@shapeblue.com>
This commit is contained in:
Abhishek Kumar 2023-02-13 06:52:33 +05:30 committed by GitHub
parent 3b67be2d52
commit e61ab3d6e9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -29,18 +29,33 @@ DIST="Unknown Linux"
REV="X.Y" REV="X.Y"
CODENAME="" CODENAME=""
if [ -f /etc/redhat-release ] ; then function get_from_redhat_release {
DIST=`cat /etc/redhat-release | awk '{print $1}'` DIST=`cat /etc/redhat-release | awk '{print $1}'`
CODENAME=`cat /etc/redhat-release | sed s/.*\(// | sed s/\)//` CODENAME=`cat /etc/redhat-release | sed s/.*\(// | sed s/\)//`
REV=`cat /etc/redhat-release | awk '{print $3,$4}' | grep -o "[0-9.]*"` REV=`cat /etc/redhat-release | awk '{print $3,$4}' | grep -o "[0-9.]*"`
elif [ -f /etc/lsb-release ] ; then }
function get_from_lsb_release {
DIST=`cat /etc/lsb-release | grep DISTRIB_ID | tr "\n" ' '| sed s/.*=//` DIST=`cat /etc/lsb-release | grep DISTRIB_ID | tr "\n" ' '| sed s/.*=//`
REV=`cat /etc/lsb-release | grep DISTRIB_RELEASE | tr "\n" ' '| sed s/.*=//` REV=`cat /etc/lsb-release | grep DISTRIB_RELEASE | tr "\n" ' '| sed s/.*=//`
CODENAME=`cat /etc/lsb-release | grep DISTRIB_CODENAME | tr "\n" ' '| sed s/.*=//` CODENAME=`cat /etc/lsb-release | grep DISTRIB_CODENAME | tr "\n" ' '| sed s/.*=//`
elif [ -f /etc/os-release ] ; then }
function get_from_os_release {
DIST=`grep -e "^NAME=" /etc/os-release | awk -F\" '{print $2}'` DIST=`grep -e "^NAME=" /etc/os-release | awk -F\" '{print $2}'`
REV=`grep -e "^VERSION_ID=" /etc/os-release | awk -F\" '{print $2}'` REV=`grep -e "^VERSION_ID=" /etc/os-release | awk -F\" '{print $2}'`
CODENAME=`grep -e "^PRETTY_NAME=" /etc/os-release | awk -F\" '{print $2}'` CODENAME=`grep -e "^PRETTY_NAME=" /etc/os-release | awk -F\" '{print $2}'`
}
if [ -f /etc/redhat-release ] ; then
get_from_redhat_release
if [ -z "$REV" ] && [ -f /etc/os-release ]; then
get_from_os_release
fi
elif [ -f /etc/lsb-release ] ; then
get_from_lsb_release
elif [ -f /etc/os-release ] ; then
get_from_os_release
fi fi
echo Host.OS=${DIST} echo Host.OS=${DIST}