Signed-off-by: Xavier Simonart <[email protected]>
---
v2: Add missing check after rebase, as spotted by Mark's review.
---
tests/ovn-ic.at | 168 ++++++++++++++++++++++++------------------------
1 file changed, 84 insertions(+), 84 deletions(-)
diff --git a/tests/ovn-ic.at b/tests/ovn-ic.at
index a5588c74d..72472396c 100644
--- a/tests/ovn-ic.at
+++ b/tests/ovn-ic.at
@@ -47,7 +47,7 @@ ovn_az_attach az1 n1 br-phys 192.168.1.1
check ovs-vsctl set open . external-ids:ovn-is-interconn=true
az_uuid=$(fetch_column ic-sb:availability-zone _uuid name="az1")
-ovn_as az1 ovn-nbctl set NB_Global . name="az2"
+check ovn_as az1 ovn-nbctl set NB_Global . name="az2"
check ovn-ic-nbctl --wait=sb sync
check_column "$az_uuid" ic-sb:availability-zone _uuid name="az2"
@@ -839,7 +839,7 @@ check ovn-nbctl lr-add lr1
check ovn-nbctl lrp-add lr1 lrp-lr1-ts1 aa:aa:aa:aa:aa:01 169.254.100.1/24
check ovn-nbctl --wait=hv lsp-add-router-port ts1 lsp-ts1-lr1 lrp-lr1-ts1
OVS_WAIT_UNTIL([ovn_as az2 ovn-nbctl show | grep lsp-ts1-lr1])
-ovn_as az2 ovn-nbctl lsp-set-options lsp-ts1-lr1 requested-chassis=gw1
+check ovn_as az2 ovn-nbctl lsp-set-options lsp-ts1-lr1 requested-chassis=gw1
OVS_WAIT_FOR_OUTPUT([ovn_as az2 ovn-nbctl show | uuidfilt], [0], [dnl
switch <0> (ts1)
@@ -855,7 +855,7 @@ lsp-ts1-lr1,remote
check ovn-nbctl lrp-set-gateway-chassis lrp-lr1-ts1 gw1
OVS_WAIT_UNTIL([ovn_as az2 ovn-sbctl show | grep lsp-ts1-lr1])
-ovn_as az2 ovn-nbctl lsp-set-options lsp-ts1-lr1 requested-chassis=""
+check ovn_as az2 ovn-nbctl lsp-set-options lsp-ts1-lr1 requested-chassis=""
check ovn-nbctl lrp-del-gateway-chassis lrp-lr1-ts1 gw1
OVS_WAIT_WHILE([ovn_as az2 ovn-sbctl show | grep lsp-ts1-lr1])
@@ -965,7 +965,7 @@ external_ids : {ic-learnt="true"}
])
# Update AZ1 address_set (add 2 new IPs and delete one) and check it is synced
to IC and AZ2.
-ovn_as az1 ovn-nbctl set Address_Set az1-as1
addresses=\"1.1.1.1\",\"1.1.1.3\",\"1.1.1.4\"
+check ovn_as az1 ovn-nbctl set Address_Set az1-as1
addresses=\"1.1.1.1\",\"1.1.1.3\",\"1.1.1.4\"
OVS_WAIT_FOR_OUTPUT([ovn-ic-sbctl --columns=addresses find Address_Set
name=az1-as1], [0], [dnl
addresses : [["1.1.1.1", "1.1.1.3", "1.1.1.4"]]
])
@@ -975,8 +975,8 @@ external_ids : {ic-learnt="true"}
])
# Add 2 new address-sets in AZ1 - one to advertise, another not to.
-ovn_as az1 ovn-nbctl create Address_Set name=az1-as2
addresses=\"1.1.2.1\",\"1.1.2.2\" options:ic-adv=true
-ovn_as az1 ovn-nbctl create Address_Set name=az1-as3
addresses=\"1.1.3.1\",\"1.1.3.2\"
+check_uuid ovn_as az1 ovn-nbctl create Address_Set name=az1-as2
addresses=\"1.1.2.1\",\"1.1.2.2\" options:ic-adv=true
+check_uuid ovn_as az1 ovn-nbctl create Address_Set name=az1-as3
addresses=\"1.1.3.1\",\"1.1.3.2\"
wait_row_count ic-sb:Address_Set 3
OVS_WAIT_FOR_OUTPUT([ovn-ic-sbctl --columns=addresses find Address_Set
name=az1-as2], [0], [dnl
addresses : [["1.1.2.1", "1.1.2.2"]]
@@ -991,7 +991,7 @@ AT_CHECK([ovn_as az2 ovn-nbctl
--columns=addresses,external_ids find Address_Set
])
# Now set the option field of the above address-set to advertise it.
-ovn_as az1 ovn-nbctl set Address_Set az1-as3 options={ic-adv=true}
+check ovn_as az1 ovn-nbctl set Address_Set az1-as3 options={ic-adv=true}
wait_row_count ic-sb:Address_Set 4
OVS_WAIT_FOR_OUTPUT([ovn-ic-sbctl --columns=addresses find Address_Set
name=az1-as3], [0], [dnl
addresses : [["1.1.3.1", "1.1.3.2"]]
@@ -1002,7 +1002,7 @@ external_ids : {ic-learnt="true"}
])
# Change the options of one of the address-sets to not advertise.
-ovn_as az1 ovn-nbctl set Address_Set az1-as2 options={ic-adv=false}
+check ovn_as az1 ovn-nbctl set Address_Set az1-as2 options={ic-adv=false}
wait_row_count ic-sb:Address_Set 3
AT_CHECK([ovn-ic-sbctl --columns=addresses find Address_Set name=az1-as2],
[0], [dnl
])
@@ -1010,7 +1010,7 @@ OVS_WAIT_FOR_OUTPUT([ovn_as az2 ovn-nbctl
--columns=addresses,external_ids find
])
# Delete one of the advertised address-sets in AZ1.
-ovn_as az1 ovn-nbctl destroy Address_Set az1-as3
+check ovn_as az1 ovn-nbctl destroy Address_Set az1-as3
wait_row_count ic-sb:Address_Set 2
AT_CHECK([ovn-ic-sbctl --columns=addresses find Address_Set name=az1-as3],
[0], [dnl
])
@@ -1018,7 +1018,7 @@ OVS_WAIT_FOR_OUTPUT([ovn_as az2 ovn-nbctl
--columns=addresses,external_ids find
])
# Add an IPv6 address-set in AZ2.
-ovn_as az2 ovn-nbctl create Address_Set name=az2-as2
addresses=\"2001:0db8:85a3:0000:0000:8a2e:0370:7334\",\"2001:0db8:85a3:0000:0000:8a2e:0370:7335\"
options:ic-adv=true
+check_uuid ovn_as az2 ovn-nbctl create Address_Set name=az2-as2
addresses=\"2001:0db8:85a3:0000:0000:8a2e:0370:7334\",\"2001:0db8:85a3:0000:0000:8a2e:0370:7335\"
options:ic-adv=true
wait_row_count ic-sb:Address_Set 3
OVS_WAIT_FOR_OUTPUT([ovn-ic-sbctl --columns=addresses find Address_Set
name=az2-as2], [0], [dnl
addresses : [["2001:0db8:85a3:0000:0000:8a2e:0370:7334",
"2001:0db8:85a3:0000:0000:8a2e:0370:7335"]]
@@ -1029,12 +1029,12 @@ external_ids : {ic-learnt="true"}
])
# Set the global option in AZ1 to not learn.
-ovn_as az1 ovn-nbctl set nb_global . options:ic-as-learn=false
+check ovn_as az1 ovn-nbctl set nb_global . options:ic-as-learn=false
OVS_WAIT_WHILE([ovn_as az1 ovn-nbctl list Address_Set | grep learnt])
ovn_as az1 wait_row_count nb:Address_Set 2
# Set the global option in AZ1 back to learn.
-ovn_as az1 ovn-nbctl set nb_global . options:ic-as-learn=true
+check ovn_as az1 ovn-nbctl set nb_global . options:ic-as-learn=true
OVS_WAIT_UNTIL([ovn_as az1 ovn-nbctl list Address_Set | grep learnt])
ovn_as az1 wait_row_count nb:Address_Set 4
OVS_WAIT_FOR_OUTPUT([ovn_as az1 ovn-nbctl --columns=addresses,external_ids
list Address_Set az2-as2], [0], [dnl
@@ -1047,14 +1047,14 @@ external_ids : {ic-learnt="true"}
])
# Set the global option in AZ2 to not advertise.
-ovn_as az2 ovn-nbctl set nb_global . options:ic-as-adv=false
+check ovn_as az2 ovn-nbctl set nb_global . options:ic-as-adv=false
wait_row_count ic-sb:Address_Set 1
AT_CHECK([ovn-ic-sbctl --columns=addresses find Address_Set name=az2-as1],
[0], [dnl])
AT_CHECK([ovn-ic-sbctl --columns=addresses find Address_Set name=az2-as2],
[0], [dnl])
OVS_WAIT_WHILE([ovn_as az1 ovn-nbctl list Address_Set | grep learnt])
# Set the global option in AZ2 back to advertise.
-ovn_as az2 ovn-nbctl set nb_global . options:ic-as-adv=true
+check ovn_as az2 ovn-nbctl set nb_global . options:ic-as-adv=true
wait_row_count ic-sb:Address_Set 3
ovn_as az1 wait_row_count nb:Address_Set 4
OVS_WAIT_FOR_OUTPUT([ovn-ic-sbctl --columns=addresses find Address_Set
name=az2-as1], [0], [dnl
@@ -1074,8 +1074,8 @@ external_ids : {ic-learnt="true"}
# Create an address-set in AZ1 and then try to advertise an address-set with
same name from AZ2.
# It will sync to IC-SB but will not propagate to AZ1.
-ovn_as az1 ovn-nbctl create Address_Set name=dup-as addresses=\"5.5.5.1\"
-ovn_as az2 ovn-nbctl create Address_Set name=dup-as addresses=\"5.5.5.2\"
options:ic-adv=true
+check_uuid ovn_as az1 ovn-nbctl create Address_Set name=dup-as
addresses=\"5.5.5.1\"
+check_uuid ovn_as az2 ovn-nbctl create Address_Set name=dup-as
addresses=\"5.5.5.2\" options:ic-adv=true
wait_row_count ic-sb:Address_Set 4
OVS_WAIT_FOR_OUTPUT([ovn-ic-sbctl --columns=addresses find Address_Set
name=dup-as], [0], [dnl
addresses : [["5.5.5.2"]]
@@ -1118,7 +1118,7 @@ external_ids : {ic-learnt="true"}
])
# Update AZ3's addresses; AZ1's merged set should reflect the change.
-ovn_as az3 ovn-nbctl set Address_Set shared-as \
+check ovn_as az3 ovn-nbctl set Address_Set shared-as \
addresses=\"7.7.7.1\",\"7.7.7.3\"
OVS_WAIT_FOR_OUTPUT([ovn_as az1 ovn-nbctl --columns=addresses \
list Address_Set shared-as], [0], [dnl
@@ -1170,7 +1170,7 @@ Route Table <main>:
])
# Delete route in AZ1, AZ2's learned route should be deleted.
-ovn_as az1 ovn-nbctl lr-route-del lr1 10.11.1.0/24
+check ovn_as az1 ovn-nbctl lr-route-del lr1 10.11.1.0/24
ovn-ic-nbctl --wait=sb sync
ovn-ic-nbctl --wait=sb sync
AT_CHECK([ovn_as az2 ovn-nbctl lr-route-list lr2 | grep -c learned], [1], [dnl
@@ -1178,7 +1178,7 @@ AT_CHECK([ovn_as az2 ovn-nbctl lr-route-list lr2 | grep
-c learned], [1], [dnl
])
# Add the route back
-ovn_as az1 ovn-nbctl lr-route-add lr1 10.11.1.0/24 169.254.0.1
+check ovn_as az1 ovn-nbctl lr-route-add lr1 10.11.1.0/24 169.254.0.1
ovn-ic-nbctl --wait=sb sync
ovn-ic-nbctl --wait=sb sync
AT_CHECK([ovn_as az2 ovn-nbctl lr-route-list lr2 | grep -c learned], [0], [dnl
@@ -1214,7 +1214,7 @@ OVS_WAIT_UNTIL([ovn_as az2 ovn-nbctl lr-route-list lr2 |
grep learned | grep 10.
OVS_WAIT_UNTIL([ovn_as az1 ovn-nbctl lr-route-list lr1 | grep learned | grep
10.11.2.0])
# Disable route-learning for AZ1
-ovn_as az1 ovn-nbctl set nb_global . options:ic-route-learn=false
+check ovn_as az1 ovn-nbctl set nb_global . options:ic-route-learn=false
ovn-ic-nbctl --wait=sb sync
AT_CHECK([ovn_as az1 ovn-nbctl lr-route-list lr1], [0], [dnl
IPv4 Routes
@@ -1227,7 +1227,7 @@ Route Table <main>:
AT_CHECK([ovn_as az2 ovn-nbctl lr-route-list lr2 | grep learned], [0],
[ignore])
# Disable route-advertising for AZ1
-ovn_as az1 ovn-nbctl set nb_global . options:ic-route-adv=false
+check ovn_as az1 ovn-nbctl set nb_global . options:ic-route-adv=false
# AZ2 shouldn't have the route learned, because AZ1 should have stopped
# advertising.
@@ -1241,11 +1241,11 @@ Route Table <main>:
])
# Add default route in AZ1
-ovn_as az1 ovn-nbctl lr-route-add lr1 0.0.0.0/0 169.254.0.3
+check ovn_as az1 ovn-nbctl lr-route-add lr1 0.0.0.0/0 169.254.0.3
# Re-enable router-advertising & learn for AZ1
-ovn_as az1 ovn-nbctl set nb_global . options:ic-route-adv=true
-ovn_as az1 ovn-nbctl set nb_global . options:ic-route-learn=true
+check ovn_as az1 ovn-nbctl set nb_global . options:ic-route-adv=true
+check ovn_as az1 ovn-nbctl set nb_global . options:ic-route-learn=true
check ovn-ic-nbctl --wait=sb sync
check ovn-ic-nbctl --wait=sb sync
@@ -1259,30 +1259,30 @@ Route Table <main>:
])
# Enable default route advertising in AZ1
-ovn_as az1 ovn-nbctl set nb_global . options:ic-route-adv-default=true
+check ovn_as az1 ovn-nbctl set nb_global . options:ic-route-adv-default=true
OVS_WAIT_UNTIL([ovn-ic-sbctl list route | grep 0.0.0.0])
# Enable default route learning in AZ2
-ovn_as az2 ovn-nbctl set nb_global . options:ic-route-learn-default=true
+check ovn_as az2 ovn-nbctl set nb_global . options:ic-route-learn-default=true
OVS_WAIT_UNTIL([ovn_as az2 ovn-nbctl lr-route-list lr2 | grep learned | grep
0.0.0.0])
# Test directly connected subnet route advertising.
-ovn_as az1 ovn-nbctl lrp-add lr1 lrp-lr1-ls1 aa:aa:aa:aa:bb:01 "192.168.0.1/24"
+check ovn_as az1 ovn-nbctl lrp-add lr1 lrp-lr1-ls1 aa:aa:aa:aa:bb:01
"192.168.0.1/24"
OVS_WAIT_UNTIL([ovn_as az2 ovn-nbctl lr-route-list lr2 | grep learned | grep
192.168])
# Delete the directly connected subnet from AZ1, learned route should be
# removed from AZ2.
-ovn_as az1 ovn-nbctl lrp-del lrp-lr1-ls1
+check ovn_as az1 ovn-nbctl lrp-del lrp-lr1-ls1
OVS_WAIT_WHILE([ovn_as az2 ovn-nbctl lr-route-list lr2 | grep learned | grep
192.168])
# Test denylist routes
# Add back the directly connected 192.168 route.
-ovn_as az1 ovn-nbctl lrp-add lr1 lrp-lr1-ls1 aa:aa:aa:aa:bb:01 "192.168.0.1/24"
+check ovn_as az1 ovn-nbctl lrp-add lr1 lrp-lr1-ls1 aa:aa:aa:aa:bb:01
"192.168.0.1/24"
OVS_WAIT_UNTIL([ovn_as az2 ovn-nbctl lr-route-list lr2 | grep learned | grep
192.168])
# Ensure AZ1 learned AZ2's 10.11.2.0 route as well.
OVS_WAIT_UNTIL([ovn_as az1 ovn-nbctl lr-route-list lr1 | grep learned | grep
10.11])
# Now black list 10.11.0.0/16 and 192.168.0.0/16 in AZ2.
-ovn_as az2 ovn-nbctl set nb_global .
options:ic-route-denylist="10.11.0.0/16,192.168.0.0/16"
+check ovn_as az2 ovn-nbctl set nb_global .
options:ic-route-denylist="10.11.0.0/16,192.168.0.0/16"
# AZ2 shouldn't learn 192.168 route any more.
OVS_WAIT_WHILE([ovn_as az2 ovn-nbctl lr-route-list lr2 | grep learned | grep
192.168])
# AZ1 shouldn't learn 10.11 any more.
@@ -1290,8 +1290,8 @@ OVS_WAIT_WHILE([ovn_as az1 ovn-nbctl lr-route-list lr1 |
grep learned | grep 10.
# cleanup
ovn-ic-nbctl --if-exists ts-del ts1
-ovn_as az1 ovn-nbctl lr-del lr1
-ovn_as az2 ovn-nbctl lr-del lr2
+check ovn_as az1 ovn-nbctl lr-del lr1
+check ovn_as az2 ovn-nbctl lr-del lr2
# Create new transit switches and LRs. Test topology is next:
# logical router (lr11) - transit switch (ts11) - logical router (lr12)
@@ -1322,9 +1322,9 @@ for i in 1 2; do
done
# Create directly-connected routes
-ovn_as az2 ovn-nbctl --wait=sb lrp-add lr12 lrp-lr12-ls2 aa:aa:aa:aa:bb:01
"192.168.0.1/24"
-ovn_as az2 ovn-nbctl lr-route-add lr12 10.10.10.0/24 192.168.0.10
-ovn_as az1 ovn-nbctl --wait=sb sync
+check ovn_as az2 ovn-nbctl --wait=sb lrp-add lr12 lrp-lr12-ls2
aa:aa:aa:aa:bb:01 "192.168.0.1/24"
+check ovn_as az2 ovn-nbctl lr-route-add lr12 10.10.10.0/24 192.168.0.10
+check ovn_as az1 ovn-nbctl --wait=sb sync
echo az1
ovn_as az1 ovn-nbctl show
@@ -1345,10 +1345,10 @@ AT_CHECK([ovn_as az1 ovn-nbctl lr-route-list lr21],
[0], [])
# cleanup
ovn-ic-nbctl --if-exists ts-del ts1
-ovn_as az1 ovn-nbctl lr-del lr11
-ovn_as az1 ovn-nbctl lr-del lr21
-ovn_as az2 ovn-nbctl lr-del lr12
-ovn_as az2 ovn-nbctl lr-del lr22
+check ovn_as az1 ovn-nbctl lr-del lr11
+check ovn_as az1 ovn-nbctl lr-del lr21
+check ovn_as az2 ovn-nbctl lr-del lr12
+check ovn_as az2 ovn-nbctl lr-del lr22
# check routes origin advertisement and learning
@@ -1991,15 +1991,15 @@ Route Table rtb1:
])
# Delete route in AZ1, AZ2's learned route should be deleted.
-ovn_as az1 ovn-nbctl --route-table=rtb1 lr-route-del lr1 10.11.1.0/24
+check ovn_as az1 ovn-nbctl --route-table=rtb1 lr-route-del lr1 10.11.1.0/24
OVS_WAIT_WHILE([ovn_as az2 ovn-nbctl --route-table=rtb1 lr-route-list lr2 |
grep learned])
# Add the route back
-ovn_as az1 ovn-nbctl --route-table=rtb1 lr-route-add lr1 10.11.1.0/24
169.254.0.1
+check ovn_as az1 ovn-nbctl --route-table=rtb1 lr-route-add lr1 10.11.1.0/24
169.254.0.1
OVS_WAIT_UNTIL([ovn_as az2 ovn-nbctl lr-route-list lr2 | grep learned])
# Disable route-learning for AZ1
-ovn_as az1 ovn-nbctl set nb_global . options:ic-route-learn=false
+check ovn_as az1 ovn-nbctl set nb_global . options:ic-route-learn=false
OVS_WAIT_WHILE([ovn_as az1 ovn-nbctl lr-route-list lr1 | grep learned])
AT_CHECK([ovn_as az1 ovn-nbctl lr-route-list lr1], [0], [dnl
IPv4 Routes
@@ -2019,17 +2019,17 @@ Route Table rtb1:
])
# Disable route-advertising for AZ1
-ovn_as az1 ovn-nbctl set nb_global . options:ic-route-adv=false
+check ovn_as az1 ovn-nbctl set nb_global . options:ic-route-adv=false
# AZ2 shouldn't have the route learned, because AZ1 have stopped advertising.
OVS_WAIT_WHILE([ovn_as az2 ovn-nbctl lr-route-list lr2 | grep learned])
# Add default route in AZ1
-ovn_as az1 ovn-nbctl --route-table=rtb1 lr-route-add lr1 0.0.0.0/0 169.254.0.3
+check ovn_as az1 ovn-nbctl --route-table=rtb1 lr-route-add lr1 0.0.0.0/0
169.254.0.3
# Re-enable router-advertising & learn for AZ1
-ovn_as az1 ovn-nbctl set nb_global . options:ic-route-adv=true
-ovn_as az1 ovn-nbctl set nb_global . options:ic-route-learn=true
+check ovn_as az1 ovn-nbctl set nb_global . options:ic-route-adv=true
+check ovn_as az1 ovn-nbctl set nb_global . options:ic-route-learn=true
for i in 1 2; do
OVS_WAIT_UNTIL([ovn_as az$i ovn-nbctl lr-route-list lr$i | grep learned])
@@ -2039,16 +2039,16 @@ done
AT_CHECK([ovn-ic-sbctl find route ip_prefix="0.0.0.0/0"], [0], [])
# Enable default route advertising in AZ1, ensure it advertised, but not
learned
-ovn_as az1 ovn-nbctl set nb_global . options:ic-route-adv-default=true
+check ovn_as az1 ovn-nbctl set nb_global . options:ic-route-adv-default=true
OVS_WAIT_UNTIL([ovn-ic-sbctl find route ip_prefix="0.0.0.0/0" route_table=rtb1
| grep 0.0.0.0])
OVS_WAIT_WHILE([ovn_as az2 ovn-nbctl --route-table=rtb1 lr-route-list lr2 |
grep learned | grep 0.0.0.0])
# Enable default route learning in AZ2
-ovn_as az2 ovn-nbctl set nb_global . options:ic-route-learn-default=true
+check ovn_as az2 ovn-nbctl set nb_global . options:ic-route-learn-default=true
OVS_WAIT_UNTIL([ovn_as az2 ovn-nbctl --route-table=rtb1 lr-route-list lr2 |
grep learned | grep 0.0.0.0])
# Test directly connected subnet route advertising. Route should go to <main>
route table.
-ovn_as az1 ovn-nbctl lrp-add lr1 lrp-lr1-ls1 aa:aa:aa:aa:bb:01 "192.168.0.1/24"
+check ovn_as az1 ovn-nbctl lrp-add lr1 lrp-lr1-ls1 aa:aa:aa:aa:bb:01
"192.168.0.1/24"
OVS_WAIT_UNTIL([ovn-ic-sbctl find route ip_prefix="192.168.0.1/24"
route_table="\"\"" | grep 192.168.0.1/24])
OVS_WAIT_UNTIL([ovn_as az2 ovn-nbctl lr-route-list lr2 | grep learned | grep
192.168])
AT_CHECK([ovn_as az2 ovn-nbctl lr-route-list lr2], [0], [dnl
@@ -2066,12 +2066,12 @@ Route Table rtb1:
# Delete the directly connected subnet from AZ1, learned route should be
# removed from AZ2.
-ovn_as az1 ovn-nbctl lrp-del lrp-lr1-ls1
+check ovn_as az1 ovn-nbctl lrp-del lrp-lr1-ls1
OVS_WAIT_WHILE([ovn_as az2 ovn-nbctl lr-route-list lr2 | grep learned | grep
192.168])
# Test denylist routes
# Add back the directly connected 192.168 route.
-ovn_as az1 ovn-nbctl lrp-add lr1 lrp-lr1-ls1 aa:aa:aa:aa:bb:01 "192.168.0.1/24"
+check ovn_as az1 ovn-nbctl lrp-add lr1 lrp-lr1-ls1 aa:aa:aa:aa:bb:01
"192.168.0.1/24"
OVS_WAIT_UNTIL([ovn_as az2 ovn-nbctl lr-route-list lr2 | grep learned | grep
192.168])
# Now add 10.11.0.0/16 and 192.168.0.0/16 to denylist in AZ2.
check ovn_as az2 ovn-nbctl set nb_global .
options:ic-route-denylist="10.11.0.0/16,192.168.0.0/16"
@@ -2168,13 +2168,13 @@ for i in 1 2; do
done
# Create directly-connected and static routes in VPC1
-ovn_as az2 ovn-nbctl lrp-add lr12 lrp-lr12 aa:aa:aa:aa:bb:01 "192.168.0.1/24"
-ovn_as az2 ovn-nbctl --route-table=rtb1 lr-route-add lr12 10.10.10.0/24
192.168.0.10
-ovn_as az2 ovn-nbctl --route-table=rtb2 lr-route-add lr12 10.10.10.0/24
192.168.0.11
-ovn_as az2 ovn-nbctl --route-table=rtb3 lr-route-add lr12 10.10.10.0/24
192.168.0.12
+check ovn_as az2 ovn-nbctl lrp-add lr12 lrp-lr12 aa:aa:aa:aa:bb:01
"192.168.0.1/24"
+check ovn_as az2 ovn-nbctl --route-table=rtb1 lr-route-add lr12 10.10.10.0/24
192.168.0.10
+check ovn_as az2 ovn-nbctl --route-table=rtb2 lr-route-add lr12 10.10.10.0/24
192.168.0.11
+check ovn_as az2 ovn-nbctl --route-table=rtb3 lr-route-add lr12 10.10.10.0/24
192.168.0.12
# Create directly-connected route in VPC2
-ovn_as az2 ovn-nbctl --wait=sb lrp-add lr22 lrp-lr22 aa:aa:aa:aa:bb:01
"192.168.0.1/24"
+check ovn_as az2 ovn-nbctl --wait=sb lrp-add lr22 lrp-lr22 aa:aa:aa:aa:bb:01
"192.168.0.1/24"
check ovn-ic-nbctl --wait=sb sync
check ovn-ic-nbctl --wait=sb sync
# Test direct routes from lr12 were learned to lr11
@@ -2297,13 +2297,13 @@ for i in 1 2; do
done
# Create directly-connected and static routes in VPC1
-ovn_as az2 ovn-nbctl lrp-add lr12 lrp-lr12 aa:aa:aa:aa:bb:01
"2001:db8:200::1/64"
-ovn_as az2 ovn-nbctl --route-table=rtb1 lr-route-add lr12 2001:db8:aaaa::/64
2001:db8:200::10
-ovn_as az2 ovn-nbctl --route-table=rtb2 lr-route-add lr12 2001:db8:aaaa::/64
2001:db8:200::11
-ovn_as az2 ovn-nbctl --route-table=rtb3 lr-route-add lr12 2001:db8:aaaa::/64
2001:db8:200::12
+check ovn_as az2 ovn-nbctl lrp-add lr12 lrp-lr12 aa:aa:aa:aa:bb:01
"2001:db8:200::1/64"
+check ovn_as az2 ovn-nbctl --route-table=rtb1 lr-route-add lr12
2001:db8:aaaa::/64 2001:db8:200::10
+check ovn_as az2 ovn-nbctl --route-table=rtb2 lr-route-add lr12
2001:db8:aaaa::/64 2001:db8:200::11
+check ovn_as az2 ovn-nbctl --route-table=rtb3 lr-route-add lr12
2001:db8:aaaa::/64 2001:db8:200::12
# Create directly-connected route in VPC2
-ovn_as az2 ovn-nbctl --wait=sb lrp-add lr22 lrp-lr22 aa:aa:aa:aa:bb:01
"2001:db8:200::1/64"
+check ovn_as az2 ovn-nbctl --wait=sb lrp-add lr22 lrp-lr22 aa:aa:aa:aa:bb:01
"2001:db8:200::1/64"
# Test direct routes from lr12 were learned to lr11
#
@@ -2460,9 +2460,9 @@ for i in 1 2; do
done
# Create directly-connected routes
-ovn_as az1 ovn-nbctl lrp-add lr11 lrp-lr11 aa:aa:aa:aa:bb:01 "192.168.0.1/24"
-ovn_as az2 ovn-nbctl lrp-add lr21 lrp-lr21 aa:aa:aa:aa:bc:01 "192.168.1.1/24"
-ovn_as az2 ovn-nbctl --wait=sb lrp-add lr22 lrp-lr22 aa:aa:aa:aa:bc:02
"192.168.2.1/24"
+check ovn_as az1 ovn-nbctl lrp-add lr11 lrp-lr11 aa:aa:aa:aa:bb:01
"192.168.0.1/24"
+check ovn_as az2 ovn-nbctl lrp-add lr21 lrp-lr21 aa:aa:aa:aa:bc:01
"192.168.1.1/24"
+check ovn_as az2 ovn-nbctl --wait=sb lrp-add lr22 lrp-lr22 aa:aa:aa:aa:bc:02
"192.168.2.1/24"
# Test direct routes from lr21 and lr22 were learned to lr11
check ovn-ic-nbctl --wait=sb sync
@@ -3602,10 +3602,10 @@ for i in 1 2; do
done
# Create directly-connected route in VPC1
-ovn_as az2 ovn-nbctl lrp-add lr12 lrp-lr12 aa:aa:aa:aa:bb:01 "192.168.0.1/24"
+check ovn_as az2 ovn-nbctl lrp-add lr12 lrp-lr12 aa:aa:aa:aa:bb:01
"192.168.0.1/24"
# Create directly-connected route in VPC2
-ovn_as az2 ovn-nbctl --wait=sb lrp-add lr22 lrp-lr22 aa:aa:aa:aa:cc:01
"192.168.1.1/24"
+check ovn_as az2 ovn-nbctl --wait=sb lrp-add lr22 lrp-lr22 aa:aa:aa:aa:cc:01
"192.168.1.1/24"
check ovn-ic-nbctl --wait=sb sync
@@ -3664,14 +3664,14 @@ OVS_WAIT_FOR_OUTPUT([ovn_as az1 ovn-nbctl lr-route-list
lr21 | grep 192.168 |
])
# VPC1: Create a route tag for VPC1 mark its own routes via lrp-lr12
-ovn_as az2 ovn-nbctl set logical_router_port lrp-lr12-tspeer
options:ic-route-tag=vpc1
+check ovn_as az2 ovn-nbctl set logical_router_port lrp-lr12-tspeer
options:ic-route-tag=vpc1
# Test advertised routes with the vpc1 route tag present
ovn-ic-sbctl list route
wait_row_count ic-sb:Route 1 ip_prefix=192.168.0.1/24 nexthop=169.254.103.12
origin=connected external_ids:ic-route-tag=vpc1
# Filter routes on VPC1 lrp-lr11-tspeer with the route tag vpc1 present
-ovn_as az1 ovn-nbctl set logical_router_port lrp-lr11-tspeer
options:ic-route-filter-tag=vpc1
+check ovn_as az1 ovn-nbctl set logical_router_port lrp-lr11-tspeer
options:ic-route-filter-tag=vpc1
# Test remaining direct routes from lr12 were learned to lr11
# Routes from the 169.254.101.2 nexthop have been filtered
@@ -3683,7 +3683,7 @@ OVS_WAIT_FOR_OUTPUT([ovn_as az1 ovn-nbctl lr-route-list
lr11 | grep 192.168 |
])
# Remove the route tag used for advertisement
-ovn_as az2 ovn-nbctl remove logical_router_port lrp-lr12-tspeer options
ic-route-tag=vpc1
+check ovn_as az2 ovn-nbctl remove logical_router_port lrp-lr12-tspeer options
ic-route-tag=vpc1
# Test advertised routes with the vpc1 route tag present
ovn-ic-sbctl list route
@@ -3699,8 +3699,8 @@ OVS_WAIT_FOR_OUTPUT([ovn_as az1 ovn-nbctl lr-route-list
lr11 | grep 192.168 |
])
# Remove route tag filter and add route tag on lrp-lr12-tspeer advertised
routes
-ovn_as az1 ovn-nbctl remove logical_router_port lrp-lr11-tspeer options
ic-route-filter-tag=vpc1
-ovn_as az2 ovn-nbctl set logical_router_port lrp-lr12-tspeer
options:ic-route-tag=vpc1
+check ovn_as az1 ovn-nbctl remove logical_router_port lrp-lr11-tspeer options
ic-route-filter-tag=vpc1
+check ovn_as az2 ovn-nbctl set logical_router_port lrp-lr12-tspeer
options:ic-route-tag=vpc1
# Test if all the routes are learned because we no longer have the filter tag
option enabled
OVS_WAIT_FOR_OUTPUT([ovn_as az1 ovn-nbctl lr-route-list lr11 | grep 192.168 |
@@ -3778,7 +3778,7 @@ OVS_WAIT_FOR_OUTPUT([ovn_as az1 ovn-nbctl lr-route-list
lr1 | grep 192.168 |
# Allow the vpc2 route tag only. The route tagged with vpc3 and the untagged
# one are not learned.
-ovn_as az1 ovn-nbctl set logical_router_port lrp-lr1-ts1 \
+check ovn_as az1 ovn-nbctl set logical_router_port lrp-lr1-ts1 \
options:ic-route-learn-tag-rules="allow:vpc2"
OVS_WAIT_FOR_OUTPUT([ovn_as az1 ovn-nbctl lr-route-list lr1 | grep 192.168 |
grep learned | awk '{print $1, $2}' | sort ], [0], [dnl
@@ -3786,7 +3786,7 @@ OVS_WAIT_FOR_OUTPUT([ovn_as az1 ovn-nbctl lr-route-list
lr1 | grep 192.168 |
])
# Allow both route tags. Only the untagged route is not learned.
-ovn_as az1 ovn-nbctl set logical_router_port lrp-lr1-ts1 \
+check ovn_as az1 ovn-nbctl set logical_router_port lrp-lr1-ts1 \
options:ic-route-learn-tag-rules="allow:vpc2,vpc3"
OVS_WAIT_FOR_OUTPUT([ovn_as az1 ovn-nbctl lr-route-list lr1 | grep 192.168 |
grep learned | awk '{print $1, $2}' | sort ], [0], [dnl
@@ -3796,7 +3796,7 @@ OVS_WAIT_FOR_OUTPUT([ovn_as az1 ovn-nbctl lr-route-list
lr1 | grep 192.168 |
# Block the vpc2 route tag. Every other route, the untagged one included, is
# learned.
-ovn_as az1 ovn-nbctl set logical_router_port lrp-lr1-ts1 \
+check ovn_as az1 ovn-nbctl set logical_router_port lrp-lr1-ts1 \
options:ic-route-learn-tag-rules="block:vpc2"
OVS_WAIT_FOR_OUTPUT([ovn_as az1 ovn-nbctl lr-route-list lr1 | grep 192.168 |
grep learned | awk '{print $1, $2}' | sort ], [0], [dnl
@@ -3805,7 +3805,7 @@ OVS_WAIT_FOR_OUTPUT([ovn_as az1 ovn-nbctl lr-route-list
lr1 | grep 192.168 |
])
# Block both route tags. Only the untagged route is learned.
-ovn_as az1 ovn-nbctl set logical_router_port lrp-lr1-ts1 \
+check ovn_as az1 ovn-nbctl set logical_router_port lrp-lr1-ts1 \
options:ic-route-learn-tag-rules="block:vpc2,vpc3"
OVS_WAIT_FOR_OUTPUT([ovn_as az1 ovn-nbctl lr-route-list lr1 | grep 192.168 |
grep learned | awk '{print $1, $2}' | sort ], [0], [dnl
@@ -3816,7 +3816,7 @@ OVS_WAIT_FOR_OUTPUT([ovn_as az1 ovn-nbctl lr-route-list
lr1 | grep 192.168 |
# is honored and everything after it is a route tag name. So allowing vpc2 and
# blocking vpc3 in the same value allows vpc2 and the "block:vpc3" tag, and the
# route tagged with vpc3 is not learned because it is not allowed.
-ovn_as az1 ovn-nbctl set logical_router_port lrp-lr1-ts1 \
+check ovn_as az1 ovn-nbctl set logical_router_port lrp-lr1-ts1 \
options:ic-route-learn-tag-rules="allow:vpc2,block:vpc3"
OVS_WAIT_FOR_OUTPUT([ovn_as az1 ovn-nbctl lr-route-list lr1 | grep 192.168 |
grep learned | awk '{print $1, $2}' | sort ], [0], [dnl
@@ -3825,7 +3825,7 @@ OVS_WAIT_FOR_OUTPUT([ovn_as az1 ovn-nbctl lr-route-list
lr1 | grep 192.168 |
# The same the other way around: vpc2 and the "allow:vpc3" tag are blocked, so
# the route tagged with vpc3 is learned.
-ovn_as az1 ovn-nbctl set logical_router_port lrp-lr1-ts1 \
+check ovn_as az1 ovn-nbctl set logical_router_port lrp-lr1-ts1 \
options:ic-route-learn-tag-rules="block:vpc2,allow:vpc3"
OVS_WAIT_FOR_OUTPUT([ovn_as az1 ovn-nbctl lr-route-list lr1 | grep 192.168 |
grep learned | awk '{print $1, $2}' | sort ], [0], [dnl
@@ -3835,7 +3835,7 @@ OVS_WAIT_FOR_OUTPUT([ovn_as az1 ovn-nbctl lr-route-list
lr1 | grep 192.168 |
# A value that uses neither the allow: nor the block: prefix is invalid and is
# ignored, so every route is learned again.
-ovn_as az1 ovn-nbctl set logical_router_port lrp-lr1-ts1 \
+check ovn_as az1 ovn-nbctl set logical_router_port lrp-lr1-ts1 \
options:ic-route-learn-tag-rules="vpc2"
OVS_WAIT_FOR_OUTPUT([ovn_as az1 ovn-nbctl lr-route-list lr1 | grep 192.168 |
grep learned | awk '{print $1, $2}' | sort ], [0], [dnl
@@ -3847,7 +3847,7 @@ OVS_WAIT_UNTIL([grep -q "Ignoring invalid
ic-route-learn-tag-rules value" \
az1/ic/ovn-ic.log])
# A value with an empty route tag list is invalid and is ignored as well.
-ovn_as az1 ovn-nbctl set logical_router_port lrp-lr1-ts1 \
+check ovn_as az1 ovn-nbctl set logical_router_port lrp-lr1-ts1 \
options:ic-route-learn-tag-rules="allow:"
OVS_WAIT_UNTIL([grep -q "no route tag specified" az1/ic/ovn-ic.log])
OVS_WAIT_FOR_OUTPUT([ovn_as az1 ovn-nbctl lr-route-list lr1 | grep 192.168 |
@@ -3859,9 +3859,9 @@ OVS_WAIT_FOR_OUTPUT([ovn_as az1 ovn-nbctl lr-route-list
lr1 | grep 192.168 |
# The deprecated ic-route-filter-tag option is still honored on its own: the
# route tagged with vpc3 is not learned.
-ovn_as az1 ovn-nbctl remove logical_router_port lrp-lr1-ts1 options \
+check ovn_as az1 ovn-nbctl remove logical_router_port lrp-lr1-ts1 options \
ic-route-learn-tag-rules
-ovn_as az1 ovn-nbctl set logical_router_port lrp-lr1-ts1 \
+check ovn_as az1 ovn-nbctl set logical_router_port lrp-lr1-ts1 \
options:ic-route-filter-tag="vpc3"
OVS_WAIT_FOR_OUTPUT([ovn_as az1 ovn-nbctl lr-route-list lr1 | grep 192.168 |
grep learned | awk '{print $1, $2}' | sort ], [0], [dnl
@@ -3872,7 +3872,7 @@ OVS_WAIT_UNTIL([grep -q "The ic-route-filter-tag option
of logical router port l
# The learn tag rules take precedence over the deprecated option: the route
# tagged with vpc3 is learned again as ic-route-filter-tag is now ignored.
-ovn_as az1 ovn-nbctl set logical_router_port lrp-lr1-ts1 \
+check ovn_as az1 ovn-nbctl set logical_router_port lrp-lr1-ts1 \
options:ic-route-learn-tag-rules="allow:vpc2,vpc3"
OVS_WAIT_FOR_OUTPUT([ovn_as az1 ovn-nbctl lr-route-list lr1 | grep 192.168 |
grep learned | awk '{print $1, $2}' | sort ], [0], [dnl
@@ -3882,9 +3882,9 @@ OVS_WAIT_FOR_OUTPUT([ovn_as az1 ovn-nbctl lr-route-list
lr1 | grep 192.168 |
OVS_WAIT_UNTIL([grep -q "The deprecated ic-route-filter-tag option of logical
router port lrp-lr1-ts1 is ignored" az1/ic/ovn-ic.log])
# Remove both filtering options. Every route is learned again.
-ovn_as az1 ovn-nbctl remove logical_router_port lrp-lr1-ts1 options \
+check ovn_as az1 ovn-nbctl remove logical_router_port lrp-lr1-ts1 options \
ic-route-learn-tag-rules
-ovn_as az1 ovn-nbctl remove logical_router_port lrp-lr1-ts1 options \
+check ovn_as az1 ovn-nbctl remove logical_router_port lrp-lr1-ts1 options \
ic-route-filter-tag
OVS_WAIT_FOR_OUTPUT([ovn_as az1 ovn-nbctl lr-route-list lr1 | grep 192.168 |
grep learned | awk '{print $1, $2}' | sort ], [0], [dnl
--
2.47.1
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev