Disable Route Advertisement during install

Route Advertisement, also known as 'ra', needs to be disabled during
node installation or ostree pull failures, although rare, can happen.

This update ensures that IPV6 autoconf, accept_ra and accept_redirect
settings are disabled on all interfaces during install.

Test Plan:

PASS: Verify build and install ISO
PASS: Verify controller-0 usb install
PASS: Verify controller-0 network install
PASS: Verify system node network install
PASS: Verify redfish subcloud install
PASS: In all cases above verify update logging
      ... /var/log/lat/kickstart.log
      ... /var/log/lat/miniboot.log

Closes-Bug: 2089298
Change-Id: Ia9978d3df5a4c96d9615fe57701e78721e0c62c5
Signed-off-by: Eric MacDonald <eric.macdonald@windriver.com>
This commit is contained in:
Eric MacDonald 2024-11-21 18:29:52 +00:00
parent 9e0e191074
commit 5db11d9fe6
2 changed files with 68 additions and 0 deletions

View File

@ -2012,6 +2012,40 @@ else
ilog "Enable LAT ${gpg_option} option to configure ostree for unverified GPG (gpg-verify=false)"
fi
#
# Disable IPV6 Route Advertisement during install if enabled
#
_autoconf=$(cat /proc/sys/net/ipv6/conf/all/autoconf)
_accept_ra=$(cat /proc/sys/net/ipv6/conf/all/accept_ra)
_accept_redirects=$(cat /proc/sys/net/ipv6/conf/all/accept_redirects)
ilog "IPV6 Route Advertisement settings : autoconf=${_autoconf}, accept_ra=${_accept_ra}, accept_redirects=${_accept_redirects} (all interfaces)"
change=false
if [ ${_autoconf} -ne 0 ] ; then
echo 0 > /proc/sys/net/ipv6/conf/all/autoconf
_autoconf=$(cat /proc/sys/net/ipv6/conf/all/autoconf)
change=true
fi
if [ ${_accept_ra} -ne 0 ] ; then
echo 0 > /proc/sys/net/ipv6/conf/all/accept_ra
_accept_ra=$(cat /proc/sys/net/ipv6/conf/all/accept_ra)
change=true
fi
if [ ${_accept_redirects} -ne 0 ] ; then
echo 0 > /proc/sys/net/ipv6/conf/all/accept_redirects
_accept_redirects=$(cat /proc/sys/net/ipv6/conf/all/accept_redirects)
change=true
fi
if [ "${change}" = true ] ; then
ilog "IPV6 Route Advertisement disabled : autoconf=${_autoconf}, accept_ra=${_accept_ra}, accept_redirects=${_accept_redirects}"
else
ilog "... no changes required"
fi
# Stage the ostree_repo in /sysroot for network installations
# of controller nodes. Doing so avoids a double ostree pull of
# the huge ostree_repo over the network.

View File

@ -2070,6 +2070,40 @@ udevadm settle --timeout=300 || report_failure_with_msg "udevadm settle failed"
# Rescan LVM cache to avoid warnings for VGs that were recreated.
pvscan --cache 2>/dev/null
#
# Disable IPV6 Route Advertisement during install if enabled
#
_autoconf=$(cat /proc/sys/net/ipv6/conf/all/autoconf)
_accept_ra=$(cat /proc/sys/net/ipv6/conf/all/accept_ra)
_accept_redirects=$(cat /proc/sys/net/ipv6/conf/all/accept_redirects)
ilog "IPV6 Route Advertisement settings : autoconf=${_autoconf}, accept_ra=${_accept_ra}, accept_redirects=${_accept_redirects} (all interfaces)"
change=false
if [ ${_autoconf} -ne 0 ] ; then
echo 0 > /proc/sys/net/ipv6/conf/all/autoconf
_autoconf=$(cat /proc/sys/net/ipv6/conf/all/autoconf)
change=true
fi
if [ ${_accept_ra} -ne 0 ] ; then
echo 0 > /proc/sys/net/ipv6/conf/all/accept_ra
_accept_ra=$(cat /proc/sys/net/ipv6/conf/all/accept_ra)
change=true
fi
if [ ${_accept_redirects} -ne 0 ] ; then
echo 0 > /proc/sys/net/ipv6/conf/all/accept_redirects
_accept_redirects=$(cat /proc/sys/net/ipv6/conf/all/accept_redirects)
change=true
fi
if [ "${change}" = true ] ; then
ilog "IPV6 Route Advertisement disabled : autoconf=${_autoconf}, accept_ra=${_accept_ra}, accept_redirects=${_accept_redirects}"
else
ilog "... no changes required"
fi
# Stage the ostree_repo in /sysroot for network installations
# of controller nodes. Doing so avoids a double ostree pull of
# the huge ostree_repo over the network.