Message ID | 20241022183342.105084-1-tiago.pires@luizalabs.com |
---|---|
State | Changes Requested |
Headers | show |
Series | [ovs-dev,v4] multinode: Adding multinode ovn-ic test. | expand |
Context | Check | Description |
---|---|---|
ovsrobot/apply-robot | success | apply and check: success |
ovsrobot/github-robot-_Build_and_Test | success | github build: passed |
ovsrobot/github-robot-_ovn-kubernetes | success | github build: passed |
On 10/22/24 8:33 PM, Tiago Pires via dev wrote: > This commit add a new ovn-ic test for the ovn-fake-multinode with 3 AZs > testing IPv4/IPv6 connectivity between them. > > Signed-off-by: Tiago Pires <tiago.pires@luizalabs.com> > --- Hi Tiago, Sorry for the delay in reviewing this. > tests/multinode-macros.at | 80 +++++++++++++++++++++ > tests/multinode.at | 141 ++++++++++++++++++++++++++++++++++++++ > 2 files changed, 221 insertions(+) > > diff --git a/tests/multinode-macros.at b/tests/multinode-macros.at > index 5b171885e..cafb9d967 100644 > --- a/tests/multinode-macros.at > +++ b/tests/multinode-macros.at > @@ -54,6 +54,7 @@ m_central_as () { > } > > check_fake_multinode_setup() { > + skip_fake_node_multi_az_setup > check m_as ovn-central-az1-1 ovn-nbctl --wait=sb sync > AT_CHECK([m_as ovn-chassis-1 ovn-appctl -t ovn-controller version], [0], [ignore]) > AT_CHECK([m_as ovn-chassis-2 ovn-appctl -t ovn-controller version], [0], [ignore]) > @@ -189,4 +190,83 @@ m_wait_for_ports_up() { > fi > } > > +skip_fake_node_multi_az_setup() { > + m_as ovn-central-az3-1 ovn-nbctl --wait=sb sync > + if [[ $? == 0 ]] ; then > + AT_CHECK([exit 77]) It took me some searching but I guess this is because of: https://www.gnu.org/software/autoconf/manual/autoconf-2.66/html_node/Writing-Testsuites.html " — Macro: AT_SKIP_IF (shell-condition) Determine whether the test should be skipped because it requires features that are unsupported on the machine under test. shell-condition is a shell expression such as a test command. Tests before AT_SKIP_IF will be executed and may still cause the test group to fail. You can instantiate this macro many times from within the same test group. You should use this macro only for very simple skip conditions. If the shell-condition could emit any kind of output you should instead use AT_CHECK like AT_CHECK([if shell-condition; then exit 77; fi]) so that such output is properly recorded in the testsuite.log file." > + fi > +} > + > +check_fake_node_multi_az_setup() { > + m_as ovn-central-az3-1 ovn-nbctl --wait=sb sync > + if [[ $? != 0 ]] ; then > + AT_CHECK([exit 77]) > + fi > + > + # Check if the fake multinode setup is using SSL, it will > + # skip if it is enabled. The cleanup will break the setup, > + # so it is recommended to use without SSL in order to > + # test the OVN IC with fake multinode setup. > + m_as ovn-chassis-1 ovs-vsctl list open | grep "ssl:" > + if [[ $? == 0 ]] ; then > + AT_CHECK([exit 77]) > + fi > +} > + > +check_fake_multinode_setup_by_az() { > + check_fake_node_multi_az_setup > + > + m_as ovn-central-az1-1 ovn-nbctl --wait=sb sync > + m_as ovn-central-az2-1 ovn-nbctl --wait=sb sync > + m_as ovn-central-az2-1 ovn-nbctl --wait=sb sync Should we prepend these 3 commands with "check "? > + > + for c in $1 > + do > + m_as $c ovn-appctl -t ovn-controller version > + done > +} > + > +cleanup_multinode_resources_by_az() { > + check_fake_node_multi_az_setup > + m_as ovn-central-az1-1 rm -f /etc/ovn/ovnnb_db.db > + m_as ovn-central-az1-1 /usr/share/ovn/scripts/ovn-ctl restart_northd > + m_as ovn-central-az2-1 rm -f /etc/ovn/ovnnb_db.db > + m_as ovn-central-az2-1 /usr/share/ovn/scripts/ovn-ctl restart_northd > + m_as ovn-central-az3-1 rm -f /etc/ovn/ovnnb_db.db > + m_as ovn-central-az3-1 /usr/share/ovn/scripts/ovn-ctl restart_northd > + check m_as ovn-central-az1-1 ovn-nbctl --wait=sb sync > + check m_as ovn-central-az2-1 ovn-nbctl --wait=sb sync > + check m_as ovn-central-az3-1 ovn-nbctl --wait=sb sync > + > + for c in $1 > + do > + m_as $c ovs-vsctl del-br br-int > + m_as $c ip --all netns delete Maybe also prepend check here? > + done > +} > + > +configure_multinode_az() { > + # Configure OVN IC by AZ > + check m_as ovn-central-az1-1 ovn-nbctl set-connection ptcp:6641 > + check m_as ovn-central-az1-1 ovn-sbctl set-connection ptcp:6642 > + check m_as ovn-central-az1-1 ovn-nbctl set NB_Global . name=ovn-central-az1-1 > + check m_as ovn-central-az1-1 ovn-nbctl set NB_Global . options:ic-route-adv=true \ > + options:ic-route-learn=true > + check m_as ovn-central-az2-1 ovn-nbctl set-connection ptcp:6641 > + check m_as ovn-central-az2-1 ovn-sbctl set-connection ptcp:6642 > + check m_as ovn-central-az2-1 ovn-nbctl set NB_Global . name=ovn-central-az2-1 > + check m_as ovn-central-az2-1 ovn-nbctl set NB_Global . options:ic-route-adv=true \ > + options:ic-route-learn=true > + check m_as ovn-central-az3-1 ovn-nbctl set-connection ptcp:6641 > + check m_as ovn-central-az3-1 ovn-sbctl set-connection ptcp:6642 > + check m_as ovn-central-az3-1 ovn-nbctl set NB_Global . name=ovn-central-az3-1 > + check m_as ovn-central-az3-1 ovn-nbctl set NB_Global . options:ic-route-adv=true \ > + options:ic-route-learn=true > + > + # Configure OVN IC Gateway > + check m_as ovn-gw-1 ovs-vsctl set open . external-ids:ovn-is-interconn=true > + check m_as ovn-gw-2 ovs-vsctl set open . external-ids:ovn-is-interconn=true > + check m_as ovn-gw-3 ovs-vsctl set open . external-ids:ovn-is-interconn=true > +} > + > OVS_END_SHELL_HELPERS > diff --git a/tests/multinode.at b/tests/multinode.at > index 408e1118d..c43255c89 100644 > --- a/tests/multinode.at > +++ b/tests/multinode.at > @@ -1591,3 +1591,144 @@ AT_CHECK([cat ch1_eth2.tcpdump], [0], [dnl > ]) > > AT_CLEANUP > + > +AT_SETUP([ovn multinode - ovn-ic - inter-AZ IPv4/IPv6]) This test gets skipped in CI: ovn multinode - ovn-ic - inter-AZ IPv4/IPv6 skipped (multinode-macros.at:239) > + > +# Check that ovn-fake-multinode setup is up and running - requires additional nodes > +check_fake_multinode_setup_by_az 'ovn-chassis-1 ovn-chassis-2 ovn-chassis-3 ovn-gw-1 ovn-gw-2 ovn-gw-3' > + > +# Delete the multinode NB and OVS resources before starting the test. > +cleanup_multinode_resources_by_az 'ovn-chassis-1 ovn-chassis-2 ovn-chassis-3 ovn-gw-1 ovn-gw-2 ovn-gw-3' > + > +# Configure OVN IC by AZ > +configure_multinode_az > + > +# Test Inter-AZ routing > + > +# Create the Transit Switch > +m_as ovn-central-az1-1 ovn-ic-nbctl ts-add ts-1 > + > +# AZ1 - Create one logical switch with one port > +check m_as ovn-central-az1-1 ovn-nbctl ls-add sw1-az1 > +check m_as ovn-central-az1-1 ovn-nbctl lsp-add sw1-az1 sw1-az1-port1 > +check m_as ovn-central-az1-1 ovn-nbctl lsp-set-addresses sw1-az1-port1 "40:54:00:00:01:01 10.0.1.3 2001::3" > + > +# AZ1 - Create a logical router and attach the logical switch > +check m_as ovn-central-az1-1 ovn-nbctl lr-add lr1 > +check m_as ovn-central-az1-1 ovn-nbctl lrp-add lr1 lr1-sw1-az1 00:00:00:00:ff:01 10.0.1.1/24 2001::1/64 > +check m_as ovn-central-az1-1 ovn-nbctl lsp-add sw1-az1 sw1-az1-lr1 > +check m_as ovn-central-az1-1 ovn-nbctl lsp-set-type sw1-az1-lr1 router > +check m_as ovn-central-az1-1 ovn-nbctl lsp-set-addresses sw1-az1-lr1 router > +check m_as ovn-central-az1-1 ovn-nbctl lsp-set-options sw1-az1-lr1 router-port=lr1-sw1-az1 > + > +# AZ1 - Create the LRP, LSP and interconnect to the Transit Switch > +check m_as ovn-central-az1-1 ovn-nbctl lrp-add lr1 lr1-ts-1 00:00:00:00:00:01 169.254.251.1/24 fe80:10::1/64 > +check m_as ovn-central-az1-1 ovn-nbctl lrp-set-gateway-chassis lr1-ts-1 ovn-gw-1 > +check m_as ovn-central-az1-1 ovn-nbctl lsp-add ts-1 lr1-lsp1 -- \ > + lsp-set-addresses lr1-lsp1 router -- \ > + lsp-set-type lr1-lsp1 router -- \ > + lsp-set-options lr1-lsp1 router-port=lr1-ts-1 > + > +m_as ovn-chassis-1 ip link del sw1-az1-p1-p > +m_as ovn-chassis-1 /data/create_fake_vm.sh sw1-az1-port1 sw1-az1-p1 40:54:00:00:01:01 1342 10.0.1.3 24 10.0.1.1 2001::3/64 2001::1 > + > +# AZ2 - Create one logical switch with one port > +check m_as ovn-central-az2-1 ovn-nbctl ls-add sw1-az2 > +check m_as ovn-central-az2-1 ovn-nbctl lsp-add sw1-az2 sw1-az2-port1 > +check m_as ovn-central-az2-1 ovn-nbctl lsp-set-addresses sw1-az2-port1 "40:54:00:00:02:01 10.0.2.3 2002::3" > + > +# AZ2 - Create a logical router and attach the logical switch > +check m_as ovn-central-az2-1 ovn-nbctl lr-add lr2 > +check m_as ovn-central-az2-1 ovn-nbctl lrp-add lr2 lr2-sw1-az2 00:00:00:00:ff:02 10.0.2.1/24 2002::1/64 > +check m_as ovn-central-az2-1 ovn-nbctl lsp-add sw1-az2 sw1-az2-lr2 > +check m_as ovn-central-az2-1 ovn-nbctl lsp-set-type sw1-az2-lr2 router > +check m_as ovn-central-az2-1 ovn-nbctl lsp-set-addresses sw1-az2-lr2 router > +check m_as ovn-central-az2-1 ovn-nbctl lsp-set-options sw1-az2-lr2 router-port=lr2-sw1-az2 > + > +# AZ2 - Create the LRP, LSP and interconnect to the Transit Switch > +check m_as ovn-central-az2-1 ovn-nbctl lrp-add lr2 lr2-ts-1 00:00:00:00:00:02 169.254.251.2/24 fe80:10::2/64 > +check m_as ovn-central-az2-1 ovn-nbctl lrp-set-gateway-chassis lr2-ts-1 ovn-gw-2 > +check m_as ovn-central-az2-1 ovn-nbctl lsp-add ts-1 lr2-lsp1 -- \ > + lsp-set-addresses lr2-lsp1 router -- \ > + lsp-set-type lr2-lsp1 router -- \ > + lsp-set-options lr2-lsp1 router-port=lr2-ts-1 > + > +m_as ovn-chassis-2 ip link del sw1-az2-p1-p > +m_as ovn-chassis-2 /data/create_fake_vm.sh sw1-az2-port1 sw1-az2-p1 40:54:00:00:02:01 1342 10.0.2.3 24 10.0.2.1 2002::3/64 2002::1 > + > +# AZ3 - Create one logical switch with one port > +check m_as ovn-central-az3-1 ovn-nbctl ls-add sw1-az3 > +check m_as ovn-central-az3-1 ovn-nbctl lsp-add sw1-az3 sw1-az3-port1 > +check m_as ovn-central-az3-1 ovn-nbctl lsp-set-addresses sw1-az3-port1 "40:54:00:00:03:01 10.0.3.3 2003::3" > + > +# AZ3 - Create a logical router and attach the logical switch > +check m_as ovn-central-az3-1 ovn-nbctl lr-add lr3 > +check m_as ovn-central-az3-1 ovn-nbctl lrp-add lr3 lr3-sw1-az3 00:00:00:00:ff:03 10.0.3.1/24 2003::1/64 > +check m_as ovn-central-az3-1 ovn-nbctl lsp-add sw1-az3 sw1-az3-lr3 > +check m_as ovn-central-az3-1 ovn-nbctl lsp-set-type sw1-az3-lr3 router > +check m_as ovn-central-az3-1 ovn-nbctl lsp-set-addresses sw1-az3-lr3 router > +check m_as ovn-central-az3-1 ovn-nbctl lsp-set-options sw1-az3-lr3 router-port=lr3-sw1-az3 > + > +# AZ3 - Create the LRP, LSP and interconnect to the Transit Switch > +check m_as ovn-central-az3-1 ovn-nbctl lrp-add lr3 lr3-ts-1 00:00:00:00:00:03 169.254.251.3/24 fe80:10::3/64 > +check m_as ovn-central-az3-1 ovn-nbctl lrp-set-gateway-chassis lr3-ts-1 ovn-gw-3 > +check m_as ovn-central-az3-1 ovn-nbctl lsp-add ts-1 lr3-lsp1 -- \ > + lsp-set-addresses lr3-lsp1 router -- \ > + lsp-set-type lr3-lsp1 router -- \ > + lsp-set-options lr3-lsp1 router-port=lr3-ts-1 > + > +m_as ovn-chassis-1 ip link del sw1-az3-p1-p > +m_as ovn-chassis-3 /data/create_fake_vm.sh sw1-az3-port1 sw1-az3-p1 40:54:00:00:03:01 1342 10.0.3.3 24 10.0.3.1 2003::3/64 2003::1 > + > +# Test routes from lr2 and lr3 were learned to lr1 > +AT_CHECK([m_as ovn-central-az1-1 ovn-nbctl lr-route-list lr1 | > + grep learned | awk '{print $1, $2}' | sort], [0], [dnl > +10.0.2.0/24 169.254.251.2 > +10.0.3.0/24 169.254.251.3 > +2002::/64 fe80:10::2 > +2003::/64 fe80:10::3 > +]) > + > +# Test routes from lr1 and lr3 were learned to lr2 > +AT_CHECK([m_as ovn-central-az2-1 ovn-nbctl lr-route-list lr2 | > + grep learned | awk '{print $1, $2}' | sort], [0], [dnl > +10.0.1.0/24 169.254.251.1 > +10.0.3.0/24 169.254.251.3 > +2001::/64 fe80:10::1 > +2003::/64 fe80:10::3 > +]) > + > +# Test routes from lr1 and lr2 were learned to lr3 > +AT_CHECK([m_as ovn-central-az3-1 ovn-nbctl lr-route-list lr3 | > + grep learned | awk '{print $1, $2}' | sort], [0], [dnl > +10.0.1.0/24 169.254.251.1 > +10.0.2.0/24 169.254.251.2 > +2001::/64 fe80:10::1 > +2002::/64 fe80:10::2 > +]) > + > +# Ping IPv4 test Inter-AZ - AZ1 vs AZ2 > +M_NS_CHECK_EXEC([ovn-chassis-1], [sw1-az1-p1], [ping -q -c 3 -i 0.3 -w 2 10.0.2.3 | FORMAT_PING], \ > +[0], [dnl > +3 packets transmitted, 3 received, 0% packet loss, time 0ms > +]) > + > +# Ping IPv4 test Inter-AZ - AZ1 vs AZ3 > +M_NS_CHECK_EXEC([ovn-chassis-1], [sw1-az1-p1], [ping -q -c 3 -i 0.3 -w 2 10.0.3.3 | FORMAT_PING], \ > +[0], [dnl > +3 packets transmitted, 3 received, 0% packet loss, time 0ms > +]) > + > +# Ping IPv6 test Inter-AZ - AZ1 vs AZ2 > +M_NS_CHECK_EXEC([ovn-chassis-1], [sw1-az1-p1], [ping6 -q -c 3 -i 0.3 -w 2 2002::3 | FORMAT_PING], \ > +[0], [dnl > +3 packets transmitted, 3 received, 0% packet loss, time 0ms > +]) > + > +# Ping IPv6 test Inter-AZ - AZ1 vs AZ3 > +M_NS_CHECK_EXEC([ovn-chassis-1], [sw1-az1-p1], [ping6 -q -c 3 -i 0.3 -w 2 2003::3 | FORMAT_PING], \ > +[0], [dnl > +3 packets transmitted, 3 received, 0% packet loss, time 0ms > +]) > + > +AT_CLEANUP Regards, Dumitru
Hi, Sorry for the late reply. On Fri, Dec 6, 2024 at 12:05 PM Dumitru Ceara <dceara@redhat.com> wrote: > > On 10/22/24 8:33 PM, Tiago Pires via dev wrote: > > This commit add a new ovn-ic test for the ovn-fake-multinode with 3 AZs > > testing IPv4/IPv6 connectivity between them. > > > > Signed-off-by: Tiago Pires <tiago.pires@luizalabs.com> > > --- > > Hi Tiago, > > Sorry for the delay in reviewing this. > > > tests/multinode-macros.at | 80 +++++++++++++++++++++ > > tests/multinode.at | 141 ++++++++++++++++++++++++++++++++++++++ > > 2 files changed, 221 insertions(+) > > > > diff --git a/tests/multinode-macros.at b/tests/multinode-macros.at > > index 5b171885e..cafb9d967 100644 > > --- a/tests/multinode-macros.at > > +++ b/tests/multinode-macros.at > > @@ -54,6 +54,7 @@ m_central_as () { > > } > > > > check_fake_multinode_setup() { > > + skip_fake_node_multi_az_setup > > check m_as ovn-central-az1-1 ovn-nbctl --wait=sb sync > > AT_CHECK([m_as ovn-chassis-1 ovn-appctl -t ovn-controller version], [0], [ignore]) > > AT_CHECK([m_as ovn-chassis-2 ovn-appctl -t ovn-controller version], [0], [ignore]) > > @@ -189,4 +190,83 @@ m_wait_for_ports_up() { > > fi > > } > > > > +skip_fake_node_multi_az_setup() { > > + m_as ovn-central-az3-1 ovn-nbctl --wait=sb sync > > + if [[ $? == 0 ]] ; then > > + AT_CHECK([exit 77]) > > It took me some searching but I guess this is because of: > https://www.gnu.org/software/autoconf/manual/autoconf-2.66/html_node/Writing-Testsuites.html > > " > — Macro: AT_SKIP_IF (shell-condition) > > Determine whether the test should be skipped because it requires > features that are unsupported on the machine under test. shell-condition > is a shell expression such as a test command. Tests before AT_SKIP_IF > will be executed and may still cause the test group to fail. You can > instantiate this macro many times from within the same test group. > > You should use this macro only for very simple skip conditions. If the > shell-condition could emit any kind of output you should instead use > AT_CHECK like > > AT_CHECK([if shell-condition; then exit 77; fi]) > > so that such output is properly recorded in the testsuite.log file." > > > + fi > > +} > > + > > +check_fake_node_multi_az_setup() { > > + m_as ovn-central-az3-1 ovn-nbctl --wait=sb sync > > + if [[ $? != 0 ]] ; then > > + AT_CHECK([exit 77]) > > + fi > > + > > + # Check if the fake multinode setup is using SSL, it will > > + # skip if it is enabled. The cleanup will break the setup, > > + # so it is recommended to use without SSL in order to > > + # test the OVN IC with fake multinode setup. > > + m_as ovn-chassis-1 ovs-vsctl list open | grep "ssl:" > > + if [[ $? == 0 ]] ; then > > + AT_CHECK([exit 77]) > > + fi > > +} > > + > > +check_fake_multinode_setup_by_az() { > > + check_fake_node_multi_az_setup > > + > > + m_as ovn-central-az1-1 ovn-nbctl --wait=sb sync > > + m_as ovn-central-az2-1 ovn-nbctl --wait=sb sync > > + m_as ovn-central-az2-1 ovn-nbctl --wait=sb sync > > Should we prepend these 3 commands with "check "? > I will propose a new version and fix it! > > + > > + for c in $1 > > + do > > + m_as $c ovn-appctl -t ovn-controller version > > + done > > +} > > + > > +cleanup_multinode_resources_by_az() { > > + check_fake_node_multi_az_setup > > + m_as ovn-central-az1-1 rm -f /etc/ovn/ovnnb_db.db > > + m_as ovn-central-az1-1 /usr/share/ovn/scripts/ovn-ctl restart_northd > > + m_as ovn-central-az2-1 rm -f /etc/ovn/ovnnb_db.db > > + m_as ovn-central-az2-1 /usr/share/ovn/scripts/ovn-ctl restart_northd > > + m_as ovn-central-az3-1 rm -f /etc/ovn/ovnnb_db.db > > + m_as ovn-central-az3-1 /usr/share/ovn/scripts/ovn-ctl restart_northd > > + check m_as ovn-central-az1-1 ovn-nbctl --wait=sb sync > > + check m_as ovn-central-az2-1 ovn-nbctl --wait=sb sync > > + check m_as ovn-central-az3-1 ovn-nbctl --wait=sb sync > > + > > + for c in $1 > > + do > > + m_as $c ovs-vsctl del-br br-int > > + m_as $c ip --all netns delete > > Maybe also prepend check here? > I will propose a new version and fix it! > > + done > > +} > > + > > +configure_multinode_az() { > > + # Configure OVN IC by AZ > > + check m_as ovn-central-az1-1 ovn-nbctl set-connection ptcp:6641 > > + check m_as ovn-central-az1-1 ovn-sbctl set-connection ptcp:6642 > > + check m_as ovn-central-az1-1 ovn-nbctl set NB_Global . name=ovn-central-az1-1 > > + check m_as ovn-central-az1-1 ovn-nbctl set NB_Global . options:ic-route-adv=true \ > > + options:ic-route-learn=true > > + check m_as ovn-central-az2-1 ovn-nbctl set-connection ptcp:6641 > > + check m_as ovn-central-az2-1 ovn-sbctl set-connection ptcp:6642 > > + check m_as ovn-central-az2-1 ovn-nbctl set NB_Global . name=ovn-central-az2-1 > > + check m_as ovn-central-az2-1 ovn-nbctl set NB_Global . options:ic-route-adv=true \ > > + options:ic-route-learn=true > > + check m_as ovn-central-az3-1 ovn-nbctl set-connection ptcp:6641 > > + check m_as ovn-central-az3-1 ovn-sbctl set-connection ptcp:6642 > > + check m_as ovn-central-az3-1 ovn-nbctl set NB_Global . name=ovn-central-az3-1 > > + check m_as ovn-central-az3-1 ovn-nbctl set NB_Global . options:ic-route-adv=true \ > > + options:ic-route-learn=true > > + > > + # Configure OVN IC Gateway > > + check m_as ovn-gw-1 ovs-vsctl set open . external-ids:ovn-is-interconn=true > > + check m_as ovn-gw-2 ovs-vsctl set open . external-ids:ovn-is-interconn=true > > + check m_as ovn-gw-3 ovs-vsctl set open . external-ids:ovn-is-interconn=true > > +} > > + > > OVS_END_SHELL_HELPERS > > diff --git a/tests/multinode.at b/tests/multinode.at > > index 408e1118d..c43255c89 100644 > > --- a/tests/multinode.at > > +++ b/tests/multinode.at > > @@ -1591,3 +1591,144 @@ AT_CHECK([cat ch1_eth2.tcpdump], [0], [dnl > > ]) > > > > AT_CLEANUP > > + > > +AT_SETUP([ovn multinode - ovn-ic - inter-AZ IPv4/IPv6]) > > This test gets skipped in CI: > > ovn multinode - ovn-ic - inter-AZ IPv4/IPv6 skipped > (multinode-macros.at:239) > That is intentional, the CI will need to create the ovn-ic setup, maybe we can add it to the CI. > > + > > +# Check that ovn-fake-multinode setup is up and running - requires additional nodes > > +check_fake_multinode_setup_by_az 'ovn-chassis-1 ovn-chassis-2 ovn-chassis-3 ovn-gw-1 ovn-gw-2 ovn-gw-3' > > + > > +# Delete the multinode NB and OVS resources before starting the test. > > +cleanup_multinode_resources_by_az 'ovn-chassis-1 ovn-chassis-2 ovn-chassis-3 ovn-gw-1 ovn-gw-2 ovn-gw-3' > > + > > +# Configure OVN IC by AZ > > +configure_multinode_az > > + > > +# Test Inter-AZ routing > > + > > +# Create the Transit Switch > > +m_as ovn-central-az1-1 ovn-ic-nbctl ts-add ts-1 > > + > > +# AZ1 - Create one logical switch with one port > > +check m_as ovn-central-az1-1 ovn-nbctl ls-add sw1-az1 > > +check m_as ovn-central-az1-1 ovn-nbctl lsp-add sw1-az1 sw1-az1-port1 > > +check m_as ovn-central-az1-1 ovn-nbctl lsp-set-addresses sw1-az1-port1 "40:54:00:00:01:01 10.0.1.3 2001::3" > > + > > +# AZ1 - Create a logical router and attach the logical switch > > +check m_as ovn-central-az1-1 ovn-nbctl lr-add lr1 > > +check m_as ovn-central-az1-1 ovn-nbctl lrp-add lr1 lr1-sw1-az1 00:00:00:00:ff:01 10.0.1.1/24 2001::1/64 > > +check m_as ovn-central-az1-1 ovn-nbctl lsp-add sw1-az1 sw1-az1-lr1 > > +check m_as ovn-central-az1-1 ovn-nbctl lsp-set-type sw1-az1-lr1 router > > +check m_as ovn-central-az1-1 ovn-nbctl lsp-set-addresses sw1-az1-lr1 router > > +check m_as ovn-central-az1-1 ovn-nbctl lsp-set-options sw1-az1-lr1 router-port=lr1-sw1-az1 > > + > > +# AZ1 - Create the LRP, LSP and interconnect to the Transit Switch > > +check m_as ovn-central-az1-1 ovn-nbctl lrp-add lr1 lr1-ts-1 00:00:00:00:00:01 169.254.251.1/24 fe80:10::1/64 > > +check m_as ovn-central-az1-1 ovn-nbctl lrp-set-gateway-chassis lr1-ts-1 ovn-gw-1 > > +check m_as ovn-central-az1-1 ovn-nbctl lsp-add ts-1 lr1-lsp1 -- \ > > + lsp-set-addresses lr1-lsp1 router -- \ > > + lsp-set-type lr1-lsp1 router -- \ > > + lsp-set-options lr1-lsp1 router-port=lr1-ts-1 > > + > > +m_as ovn-chassis-1 ip link del sw1-az1-p1-p > > +m_as ovn-chassis-1 /data/create_fake_vm.sh sw1-az1-port1 sw1-az1-p1 40:54:00:00:01:01 1342 10.0.1.3 24 10.0.1.1 2001::3/64 2001::1 > > + > > +# AZ2 - Create one logical switch with one port > > +check m_as ovn-central-az2-1 ovn-nbctl ls-add sw1-az2 > > +check m_as ovn-central-az2-1 ovn-nbctl lsp-add sw1-az2 sw1-az2-port1 > > +check m_as ovn-central-az2-1 ovn-nbctl lsp-set-addresses sw1-az2-port1 "40:54:00:00:02:01 10.0.2.3 2002::3" > > + > > +# AZ2 - Create a logical router and attach the logical switch > > +check m_as ovn-central-az2-1 ovn-nbctl lr-add lr2 > > +check m_as ovn-central-az2-1 ovn-nbctl lrp-add lr2 lr2-sw1-az2 00:00:00:00:ff:02 10.0.2.1/24 2002::1/64 > > +check m_as ovn-central-az2-1 ovn-nbctl lsp-add sw1-az2 sw1-az2-lr2 > > +check m_as ovn-central-az2-1 ovn-nbctl lsp-set-type sw1-az2-lr2 router > > +check m_as ovn-central-az2-1 ovn-nbctl lsp-set-addresses sw1-az2-lr2 router > > +check m_as ovn-central-az2-1 ovn-nbctl lsp-set-options sw1-az2-lr2 router-port=lr2-sw1-az2 > > + > > +# AZ2 - Create the LRP, LSP and interconnect to the Transit Switch > > +check m_as ovn-central-az2-1 ovn-nbctl lrp-add lr2 lr2-ts-1 00:00:00:00:00:02 169.254.251.2/24 fe80:10::2/64 > > +check m_as ovn-central-az2-1 ovn-nbctl lrp-set-gateway-chassis lr2-ts-1 ovn-gw-2 > > +check m_as ovn-central-az2-1 ovn-nbctl lsp-add ts-1 lr2-lsp1 -- \ > > + lsp-set-addresses lr2-lsp1 router -- \ > > + lsp-set-type lr2-lsp1 router -- \ > > + lsp-set-options lr2-lsp1 router-port=lr2-ts-1 > > + > > +m_as ovn-chassis-2 ip link del sw1-az2-p1-p > > +m_as ovn-chassis-2 /data/create_fake_vm.sh sw1-az2-port1 sw1-az2-p1 40:54:00:00:02:01 1342 10.0.2.3 24 10.0.2.1 2002::3/64 2002::1 > > + > > +# AZ3 - Create one logical switch with one port > > +check m_as ovn-central-az3-1 ovn-nbctl ls-add sw1-az3 > > +check m_as ovn-central-az3-1 ovn-nbctl lsp-add sw1-az3 sw1-az3-port1 > > +check m_as ovn-central-az3-1 ovn-nbctl lsp-set-addresses sw1-az3-port1 "40:54:00:00:03:01 10.0.3.3 2003::3" > > + > > +# AZ3 - Create a logical router and attach the logical switch > > +check m_as ovn-central-az3-1 ovn-nbctl lr-add lr3 > > +check m_as ovn-central-az3-1 ovn-nbctl lrp-add lr3 lr3-sw1-az3 00:00:00:00:ff:03 10.0.3.1/24 2003::1/64 > > +check m_as ovn-central-az3-1 ovn-nbctl lsp-add sw1-az3 sw1-az3-lr3 > > +check m_as ovn-central-az3-1 ovn-nbctl lsp-set-type sw1-az3-lr3 router > > +check m_as ovn-central-az3-1 ovn-nbctl lsp-set-addresses sw1-az3-lr3 router > > +check m_as ovn-central-az3-1 ovn-nbctl lsp-set-options sw1-az3-lr3 router-port=lr3-sw1-az3 > > + > > +# AZ3 - Create the LRP, LSP and interconnect to the Transit Switch > > +check m_as ovn-central-az3-1 ovn-nbctl lrp-add lr3 lr3-ts-1 00:00:00:00:00:03 169.254.251.3/24 fe80:10::3/64 > > +check m_as ovn-central-az3-1 ovn-nbctl lrp-set-gateway-chassis lr3-ts-1 ovn-gw-3 > > +check m_as ovn-central-az3-1 ovn-nbctl lsp-add ts-1 lr3-lsp1 -- \ > > + lsp-set-addresses lr3-lsp1 router -- \ > > + lsp-set-type lr3-lsp1 router -- \ > > + lsp-set-options lr3-lsp1 router-port=lr3-ts-1 > > + > > +m_as ovn-chassis-1 ip link del sw1-az3-p1-p > > +m_as ovn-chassis-3 /data/create_fake_vm.sh sw1-az3-port1 sw1-az3-p1 40:54:00:00:03:01 1342 10.0.3.3 24 10.0.3.1 2003::3/64 2003::1 > > + > > +# Test routes from lr2 and lr3 were learned to lr1 > > +AT_CHECK([m_as ovn-central-az1-1 ovn-nbctl lr-route-list lr1 | > > + grep learned | awk '{print $1, $2}' | sort], [0], [dnl > > +10.0.2.0/24 169.254.251.2 > > +10.0.3.0/24 169.254.251.3 > > +2002::/64 fe80:10::2 > > +2003::/64 fe80:10::3 > > +]) > > + > > +# Test routes from lr1 and lr3 were learned to lr2 > > +AT_CHECK([m_as ovn-central-az2-1 ovn-nbctl lr-route-list lr2 | > > + grep learned | awk '{print $1, $2}' | sort], [0], [dnl > > +10.0.1.0/24 169.254.251.1 > > +10.0.3.0/24 169.254.251.3 > > +2001::/64 fe80:10::1 > > +2003::/64 fe80:10::3 > > +]) > > + > > +# Test routes from lr1 and lr2 were learned to lr3 > > +AT_CHECK([m_as ovn-central-az3-1 ovn-nbctl lr-route-list lr3 | > > + grep learned | awk '{print $1, $2}' | sort], [0], [dnl > > +10.0.1.0/24 169.254.251.1 > > +10.0.2.0/24 169.254.251.2 > > +2001::/64 fe80:10::1 > > +2002::/64 fe80:10::2 > > +]) > > + > > +# Ping IPv4 test Inter-AZ - AZ1 vs AZ2 > > +M_NS_CHECK_EXEC([ovn-chassis-1], [sw1-az1-p1], [ping -q -c 3 -i 0.3 -w 2 10.0.2.3 | FORMAT_PING], \ > > +[0], [dnl > > +3 packets transmitted, 3 received, 0% packet loss, time 0ms > > +]) > > + > > +# Ping IPv4 test Inter-AZ - AZ1 vs AZ3 > > +M_NS_CHECK_EXEC([ovn-chassis-1], [sw1-az1-p1], [ping -q -c 3 -i 0.3 -w 2 10.0.3.3 | FORMAT_PING], \ > > +[0], [dnl > > +3 packets transmitted, 3 received, 0% packet loss, time 0ms > > +]) > > + > > +# Ping IPv6 test Inter-AZ - AZ1 vs AZ2 > > +M_NS_CHECK_EXEC([ovn-chassis-1], [sw1-az1-p1], [ping6 -q -c 3 -i 0.3 -w 2 2002::3 | FORMAT_PING], \ > > +[0], [dnl > > +3 packets transmitted, 3 received, 0% packet loss, time 0ms > > +]) > > + > > +# Ping IPv6 test Inter-AZ - AZ1 vs AZ3 > > +M_NS_CHECK_EXEC([ovn-chassis-1], [sw1-az1-p1], [ping6 -q -c 3 -i 0.3 -w 2 2003::3 | FORMAT_PING], \ > > +[0], [dnl > > +3 packets transmitted, 3 received, 0% packet loss, time 0ms > > +]) > > + > > +AT_CLEANUP > > Regards, > Dumitru >
diff --git a/tests/multinode-macros.at b/tests/multinode-macros.at index 5b171885e..cafb9d967 100644 --- a/tests/multinode-macros.at +++ b/tests/multinode-macros.at @@ -54,6 +54,7 @@ m_central_as () { } check_fake_multinode_setup() { + skip_fake_node_multi_az_setup check m_as ovn-central-az1-1 ovn-nbctl --wait=sb sync AT_CHECK([m_as ovn-chassis-1 ovn-appctl -t ovn-controller version], [0], [ignore]) AT_CHECK([m_as ovn-chassis-2 ovn-appctl -t ovn-controller version], [0], [ignore]) @@ -189,4 +190,83 @@ m_wait_for_ports_up() { fi } +skip_fake_node_multi_az_setup() { + m_as ovn-central-az3-1 ovn-nbctl --wait=sb sync + if [[ $? == 0 ]] ; then + AT_CHECK([exit 77]) + fi +} + +check_fake_node_multi_az_setup() { + m_as ovn-central-az3-1 ovn-nbctl --wait=sb sync + if [[ $? != 0 ]] ; then + AT_CHECK([exit 77]) + fi + + # Check if the fake multinode setup is using SSL, it will + # skip if it is enabled. The cleanup will break the setup, + # so it is recommended to use without SSL in order to + # test the OVN IC with fake multinode setup. + m_as ovn-chassis-1 ovs-vsctl list open | grep "ssl:" + if [[ $? == 0 ]] ; then + AT_CHECK([exit 77]) + fi +} + +check_fake_multinode_setup_by_az() { + check_fake_node_multi_az_setup + + m_as ovn-central-az1-1 ovn-nbctl --wait=sb sync + m_as ovn-central-az2-1 ovn-nbctl --wait=sb sync + m_as ovn-central-az2-1 ovn-nbctl --wait=sb sync + + for c in $1 + do + m_as $c ovn-appctl -t ovn-controller version + done +} + +cleanup_multinode_resources_by_az() { + check_fake_node_multi_az_setup + m_as ovn-central-az1-1 rm -f /etc/ovn/ovnnb_db.db + m_as ovn-central-az1-1 /usr/share/ovn/scripts/ovn-ctl restart_northd + m_as ovn-central-az2-1 rm -f /etc/ovn/ovnnb_db.db + m_as ovn-central-az2-1 /usr/share/ovn/scripts/ovn-ctl restart_northd + m_as ovn-central-az3-1 rm -f /etc/ovn/ovnnb_db.db + m_as ovn-central-az3-1 /usr/share/ovn/scripts/ovn-ctl restart_northd + check m_as ovn-central-az1-1 ovn-nbctl --wait=sb sync + check m_as ovn-central-az2-1 ovn-nbctl --wait=sb sync + check m_as ovn-central-az3-1 ovn-nbctl --wait=sb sync + + for c in $1 + do + m_as $c ovs-vsctl del-br br-int + m_as $c ip --all netns delete + done +} + +configure_multinode_az() { + # Configure OVN IC by AZ + check m_as ovn-central-az1-1 ovn-nbctl set-connection ptcp:6641 + check m_as ovn-central-az1-1 ovn-sbctl set-connection ptcp:6642 + check m_as ovn-central-az1-1 ovn-nbctl set NB_Global . name=ovn-central-az1-1 + check m_as ovn-central-az1-1 ovn-nbctl set NB_Global . options:ic-route-adv=true \ + options:ic-route-learn=true + check m_as ovn-central-az2-1 ovn-nbctl set-connection ptcp:6641 + check m_as ovn-central-az2-1 ovn-sbctl set-connection ptcp:6642 + check m_as ovn-central-az2-1 ovn-nbctl set NB_Global . name=ovn-central-az2-1 + check m_as ovn-central-az2-1 ovn-nbctl set NB_Global . options:ic-route-adv=true \ + options:ic-route-learn=true + check m_as ovn-central-az3-1 ovn-nbctl set-connection ptcp:6641 + check m_as ovn-central-az3-1 ovn-sbctl set-connection ptcp:6642 + check m_as ovn-central-az3-1 ovn-nbctl set NB_Global . name=ovn-central-az3-1 + check m_as ovn-central-az3-1 ovn-nbctl set NB_Global . options:ic-route-adv=true \ + options:ic-route-learn=true + + # Configure OVN IC Gateway + check m_as ovn-gw-1 ovs-vsctl set open . external-ids:ovn-is-interconn=true + check m_as ovn-gw-2 ovs-vsctl set open . external-ids:ovn-is-interconn=true + check m_as ovn-gw-3 ovs-vsctl set open . external-ids:ovn-is-interconn=true +} + OVS_END_SHELL_HELPERS diff --git a/tests/multinode.at b/tests/multinode.at index 408e1118d..c43255c89 100644 --- a/tests/multinode.at +++ b/tests/multinode.at @@ -1591,3 +1591,144 @@ AT_CHECK([cat ch1_eth2.tcpdump], [0], [dnl ]) AT_CLEANUP + +AT_SETUP([ovn multinode - ovn-ic - inter-AZ IPv4/IPv6]) + +# Check that ovn-fake-multinode setup is up and running - requires additional nodes +check_fake_multinode_setup_by_az 'ovn-chassis-1 ovn-chassis-2 ovn-chassis-3 ovn-gw-1 ovn-gw-2 ovn-gw-3' + +# Delete the multinode NB and OVS resources before starting the test. +cleanup_multinode_resources_by_az 'ovn-chassis-1 ovn-chassis-2 ovn-chassis-3 ovn-gw-1 ovn-gw-2 ovn-gw-3' + +# Configure OVN IC by AZ +configure_multinode_az + +# Test Inter-AZ routing + +# Create the Transit Switch +m_as ovn-central-az1-1 ovn-ic-nbctl ts-add ts-1 + +# AZ1 - Create one logical switch with one port +check m_as ovn-central-az1-1 ovn-nbctl ls-add sw1-az1 +check m_as ovn-central-az1-1 ovn-nbctl lsp-add sw1-az1 sw1-az1-port1 +check m_as ovn-central-az1-1 ovn-nbctl lsp-set-addresses sw1-az1-port1 "40:54:00:00:01:01 10.0.1.3 2001::3" + +# AZ1 - Create a logical router and attach the logical switch +check m_as ovn-central-az1-1 ovn-nbctl lr-add lr1 +check m_as ovn-central-az1-1 ovn-nbctl lrp-add lr1 lr1-sw1-az1 00:00:00:00:ff:01 10.0.1.1/24 2001::1/64 +check m_as ovn-central-az1-1 ovn-nbctl lsp-add sw1-az1 sw1-az1-lr1 +check m_as ovn-central-az1-1 ovn-nbctl lsp-set-type sw1-az1-lr1 router +check m_as ovn-central-az1-1 ovn-nbctl lsp-set-addresses sw1-az1-lr1 router +check m_as ovn-central-az1-1 ovn-nbctl lsp-set-options sw1-az1-lr1 router-port=lr1-sw1-az1 + +# AZ1 - Create the LRP, LSP and interconnect to the Transit Switch +check m_as ovn-central-az1-1 ovn-nbctl lrp-add lr1 lr1-ts-1 00:00:00:00:00:01 169.254.251.1/24 fe80:10::1/64 +check m_as ovn-central-az1-1 ovn-nbctl lrp-set-gateway-chassis lr1-ts-1 ovn-gw-1 +check m_as ovn-central-az1-1 ovn-nbctl lsp-add ts-1 lr1-lsp1 -- \ + lsp-set-addresses lr1-lsp1 router -- \ + lsp-set-type lr1-lsp1 router -- \ + lsp-set-options lr1-lsp1 router-port=lr1-ts-1 + +m_as ovn-chassis-1 ip link del sw1-az1-p1-p +m_as ovn-chassis-1 /data/create_fake_vm.sh sw1-az1-port1 sw1-az1-p1 40:54:00:00:01:01 1342 10.0.1.3 24 10.0.1.1 2001::3/64 2001::1 + +# AZ2 - Create one logical switch with one port +check m_as ovn-central-az2-1 ovn-nbctl ls-add sw1-az2 +check m_as ovn-central-az2-1 ovn-nbctl lsp-add sw1-az2 sw1-az2-port1 +check m_as ovn-central-az2-1 ovn-nbctl lsp-set-addresses sw1-az2-port1 "40:54:00:00:02:01 10.0.2.3 2002::3" + +# AZ2 - Create a logical router and attach the logical switch +check m_as ovn-central-az2-1 ovn-nbctl lr-add lr2 +check m_as ovn-central-az2-1 ovn-nbctl lrp-add lr2 lr2-sw1-az2 00:00:00:00:ff:02 10.0.2.1/24 2002::1/64 +check m_as ovn-central-az2-1 ovn-nbctl lsp-add sw1-az2 sw1-az2-lr2 +check m_as ovn-central-az2-1 ovn-nbctl lsp-set-type sw1-az2-lr2 router +check m_as ovn-central-az2-1 ovn-nbctl lsp-set-addresses sw1-az2-lr2 router +check m_as ovn-central-az2-1 ovn-nbctl lsp-set-options sw1-az2-lr2 router-port=lr2-sw1-az2 + +# AZ2 - Create the LRP, LSP and interconnect to the Transit Switch +check m_as ovn-central-az2-1 ovn-nbctl lrp-add lr2 lr2-ts-1 00:00:00:00:00:02 169.254.251.2/24 fe80:10::2/64 +check m_as ovn-central-az2-1 ovn-nbctl lrp-set-gateway-chassis lr2-ts-1 ovn-gw-2 +check m_as ovn-central-az2-1 ovn-nbctl lsp-add ts-1 lr2-lsp1 -- \ + lsp-set-addresses lr2-lsp1 router -- \ + lsp-set-type lr2-lsp1 router -- \ + lsp-set-options lr2-lsp1 router-port=lr2-ts-1 + +m_as ovn-chassis-2 ip link del sw1-az2-p1-p +m_as ovn-chassis-2 /data/create_fake_vm.sh sw1-az2-port1 sw1-az2-p1 40:54:00:00:02:01 1342 10.0.2.3 24 10.0.2.1 2002::3/64 2002::1 + +# AZ3 - Create one logical switch with one port +check m_as ovn-central-az3-1 ovn-nbctl ls-add sw1-az3 +check m_as ovn-central-az3-1 ovn-nbctl lsp-add sw1-az3 sw1-az3-port1 +check m_as ovn-central-az3-1 ovn-nbctl lsp-set-addresses sw1-az3-port1 "40:54:00:00:03:01 10.0.3.3 2003::3" + +# AZ3 - Create a logical router and attach the logical switch +check m_as ovn-central-az3-1 ovn-nbctl lr-add lr3 +check m_as ovn-central-az3-1 ovn-nbctl lrp-add lr3 lr3-sw1-az3 00:00:00:00:ff:03 10.0.3.1/24 2003::1/64 +check m_as ovn-central-az3-1 ovn-nbctl lsp-add sw1-az3 sw1-az3-lr3 +check m_as ovn-central-az3-1 ovn-nbctl lsp-set-type sw1-az3-lr3 router +check m_as ovn-central-az3-1 ovn-nbctl lsp-set-addresses sw1-az3-lr3 router +check m_as ovn-central-az3-1 ovn-nbctl lsp-set-options sw1-az3-lr3 router-port=lr3-sw1-az3 + +# AZ3 - Create the LRP, LSP and interconnect to the Transit Switch +check m_as ovn-central-az3-1 ovn-nbctl lrp-add lr3 lr3-ts-1 00:00:00:00:00:03 169.254.251.3/24 fe80:10::3/64 +check m_as ovn-central-az3-1 ovn-nbctl lrp-set-gateway-chassis lr3-ts-1 ovn-gw-3 +check m_as ovn-central-az3-1 ovn-nbctl lsp-add ts-1 lr3-lsp1 -- \ + lsp-set-addresses lr3-lsp1 router -- \ + lsp-set-type lr3-lsp1 router -- \ + lsp-set-options lr3-lsp1 router-port=lr3-ts-1 + +m_as ovn-chassis-1 ip link del sw1-az3-p1-p +m_as ovn-chassis-3 /data/create_fake_vm.sh sw1-az3-port1 sw1-az3-p1 40:54:00:00:03:01 1342 10.0.3.3 24 10.0.3.1 2003::3/64 2003::1 + +# Test routes from lr2 and lr3 were learned to lr1 +AT_CHECK([m_as ovn-central-az1-1 ovn-nbctl lr-route-list lr1 | + grep learned | awk '{print $1, $2}' | sort], [0], [dnl +10.0.2.0/24 169.254.251.2 +10.0.3.0/24 169.254.251.3 +2002::/64 fe80:10::2 +2003::/64 fe80:10::3 +]) + +# Test routes from lr1 and lr3 were learned to lr2 +AT_CHECK([m_as ovn-central-az2-1 ovn-nbctl lr-route-list lr2 | + grep learned | awk '{print $1, $2}' | sort], [0], [dnl +10.0.1.0/24 169.254.251.1 +10.0.3.0/24 169.254.251.3 +2001::/64 fe80:10::1 +2003::/64 fe80:10::3 +]) + +# Test routes from lr1 and lr2 were learned to lr3 +AT_CHECK([m_as ovn-central-az3-1 ovn-nbctl lr-route-list lr3 | + grep learned | awk '{print $1, $2}' | sort], [0], [dnl +10.0.1.0/24 169.254.251.1 +10.0.2.0/24 169.254.251.2 +2001::/64 fe80:10::1 +2002::/64 fe80:10::2 +]) + +# Ping IPv4 test Inter-AZ - AZ1 vs AZ2 +M_NS_CHECK_EXEC([ovn-chassis-1], [sw1-az1-p1], [ping -q -c 3 -i 0.3 -w 2 10.0.2.3 | FORMAT_PING], \ +[0], [dnl +3 packets transmitted, 3 received, 0% packet loss, time 0ms +]) + +# Ping IPv4 test Inter-AZ - AZ1 vs AZ3 +M_NS_CHECK_EXEC([ovn-chassis-1], [sw1-az1-p1], [ping -q -c 3 -i 0.3 -w 2 10.0.3.3 | FORMAT_PING], \ +[0], [dnl +3 packets transmitted, 3 received, 0% packet loss, time 0ms +]) + +# Ping IPv6 test Inter-AZ - AZ1 vs AZ2 +M_NS_CHECK_EXEC([ovn-chassis-1], [sw1-az1-p1], [ping6 -q -c 3 -i 0.3 -w 2 2002::3 | FORMAT_PING], \ +[0], [dnl +3 packets transmitted, 3 received, 0% packet loss, time 0ms +]) + +# Ping IPv6 test Inter-AZ - AZ1 vs AZ3 +M_NS_CHECK_EXEC([ovn-chassis-1], [sw1-az1-p1], [ping6 -q -c 3 -i 0.3 -w 2 2003::3 | FORMAT_PING], \ +[0], [dnl +3 packets transmitted, 3 received, 0% packet loss, time 0ms +]) + +AT_CLEANUP
This commit add a new ovn-ic test for the ovn-fake-multinode with 3 AZs testing IPv4/IPv6 connectivity between them. Signed-off-by: Tiago Pires <tiago.pires@luizalabs.com> --- tests/multinode-macros.at | 80 +++++++++++++++++++++ tests/multinode.at | 141 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 221 insertions(+)