xcat-core icon indicating copy to clipboard operation
xcat-core copied to clipboard

configib not operational for sles15.3

Open wrussian opened this issue 3 years ago • 2 comments

As the file /etc/SuSE-release has been disposed in main release 15 the code section performing the IP configuration for IB HCAs for sles in postscript configib won't be reached. The following patch is a workaround I used in my environment (installation target sles15.3, utilizing xcat 2.16.4) to solve this issue:

diff configib ORIG-configib

168,169c168 < # elif [ -f /etc/SuSE-release ] < elif [ -f /etc/os-release ]

elif [ -f /etc/SuSE-release 

Could you please apply the patch for the next release? Many thanks in advance.

wrussian avatar Aug 08 '22 12:08 wrussian

the metaformat messed up the diff output above. I hope it works now:

diff configib ORIG-configib

168,169c168 < # elif [ -f /etc/SuSE-release ] < elif [ -f /etc/os-release ]

elif [ -f /etc/SuSE-release ]

` Sorry, for that I didn't get the format right. At least the trailing ] in the last line is preserved now.

wrussian avatar Aug 08 '22 12:08 wrussian

File /etc/SuSE-release is present on SLES12, but no longer there on SLES15. Both SLES12 and SLES15 contain file /etc/SUSE-brand:

c910f04x35v05:~ # cat /etc/SUSE-brand
SLE
VERSION = 15
c910f04x35v05:~ #

c910f03c09k12:~ # cat /etc/SUSE-brand
SLE
VERSION = 12
c910f03c09k12:~ #

There are many references in xCAT to /etc/SuSE-release

[gurevich@c910loginx02 xcat-core]$ git grep "SuSE-release"
perl-xCAT/xCAT/Utils.pm:    elsif (-f "/etc/SuSE-release")
perl-xCAT/xCAT/Utils.pm:        open($relfile, "<", "/etc/SuSE-release");
perl-xCAT/xCAT/zvmUtils.pm:my $locEtcSuseRelease      = '/etc/SuSE-release';
xCAT-IBMhpc/share/xcat/IBMhpc/gpfs/gpfs_updates:        if [[ $OS = sles* ]] || [[ $OS = suse* ]] || [[ -f /etc/Su
xCAT-IBMhpc/share/xcat/IBMhpc/pe/pe_install:        if [[ $OS = sles* ]] || [[ $OS = suse* ]] || [[ -f /etc/SuSE-r
xCAT-IBMhpc/share/xcat/IBMhpc/rsct/rsct_install:        if [[ $OS = sles* ]] || [[ $OS = suse* ]] || [[ -f /etc/Su
xCAT-OpenStack-baremetal/share/xcat/openstack/postscripts/config_ops_bm_node:           elif [ -f "/etc/SuSE-relea
xCAT-OpenStack-baremetal/share/xcat/openstack/postscripts/deconfig_ops_bm_node:         elif [ -f "/etc/SuSE-relea
xCAT-OpenStack/postscripts/configgw:elif [ -f "/etc/SuSE-release" ];then
xCAT-SoftLayer/bin/modifygrub:sub isSuse { return (-e '/etc/SuSE-release'); }
xCAT-SoftLayer/si-post-install/15all.configefi:    if grep -qe '^VERSION\s*=\s*11' /etc/SuSE-release; then
xCAT-SoftLayer/si-post-install/99all.killsyslog:if [ -f "/etc/SuSE-release" ];then
xCAT-buildkit/lib/perl/xCAT/BuildKitUtils.pm:    elsif (-f "/etc/SuSE-release")
xCAT-buildkit/lib/perl/xCAT/BuildKitUtils.pm:        open($relfile, "<", "/etc/SuSE-release");
xCAT-client/xCAT-client.spec:if [ -r /etc/SuSE-release ]; then
xCAT-client/xCAT-client.spec:  ver=`grep 'VERSION' /etc/SuSE-release | awk -F= '{print $2}' | sed 's/ //g'`
xCAT-confluent/confluent/lib/python/confluent/plugins/console/xcathmc.sh:if [ -r /etc/SuSE-release ]; then
xCAT-confluent/confluent/lib/python/confluent/plugins/console/xcathmc.sh:  ver=`grep 'VERSION' /etc/SuSE-release |
xCAT-probe/subcmds/detect_dhcpd:} elsif (-f "/etc/SuSE-release") {
xCAT-rmc/scripts/monerrorlog:    if (((-e "/etc/SuSE-release") || isHMC()) && $service eq "nfs") {
xCAT-rmc/scripts/monerrorlog:    if (-f "/etc/SuSE-release") {
xCAT-server/lib/xcat/plugins/updatenode.pm:`ssh -o ConnectTimeout=5 $node "test -f /etc/SuSE-release && echo 'SuSE
xCAT-server/lib/xcat/plugins/updatenode.pm:              `ssh $node "tr -d '.' < /etc/SuSE-release" | head -n 1`);
xCAT-server/sbin/makenamed.conf:if [ -f /etc/SuSE-release ] || [ $IS_SLES -eq 0 ]; then
xCAT-server/share/xcat/ib/scripts/Mellanox/mlnxofed_ib_install:        if [ -f /etc/SuSE-release ]; then
xCAT-server/share/xcat/ib/scripts/configiba.1port:    elif [ -f /etc/SuSE-release ]
xCAT-server/share/xcat/ib/scripts/configiba.2ports:    elif [ -f /etc/SuSE-release ]
xCAT-server/share/xcat/ib/scripts/configiba.2ports:            elif [ -f /etc/SuSE-release ]
xCAT-server/share/xcat/netboot/add-on/torque/add_torque:if [ -r /etc/SuSE-release ]
xCAT-server/share/xcat/netboot/suse/genimage:if (`grep VERSION /etc/SuSE-release` =~ /VERSION = (\d+)/) {
xCAT-server/share/xcat/scripts/setupDisk:  #The /etc/SuSE-release file will be deprecated in sles11.4 and later re
xCAT-server/share/xcat/scripts/setupDisk:  elif [[ -e "/etc/SuSE-release" ]]; then
xCAT-server/share/xcat/scripts/setupDisk:    version=`cat /etc/SuSE-release | grep "VERSION =" | sed \
xCAT-server/share/xcat/scripts/setupDisk:    level=`echo "/etc/SuSE-release" | grep "LEVEL =" | sed \
xCAT-server/share/xcat/scripts/xHRM:    if [[ $OSVER = sles* ]] || [[ $OSVER = suse* ]] || [[ -f /etc/SuSE-release
xCAT-server/share/xcat/tools/detect_dhcpd:} elsif (-f "/etc/SuSE-release") {
xCAT-server/share/xcat/tools/go-xcat:   [[ -z "${distro}" && -f /etc/SuSE-release ]] && distro="sles"
xCAT-server/share/xcat/tools/go-xcat:   [[ -z "${ver}" && -f /etc/SuSE-release ]] &&
xCAT-server/share/xcat/tools/go-xcat:           ver="$(awk '/VERSION/ { print $NF }' /etc/SuSE-release)"
xCAT-server/share/xcat/tools/mktoolscenter:if (-e '/etc/SuSE-release') {
xCAT-server/share/xcat/tools/mktoolscenter:    $OSVER = `grep -h VERSION /etc/SuSE-release |awk '{print $3}'`
xCAT-server/xCAT-wsapi/xcatws.cgi:            if (-f "/etc/SuSE-release") {    # SUSE os
xCAT-test/autotest/testcase/migration/sles_migration:cmd:xdsh $$CN "grep -q 11 /etc/SuSE-release && ( sed -i -e 's
xCAT-test/autotest/testcase/migration/sles_migration:cmd:xdsh $$CN "grep -q 11 /etc/SuSE-release && rpm -e
xCAT-test/autotest/testcase/migration/sles_migration:cmd:xdsh $$CN "grep -q 11 /etc/SuSE-release && ( sed -
xCAT-test/autotest/testcase/migration/sles_migration:cmd:xdsh $$CN "grep -q 11 /etc/SuSE-release && rpm -e
xCAT-test/autotest/testcase/migration/sles_migration:cmd:xdsh $$CN "grep -q 11 /etc/SuSE-release && ( sed -
xCAT-test/autotest/testcase/migration/sles_migration:cmd:xdsh $$CN "grep -q 11 /etc/SuSE-release && rpm -e
xCAT-test/autotest/testcase/migration/sles_migration:cmd:xdsh $$CN "grep -q 11 /etc/SuSE-release && ( sed -
xCAT-test/autotest/testcase/migration/sles_migration:cmd:xdsh $$CN "grep -q 11 /etc/SuSE-release && rpm -e
xCAT-test/autotest/testcase/probe/detect_dhcpd:elif [ -e "/etc/SuSE-release" ]; then
xCAT-test/xcattest:    } elsif (-f "/etc/SuSE-release") {
xCAT-vlan/install/postscripts/configvlan:  if [[ $OSVER = sles* ]] || [[ $OSVER = suse* ]] || [[ -f /etc/Su
xCAT-vlan/install/postscripts/configvlan:       if [ -f /etc/SuSE-release ]
xCAT-vlan/install/postscripts/deconfigvlan:  if [[ $OSVER = sles* ]] || [[ $OSVER = suse* ]] || [[ -f /etc/
xCAT-vlan/install/postscripts/deconfigvlan:     if [ -f /etc/SuSE-release ]
xCAT/postscripts/configbond:    elif [ -f "/etc/SuSE-release" -o -n "$str_temp" ];then
xCAT/postscripts/configefi:             if grep -qe '^VERSION\s*=\s*11' /etc/SuSE-release; then
xCAT/postscripts/configeth:    elif [ -f "/etc/SuSE-release" -o -n "$str_temp" ];then
xCAT/postscripts/configeth_aix:elsif (($ENV{OSVER} && ($ENV{OSVER} =~ /sles|suse/i)) || (-f "/etc/SuSE-rele
xCAT/postscripts/configeth_aix:#elsif (($ENV{OSVER} && ($ENV{OSVER} =~ /sles|suse/i)) || (-f "/etc/SuSE-rel
xCAT/postscripts/configfirewall:elsif (-f "/etc/SuSE-release")
xCAT/postscripts/configib:    elif [ -f /etc/SuSE-release ]
xCAT/postscripts/confignetwork:elif [ -f "/etc/SuSE-release" -o -n "$str_temp" ];then
xCAT/postscripts/enablekdump:   if (pmatch $OSVER "sle*") || (pmatch $OSVER "suse*") || [ -f /etc/SuSE-rele
xCAT/postscripts/enablekdump:   if (pmatch $OSVER "sle*") || (pmatch $OSVER "suse*") || [ -f /etc/SuSE-rele
xCAT/postscripts/hardeths:elif [ -f /etc/SuSE-release ] || (pmatch $OSVER "SLE")
xCAT/postscripts/killsyslog:if [ -f "/etc/SuSE-release" ];then
xCAT/postscripts/routeop:    elif [ -f /etc/SuSE-release ]
xCAT/postscripts/routeop:    elif [ -f /etc/SuSE-release ]
xCAT/postscripts/routeop:    elif [ -f /etc/SuSE-release ]
xCAT/postscripts/setupntp.traditional:    if ( pmatch $OSVER "sle*" ) || ( pmatch $OSVER "suse*" ) || [ -f
xCAT/postscripts/setupntp.traditional:    if ( pmatch $OSVER "sle*" ) || ( pmatch $OSVER "suse*" ) || [ -f
xCAT/postscripts/syslog:    if ( pmatch $OSVER "sle*" ) || ( pmatch $OSVER "suse*" ) || [ -f /etc/SuSE-rele
xCAT/postscripts/xcatdsklspost:        if [ -e '/etc/SuSE-release' ]; then
xCAT/postscripts/xcatdsklspost:            OSVER=`grep -h VERSION /etc/SuSE-release |awk '{print $3}'`
xCAT/xCAT.spec:#if [ -e "/etc/SuSE-release" ]; then

Not all files need to be changed, some are not used anymore, some already check os-release first, before attempting to access SuSE-release

gurevichmark avatar Aug 12 '22 14:08 gurevichmark