Merge "Use internal dhcp client for centos 9-stream and beyond"

This commit is contained in:
Zuul 2022-06-30 18:20:50 +00:00 committed by Gerrit Code Review
commit e43597affe
2 changed files with 24 additions and 5 deletions

View File

@ -39,3 +39,13 @@ DIB_DHCP_NETWORK_MANAGER_AUTO
auto-configure any interface with no configuration, it will use DHCP for
IPv4 and Router Advertisements to decide how to initialize IPv6.
:Example: DIB_DHCP_NETWORK_MANAGER_AUTO=true
DIB_DHCP_CLIENT
:Required: no
:Default: internal
:Description: When NetworkManager is in use, this setting conveys which DHCP
client is in use for acquiring a DHCP address for the node. In some specific
cases, where known that dhclient is the tested or most compatible default,
specifically for Centos 7, 8, and 8-Stream, as well as derived distributions.
Otherwise, the "internal" dhcp client is the default.
:Example: DIB_DHCP_CLIENT

View File

@ -9,12 +9,21 @@ set -o pipefail
SCRIPTDIR=$(dirname $0)
if [ -e "/etc/redhat-release" ]; then
# NOTE(TheJulia): While the internal client which every networkmanager user
# should have is internal, dhclient has better behavior which includes
# shutting down the port between retries which is critical for recovery
# from LACP port blocking situations. As such, we'll force it to dhclient.
# NOTE(TheJulia): RHEL, prior to RHEL8 used dhclient by default launched
# by NetworkManager. In RHEL8, this default switched to the "internal"
# dhcp client.
# This is problematic in RHEL8, with port blocking situations as dhclient
# has better behavior which includes shutting down the port between
# retries which is critical for recovery from LACP port blocking
# situations. As such, we'll force it to dhclient.
# For more information, see https://storyboard.openstack.org/#!/story/2008001
if [[ '7' =~ ${DIB_RELEASE} ]]; then
DIB_DHCP_CLIENT=${DIB_DHCP_CLIENT:-dhclient}
elif [[ '8' =~ ${DIB_RELEASE} ]]; then
DIB_DHCP_CLIENT=${DIB_DHCP_CLIENT:-dhclient}
fi
# NOTE(TheJulia): Centos 9-stream/RHEL9, appear to need to leverage the
# internal interface. See: https://storyboard.openstack.org/#!/story/2010109
fi