This case fails occasionally because although it waits until port binding is completed on HV, the patch port creation may not be completed yet on HV for the localnet port, so if the packets are sent out at this moment, the case will fail. This patch ensures patch port is created and then do another sync before sending the packet so that the ovn-controller is given a chance to handle the change and install related flows to OVS.
Signed-off-by: Han Zhou <[email protected]> --- tests/ovn.at | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/ovn.at b/tests/ovn.at index 8d9519e..2187f48 100644 --- a/tests/ovn.at +++ b/tests/ovn.at @@ -9111,6 +9111,8 @@ ovs-vsctl -- add-port br-int hv1-vif1 -- \ ofport-request=1 ovs-vsctl set open . external-ids:ovn-bridge-mappings=phys:br-phys +OVS_WAIT_UNTIL([ovs-vsctl show | grep 'patch-ln-public-to-br-int']) + OVS_WAIT_UNTIL([test x`ovn-nbctl lsp-get-up sw0_ip6-port1` = xup]) cr_uuid=`ovn-sbctl find port_binding logical_port=cr-ip6_public | grep _uuid | cut -f2 -d ":"` @@ -9118,6 +9120,9 @@ cr_uuid=`ovn-sbctl find port_binding logical_port=cr-ip6_public | grep _uuid | c chassis_uuid=`ovn-sbctl list chassis | grep _uuid | cut -f2 -d ":"` OVS_WAIT_UNTIL([test $chassis_uuid = `ovn-sbctl get port_binding $cr_uuid chassis`]) +# Allow some time for ovn-northd and ovn-controller to catch up. +ovn-nbctl --wait=hv --timeout=3 sync + trim_zeros() { sed 's/\(00\)\{1,\}$//' } -- 2.1.0 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
