Browse Source

Conditionally restore default route in setup_ipv6

Restoring the default IPv6 route is not needed in CI and
fails when there are multiple defaults, but it is useful
in local devstacks where multiple default routes are not
typical.

Add a variable in settings and use it to make this behavior
conditional and set it to False for the lvm job.

Closes-bug: #1836788
Change-Id: Id73de8100509ec5935641f5f35f93f482d108bcd
(cherry picked from commit 70e908344d)
(cherry picked from commit 99c0a11092)
changes/12/725712/1
Tom Barron 11 months ago
committed by Goutham Pacha Ravi
parent
commit
682d6b6ee1
3 changed files with 15 additions and 5 deletions
  1. +1
    -0
      contrib/ci/pre_test_hook.sh
  2. +13
    -5
      devstack/plugin.sh
  3. +1
    -0
      devstack/settings

+ 1
- 0
contrib/ci/pre_test_hook.sh View File

@@ -186,6 +186,7 @@ if [[ "$MANILA_SETUP_IPV6" == True ]]; then
# regular Neutron DevStack configuration.
echo "NEUTRON_CREATE_INITIAL_NETWORKS=False" >> $localconf
echo "IP_VERSION=4+6" >> $localconf
echo "MANILA_RESTORE_IPV6_DEFAULT_ROUTE=False" >> $localconf
fi

if [[ "$DRIVER" == "generic"* ]]; then


+ 13
- 5
devstack/plugin.sh View File

@@ -953,8 +953,12 @@ function install_libraries {

function setup_ipv6 {

# save IPv6 default route to add back later after enabling forwarding
local default_route=$(ip -6 route | grep default | cut -d ' ' -f1,2,3,4,5)
# This will fail with multiple default routes and is not needed in CI
# but may be useful when developing with devstack locally
if [ $(trueorfalse False MANILA_RESTORE_IPV6_DEFAULT_ROUTE) == True ]; then
# save IPv6 default route to add back later after enabling forwarding
local default_route=$(ip -6 route | grep default | cut -d ' ' -f1,2,3,4,5)
fi

# make sure those system values are set
sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=0
@@ -1053,9 +1057,13 @@ function setup_ipv6 {
sudo systemctl restart bgpd
fi

# add default IPv6 route back
if ! [[ -z $default_route ]]; then
sudo ip -6 route add $default_route
# This will fail with mutltiple default routes and is not needed in CI
# but may be useful when developing with devstack locally
if [ $(trueorfalse False MANILA_RESTORE_IPV6_DEFAULT_ROUTE) == True ]; then
# add default IPv6 route back
if ! [[ -z $default_route ]]; then
sudo ip -6 route add $default_route
fi
fi

}


+ 1
- 0
devstack/settings View File

@@ -197,6 +197,7 @@ MANILA_DATA_COPY_CHECK_HASH=${MANILA_DATA_COPY_CHECK_HASH:=True}

# Manila IPv6 Setup flag
MANILA_SETUP_IPV6=${MANILA_SETUP_IPV6:=False}
MANILA_RESTORE_IPV6_DEFAULT_ROUTE=${MANILA_RESTORE_IPV6_DEFAULT_ROUTE:=True}

# Enable manila services
# ----------------------


Loading…
Cancel
Save