CI: Fix our internal MTU settings

Long story short, we auto-clamp down everything to 1400 bytes
due to VXLAN tunneling for multinode testing. But there are other
reasons to clamp it smaller, and we will need to clamp that further
for multinode should we mix it with OVN.

Anyway, this should make things cleaner and we should rely upon the
gate calcualted MTU as a starting place, not the guess based upon
interface list. i.e. test VM could be wrong but gate could know better.

Change-Id: I385679fe30d1447f1ed94cdf5a419e6acefbc595
This commit is contained in:
Julia Kreger 2023-08-29 14:12:49 -07:00
parent 3f77091c63
commit 40e825ba93

View File

@ -2,11 +2,25 @@ enable_service ironic ir-api ir-cond
source $DEST/ironic/devstack/common_settings
# Set a default, so we can overwrite it if we need to.
PUBLIC_BRIDGE_MTU=${PUBLIC_BRIDGE_MTU:-1500}
# NOTE(vsaienko) mtu calculation has been changed recently to 1450
# https://github.com/openstack/neutron/commit/51a697
# and caused https://bugs.launchpad.net/ironic/+bug/1631875
# Get the smallest local MTU
local_mtu=$(ip link show | sed -ne 's/.*mtu \([0-9]\+\).*/\1/p' | sort -n | head -1)
# At some point, devstack started pre-populating a public bridge mtu,
# which is fine, but that also got set and used in neutron as the MTU,
# which is fine, but if our MTU is lower, then that can create headaches,
# unless we *need* it lower for specific multinode testing.
# so if the calculated local_mtu *is* higher, then we are wrong, and trust
# a prepopulated variable (1500-40-30=1430 bytes)
if [ $local_mtu -gt $PUBLIC_BRIDGE_MTU ]; then
local_mtu=$PUBLIC_BRIDGE_MTU
fi
# 50 bytes is overhead for vxlan (which is greater than GRE
# allowing us to use either overlay option with this MTU.
# However, if traffic is flowing over IPv6 tunnels, then