From 99561e21b77474d874edec8928f8b2f7482641c4 Mon Sep 17 00:00:00 2001 From: Abhishek Kumar Date: Wed, 8 Feb 2023 16:53:39 +0530 Subject: [PATCH] scripts: fix kvm host undefined version 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 --- scripts/vm/hypervisor/versions.sh | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/scripts/vm/hypervisor/versions.sh b/scripts/vm/hypervisor/versions.sh index c2f8e343a5cf..ea27dc18e017 100755 --- a/scripts/vm/hypervisor/versions.sh +++ b/scripts/vm/hypervisor/versions.sh @@ -29,18 +29,33 @@ DIST="Unknown Linux" REV="X.Y" CODENAME="" -if [ -f /etc/redhat-release ] ; then +function get_from_redhat_release { DIST=`cat /etc/redhat-release | awk '{print $1}'` CODENAME=`cat /etc/redhat-release | sed s/.*\(// | sed s/\)//` 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/.*=//` REV=`cat /etc/lsb-release | grep DISTRIB_RELEASE | 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}'` REV=`grep -e "^VERSION_ID=" /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 echo Host.OS=${DIST}