From patchwork Wed Nov 4 07:02:38 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ben Pfaff X-Patchwork-Id: 1393681 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org (client-ip=140.211.166.136; helo=silver.osuosl.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=ovn.org Received: from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4CQyLF4BzTz9sT6 for ; Wed, 4 Nov 2020 18:03:49 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id B28C02E195; Wed, 4 Nov 2020 07:03:47 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from silver.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 13tpbQbRpr0z; Wed, 4 Nov 2020 07:03:32 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by silver.osuosl.org (Postfix) with ESMTP id A478D22BCC; Wed, 4 Nov 2020 07:03:07 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 8AE24C088B; Wed, 4 Nov 2020 07:03:07 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by lists.linuxfoundation.org (Postfix) with ESMTP id 7C623C0051 for ; Wed, 4 Nov 2020 07:03:06 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id 76972864A6 for ; Wed, 4 Nov 2020 07:03:06 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id HRcBHsBPo5HG for ; Wed, 4 Nov 2020 07:03:03 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from relay7-d.mail.gandi.net (relay7-d.mail.gandi.net [217.70.183.200]) by fraxinus.osuosl.org (Postfix) with ESMTPS id AF02C86211 for ; Wed, 4 Nov 2020 07:03:01 +0000 (UTC) X-Originating-IP: 75.54.222.30 Received: from sigfpe.attlocal.net (75-54-222-30.lightspeed.rdcyca.sbcglobal.net [75.54.222.30]) (Authenticated sender: blp@ovn.org) by relay7-d.mail.gandi.net (Postfix) with ESMTPSA id D89A92000A; Wed, 4 Nov 2020 07:02:58 +0000 (UTC) From: Ben Pfaff To: dev@openvswitch.org Date: Tue, 3 Nov 2020 23:02:38 -0800 Message-Id: <20201104070246.2847579-5-blp@ovn.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201104070246.2847579-1-blp@ovn.org> References: <20201104070246.2847579-1-blp@ovn.org> MIME-Version: 1.0 Cc: Ben Pfaff Subject: [ovs-dev] [PATCH ovn 04/12] tests: More careful checking. X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ovs-dev-bounces@openvswitch.org Sender: "dev" This commit adds further use of "check" and other ways to make sure that commands run during a test succeed. Signed-off-by: Ben Pfaff --- tests/ovn.at | 125 +++++++++++++++++++++------------------------------ 1 file changed, 52 insertions(+), 73 deletions(-) diff --git a/tests/ovn.at b/tests/ovn.at index 8686e133241c..ffd86270f7c1 100644 --- a/tests/ovn.at +++ b/tests/ovn.at @@ -17125,10 +17125,7 @@ send_igmp_v3_report hv1-vif4 hv1 \ /dev/null # Check that the IGMP Group is learned by all switches. -OVS_WAIT_UNTIL([ - total_entries=`ovn-sbctl find IGMP_Group | grep "239.0.1.68" -c` - test "${total_entries}" = "3" -]) +wait_row_count IGMP_Group 3 address=239.0.1.68 check ovn-nbctl --wait=hv sync # Send traffic from sw3 and make sure it is relayed by rtr @@ -17191,10 +17188,7 @@ OVS_WAIT_UNTIL( ovn-sbctl ip-multicast-flush sw1 ovn-sbctl ip-multicast-flush sw2 ovn-sbctl ip-multicast-flush sw3 -OVS_WAIT_UNTIL([ - total_entries=`ovn-sbctl find IGMP_Group | grep "239.0.1.68" -c` - test "${total_entries}" = "0" -]) +wait_row_count IGMP_Group 0 address=239.0.1.68 check ovn-nbctl --wait=hv sync as hv1 reset_pcap_file hv1-vif1 hv1/vif1 @@ -17230,10 +17224,7 @@ send_igmp_v3_report hv1-vif2 hv1 \ expected_reports # Check that the IGMP Group is learned. -OVS_WAIT_UNTIL([ - total_entries=`ovn-sbctl find IGMP_Group | grep "239.0.1.68" -c` - test "${total_entries}" = "1" -]) +wait_row_count IGMP_Group 1 address=239.0.1.68 check ovn-nbctl --wait=hv sync # Send traffic from sw1-p21 @@ -17283,30 +17274,18 @@ as hv2 ovs-vsctl set open . external_ids:ovn-monitor-all=true as hv3 ovs-vsctl set open . external_ids:ovn-monitor-all=true # Wait until ovn-monitor-all is processed by ovn-controller. -OVS_WAIT_UNTIL([ - test $(ovn-sbctl get chassis hv1 other_config:ovn-monitor-all) = '"true"' -]) -OVS_WAIT_UNTIL([ - test $(ovn-sbctl get chassis hv2 other_config:ovn-monitor-all) = '"true"' -]) -OVS_WAIT_UNTIL([ - test $(ovn-sbctl get chassis hv3 other_config:ovn-monitor-all) = '"true"' -]) +wait_row_count Chassis 1 name=hv1 other_config:ovn-monitor-all='"true"' +wait_row_count Chassis 1 name=hv2 other_config:ovn-monitor-all='"true"' +wait_row_count Chassis 1 name=hv3 other_config:ovn-monitor-all='"true"' # Inject a fake IGMP_Group entry. -dp=$(ovn-sbctl --bare --columns _uuid list Datapath_Binding sw3) -ch=$(ovn-sbctl --bare --columns _uuid list Chassis hv3) -ovn-sbctl create IGMP_Group address="239.0.1.42" datapath=$dp chassis=$ch +dp=$(fetch_column Datapath_Binding _uuid external_ids:name=sw2) +ch=$(fetch_column Chassis _uuid name=hv3) +ovn-sbctl create IGMP_Group address=239.0.1.42 datapath=$dp chassis=$ch ovn-nbctl --wait=hv sync -OVS_WAIT_UNTIL([ - total_entries=`ovn-sbctl find IGMP_Group | grep "239.0.1.68" -c` - test "${total_entries}" = "1" -]) -OVS_WAIT_UNTIL([ - total_entries=`ovn-sbctl find IGMP_Group | grep "239.0.1.42" -c` - test "${total_entries}" = "1" -]) +wait_row_count IGMP_Group 1 address=239.0.1.68 +wait_row_count IGMP_Group 1 address=239.0.1.42 OVN_CLEANUP([hv1], [hv2], [hv3]) AT_CLEANUP @@ -17443,28 +17422,28 @@ store_ip_multicast_pkt() { echo ${packet} >> ${outfile} } -ovn-nbctl ls-add sw1 -ovn-nbctl ls-add sw2 -ovn-nbctl ls-add sw3 - -ovn-nbctl lsp-add sw1 sw1-p11 -ovn-nbctl lsp-add sw1 sw1-p12 -ovn-nbctl lsp-add sw1 sw1-p21 -ovn-nbctl lsp-add sw1 sw1-p22 -ovn-nbctl lsp-add sw2 sw2-p1 -ovn-nbctl lsp-add sw2 sw2-p2 -ovn-nbctl lsp-add sw3 sw3-p1 -ovn-nbctl lsp-add sw3 sw3-p2 -ovn-nbctl lsp-add sw3 sw3-ln \ +check ovn-nbctl ls-add sw1 +check ovn-nbctl ls-add sw2 +check ovn-nbctl ls-add sw3 + +check ovn-nbctl lsp-add sw1 sw1-p11 +check ovn-nbctl lsp-add sw1 sw1-p12 +check ovn-nbctl lsp-add sw1 sw1-p21 +check ovn-nbctl lsp-add sw1 sw1-p22 +check ovn-nbctl lsp-add sw2 sw2-p1 +check ovn-nbctl lsp-add sw2 sw2-p2 +check ovn-nbctl lsp-add sw3 sw3-p1 +check ovn-nbctl lsp-add sw3 sw3-p2 +check ovn-nbctl lsp-add sw3 sw3-ln \ -- lsp-set-type sw3-ln localnet \ -- lsp-set-options sw3-ln network_name=phys -ovn-nbctl lr-add rtr -ovn-nbctl lrp-add rtr rtr-sw1 00:00:00:00:01:00 10::fe/64 -ovn-nbctl lrp-add rtr rtr-sw2 00:00:00:00:02:00 20::fe/64 -ovn-nbctl lrp-add rtr rtr-sw3 00:00:00:00:03:00 30::fe/64 +check ovn-nbctl lr-add rtr +check ovn-nbctl lrp-add rtr rtr-sw1 00:00:00:00:01:00 10::fe/64 +check ovn-nbctl lrp-add rtr rtr-sw2 00:00:00:00:02:00 20::fe/64 +check ovn-nbctl lrp-add rtr rtr-sw3 00:00:00:00:03:00 30::fe/64 -ovn-nbctl lsp-add sw1 sw1-rtr \ +check ovn-nbctl lsp-add sw1 sw1-rtr \ -- lsp-set-type sw1-rtr router \ -- lsp-set-addresses sw1-rtr 00:00:00:00:01:00 \ -- lsp-set-options sw1-rtr router-port=rtr-sw1 @@ -17480,17 +17459,17 @@ check ovn-nbctl lsp-add sw3 sw3-rtr \ # Conntrack marks all IPv6 Neighbor Discovery and MLD packets as invalid, # make sure to test that conntrack is bypassed for MLD by adding an empty # allow-related ACL and an empty load balancer. -ovn-nbctl acl-add sw1 from-lport 1 "1" allow-related -ovn-nbctl acl-add sw2 from-lport 1 "1" allow-related -ovn-nbctl acl-add sw3 from-lport 1 "1" allow-related -ovn-nbctl acl-add sw1 to-lport 1 "1" allow-related -ovn-nbctl acl-add sw2 to-lport 1 "1" allow-related -ovn-nbctl acl-add sw3 to-lport 1 "1" allow-related - -ovn-nbctl lb-add lb0 [[4242::1]]:80 "" -ovn-nbctl ls-lb-add sw1 lb0 -ovn-nbctl ls-lb-add sw2 lb0 -ovn-nbctl ls-lb-add sw3 lb0 +check ovn-nbctl acl-add sw1 from-lport 1 "1" allow-related +check ovn-nbctl acl-add sw2 from-lport 1 "1" allow-related +check ovn-nbctl acl-add sw3 from-lport 1 "1" allow-related +check ovn-nbctl acl-add sw1 to-lport 1 "1" allow-related +check ovn-nbctl acl-add sw2 to-lport 1 "1" allow-related +check ovn-nbctl acl-add sw3 to-lport 1 "1" allow-related + +check ovn-nbctl lb-add lb0 [[4242::1]]:80 "[[4242::2]]:80" +check ovn-nbctl ls-lb-add sw1 lb0 +check ovn-nbctl ls-lb-add sw2 lb0 +check ovn-nbctl ls-lb-add sw3 lb0 net_add n1 sim_add hv1 @@ -17517,7 +17496,7 @@ check ovs-vsctl -- add-port br-int hv1-vif4 -- \ options:tx_pcap=hv1/vif4-tx.pcap \ options:rxq_pcap=hv1/vif4-rx.pcap \ ofport-request=1 -ovs-vsctl set open . external-ids:ovn-bridge-mappings=phys:br-phys +check ovs-vsctl set open . external-ids:ovn-bridge-mappings=phys:br-phys sim_add hv2 as hv2 @@ -17543,7 +17522,7 @@ check ovs-vsctl -- add-port br-int hv2-vif4 -- \ options:tx_pcap=hv2/vif4-tx.pcap \ options:rxq_pcap=hv2/vif4-rx.pcap \ ofport-request=1 -ovs-vsctl set open . external-ids:ovn-bridge-mappings=phys:br-phys +check ovs-vsctl set open . external-ids:ovn-bridge-mappings=phys:br-phys check ovn-nbctl --wait=hv sync @@ -17568,7 +17547,7 @@ check_packets() { echo | tee -a exp >> rcv done - $at_diff exp rcv # >/dev/null + $at_diff exp rcv >/dev/null } OVN_POPULATE_ARP @@ -17861,6 +17840,7 @@ send_mld_v2_report hv1-vif4 hv1 \ # Check that the Multicast Group is learned by all switches. wait_row_count IGMP_Group 3 address='"ff0a:dead:beef::1"' +check ovn-nbctl --wait=hv sync # Send traffic from sw3 and make sure it is relayed by rtr # to ports that joined. @@ -19999,10 +19979,10 @@ net_add n1 for az in `seq 1 $n_az`; do sim_add hv$az as hv$az - ovs-vsctl add-br br-phys + check ovs-vsctl add-br br-phys ovn_az_attach az$az n1 br-phys 192.168.$az.1 16 for p in `seq 1 $n_ts`; do - ovs-vsctl -- add-port br-int vif$p -- \ + check ovs-vsctl -- add-port br-int vif$p -- \ set interface vif$p external-ids:iface-id=lsp$az-$p \ options:tx_pcap=hv$az/vif$p-tx.pcap \ options:rxq_pcap=hv$az/vif$p-rx.pcap \ @@ -20011,16 +19991,16 @@ for az in `seq 1 $n_az`; do sim_add gw$az as gw$az - ovs-vsctl add-br br-phys + check ovs-vsctl add-br br-phys ovn_az_attach az$az n1 br-phys 192.168.$az.2 16 - ovs-vsctl set open . external-ids:ovn-is-interconn=true + check ovs-vsctl set open . external-ids:ovn-is-interconn=true done for ts in `seq 1 $n_ts`; do - ovn-ic-nbctl create Transit_Switch name=ts$ts + AT_CHECK([ovn-ic-nbctl create Transit_Switch name=ts$ts], [0], [ignore]) for az in `seq 1 $n_az`; do echo "az$az: wait for ts$ts..." - AT_CHECK([ovn_as az$az ovn-nbctl wait-until logical_switch ts$ts]) + check ovn_as az$az ovn-nbctl wait-until logical_switch ts$ts done done @@ -20069,7 +20049,7 @@ done OVN_POPULATE_ARP for i in `seq 1 $n_az`; do - AT_CHECK([ovn_as az$i ovn-nbctl --timeout=3 --wait=hv sync], [0], [ignore]) + check ovn_as az$i ovn-nbctl --wait=hv sync ovn_as az$i ovn-sbctl dump-flows > az$i/sbflows done @@ -20153,11 +20133,10 @@ for s_az in $(seq 1 $n_az); do ip4 && ip.ttl==62 && ip4.src==$lsp_sip && ip4.dst==$lsp_dip && udp && udp.src==53 && udp.dst==4369" echo $packet | ovstest test-ovn expr-to-packets >> ${d_az}-$i.expected -OVS_WAIT_UNTIL([check_packets], [$at_diff -F'^---' expected received]) done done done - +OVS_WAIT_UNTIL([check_packets], [$at_diff -F'^---' expected received]) for az in `seq 1 $n_az`; do OVN_CLEANUP_SBOX([hv$az])