mirror of
https://github.com/xcat2/xcat-core.git
synced 2026-08-04 00:16:59 +00:00
fix(genesis): stop ethtool link-wait loops from spinning forever
For each secondary NIC in NICSTOBRINGUP, doxcat backgrounds a loop that polls `ethtool $nic` until the link reports "detected: yes" before running dhclient. A NIC that is never connected keeps that loop (and its `sleep 5`) running for the life of the genesis environment, leaking background shells and needlessly churning. Add a second exit condition so each loop also stops once /tmp/netinitted exists, and touch that file once the boot NIC has completed network init. A link that never appears no longer waits indefinitely. Recovered from the unmerged lenovobuild branch (original9ece12e4). Co-authored-by: Jarrod Johnson <10814490+jjohnson42@users.noreply.github.com> (cherry picked from commitf24457cddf)
This commit is contained in:
committed by
github-actions[bot]
parent
4d7ddcd3aa
commit
400fee4e47
@@ -255,8 +255,8 @@ else
|
||||
NICSTOBRINGUP=`ip link|grep mtu|grep -v LOOPBACK|grep -v $bootnic|grep -v usb|grep -v ,UP|awk -F: '{print $2}'`
|
||||
export NICSTOBRINGUP
|
||||
for nic in $NICSTOBRINGUP; do
|
||||
(while ! ethtool $nic | grep Link\ detected|grep yes > /dev/null; do sleep 5; done; dhclient -cf /etc/dhclient.conf -pf /var/run/dhclient.$nic.pid $nic ) &
|
||||
(while ! ethtool $nic | grep Link\ detected|grep yes > /dev/null; do sleep 5; done; dhclient -cf /etc/dhclient.conf -6 -pf /var/run/dhclient6.$nic.pid -lf /var/lib/dhclient/dhclient6.leases $nic ) &
|
||||
(while ! ethtool $nic | grep Link\ detected|grep yes > /dev/null && [ ! -f /tmp/netinitted ]; do sleep 5; done; dhclient -cf /etc/dhclient.conf -pf /var/run/dhclient.$nic.pid $nic ) &
|
||||
(while ! ethtool $nic | grep Link\ detected|grep yes > /dev/null && [ ! -f /tmp/netinitted ]; do sleep 5; done; dhclient -cf /etc/dhclient.conf -6 -pf /var/run/dhclient6.$nic.pid -lf /var/lib/dhclient/dhclient6.leases $nic ) &
|
||||
done
|
||||
|
||||
gripeiter=101
|
||||
@@ -270,6 +270,9 @@ else
|
||||
done
|
||||
fi
|
||||
fi
|
||||
# secondary NICs whose link never comes up would otherwise wait forever;
|
||||
# let those backgrounded loops exit once the boot NIC has finished net init
|
||||
touch /tmp/netinitted
|
||||
|
||||
openssl genrsa -out /etc/xcat/certkey.pem 4096 > /dev/null 2>&1 &
|
||||
|
||||
|
||||
Reference in New Issue
Block a user