From fc9ac3cb4944020645b9616fbf2b6b81675726bf Mon Sep 17 00:00:00 2001 From: Goutham Pacha Ravi Date: Tue, 28 Apr 2020 18:09:56 -0700 Subject: [PATCH] [devstack][ci] Move bgp setup to plugin We currently use a legacy devstack-gate script to create the bgp speaker, and peer required to communicate to and from the tenant private IPv6 networks. Move this logic to the devstack plugin so that we can invoke it automatically with the existing devstack variable MANILA_SETUP_IPV6. Change-Id: Iea90e3f04ae05e5783c3163bbf2d2dabd128c7b5 (cherry picked from commit 2277c20c02641c3a0cd0804ef53a54cd5492ce2d) --- contrib/ci/post_test_hook.sh | 9 --------- devstack/plugin.sh | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/contrib/ci/post_test_hook.sh b/contrib/ci/post_test_hook.sh index 9b21746e3d..074a5429ed 100755 --- a/contrib/ci/post_test_hook.sh +++ b/contrib/ci/post_test_hook.sh @@ -349,15 +349,6 @@ source $BASE/new/devstack/openrc admin admin public_net_id=$(openstack network list --name $PUBLIC_NETWORK_NAME -f value -c ID ) iniset $TEMPEST_CONFIG network public_network_id $public_net_id -if [ $(trueorfalse False MANILA_SETUP_IPV6) == True ]; then - # Now that all plugins are loaded, setup BGP here - public_gateway_ipv6=$(openstack subnet show ipv6-public-subnet -c gateway_ip -f value) - neutron bgp-speaker-create --ip-version 6 --local-as 100 bgpspeaker - neutron bgp-speaker-network-add bgpspeaker $PUBLIC_NETWORK_NAME - neutron bgp-peer-create --peer-ip $public_gateway_ipv6 --remote-as 200 bgppeer - neutron bgp-speaker-peer-add bgpspeaker bgppeer -fi - # Set config to run IPv6 tests according to env var iniset $TEMPEST_CONFIG share run_ipv6_tests $RUN_MANILA_IPV6_TESTS diff --git a/devstack/plugin.sh b/devstack/plugin.sh index cc13e65013..e34f73ec77 100755 --- a/devstack/plugin.sh +++ b/devstack/plugin.sh @@ -1171,6 +1171,14 @@ function setup_ipv6 { } +function setup_bgp_for_ipv6 { + public_gateway_ipv6=$(openstack subnet show ipv6-public-subnet -c gateway_ip -f value) + neutron bgp-speaker-create --ip-version 6 --local-as 100 bgpspeaker + neutron bgp-speaker-network-add bgpspeaker $PUBLIC_NETWORK_NAME + neutron bgp-peer-create --peer-ip $public_gateway_ipv6 --remote-as 200 bgppeer + neutron bgp-speaker-peer-add bgpspeaker bgppeer +} + # Main dispatcher if [[ "$1" == "stack" && "$2" == "install" ]]; then echo_summary "Installing Manila Client" @@ -1289,6 +1297,12 @@ elif [[ "$1" == "stack" && "$2" == "test-config" ]]; then allow_host_ports_for_share_mounting fi + if [[ "$(trueorfalse False MANILA_SETUP_IPV6)" == "True" ]]; then + # Now that all plugins are loaded, setup BGP + echo_summary "Setting up BGP speaker to advertise routes to project networks" + setup_bgp_for_ipv6 + fi + fi if [[ "$1" == "unstack" ]]; then