From patchwork Wed Nov 6 18:21:52 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lorenzo Bianconi X-Patchwork-Id: 2007665 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=OiIl0eJA; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org (client-ip=2605:bc80:3010::138; helo=smtp1.osuosl.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=patchwork.ozlabs.org) Received: from smtp1.osuosl.org (smtp1.osuosl.org [IPv6:2605:bc80:3010::138]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4XkD8V35tpz1xyS for ; Thu, 7 Nov 2024 05:22:50 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id 12BBB811FF; Wed, 6 Nov 2024 18:22:46 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id LpHiuOKsWufX; Wed, 6 Nov 2024 18:22:37 +0000 (UTC) X-Comment: SPF check N/A for local connections - client-ip=2605:bc80:3010:104::8cd3:938; helo=lists.linuxfoundation.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver= DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org ED45F81347 Authentication-Results: smtp1.osuosl.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=OiIl0eJA Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [IPv6:2605:bc80:3010:104::8cd3:938]) by smtp1.osuosl.org (Postfix) with ESMTPS id ED45F81347; Wed, 6 Nov 2024 18:22:34 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 6EACAC08A6; Wed, 6 Nov 2024 18:22:34 +0000 (UTC) X-Original-To: ovs-dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137]) by lists.linuxfoundation.org (Postfix) with ESMTP id 12E83C08AA for ; Wed, 6 Nov 2024 18:22:32 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id 25F9340793 for ; Wed, 6 Nov 2024 18:22:27 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id cIQ-MMrek7Zl for ; Wed, 6 Nov 2024 18:22:23 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=170.10.129.124; helo=us-smtp-delivery-124.mimecast.com; envelope-from=lorenzo.bianconi@redhat.com; receiver= DMARC-Filter: OpenDMARC Filter v1.4.2 smtp4.osuosl.org DFF53406EC Authentication-Results: smtp4.osuosl.org; dmarc=pass (p=none dis=none) header.from=redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org DFF53406EC Authentication-Results: smtp4.osuosl.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=OiIl0eJA Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by smtp4.osuosl.org (Postfix) with ESMTPS id DFF53406EC for ; Wed, 6 Nov 2024 18:22:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1730917341; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=WamMpceJzacxhOppdMUkGZDVwMGktMpHUFOZR+CzCBY=; b=OiIl0eJASein18lR7XRu0kenfeibfSNforN5DVEQPbkPcA5UB1E2aGZ1eED/1CUDdzoXhL VNcJyc8Lw4VSEqXbldEjsYPY1QaFQBozv8Jc07b9JLtTnU5ufJOwY3KDYIvozyGrksTCza 6hubuf0WoFD//60nJUf/zbuSijRUqkg= Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-529-Jdep7MkROgyKSYmUSPO5kQ-1; Wed, 06 Nov 2024 13:22:19 -0500 X-MC-Unique: Jdep7MkROgyKSYmUSPO5kQ-1 X-Mimecast-MFC-AGG-ID: Jdep7MkROgyKSYmUSPO5kQ Received: by mail-wm1-f71.google.com with SMTP id 5b1f17b1804b1-4316300bb15so522765e9.2 for ; Wed, 06 Nov 2024 10:22:19 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730917338; x=1731522138; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=WamMpceJzacxhOppdMUkGZDVwMGktMpHUFOZR+CzCBY=; b=eIKMuBY1OCcuOtYPgDUbe+pSkqLBzzd/VDL5nilmfu1R+/ITJ1wA6KO0ibBqUavNhg pi9rlxm4SnlIuEKtF6puxdqfQT1g57wAok5aOEYV3Qru41/MFjqKUaxhnzeDp4N84C/l DXbkBgpKCp///3CXM9Kl31UCqjzU5x5ZQzFYrbTnG0hbqLB/Ec/AKvwkCcxceeuS3HwJ tjMv3wRaetmDwXMwFloSh9DSo10mW3q5O7Mo9g2GvDgS6zdIJZKGK7wZyrOohzqTUCC/ BfHLB7RnKvin43AWyGgEWlV+JjZmnpHBXjimZTf9ApYuCavj+pIcmB30PSHfaisFq9Qt Ddxw== X-Gm-Message-State: AOJu0Yy25w9BLlzSG3Ek1eIBn4q/a0WtNMi4oqVkCgyvErHvtr6COCZT xkuWoTUPKA6M+kJakpzE3+uC7GfjP+LR3yr9XNrIiJBC4Dd1/RGk07iOxnTYnNR/i3cRm1zYyiR ZhDENXWWjMXrFKZDJDK+FsnrhGw4iuGuyBQ4O40pR4Vbmem/4hDIIV4BSIJkC5Vdg352dNG65Sc 0VmCQ0VbLwDCv2oorKRb55CmzsT/LdKYKIqOPXy5hzkRX3hXBIMw== X-Received: by 2002:a05:600c:1c11:b0:428:ec2a:8c94 with SMTP id 5b1f17b1804b1-4319ac9a725mr369608585e9.10.1730917336927; Wed, 06 Nov 2024 10:22:16 -0800 (PST) X-Google-Smtp-Source: AGHT+IHdwaMRT/ijhXJBBf8I30xIyp9q4H/Q6d2eHRjkJEDHAzC1yFg56t+WKk379Y0UUQz+b7i1Hw== X-Received: by 2002:a05:600c:1c11:b0:428:ec2a:8c94 with SMTP id 5b1f17b1804b1-4319ac9a725mr369608075e9.10.1730917335765; Wed, 06 Nov 2024 10:22:15 -0800 (PST) Received: from localhost (net-93-146-37-148.cust.vodafonedsl.it. [93.146.37.148]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-381c113e8a8sm19994927f8f.72.2024.11.06.10.22.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 Nov 2024 10:22:15 -0800 (PST) From: Lorenzo Bianconi To: ovs-dev@openvswitch.org Date: Wed, 6 Nov 2024 19:21:52 +0100 Message-ID: <58caca8f7d953bcce864e2ffcc1b50f1d7925852.1730917155.git.lorenzo.bianconi@redhat.com> X-Mailer: git-send-email 2.47.0 In-Reply-To: References: MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: XfQirfHyoL2w_8j2XKPdARyWp49CvrzzR11oJ7HU31M_1730917339 X-Mimecast-Originator: redhat.com Subject: [ovs-dev] [PATCH v3 ovn 06/11] test: ovn-northd: Use check for ovn-nbctl wherever possible. X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: i.maximets@ovn.org Errors-To: ovs-dev-bounces@openvswitch.org Sender: "dev" Reported-at: https://issues.redhat.com/browse/FDP-875 Signed-off-by: Lorenzo Bianconi --- tests/ovn-northd.at | 872 ++++++++++++++++++++++---------------------- 1 file changed, 436 insertions(+), 436 deletions(-) diff --git a/tests/ovn-northd.at b/tests/ovn-northd.at index ff0581761..d1d1b2782 100644 --- a/tests/ovn-northd.at +++ b/tests/ovn-northd.at @@ -93,7 +93,7 @@ ovn-sbctl chassis-add gw1 geneve 127.0.0.1 ovn-sbctl chassis-add gw2 geneve 1.2.4.8 # Connect alice to R1 as distributed router gateway port on hv2 -ovn-nbctl lrp-add R1 alice 00:00:02:01:02:03 172.16.1.1/24 +check ovn-nbctl lrp-add R1 alice 00:00:02:01:02:03 172.16.1.1/24 ovn-nbctl --wait=sb \ --id=@gc0 create Gateway_Chassis name=alice_gw1 \ @@ -138,14 +138,14 @@ ha_ch=$(fetch_column HA_Chassis_Group ha_chassis) check_column "$ha_ch" HA_Chassis _uuid # delete the 2nd Gateway_Chassis on NBDB for alice port -ovn-nbctl --wait=sb set Logical_Router_Port alice gateway_chassis=${nb_gwc1_uuid} +check ovn-nbctl --wait=sb set Logical_Router_Port alice gateway_chassis=${nb_gwc1_uuid} # There should be only 1 row in ha_chassis SB DB table. check_row_count HA_Chassis 1 check_row_count Gateway_Chassis 0 # delete all the gateway_chassis on NBDB for alice port -ovn-nbctl --wait=sb clear Logical_Router_Port alice gateway_chassis +check ovn-nbctl --wait=sb clear Logical_Router_Port alice gateway_chassis # expect that the ha_chassis doesn't exist anymore check_row_count HA_Chassis 0 @@ -159,8 +159,8 @@ OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([check up state of VIF LSP]) ovn_start -ovn-nbctl ls-add S1 -ovn-nbctl --wait=sb lsp-add S1 S1-vm1 +check ovn-nbctl ls-add S1 +check ovn-nbctl --wait=sb lsp-add S1 S1-vm1 wait_row_count nb:Logical_Switch_Port 1 name=S1-vm1 'up!=true' ovn-sbctl chassis-add hv1 geneve 127.0.0.1 @@ -174,14 +174,14 @@ OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([check up state of router LSP linked to a distributed LR]) ovn_start -ovn-nbctl lr-add R1 -ovn-nbctl lrp-add R1 R1-S1 02:ac:10:01:00:01 172.16.1.1/24 +check ovn-nbctl lr-add R1 +check ovn-nbctl lrp-add R1 R1-S1 02:ac:10:01:00:01 172.16.1.1/24 -ovn-nbctl ls-add S1 -ovn-nbctl lsp-add S1 S1-R1 -ovn-nbctl lsp-set-type S1-R1 router -ovn-nbctl lsp-set-addresses S1-R1 02:ac:10:01:00:01 -ovn-nbctl --wait=sb lsp-set-options S1-R1 router-port=R1-S1 +check ovn-nbctl ls-add S1 +check ovn-nbctl lsp-add S1 S1-R1 +check ovn-nbctl lsp-set-type S1-R1 router +check ovn-nbctl lsp-set-addresses S1-R1 02:ac:10:01:00:01 +check ovn-nbctl --wait=sb lsp-set-options S1-R1 router-port=R1-S1 AT_CHECK([test x`ovn-nbctl lsp-get-up S1-R1` = xup]) AT_CLEANUP @@ -194,13 +194,13 @@ ovn_start ovn-sbctl chassis-add gw1 geneve 127.0.0.1 ovn-nbctl create Logical_Router name=R1 options:chassis=gw1 -ovn-nbctl lrp-add R1 R1-S1 02:ac:10:01:00:01 172.16.1.1/24 +check ovn-nbctl lrp-add R1 R1-S1 02:ac:10:01:00:01 172.16.1.1/24 -ovn-nbctl ls-add S1 -ovn-nbctl lsp-add S1 S1-R1 -ovn-nbctl lsp-set-type S1-R1 router -ovn-nbctl lsp-set-addresses S1-R1 02:ac:10:01:00:01 -ovn-nbctl --wait=sb lsp-set-options S1-R1 router-port=R1-S1 +check ovn-nbctl ls-add S1 +check ovn-nbctl lsp-add S1 S1-R1 +check ovn-nbctl lsp-set-type S1-R1 router +check ovn-nbctl lsp-set-addresses S1-R1 02:ac:10:01:00:01 +check ovn-nbctl --wait=sb lsp-set-options S1-R1 router-port=R1-S1 ovn-sbctl lsp-bind S1-R1 gw1 AT_CHECK([test x`ovn-nbctl lsp-get-up S1-R1` = xup]) @@ -214,15 +214,15 @@ ovn_start ovn-sbctl chassis-add gw1 geneve 127.0.0.1 -ovn-nbctl lr-add R1 -ovn-nbctl lrp-add R1 R1-S1 02:ac:10:01:00:01 172.16.1.1/24 -ovn-nbctl lrp-set-gateway-chassis R1-S1 gw1 +check ovn-nbctl lr-add R1 +check ovn-nbctl lrp-add R1 R1-S1 02:ac:10:01:00:01 172.16.1.1/24 +check ovn-nbctl lrp-set-gateway-chassis R1-S1 gw1 -ovn-nbctl ls-add S1 -ovn-nbctl lsp-add S1 S1-R1 -ovn-nbctl lsp-set-type S1-R1 router -ovn-nbctl lsp-set-addresses S1-R1 router -ovn-nbctl --wait=sb lsp-set-options S1-R1 router-port=R1-S1 +check ovn-nbctl ls-add S1 +check ovn-nbctl lsp-add S1 S1-R1 +check ovn-nbctl lsp-set-type S1-R1 router +check ovn-nbctl lsp-set-addresses S1-R1 router +check ovn-nbctl --wait=sb lsp-set-options S1-R1 router-port=R1-S1 AT_CHECK([test x`ovn-nbctl lsp-get-up S1-R1` = xup]) AT_CLEANUP @@ -278,9 +278,9 @@ OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([check LRP external id propagation to SBDB]) ovn_start -ovn-nbctl lr-add ro -ovn-nbctl lrp-add ro lrp0 00:00:00:00:00:01 192.168.1.1/24 -ovn-nbctl --wait=sb set logical_router_port lrp0 external_ids=test=123 +check ovn-nbctl lr-add ro +check ovn-nbctl lrp-add ro lrp0 00:00:00:00:00:01 192.168.1.1/24 +check ovn-nbctl --wait=sb set logical_router_port lrp0 external_ids=test=123 check_column "test=123" sb:Port_Binding external_ids logical_port=lrp0 AT_CLEANUP @@ -290,16 +290,16 @@ OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([check IPv6 RA config propagation to SBDB]) ovn_start -ovn-nbctl lr-add ro -ovn-nbctl lrp-add ro ro-sw 00:00:00:00:00:01 aef0:0:0:0:0:0:0:1/64 -ovn-nbctl ls-add sw -ovn-nbctl lsp-add sw sw-ro -ovn-nbctl lsp-set-type sw-ro router -ovn-nbctl lsp-set-options sw-ro router-port=ro-sw -ovn-nbctl lsp-set-addresses sw-ro 00:00:00:00:00:01 -ovn-nbctl set Logical_Router_Port ro-sw ipv6_ra_configs:send_periodic=true -ovn-nbctl set Logical_Router_Port ro-sw ipv6_ra_configs:address_mode=slaac -ovn-nbctl --wait=sb set Logical_Router_Port ro-sw ipv6_ra_configs:mtu=1280 +check ovn-nbctl lr-add ro +check ovn-nbctl lrp-add ro ro-sw 00:00:00:00:00:01 aef0:0:0:0:0:0:0:1/64 +check ovn-nbctl ls-add sw +check ovn-nbctl lsp-add sw sw-ro +check ovn-nbctl lsp-set-type sw-ro router +check ovn-nbctl lsp-set-options sw-ro router-port=ro-sw +check ovn-nbctl lsp-set-addresses sw-ro 00:00:00:00:00:01 +check ovn-nbctl set Logical_Router_Port ro-sw ipv6_ra_configs:send_periodic=true +check ovn-nbctl set Logical_Router_Port ro-sw ipv6_ra_configs:address_mode=slaac +check ovn-nbctl --wait=sb set Logical_Router_Port ro-sw ipv6_ra_configs:mtu=1280 uuid=$(ovn-sbctl --columns=_uuid --bare find Port_Binding logical_port=ro-sw) @@ -328,8 +328,8 @@ AT_CHECK([ovn-sbctl get Port_Binding ${uuid} options:ipv6_ra_prefixes], [0], ["aef0::/64" ]) -ovn-nbctl set Logical_Router_Port ro-sw ipv6_ra_configs:max_interval=300 -ovn-nbctl --wait=sb set Logical_Router_Port ro-sw ipv6_ra_configs:min_interval=600 +check ovn-nbctl set Logical_Router_Port ro-sw ipv6_ra_configs:max_interval=300 +check ovn-nbctl --wait=sb set Logical_Router_Port ro-sw ipv6_ra_configs:min_interval=600 AT_CHECK([ovn-sbctl get Port_Binding ${uuid} options:ipv6_ra_max_interval], [0], ["300" @@ -338,8 +338,8 @@ AT_CHECK([ovn-sbctl get Port_Binding ${uuid} options:ipv6_ra_min_interval], [0], ["225" ]) -ovn-nbctl set Logical_Router_Port ro-sw ipv6_ra_configs:max_interval=300 -ovn-nbctl --wait=sb set Logical_Router_Port ro-sw ipv6_ra_configs:min_interval=250 +check ovn-nbctl set Logical_Router_Port ro-sw ipv6_ra_configs:max_interval=300 +check ovn-nbctl --wait=sb set Logical_Router_Port ro-sw ipv6_ra_configs:min_interval=250 AT_CHECK([ovn-sbctl get Port_Binding ${uuid} options:ipv6_ra_max_interval], [0], ["300" @@ -348,8 +348,8 @@ AT_CHECK([ovn-sbctl get Port_Binding ${uuid} options:ipv6_ra_min_interval], [0], ["225" ]) -ovn-nbctl set Logical_Router_Port ro-sw ipv6_ra_configs:max_interval=0 -ovn-nbctl --wait=sb set Logical_Router_Port ro-sw ipv6_ra_configs:min_interval=0 +check ovn-nbctl set Logical_Router_Port ro-sw ipv6_ra_configs:max_interval=0 +check ovn-nbctl --wait=sb set Logical_Router_Port ro-sw ipv6_ra_configs:min_interval=0 AT_CHECK([ovn-sbctl get Port_Binding ${uuid} options:ipv6_ra_max_interval], [0], ["4" @@ -358,8 +358,8 @@ AT_CHECK([ovn-sbctl get Port_Binding ${uuid} options:ipv6_ra_min_interval], [0], ["3" ]) -ovn-nbctl set Logical_Router_Port ro-sw ipv6_ra_configs:max_interval=3600 -ovn-nbctl --wait=sb set Logical_Router_Port ro-sw ipv6_ra_configs:min_interval=2400 +check ovn-nbctl set Logical_Router_Port ro-sw ipv6_ra_configs:max_interval=3600 +check ovn-nbctl --wait=sb set Logical_Router_Port ro-sw ipv6_ra_configs:min_interval=2400 AT_CHECK([ovn-sbctl get Port_Binding ${uuid} options:ipv6_ra_max_interval], [0], ["1800" @@ -368,7 +368,7 @@ AT_CHECK([ovn-sbctl get Port_Binding ${uuid} options:ipv6_ra_min_interval], [0], ["1350" ]) -ovn-nbctl --wait=sb set Logical_Router_port ro-sw ipv6_ra_configs:send_periodic=false +check ovn-nbctl --wait=sb set Logical_Router_port ro-sw ipv6_ra_configs:send_periodic=false AT_CHECK_UNQUOTED([ovn-sbctl get Port_Binding ${uuid} options:ipv6_ra_send_periodic], [1], [], [ovn-sbctl: no key "ipv6_ra_send_periodic" in Port_Binding record "${uuid}" column options @@ -406,8 +406,8 @@ ovn_init_db ovn-nb; ovn-nbctl init # test unixctl option mkdir "$ovs_base"/northd as northd start_daemon ovn-northd --unixctl="$ovs_base"/northd/ovn-northd.ctl --ovnnb-db=unix:"$ovs_base"/ovn-nb/ovn-nb.sock --ovnsb-db=unix:"$ovs_base"/ovn-sb/ovn-sb.sock -ovn-nbctl ls-add sw -ovn-nbctl --wait=sb lsp-add sw p1 +check ovn-nbctl ls-add sw +check ovn-nbctl --wait=sb lsp-add sw p1 # northd created with unixctl option successfully created port_binding entry check_row_count Port_Binding 1 logical_port=p1 AT_CHECK([ovn-nbctl --wait=sb lsp-del p1]) @@ -419,13 +419,13 @@ OVS_APP_EXIT_AND_WAIT_BY_TARGET(["$ovs_base"/northd/ovn-northd.ctl], ["$ovs_base # # 142 is 128+14, the exit status that the shell reports when a # process exits due to SIGARLM (signal 14). -ovn-nbctl lsp-add sw p2 +check ovn-nbctl lsp-add sw p2 AT_CHECK([ovn-nbctl --timeout=10 --wait=sb sync], [142], [], [ignore]) check_row_count Port_Binding 0 logical_port=p2 # test default unixctl path as northd start_daemon ovn-northd --ovnnb-db=unix:"$ovs_base"/ovn-nb/ovn-nb.sock --ovnsb-db=unix:"$ovs_base"/ovn-sb/ovn-sb.sock -ovn-nbctl --wait=sb lsp-add sw p3 +check ovn-nbctl --wait=sb lsp-add sw p3 # northd created with default unixctl path successfully created port_binding entry check_row_count Port_Binding 1 logical_port=p3 @@ -505,35 +505,35 @@ check_row_count HA_Chassis 3 # Change the priority of ch1 - ha chassis in NB DB. It should get # reflected in SB DB. -ovn-nbctl --wait=sb ha-chassis-group-add-chassis hagrp1 ch1 100 +check ovn-nbctl --wait=sb ha-chassis-group-add-chassis hagrp1 ch1 100 wait_row_count HA_Chassis 1 priority=100 # Delete ch1 HA chassis in NB DB. -ovn-nbctl --wait=sb ha-chassis-group-remove-chassis hagrp1 ch1 +check ovn-nbctl --wait=sb ha-chassis-group-remove-chassis hagrp1 ch1 wait_row_count HA_Chassis 2 # Add back the ha chassis -ovn-nbctl --wait=sb ha-chassis-group-add-chassis hagrp1 ch1 40 +check ovn-nbctl --wait=sb ha-chassis-group-add-chassis hagrp1 ch1 40 wait_row_count HA_Chassis 3 # Delete lr0-public. We should still have 1 HA chassis group and # 3 HA chassis in SB DB. -ovn-nbctl --wait=sb lrp-del lr0-public +check ovn-nbctl --wait=sb lrp-del lr0-public wait_row_count HA_Chassis_Group 1 name=hagrp1 wait_row_count HA_Chassis 3 # Delete lr1-public. There should be no HA chassis group in SB DB. -ovn-nbctl --wait=sb lrp-del lr1-public +check ovn-nbctl --wait=sb lrp-del lr1-public wait_row_count HA_Chassis_Group 0 name=hagrp1 wait_row_count HA_Chassis 0 # Add lr0-public again -ovn-nbctl lrp-add lr0 lr0-public 00:00:20:20:12:13 172.168.0.100/24 -ovn-nbctl set logical_router_port lr0-public ha_chassis_group=$hagrp1_uuid +check ovn-nbctl lrp-add lr0 lr0-public 00:00:20:20:12:13 172.168.0.100/24 +check ovn-nbctl set logical_router_port lr0-public ha_chassis_group=$hagrp1_uuid wait_row_count HA_Chassis_Group 1 name=hagrp1 wait_row_count HA_Chassis 3 @@ -549,14 +549,14 @@ wait_row_count HA_Chassis 3 # Now delete HA chassis group. ovn-northd should create HA chassis group # with the Gateway chassis name -ovn-nbctl clear logical_router_port lr0-public ha_chassis_group -ovn-nbctl ha-chassis-group-del hagrp1 +check ovn-nbctl clear logical_router_port lr0-public ha_chassis_group +check ovn-nbctl ha-chassis-group-del hagrp1 wait_row_count HA_Chassis_Group 0 name=hagrp1 wait_row_count HA_Chassis_Group 1 name=lr0-public wait_row_count HA_Chassis 1 -ovn-nbctl lrp-set-gateway-chassis lr0-public ch2 10 +check ovn-nbctl lrp-set-gateway-chassis lr0-public ch2 10 wait_row_count HA_Chassis_Group 1 name=lr0-public @@ -599,12 +599,12 @@ wait_column "" HA_Chassis_Group ref_chassis ovn-sbctl lsp-bind sw0-p1 comp2 wait_column "$comp2_ch_uuid" HA_Chassis_Group ref_chassis -ovn-nbctl ls-add sw1 -ovn-nbctl lsp-add sw1 sw1-p1 -ovn-nbctl lrp-add lr1 lr1-sw1 00:00:20:20:12:15 20.0.0.1/24 -ovn-nbctl lsp-add sw1 sw1-lr1 -ovn-nbctl lsp-set-type sw1-lr1 router -ovn-nbctl lsp-set-addresses sw1-lr1 router +check ovn-nbctl ls-add sw1 +check ovn-nbctl lsp-add sw1 sw1-p1 +check ovn-nbctl lrp-add lr1 lr1-sw1 00:00:20:20:12:15 20.0.0.1/24 +check ovn-nbctl lsp-add sw1 sw1-lr1 +check ovn-nbctl lsp-set-type sw1-lr1 router +check ovn-nbctl lsp-set-addresses sw1-lr1 router check ovn-nbctl --wait=sb lsp-set-options sw1-lr1 router-port=lr1-sw1 # Bind sw1-p1 in comp1. @@ -731,13 +731,13 @@ name=hagrp1` # The type of the lsp - sw0-pext1 is still not set to external. # So ha_chassis_group should be ignored. -ovn-nbctl set logical_switch_port sw0-pext1 ha_chassis_group=$hagrp1_uuid +check ovn-nbctl set logical_switch_port sw0-pext1 ha_chassis_group=$hagrp1_uuid wait_row_count HA_Chassis_Group 0 name=hagrp1 check_row_count HA_Chassis 0 # Set the type of sw0-pext1 to external -ovn-nbctl lsp-set-type sw0-pext1 external +check ovn-nbctl lsp-set-type sw0-pext1 external wait_row_count HA_Chassis_Group 1 name=hagrp1 check_row_count HA_Chassis 3 @@ -748,8 +748,8 @@ name=hagrp1` check_row_count Port_Binding 1 logical_port=sw0-pext1 ha_chassis_group=$sb_hagrp1_uuid # Set the type of sw0-pext2 to external and associate ha_chassis_group -ovn-nbctl lsp-set-type sw0-pext2 external -ovn-nbctl set logical_switch_port sw0-pext2 ha_chassis_group=$hagrp1_uuid +check ovn-nbctl lsp-set-type sw0-pext2 external +check ovn-nbctl set logical_switch_port sw0-pext2 ha_chassis_group=$hagrp1_uuid wait_row_count HA_Chassis_Group 1 name=hagrp1 check_row_count HA_Chassis 3 @@ -758,7 +758,7 @@ wait_row_count Port_Binding 1 logical_port=sw0-pext2 ha_chassis_group=$sb_hagrp1 # sw0-p1 is a normal port. So ha_chassis_group should not be set # in port_binding. -ovn-nbctl --wait=sb set logical_switch_port sw0-p1 \ +check ovn-nbctl --wait=sb set logical_switch_port sw0-p1 \ ha_chassis_group=$hagrp1_uuid wait_row_count Port_Binding 0 logical_port=sw0-p1 'chassis!=[[]]' @@ -965,21 +965,21 @@ ovn_start ovn-sbctl chassis-add gw1 geneve 127.0.0.1 -ovn-nbctl lr-add R1 -ovn-nbctl lrp-add R1 R1-S1 02:ac:10:01:00:01 172.16.1.1/24 +check ovn-nbctl lr-add R1 +check ovn-nbctl lrp-add R1 R1-S1 02:ac:10:01:00:01 172.16.1.1/24 -ovn-nbctl ls-add S1 -ovn-nbctl lsp-add S1 S1-R1 -ovn-nbctl lsp-set-type S1-R1 router -ovn-nbctl lsp-set-addresses S1-R1 router -ovn-nbctl lsp-set-options S1-R1 router-port=R1-S1 +check ovn-nbctl ls-add S1 +check ovn-nbctl lsp-add S1 S1-R1 +check ovn-nbctl lsp-set-type S1-R1 router +check ovn-nbctl lsp-set-addresses S1-R1 router +check ovn-nbctl lsp-set-options S1-R1 router-port=R1-S1 check ovn-nbctl --wait=sb lrp-set-gateway-chassis R1-S1 gw1 -ovn-nbctl lrp-set-redirect-type R1-S1 bridged +check ovn-nbctl lrp-set-redirect-type R1-S1 bridged wait_row_count Port_Binding 1 logical_port=cr-R1-S1 options:redirect-type=bridged -ovn-nbctl lrp-set-redirect-type R1-S1 overlay +check ovn-nbctl lrp-set-redirect-type R1-S1 overlay wait_row_count Port_Binding 1 logical_port=cr-R1-S1 options:redirect-type=overlay AT_CLEANUP ]) @@ -990,14 +990,14 @@ ovn_start ovn-sbctl chassis-add gw1 geneve 127.0.0.1 -ovn-nbctl lr-add R1 -ovn-nbctl lrp-add R1 R1-S1 02:ac:10:01:00:01 172.16.1.1/24 +check ovn-nbctl lr-add R1 +check ovn-nbctl lrp-add R1 R1-S1 02:ac:10:01:00:01 172.16.1.1/24 -ovn-nbctl ls-add S1 -ovn-nbctl lsp-add S1 S1-R1 -ovn-nbctl lsp-set-type S1-R1 router -ovn-nbctl lsp-set-addresses S1-R1 router -ovn-nbctl lsp-set-options S1-R1 router-port=R1-S1 +check ovn-nbctl ls-add S1 +check ovn-nbctl lsp-add S1 S1-R1 +check ovn-nbctl lsp-set-type S1-R1 router +check ovn-nbctl lsp-set-addresses S1-R1 router +check ovn-nbctl lsp-set-options S1-R1 router-port=R1-S1 check ovn-nbctl --wait=sb lrp-set-gateway-chassis R1-S1 gw1 @@ -1020,49 +1020,49 @@ check_flow_match_sets() { echo echo "IPv4: stateful" -ovn-nbctl --wait=sb lr-nat-add R1 dnat_and_snat 172.16.1.1 50.0.0.11 +check ovn-nbctl --wait=sb lr-nat-add R1 dnat_and_snat 172.16.1.1 50.0.0.11 check_flow_match_sets 2 2 2 0 0 0 0 -ovn-nbctl lr-nat-del R1 dnat_and_snat 172.16.1.1 +check ovn-nbctl lr-nat-del R1 dnat_and_snat 172.16.1.1 echo echo "IPv4: stateful with match" -ovn-nbctl --wait=sb --match="udp" lr-nat-add R1 dnat_and_snat 172.16.1.1 50.0.0.11 +check ovn-nbctl --wait=sb --match="udp" lr-nat-add R1 dnat_and_snat 172.16.1.1 50.0.0.11 check_flow_match_sets 2 2 2 0 0 0 0 -ovn-nbctl lr-nat-del R1 dnat_and_snat 172.16.1.1 +check ovn-nbctl lr-nat-del R1 dnat_and_snat 172.16.1.1 echo echo "IPv4: stateless" -ovn-nbctl --wait=sb --stateless lr-nat-add R1 dnat_and_snat 172.16.1.1 50.0.0.11 +check ovn-nbctl --wait=sb --stateless lr-nat-add R1 dnat_and_snat 172.16.1.1 50.0.0.11 check_flow_match_sets 2 0 0 1 1 0 0 -ovn-nbctl lr-nat-del R1 dnat_and_snat 172.16.1.1 +check ovn-nbctl lr-nat-del R1 dnat_and_snat 172.16.1.1 echo echo "IPv4: stateless with match" -ovn-nbctl --wait=sb --match="udp" --stateless lr-nat-add R1 dnat_and_snat 172.16.1.1 50.0.0.11 +check ovn-nbctl --wait=sb --match="udp" --stateless lr-nat-add R1 dnat_and_snat 172.16.1.1 50.0.0.11 check_flow_match_sets 2 0 0 1 1 0 0 -ovn-nbctl lr-nat-del R1 dnat_and_snat 172.16.1.1 +check ovn-nbctl lr-nat-del R1 dnat_and_snat 172.16.1.1 echo echo "IPv6: stateful" -ovn-nbctl --wait=sb lr-nat-add R1 dnat_and_snat fd01::1 fd11::2 +check ovn-nbctl --wait=sb lr-nat-add R1 dnat_and_snat fd01::1 fd11::2 check_flow_match_sets 2 2 2 0 0 0 0 -ovn-nbctl lr-nat-del R1 dnat_and_snat fd01::1 +check ovn-nbctl lr-nat-del R1 dnat_and_snat fd01::1 echo echo "IPv6: stateful with match" -ovn-nbctl --wait=sb --match="udp" lr-nat-add R1 dnat_and_snat fd01::1 fd11::2 +check ovn-nbctl --wait=sb --match="udp" lr-nat-add R1 dnat_and_snat fd01::1 fd11::2 check_flow_match_sets 2 2 2 0 0 0 0 -ovn-nbctl lr-nat-del R1 dnat_and_snat fd01::1 +check ovn-nbctl lr-nat-del R1 dnat_and_snat fd01::1 echo echo "IPv6: stateless" -ovn-nbctl --wait=sb --stateless lr-nat-add R1 dnat_and_snat fd01::1 fd11::2 +check ovn-nbctl --wait=sb --stateless lr-nat-add R1 dnat_and_snat fd01::1 fd11::2 check_flow_match_sets 2 0 0 0 0 1 1 -ovn-nbctl lr-nat-del R1 dnat_and_snat fd01::1 +check ovn-nbctl lr-nat-del R1 dnat_and_snat fd01::1 echo echo "IPv6: stateless with match" -ovn-nbctl --wait=sb --match="udp" --stateless lr-nat-add R1 dnat_and_snat fd01::1 fd11::2 +check ovn-nbctl --wait=sb --match="udp" --stateless lr-nat-add R1 dnat_and_snat fd01::1 fd11::2 check_flow_match_sets 2 0 0 0 0 1 1 AT_CLEANUP @@ -1074,14 +1074,14 @@ ovn_start ovn-sbctl chassis-add gw1 geneve 127.0.0.1 -ovn-nbctl lr-add R1 -ovn-nbctl lrp-add R1 R1-S1 02:ac:10:01:00:01 172.16.1.1/24 +check ovn-nbctl lr-add R1 +check ovn-nbctl lrp-add R1 R1-S1 02:ac:10:01:00:01 172.16.1.1/24 -ovn-nbctl ls-add S1 -ovn-nbctl lsp-add S1 S1-R1 -ovn-nbctl lsp-set-type S1-R1 router -ovn-nbctl lsp-set-addresses S1-R1 router -ovn-nbctl lsp-set-options S1-R1 router-port=R1-S1 +check ovn-nbctl ls-add S1 +check ovn-nbctl lsp-add S1 S1-R1 +check ovn-nbctl lsp-set-type S1-R1 router +check ovn-nbctl lsp-set-addresses S1-R1 router +check ovn-nbctl lsp-set-options S1-R1 router-port=R1-S1 check ovn-nbctl --wait=sb lrp-set-gateway-chassis R1-S1 gw1 @@ -1089,7 +1089,7 @@ uuid=`ovn-sbctl --columns=_uuid --bare find Port_Binding logical_port=cr-R1-S1` echo "CR-LRP UUID is: " $uuid # IPV4 -ovn-nbctl --portrange lr-nat-add R1 dnat_and_snat 172.16.1.1 50.0.0.11 1-3000 +check ovn-nbctl --portrange lr-nat-add R1 dnat_and_snat 172.16.1.1 50.0.0.11 1-3000 AT_CAPTURE_FILE([sbflows]) OVS_WAIT_UNTIL([ovn-sbctl dump-flows R1 > sbflows && test 2 = `grep -c lr_in_unsnat sbflows`]) @@ -1098,8 +1098,8 @@ AT_CHECK([grep -c 'ct_snat.*3000' sbflows && grep -c 'ct_dnat.*3000' sbflows], 1 ]) -ovn-nbctl lr-nat-del R1 dnat_and_snat 172.16.1.1 -ovn-nbctl --wait=sb --portrange lr-nat-add R1 snat 172.16.1.1 50.0.0.11 1-3000 +check ovn-nbctl lr-nat-del R1 dnat_and_snat 172.16.1.1 +check ovn-nbctl --wait=sb --portrange lr-nat-add R1 snat 172.16.1.1 50.0.0.11 1-3000 AT_CAPTURE_FILE([sbflows2]) OVS_WAIT_UNTIL([ovn-sbctl dump-flows R1 > sbflows2 && test 2 = `grep -c lr_in_unsnat sbflows`]) @@ -1108,14 +1108,14 @@ AT_CHECK([grep -c 'ct_snat.*3000' sbflows2 && grep -c 'ct_dnat.*3000' sbflows2], 0 ]) -ovn-nbctl lr-nat-del R1 snat 172.16.1.1 -ovn-nbctl --wait=sb --portrange --stateless lr-nat-add R1 dnat_and_snat 172.16.1.2 50.0.0.12 1-3000 +check ovn-nbctl lr-nat-del R1 snat 172.16.1.1 +check ovn-nbctl --wait=sb --portrange --stateless lr-nat-add R1 dnat_and_snat 172.16.1.2 50.0.0.12 1-3000 AT_CAPTURE_FILE([sbflows3]) OVS_WAIT_UNTIL([ovn-sbctl dump-flows R1 > sbflows3 && test 3 = `grep -c lr_in_unsnat sbflows3`]) AT_CHECK([grep 'ct_[s]dnat.*172\.16\.1\.2.*3000' sbflows3], [1]) -ovn-nbctl lr-nat-del R1 dnat_and_snat 172.16.1.1 +check ovn-nbctl lr-nat-del R1 dnat_and_snat 172.16.1.1 AT_CLEANUP ]) @@ -1277,13 +1277,13 @@ AT_CHECK([grep -e "lr_out_post_snat" crflows3 | ovn_strip_lflows], [0], [dnl ]) # Stateful FIP with DISALLOWED_IPs -ovn-nbctl lr-nat-del DR dnat_and_snat 172.16.1.2 -ovn-nbctl lr-nat-del CR dnat_and_snat 172.16.1.2 +check ovn-nbctl lr-nat-del DR dnat_and_snat 172.16.1.2 +check ovn-nbctl lr-nat-del CR dnat_and_snat 172.16.1.2 -ovn-nbctl lr-nat-add DR dnat_and_snat 172.16.1.2 50.0.0.11 -ovn-nbctl lr-nat-add CR dnat_and_snat 172.16.1.2 50.0.0.11 +check ovn-nbctl lr-nat-add DR dnat_and_snat 172.16.1.2 50.0.0.11 +check ovn-nbctl lr-nat-add CR dnat_and_snat 172.16.1.2 50.0.0.11 -ovn-nbctl --is-exempted lr-nat-update-ext-ip DR dnat_and_snat 172.16.1.2 disallowed_range +check ovn-nbctl --is-exempted lr-nat-update-ext-ip DR dnat_and_snat 172.16.1.2 disallowed_range check ovn-nbctl --wait=sb --is-exempted lr-nat-update-ext-ip CR dnat_and_snat 172.16.1.2 disallowed_range ovn-sbctl dump-flows DR > drflows4 @@ -1306,13 +1306,13 @@ AT_CHECK([grep -e "lr_out_snat" crflows4 | ovn_strip_lflows], [0], [dnl ]) # Stateless FIP with DISALLOWED_IPs -ovn-nbctl lr-nat-del DR dnat_and_snat 172.16.1.2 -ovn-nbctl lr-nat-del CR dnat_and_snat 172.16.1.2 +check ovn-nbctl lr-nat-del DR dnat_and_snat 172.16.1.2 +check ovn-nbctl lr-nat-del CR dnat_and_snat 172.16.1.2 -ovn-nbctl --stateless lr-nat-add DR dnat_and_snat 172.16.1.2 50.0.0.11 -ovn-nbctl --stateless lr-nat-add CR dnat_and_snat 172.16.1.2 50.0.0.11 +check ovn-nbctl --stateless lr-nat-add DR dnat_and_snat 172.16.1.2 50.0.0.11 +check ovn-nbctl --stateless lr-nat-add CR dnat_and_snat 172.16.1.2 50.0.0.11 -ovn-nbctl lr-nat-update-ext-ip DR dnat_and_snat 172.16.1.2 allowed_range +check ovn-nbctl lr-nat-update-ext-ip DR dnat_and_snat 172.16.1.2 allowed_range check ovn-nbctl --wait=sb lr-nat-update-ext-ip CR dnat_and_snat 172.16.1.2 allowed_range ovn-sbctl dump-flows DR > drflows5 @@ -1333,16 +1333,16 @@ AT_CHECK([grep -e "lr_out_snat" crflows5 | ovn_strip_lflows], [0], [dnl ]) # Stateless FIP with DISALLOWED_IPs -ovn-nbctl lr-nat-del DR dnat_and_snat 172.16.1.2 -ovn-nbctl lr-nat-del CR dnat_and_snat 172.16.1.2 +check ovn-nbctl lr-nat-del DR dnat_and_snat 172.16.1.2 +check ovn-nbctl lr-nat-del CR dnat_and_snat 172.16.1.2 -ovn-nbctl --stateless lr-nat-add DR dnat_and_snat 172.16.1.2 50.0.0.11 -ovn-nbctl --stateless lr-nat-add CR dnat_and_snat 172.16.1.2 50.0.0.11 +check ovn-nbctl --stateless lr-nat-add DR dnat_and_snat 172.16.1.2 50.0.0.11 +check ovn-nbctl --stateless lr-nat-add CR dnat_and_snat 172.16.1.2 50.0.0.11 -ovn-nbctl --is-exempted lr-nat-update-ext-ip DR dnat_and_snat 172.16.1.2 disallowed_range -ovn-nbctl --is-exempted lr-nat-update-ext-ip CR dnat_and_snat 172.16.1.2 disallowed_range +check ovn-nbctl --is-exempted lr-nat-update-ext-ip DR dnat_and_snat 172.16.1.2 disallowed_range +check ovn-nbctl --is-exempted lr-nat-update-ext-ip CR dnat_and_snat 172.16.1.2 disallowed_range -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync ovn-sbctl dump-flows DR > drflows6 AT_CAPTURE_FILE([drflows2]) @@ -1384,14 +1384,14 @@ health_check @hc | uuidfilt], [0], [<0> wait_row_count Service_Monitor 0 AS_BOX([create logical switches and ports]) -ovn-nbctl ls-add sw0 -ovn-nbctl --wait=sb lsp-add sw0 sw0-p1 -- lsp-set-addresses sw0-p1 \ +check ovn-nbctl ls-add sw0 +check ovn-nbctl --wait=sb lsp-add sw0 sw0-p1 -- lsp-set-addresses sw0-p1 \ "00:00:00:00:00:03 10.0.0.3" wait_row_count Service_Monitor 0 -ovn-nbctl ls-add sw1 -ovn-nbctl --wait=sb lsp-add sw1 sw1-p1 -- lsp-set-addresses sw1-p1 \ +check ovn-nbctl ls-add sw1 +check ovn-nbctl --wait=sb lsp-add sw1 sw1-p1 -- lsp-set-addresses sw1-p1 \ "02:00:00:00:00:03 20.0.0.3" # service_monitors state online requires corresponding port_binding to be "up" @@ -1403,10 +1403,10 @@ wait_row_count nb:Logical_Switch_Port 1 name=sw1-p1 'up=true' wait_row_count Service_Monitor 0 -ovn-nbctl --wait=sb set load_balancer . ip_port_mappings:10.0.0.3=sw0-p1:10.0.0.2 +check ovn-nbctl --wait=sb set load_balancer . ip_port_mappings:10.0.0.3=sw0-p1:10.0.0.2 wait_row_count Service_Monitor 1 -ovn-nbctl --wait=sb set load_balancer . ip_port_mappings:20.0.0.3=sw1-p1:20.0.0.2 +check ovn-nbctl --wait=sb set load_balancer . ip_port_mappings:20.0.0.3=sw1-p1:20.0.0.2 wait_row_count Service_Monitor 2 check ovn-nbctl --wait=sb ls-lb-add sw0 lb1 @@ -1437,7 +1437,7 @@ OVS_WAIT_FOR_OUTPUT( wait_row_count Service_Monitor 2 AS_BOX([Delete the Load_Balancer_Health_Check]) -ovn-nbctl --wait=sb clear load_balancer . health_check +check ovn-nbctl --wait=sb clear load_balancer . health_check wait_row_count Service_Monitor 0 AT_CAPTURE_FILE([sbflows2]) @@ -1596,10 +1596,10 @@ check ovn-nbctl --wait=sb set load_balancer lb2 ip_port_mappings:10.0.0.3=sw0-p1 wait_row_count Service_Monitor 1 logical_port=sw0-p1 src_ip=10.0.0.100 -ovn-nbctl --wait=sb lb-del lb1 +check ovn-nbctl --wait=sb lb-del lb1 wait_row_count Service_Monitor 2 -ovn-nbctl --wait=sb lb-del lb2 +check ovn-nbctl --wait=sb lb-del lb2 wait_row_count Service_Monitor 0 check ovn-nbctl --reject lb-add lb3 10.0.0.10:80 10.0.0.3:80,20.0.0.3:80 @@ -1789,14 +1789,14 @@ OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([DNAT force snat IP]) ovn_start -ovn-nbctl lr-add lr0 -ovn-nbctl lrp-add lr0 lr0-public 00:00:01:01:02:04 192.168.2.1/24 -ovn-nbctl lrp-add lr0 lr0-join 00:00:01:01:02:04 10.10.0.1/24 +check ovn-nbctl lr-add lr0 +check ovn-nbctl lrp-add lr0 lr0-public 00:00:01:01:02:04 192.168.2.1/24 +check ovn-nbctl lrp-add lr0 lr0-join 00:00:01:01:02:04 10.10.0.1/24 -ovn-nbctl set logical_router lr0 options:chassis=ch1 -ovn-nbctl lr-nat-add lr0 dnat 192.168.2.2 10.0.0.5 -ovn-nbctl set logical_router lr0 options:dnat_force_snat_ip=192.168.2.3 -ovn-nbctl --wait=sb sync +check ovn-nbctl set logical_router lr0 options:chassis=ch1 +check ovn-nbctl lr-nat-add lr0 dnat 192.168.2.2 10.0.0.5 +check ovn-nbctl set logical_router lr0 options:dnat_force_snat_ip=192.168.2.3 +check ovn-nbctl --wait=sb sync AT_CHECK([ovn-sbctl lflow-list lr0 | grep lr_in_unsnat | ovn_strip_lflows], [0], [dnl table=??(lr_in_unsnat ), priority=0 , match=(1), action=(next;) @@ -1838,10 +1838,10 @@ OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([check reconcile stale tunnel keys]) ovn_start -ovn-nbctl ls-add ls1 -ovn-nbctl ls-add ls2 -ovn-nbctl lsp-add ls1 lsp1 -ovn-nbctl lsp-add ls2 lsp2 +check ovn-nbctl ls-add ls1 +check ovn-nbctl ls-add ls2 +check ovn-nbctl lsp-add ls1 lsp1 +check ovn-nbctl lsp-add ls2 lsp2 AT_CHECK([ovn-nbctl --wait=sb sync], [0]) # Ports are bound on different datapaths so it's expected that they both @@ -1849,7 +1849,7 @@ AT_CHECK([ovn-nbctl --wait=sb sync], [0]) check_column 1 Port_Binding tunnel_key logical_port=lsp1 check_column 1 Port_Binding tunnel_key logical_port=lsp2 -ovn-nbctl lsp-del lsp2 -- lsp-add ls1 lsp2 +check ovn-nbctl lsp-del lsp2 -- lsp-add ls1 lsp2 AT_CHECK([ovn-nbctl --wait=sb sync], [0]) check_column 1 Port_Binding tunnel_key logical_port=lsp1 @@ -1862,23 +1862,23 @@ OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([check reconcile stale Ha_Chassis_Group]) ovn_start -ovn-nbctl ls-add ls1 -ovn-nbctl ls-add ls2 -ovn-nbctl lsp-add ls1 lsp1 -ovn-nbctl lsp-add ls2 lsp2 +check ovn-nbctl ls-add ls1 +check ovn-nbctl ls-add ls2 +check ovn-nbctl lsp-add ls1 lsp1 +check ovn-nbctl lsp-add ls2 lsp2 -ovn-nbctl lsp-set-type lsp2 external +check ovn-nbctl lsp-set-type lsp2 external -ovn-nbctl ha-chassis-group-add chg1 -ovn-nbctl ha-chassis-group-add-chassis chg1 chassis-1 30 +check ovn-nbctl ha-chassis-group-add chg1 +check ovn-nbctl ha-chassis-group-add-chassis chg1 chassis-1 30 chg1_uuid=$(ovn-nbctl --bare --columns _uuid list Ha_Chassis_Group .) -ovn-nbctl set logical_switch_port lsp2 ha_chassis_group=${chg1_uuid} +check ovn-nbctl set logical_switch_port lsp2 ha_chassis_group=${chg1_uuid} AT_CHECK([ovn-nbctl --wait=sb sync], [0]) # Move lsp2 from ls2 to ls1. This should also remove the SB HA_Chassis_Group # record. -ovn-nbctl lsp-del lsp2 -- lsp-add ls1 lsp2 +check ovn-nbctl lsp-del lsp2 -- lsp-add ls1 lsp2 AT_CHECK([ovn-nbctl --wait=sb sync], [0]) check_row_count HA_Chassis_Group 0 @@ -1890,21 +1890,21 @@ OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([check NB/SB Port_Group translation (lsp add/del)]) ovn_start -ovn-nbctl ls-add ls1 -ovn-nbctl ls-add ls2 -ovn-nbctl lsp-add ls1 lsp1 -ovn-nbctl lsp-add ls2 lsp2 -ovn-nbctl --wait=sb sync +check ovn-nbctl ls-add ls1 +check ovn-nbctl ls-add ls2 +check ovn-nbctl lsp-add ls1 lsp1 +check ovn-nbctl lsp-add ls2 lsp2 +check ovn-nbctl --wait=sb sync ls1_key=$(ovn-sbctl --columns tunnel_key --bare list Datapath_Binding ls1) ls2_key=$(ovn-sbctl --columns tunnel_key --bare list Datapath_Binding ls2) # Add an empty port group. This should generate no entry in the SB. -ovn-nbctl --wait=sb pg-add pg_test +check ovn-nbctl --wait=sb pg-add pg_test AT_CHECK([test 0 = $(ovn-sbctl --columns _uuid list Port_Group | grep uuid -c)]) # Add lsp1 to the port group. This should generate an entry in the SB only # for ls1. -ovn-nbctl --wait=sb pg-set-ports pg_test lsp1 +check ovn-nbctl --wait=sb pg-set-ports pg_test lsp1 AT_CHECK([test 1 = $(ovn-sbctl --columns _uuid list Port_Group | grep uuid -c)]) AT_CHECK([ovn-sbctl --columns ports --bare find Port_Group name=${ls1_key}_pg_test], [0], [dnl lsp1 @@ -1912,7 +1912,7 @@ lsp1 # Add lsp2 to the port group. This should generate a new entry in the SB, for # ls2. -ovn-nbctl --wait=sb pg-set-ports pg_test lsp1 lsp2 +check ovn-nbctl --wait=sb pg-set-ports pg_test lsp1 lsp2 AT_CHECK([test 2 = $(ovn-sbctl --columns _uuid list Port_Group | grep uuid -c)]) AT_CHECK([ovn-sbctl --columns ports --bare find Port_Group name=${ls1_key}_pg_test], [0], [dnl lsp1 @@ -1923,14 +1923,14 @@ lsp2 # Remove lsp1 from the port group. The SB Port_Group for ls1 should be # removed. -ovn-nbctl --wait=sb pg-set-ports pg_test lsp2 +check ovn-nbctl --wait=sb pg-set-ports pg_test lsp2 AT_CHECK([test 1 = $(ovn-sbctl --columns _uuid list Port_Group | grep uuid -c)]) AT_CHECK([ovn-sbctl --columns ports --bare find Port_Group name=${ls2_key}_pg_test], [0], [dnl lsp2 ]) # Remove lsp2 from the port group. All SB Port_Groups should be purged. -ovn-nbctl --wait=sb clear Port_Group pg_test ports +check ovn-nbctl --wait=sb clear Port_Group pg_test ports AT_CHECK([test 0 = $(ovn-sbctl --columns _uuid list Port_Group | grep uuid -c)]) AT_CLEANUP @@ -1940,23 +1940,23 @@ OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([check NB/SB Port_Group translation (ls del)]) ovn_start -ovn-nbctl ls-add ls1 -ovn-nbctl ls-add ls2 -ovn-nbctl lsp-add ls1 lsp1 -ovn-nbctl lsp-add ls2 lsp2 -ovn-nbctl --wait=sb sync +check ovn-nbctl ls-add ls1 +check ovn-nbctl ls-add ls2 +check ovn-nbctl lsp-add ls1 lsp1 +check ovn-nbctl lsp-add ls2 lsp2 +check ovn-nbctl --wait=sb sync ls1_key=$(ovn-sbctl --columns tunnel_key --bare list Datapath_Binding ls1) ls2_key=$(ovn-sbctl --columns tunnel_key --bare list Datapath_Binding ls2) # Add lsp1 & lsp2 to a port group. This should generate two entries in the # SB (one per logical switch). -ovn-nbctl --wait=sb pg-add pg_test lsp1 lsp2 +check ovn-nbctl --wait=sb pg-add pg_test lsp1 lsp2 wait_row_count Port_Group 2 check_row_count Port_Group 1 name=${ls1_key}_pg_test check_row_count Port_Group 1 name=${ls2_key}_pg_test # Delete logical switch ls1. This should remove the associated SB Port_Group. -ovn-nbctl --wait=sb ls-del ls1 +check ovn-nbctl --wait=sb ls-del ls1 wait_row_count Port_Group 1 check_row_count Port_Group 1 name=${ls2_key}_pg_test @@ -1969,55 +1969,55 @@ ovn_start ovn-sbctl chassis-add ch geneve 127.0.0.1 -ovn-nbctl lr-add lr -ovn-nbctl lrp-add lr lrp-public 00:00:00:00:01:00 43.43.43.1/24 4343::1/64 -ovn-nbctl lrp-add lr lrp 00:00:00:00:00:01 42.42.42.1/24 - -ovn-nbctl ls-add ls -ovn-nbctl lsp-add ls ls-rp -ovn-nbctl lsp-set-type ls-rp router -ovn-nbctl lsp-set-addresses ls-rp router -ovn-nbctl lsp-set-options ls-rp router-port=lrp -ovn-nbctl lsp-add ls ls-vm - -ovn-nbctl set logical_router lr options:chassis=ch -ovn-nbctl lr-nat-add lr dnat_and_snat 43.43.43.2 42.42.42.2 -ovn-nbctl lr-nat-add lr dnat 43.43.43.3 42.42.42.3 -ovn-nbctl lr-nat-add lr dnat_and_snat 43.43.43.4 42.42.42.4 ls-vm 00:00:00:00:00:02 -ovn-nbctl lr-nat-add lr snat 43.43.43.150 43.43.43.50 -ovn-nbctl lr-nat-add lr snat 43.43.43.150 43.43.43.51 - -ovn-nbctl lb-add lb1 "192.168.2.1:8080" "10.0.0.4:8080" -ovn-nbctl lb-add lb2 "192.168.2.4:8080" "10.0.0.5:8080" udp -ovn-nbctl lb-add lb3 "192.168.2.5:8080" "10.0.0.6:8080" -ovn-nbctl lb-add lb4 "192.168.2.6:8080" "10.0.0.7:8080" -ovn-nbctl lb-add lb5 "[[fe80::200:ff:fe00:101]]:8080" "[[fe02::200:ff:fe00:101]]:8080" -ovn-nbctl lb-add lb5 "[[fe80::200:ff:fe00:102]]:8080" "[[fe02::200:ff:fe00:102]]:8080" -ovn-nbctl lb-add lb6 "43.43.43.43:8080" "10.0.0.8:8080" udp -ovn-nbctl lb-add lb7 "[[4343::4343]]:8080" "[[10::10]]:8080" udp -ovn-nbctl lb-add lb8 "44.44.44.44:8080" "10.0.0.8:8080" udp -ovn-nbctl set Load_Balancer lb8 options:neighbor_responder=all -ovn-nbctl lb-add lb9 "[[4444::4444]]:8080" "[[10::10]]:8080" udp -ovn-nbctl set Load_Balancer lb9 options:neighbor_responder=all - -ovn-nbctl lb-add lb10 "55.55.55.55:8080" "10.0.0.8:8080" udp -ovn-nbctl set Load_Balancer lb10 options:neighbor_responder=none -ovn-nbctl lb-add lb11 "[[5555::5555]]:8080" "[[10::10]]:8080" udp -ovn-nbctl set Load_Balancer lb11 options:neighbor_responder=none - -ovn-nbctl lr-lb-add lr lb1 -ovn-nbctl lr-lb-add lr lb2 -ovn-nbctl lr-lb-add lr lb3 -ovn-nbctl lr-lb-add lr lb4 -ovn-nbctl lr-lb-add lr lb5 -ovn-nbctl lr-lb-add lr lb6 -ovn-nbctl lr-lb-add lr lb7 -ovn-nbctl lr-lb-add lr lb8 -ovn-nbctl lr-lb-add lr lb9 -ovn-nbctl lr-lb-add lr lb10 -ovn-nbctl lr-lb-add lr lb11 - -ovn-nbctl --wait=sb sync +check ovn-nbctl lr-add lr +check ovn-nbctl lrp-add lr lrp-public 00:00:00:00:01:00 43.43.43.1/24 4343::1/64 +check ovn-nbctl lrp-add lr lrp 00:00:00:00:00:01 42.42.42.1/24 + +check ovn-nbctl ls-add ls +check ovn-nbctl lsp-add ls ls-rp +check ovn-nbctl lsp-set-type ls-rp router +check ovn-nbctl lsp-set-addresses ls-rp router +check ovn-nbctl lsp-set-options ls-rp router-port=lrp +check ovn-nbctl lsp-add ls ls-vm + +check ovn-nbctl set logical_router lr options:chassis=ch +check ovn-nbctl lr-nat-add lr dnat_and_snat 43.43.43.2 42.42.42.2 +check ovn-nbctl lr-nat-add lr dnat 43.43.43.3 42.42.42.3 +check ovn-nbctl lr-nat-add lr dnat_and_snat 43.43.43.4 42.42.42.4 ls-vm 00:00:00:00:00:02 +check ovn-nbctl lr-nat-add lr snat 43.43.43.150 43.43.43.50 +check ovn-nbctl lr-nat-add lr snat 43.43.43.150 43.43.43.51 + +check ovn-nbctl lb-add lb1 "192.168.2.1:8080" "10.0.0.4:8080" +check ovn-nbctl lb-add lb2 "192.168.2.4:8080" "10.0.0.5:8080" udp +check ovn-nbctl lb-add lb3 "192.168.2.5:8080" "10.0.0.6:8080" +check ovn-nbctl lb-add lb4 "192.168.2.6:8080" "10.0.0.7:8080" +check ovn-nbctl lb-add lb5 "[[fe80::200:ff:fe00:101]]:8080" "[[fe02::200:ff:fe00:101]]:8080" +check ovn-nbctl lb-add lb5 "[[fe80::200:ff:fe00:102]]:8080" "[[fe02::200:ff:fe00:102]]:8080" +check ovn-nbctl lb-add lb6 "43.43.43.43:8080" "10.0.0.8:8080" udp +check ovn-nbctl lb-add lb7 "[[4343::4343]]:8080" "[[10::10]]:8080" udp +check ovn-nbctl lb-add lb8 "44.44.44.44:8080" "10.0.0.8:8080" udp +check ovn-nbctl set Load_Balancer lb8 options:neighbor_responder=all +check ovn-nbctl lb-add lb9 "[[4444::4444]]:8080" "[[10::10]]:8080" udp +check ovn-nbctl set Load_Balancer lb9 options:neighbor_responder=all + +check ovn-nbctl lb-add lb10 "55.55.55.55:8080" "10.0.0.8:8080" udp +check ovn-nbctl set Load_Balancer lb10 options:neighbor_responder=none +check ovn-nbctl lb-add lb11 "[[5555::5555]]:8080" "[[10::10]]:8080" udp +check ovn-nbctl set Load_Balancer lb11 options:neighbor_responder=none + +check ovn-nbctl lr-lb-add lr lb1 +check ovn-nbctl lr-lb-add lr lb2 +check ovn-nbctl lr-lb-add lr lb3 +check ovn-nbctl lr-lb-add lr lb4 +check ovn-nbctl lr-lb-add lr lb5 +check ovn-nbctl lr-lb-add lr lb6 +check ovn-nbctl lr-lb-add lr lb7 +check ovn-nbctl lr-lb-add lr lb8 +check ovn-nbctl lr-lb-add lr lb9 +check ovn-nbctl lr-lb-add lr lb10 +check ovn-nbctl lr-lb-add lr lb11 + +check ovn-nbctl --wait=sb sync lr_key=$(fetch_column sb:datapath_binding tunnel_key external_ids:name=lr) lb_as_v4="_rtr_lb_${lr_key}_ip4" lb_as_v6="_rtr_lb_${lr_key}_ip6" @@ -2089,9 +2089,9 @@ action=(nd_na { eth.src = xreg0[[0..47]]; ip6.src = nd.target; nd.tll = xreg0[[0 AT_CHECK([ovn-sbctl lflow-list | grep "xreg0\[[0..47\]]" | grep -vE 'lr_in_admission|lr_in_ip_input'], [1], []) # Test chassis redirect port. -ovn-nbctl remove logical_router lr options chassis -ovn-nbctl lrp-set-gateway-chassis lrp-public ch -ovn-nbctl --wait=sb sync +check ovn-nbctl remove logical_router lr options chassis +check ovn-nbctl lrp-set-gateway-chassis lrp-public ch +check ovn-nbctl --wait=sb sync # Ingress router port ETH address is stored in lr_in_admission. AT_CHECK([ovn-sbctl lflow-list | grep -E "lr_in_admission.*xreg0\[[0..47\]]" | ovn_strip_lflows], [0], [dnl @@ -2210,14 +2210,14 @@ OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([Load balancer - missing ls_out_pre_lb flows]) ovn_start -ovn-nbctl ls-add sw0 -ovn-nbctl lsp-add sw0 sw0-p1 +check ovn-nbctl ls-add sw0 +check ovn-nbctl lsp-add sw0 sw0-p1 -ovn-nbctl lb-add lb1 "10.0.0.10" "10.0.0.3" -ovn-nbctl lb-add lb2 "10.0.0.11" "10.0.0.4" +check ovn-nbctl lb-add lb1 "10.0.0.10" "10.0.0.3" +check ovn-nbctl lb-add lb2 "10.0.0.11" "10.0.0.4" -ovn-nbctl lb-add lb3 "10.0.0.12" "10.0.0.5" -ovn-nbctl lb-add lb4 "10.0.0.13" "10.0.0.6" +check ovn-nbctl lb-add lb3 "10.0.0.12" "10.0.0.5" +check ovn-nbctl lb-add lb4 "10.0.0.13" "10.0.0.6" lb1=$(fetch_column nb:load_balancer _uuid name=lb1) lb2=$(fetch_column nb:load_balancer _uuid name=lb2) @@ -2227,7 +2227,7 @@ lb4=$(fetch_column nb:load_balancer _uuid name=lb4) lbg=$(ovn-nbctl create load_balancer_group name=lbg) check ovn-nbctl add logical_switch sw0 load_balancer_group $lbg -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync AT_CHECK([ovn-sbctl lflow-list | grep "ls_out_pre_lb.*priority=100" | grep reg0 | sort], [0], [dnl ]) @@ -2311,14 +2311,14 @@ OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([ignore_lsp_down]) ovn_start -ovn-nbctl set NB_Global . options:ignore_lsp_down=false -ovn-nbctl ls-add sw0 -ovn-nbctl lsp-add sw0 sw0-p1 -- lsp-set-addresses sw0-p1 "aa:aa:aa:aa:aa:aa 10.0.0.1" +check ovn-nbctl set NB_Global . options:ignore_lsp_down=false +check ovn-nbctl ls-add sw0 +check ovn-nbctl lsp-add sw0 sw0-p1 -- lsp-set-addresses sw0-p1 "aa:aa:aa:aa:aa:aa 10.0.0.1" -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync AT_CHECK([ovn-sbctl lflow-list | grep arp | grep 10\.0\.0\.1], [1], [ignore]) -ovn-nbctl --wait=sb set NB_Global . options:ignore_lsp_down=true +check ovn-nbctl --wait=sb set NB_Global . options:ignore_lsp_down=true AT_CHECK([ovn-sbctl lflow-list | grep arp | grep 10\.0\.0\.1], [0], [ignore]) AT_CLEANUP @@ -2357,7 +2357,7 @@ sw1flows: table=??(ls_out_acl_eval ), priority=2003 , match=((outport == @pg AS_BOX([2]) -ovn-nbctl --wait=sb acl-add pg0 to-lport 1002 "outport == @pg0 && ip4 && udp" reject +check ovn-nbctl --wait=sb acl-add pg0 to-lport 1002 "outport == @pg0 && ip4 && udp" reject ovn-sbctl dump-flows sw0 > sw0flows2 AT_CAPTURE_FILE([sw0flows2]) @@ -2373,7 +2373,7 @@ sw1flows2: table=??(ls_out_acl_eval ), priority=2003 , match=((outport == @p AS_BOX([3]) -ovn-nbctl --wait=sb acl-add pg0 to-lport 1001 "outport == @pg0 && ip" allow-related +check ovn-nbctl --wait=sb acl-add pg0 to-lport 1001 "outport == @pg0 && ip" allow-related ovn-sbctl dump-flows sw0 > sw0flows3 AT_CAPTURE_FILE([sw0flows3]) @@ -2729,8 +2729,8 @@ AT_CHECK([ovn-sbctl lflow-list ls | grep -e ls_in_acl_hint -e ls_out_acl_hint -e table=??(ls_out_acl_hint ), priority=7 , match=(ct.new && !ct.est), action=(reg0[[7]] = 1; reg0[[9]] = 1; next;) ]) -ovn-nbctl --wait=sb clear logical_switch ls acls -ovn-nbctl --wait=sb clear logical_switch ls load_balancer +check ovn-nbctl --wait=sb clear logical_switch ls acls +check ovn-nbctl --wait=sb clear logical_switch ls load_balancer AT_CHECK([ovn-sbctl lflow-list ls | grep -e ls_in_acl_hint -e ls_out_acl_hint -e ls_in_acl_eval -e ls_out_acl_eval -e ls_in_acl_after_lb_eval | ovn_strip_lflows], [0], [dnl table=??(ls_in_acl_after_lb_eval), priority=0 , match=(1), action=(next;) @@ -2799,10 +2799,10 @@ OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([LR requested-tnl-key]) ovn_start -ovn-nbctl --wait=sb lr-add lr0 +check ovn-nbctl --wait=sb lr-add lr0 AT_CHECK([test 1 = $(ovn-sbctl get datapath_binding lr0 tunnel_key)]) -ovn-nbctl --wait=sb lr-add lr1 +check ovn-nbctl --wait=sb lr-add lr1 AT_CHECK([test 2 = $(ovn-sbctl get datapath_binding lr1 tunnel_key)]) AT_CHECK( @@ -2927,7 +2927,7 @@ eval $cmd check_row_count nb:Logical_Switch 4095 wait_row_count sb:Datapath_Binding 4095 -ovn-nbctl ls-add lsw-exhausted +check ovn-nbctl ls-add lsw-exhausted check_row_count nb:Logical_Switch 4096 wait_row_count sb:Datapath_Binding 4095 @@ -2958,7 +2958,7 @@ ovn-sbctl \ --id=@e create encap chassis_name=hv1 ip="192.168.0.1" type="vxlan" \ -- --id=@c create chassis name=hv1 encaps=@e -ovn-nbctl lsp-add lsw lsp-exhausted +check ovn-nbctl lsp-add lsw lsp-exhausted check_row_count nb:Logical_Switch_Port 2049 wait_row_count sb:Port_Binding 2048 @@ -3285,7 +3285,7 @@ $(cat sw_sb_uuids | sort) echo echo "__file__:__line__: Delete load balancers lb1 and lbg1 and check that datapath sw1's load_balancers is still empty." -ovn-nbctl --wait=sb lb-del lb1 -- lb-del lbg1 +check ovn-nbctl --wait=sb lb-del lb1 -- lb-del lbg1 check_column "" sb:datapath_binding load_balancers external_ids:name=sw1 echo @@ -3527,18 +3527,18 @@ OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([ACL allow-stateless omit conntrack - Logical_Switch]) ovn_start -ovn-nbctl ls-add ls -ovn-nbctl lsp-add ls lsp1 -ovn-nbctl lsp-set-addresses lsp1 00:00:00:00:00:01 -ovn-nbctl lsp-add ls lsp2 -ovn-nbctl lsp-set-addresses lsp2 00:00:00:00:00:02 +check ovn-nbctl ls-add ls +check ovn-nbctl lsp-add ls lsp1 +check ovn-nbctl lsp-set-addresses lsp1 00:00:00:00:00:01 +check ovn-nbctl lsp-add ls lsp2 +check ovn-nbctl lsp-set-addresses lsp2 00:00:00:00:00:02 for direction in from to; do ovn-nbctl acl-add ls ${direction}-lport 3 "tcp" allow-related ovn-nbctl acl-add ls ${direction}-lport 2 "udp" allow-related ovn-nbctl acl-add ls ${direction}-lport 1 "ip" drop done -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync flow_eth='eth.src == 00:00:00:00:00:01 && eth.dst == 00:00:00:00:00:02' flow_ip='ip.ttl==64 && ip4.src == 42.42.42.1 && ip4.dst == 66.66.66.66' @@ -3571,7 +3571,7 @@ ct_next(ct_state=new|trk) { for direction in from to; do ovn-nbctl acl-add ls ${direction}-lport 4 tcp allow-stateless done -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync # TCP packets should not go to conntrack anymore. flow="inport == \"lsp1\" && ${flow_eth} && ${flow_ip} && ${flow_tcp}" @@ -3590,14 +3590,14 @@ ct_next(ct_state=new|trk) { ]) # Add a load balancer. -ovn-nbctl lb-add lb-tcp 66.66.66.66:80 42.42.42.2:8080 tcp -ovn-nbctl lb-add lb-udp 66.66.66.66:80 42.42.42.2:8080 udp -ovn-nbctl ls-lb-add ls lb-tcp -ovn-nbctl ls-lb-add ls lb-udp +check ovn-nbctl lb-add lb-tcp 66.66.66.66:80 42.42.42.2:8080 tcp +check ovn-nbctl lb-add lb-udp 66.66.66.66:80 42.42.42.2:8080 udp +check ovn-nbctl ls-lb-add ls lb-tcp +check ovn-nbctl ls-lb-add ls lb-udp # Remove stateless for TCP. -ovn-nbctl acl-del ls -ovn-nbctl --wait=sb sync +check ovn-nbctl acl-del ls +check ovn-nbctl --wait=sb sync # TCP packets should go to conntrack. flow="inport == \"lsp1\" && ${flow_eth} && ${flow_ip} && ${flow_tcp}" @@ -3631,7 +3631,7 @@ ct_lb_mark { for direction in from to; do ovn-nbctl acl-add ls ${direction}-lport 4 tcp allow-stateless done -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync # TCP packets should not go to conntrack for load balancing. flow="inport == \"lsp1\" && ${flow_eth} && ${flow_ip} && ${flow_tcp}" @@ -3660,20 +3660,20 @@ OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([ACL allow-stateless omit conntrack - Port_Group]) ovn_start -ovn-nbctl ls-add ls -ovn-nbctl lsp-add ls lsp1 -ovn-nbctl lsp-set-addresses lsp1 00:00:00:00:00:01 -ovn-nbctl lsp-add ls lsp2 -ovn-nbctl lsp-set-addresses lsp2 00:00:00:00:00:02 +check ovn-nbctl ls-add ls +check ovn-nbctl lsp-add ls lsp1 +check ovn-nbctl lsp-set-addresses lsp1 00:00:00:00:00:01 +check ovn-nbctl lsp-add ls lsp2 +check ovn-nbctl lsp-set-addresses lsp2 00:00:00:00:00:02 -ovn-nbctl pg-add pg lsp1 lsp2 +check ovn-nbctl pg-add pg lsp1 lsp2 for direction in from to; do ovn-nbctl acl-add pg ${direction}-lport 3 "tcp" allow-related ovn-nbctl acl-add pg ${direction}-lport 2 "udp" allow-related ovn-nbctl acl-add pg ${direction}-lport 1 "ip" drop done -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync lsp1_inport=$(fetch_column Port_Binding tunnel_key logical_port=lsp1) echo $lsp1_inport @@ -3707,7 +3707,7 @@ ct_next(ct_state=new|trk) { for direction in from to; do ovn-nbctl acl-add pg ${direction}-lport 4 tcp allow-stateless done -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync # TCP packets should not go to conntrack anymore. flow="inport == \"lsp1\" && ${flow_eth} && ${flow_ip} && ${flow_tcp}" @@ -3726,14 +3726,14 @@ ct_next(ct_state=new|trk) { ]) # Add a load balancer. -ovn-nbctl lb-add lb-tcp 66.66.66.66:80 42.42.42.2:8080 tcp -ovn-nbctl lb-add lb-udp 66.66.66.66:80 42.42.42.2:8080 udp -ovn-nbctl ls-lb-add ls lb-tcp -ovn-nbctl ls-lb-add ls lb-udp +check ovn-nbctl lb-add lb-tcp 66.66.66.66:80 42.42.42.2:8080 tcp +check ovn-nbctl lb-add lb-udp 66.66.66.66:80 42.42.42.2:8080 udp +check ovn-nbctl ls-lb-add ls lb-tcp +check ovn-nbctl ls-lb-add ls lb-udp # Remove stateless for TCP. -ovn-nbctl acl-del pg -ovn-nbctl --wait=sb sync +check ovn-nbctl acl-del pg +check ovn-nbctl --wait=sb sync # TCP packets should go to conntrack. flow="inport == \"lsp1\" && ${flow_eth} && ${flow_ip} && ${flow_tcp}" @@ -3767,7 +3767,7 @@ ct_lb_mark { for direction in from to; do ovn-nbctl acl-add pg ${direction}-lport 4 tcp allow-stateless done -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync # TCP packets should not go to conntrack for load balancing. flow="inport == \"lsp1\" && ${flow_eth} && ${flow_ip} && ${flow_tcp}" @@ -3796,17 +3796,17 @@ OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([ACL allow-stateless overrides stateful rules with higher priority - Logical_Switch]) ovn_start -ovn-nbctl ls-add ls -ovn-nbctl lsp-add ls lsp1 -ovn-nbctl lsp-set-addresses lsp1 00:00:00:00:00:01 -ovn-nbctl lsp-add ls lsp2 -ovn-nbctl lsp-set-addresses lsp2 00:00:00:00:00:02 +check ovn-nbctl ls-add ls +check ovn-nbctl lsp-add ls lsp1 +check ovn-nbctl lsp-set-addresses lsp1 00:00:00:00:00:01 +check ovn-nbctl lsp-add ls lsp2 +check ovn-nbctl lsp-set-addresses lsp2 00:00:00:00:00:02 for direction in from to; do ovn-nbctl acl-add ls ${direction}-lport 3 "tcp" allow-related ovn-nbctl acl-add ls ${direction}-lport 3 "udp" allow done -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync flow_eth='eth.src == 00:00:00:00:00:01 && eth.dst == 00:00:00:00:00:02' flow_ip='ip.ttl==64 && ip4.src == 42.42.42.1 && ip4.dst == 66.66.66.66' @@ -3830,7 +3830,7 @@ for direction in from to; do ovn-nbctl acl-add ls ${direction}-lport 1 tcp allow-stateless ovn-nbctl acl-add ls ${direction}-lport 1 udp allow-stateless done -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync # TCP packets should not go to conntrack anymore. flow="inport == \"lsp1\" && ${flow_eth} && ${flow_ip} && ${flow_tcp}" @@ -3945,7 +3945,7 @@ route_uuid=$(fetch_column nb:logical_router_static_route _uuid ip_prefix="100.0. check ovn-nbctl clear logical_router_static_route $route_uuid bfd wait_column admin_down bfd status logical_port=r0-sw1 -ovn-nbctl destroy bfd $uuid +check ovn-nbctl destroy bfd $uuid wait_row_count bfd 5 # Simulate BFD up in Southbound for an automatically created entry. @@ -4550,15 +4550,15 @@ AT_SETUP([FDB cleanup]) ovn_start -ovn-nbctl ls-add sw0 -ovn-nbctl lsp-add sw0 sw0-p1 -ovn-nbctl lsp-add sw0 sw0-p2 -ovn-nbctl lsp-add sw0 sw0-p3 +check ovn-nbctl ls-add sw0 +check ovn-nbctl lsp-add sw0 sw0-p1 +check ovn-nbctl lsp-add sw0 sw0-p2 +check ovn-nbctl lsp-add sw0 sw0-p3 -ovn-nbctl ls-add sw1 -ovn-nbctl lsp-add sw1 sw1-p1 -ovn-nbctl lsp-add sw1 sw1-p2 -ovn-nbctl --wait=sb lsp-add sw1 sw1-p3 +check ovn-nbctl ls-add sw1 +check ovn-nbctl lsp-add sw1 sw1-p1 +check ovn-nbctl lsp-add sw1 sw1-p2 +check ovn-nbctl --wait=sb lsp-add sw1 sw1-p3 sw0_key=$(fetch_column datapath_binding tunnel_key external_ids:name=sw0) sw1_key=$(fetch_column datapath_binding tunnel_key external_ids:name=sw1) @@ -4580,13 +4580,13 @@ wait_row_count FDB 6 ovn-sbctl create fdb mac="00\:00\:00\:00\:01\:03" dp_key=4 port_key=10 wait_row_count FDB 6 -ovn-nbctl --wait=sb ls-del sw1 +check ovn-nbctl --wait=sb ls-del sw1 wait_row_count FDB 3 -ovn-nbctl lsp-del sw0-p3 +check ovn-nbctl lsp-del sw0-p3 wait_row_count FDB 3 -ovn-nbctl lsp-del sw0-p1 +check ovn-nbctl lsp-del sw0-p1 wait_row_count FDB 1 check_column '00:00:00:00:00:03' FDB mac @@ -4598,7 +4598,7 @@ check_column $sw0p2_key FDB port_key check ovn-nbctl --wait=sb lsp-add sw0 sw0-p1 wait_row_count FDB 1 -ovn-nbctl lsp-del sw0-p2 +check ovn-nbctl lsp-del sw0-p2 check ovn-nbctl lsp-add sw0 sw0-p2 wait_row_count FDB 0 @@ -5126,11 +5126,11 @@ check ovn-nbctl lsp-set-addresses sw0-port1 "50:54:00:00:00:01 10.0.0.2" check ovn-nbctl lsp-add sw0 sw0-port2 check ovn-nbctl lsp-set-addresses sw0-port2 "50:54:00:00:00:02 10.0.0.3" -ovn-nbctl dhcp-options-create 10.0.0.0/24 +check ovn-nbctl dhcp-options-create 10.0.0.0/24 CIDR_UUID=$(ovn-nbctl --bare --columns=_uuid find dhcp_options cidr="10.0.0.0/24") -ovn-nbctl dhcp-options-set-options $CIDR_UUID lease_time=3600 router=10.0.0.1 server_id=10.0.0.1 server_mac=c0:ff:ee:00:00:01 hostname="\"foo\"" -ovn-nbctl --wait=sb lsp-set-dhcpv4-options sw0-port1 $CIDR_UUID +check ovn-nbctl dhcp-options-set-options $CIDR_UUID lease_time=3600 router=10.0.0.1 server_id=10.0.0.1 server_mac=c0:ff:ee:00:00:01 hostname="\"foo\"" +check ovn-nbctl --wait=sb lsp-set-dhcpv4-options sw0-port1 $CIDR_UUID ovn-sbctl dump-flows sw0 > sw0flows AT_CAPTURE_FILE([sw0flows]) @@ -5149,7 +5149,7 @@ AT_CHECK([grep -w "ls_in_dhcp_options" sw0flows | ovn_strip_lflows], [0], [dnl table=??(ls_in_dhcp_options ), priority=100 , match=(inport == "sw0-port1" && eth.src == 50:54:00:00:00:01 && (ip4.src == {10.0.0.2, 0.0.0.0} && ip4.dst == {10.0.0.1, 255.255.255.255}) && udp.src == 68 && udp.dst == 67), action=(reg0[[3]] = put_dhcp_opts(offerip = 10.0.0.2, hostname = "port1", lease_time = 3600, netmask = 255.255.255.0, router = 10.0.0.1, server_id = 10.0.0.1); next;) ]) -ovn-nbctl dhcp-options-set-options $CIDR_UUID lease_time=3600 router=10.0.0.1 server_id=10.0.0.1 server_mac=c0:ff:ee:00:00:01 +check ovn-nbctl dhcp-options-set-options $CIDR_UUID lease_time=3600 router=10.0.0.1 server_id=10.0.0.1 server_mac=c0:ff:ee:00:00:01 check ovn-nbctl --wait=sb lsp-set-options sw0-port1 hostname="\"bar\"" ovn-sbctl dump-flows sw0 > sw0flows AT_CAPTURE_FILE([sw0flows]) @@ -5559,8 +5559,8 @@ AT_CHECK([grep "ls_in_l2_lkup" ls2_lflows | ovn_strip_lflows], [0], [dnl AS_BOX([Adding load balancer reachable VIPs to ro1]) -ovn-nbctl lb-add lb1 192.168.1.100:80 10.0.0.10:80 -ovn-nbctl --wait=sb lr-lb-add ro1 lb1 +check ovn-nbctl lb-add lb1 192.168.1.100:80 10.0.0.10:80 +check ovn-nbctl --wait=sb lr-lb-add ro1 lb1 ovn-sbctl lflow-list ls1 > ls1_lflows AT_CHECK([grep "ls_in_l2_lkup" ls1_lflows | ovn_strip_lflows], [0], [dnl @@ -5580,7 +5580,7 @@ AT_CHECK([grep "ls_in_l2_lkup" ls1_lflows | ovn_strip_lflows], [0], [dnl ]) AS_BOX([Adding load balancer unreachable VIPs to ro1]) -ovn-nbctl --wait=sb lb-add lb1 192.168.4.100:80 10.0.0.10:80 +check ovn-nbctl --wait=sb lb-add lb1 192.168.4.100:80 10.0.0.10:80 ovn-sbctl lflow-list ls1 > ls1_lflows AT_CHECK([grep "ls_in_l2_lkup" ls1_lflows | ovn_strip_lflows], [0], [dnl @@ -5729,7 +5729,7 @@ check ovn-nbctl ls-add public check ovn-nbctl lrp-add lr0 lr0-public 00:00:00:00:ff:02 172.168.0.10/24 check ovn-nbctl lrp-set-gateway-chassis lr0-public gw1 -ovn-nbctl lsp-add public public-lr0 -- set Logical_Switch_Port public-lr0 \ +check ovn-nbctl lsp-add public public-lr0 -- set Logical_Switch_Port public-lr0 \ type=router options:router-port=lr0-public \ -- lsp-set-addresses public-lr0 router @@ -6201,7 +6201,7 @@ check ovn-nbctl lrp-add lr0 lr0-sw0 00:00:00:00:ff:01 10.0.0.1/24 aef0::1 check ovn-nbctl lrp-add lr0 lr0-public 00:00:00:00:ff:02 172.168.0.10/24 def0::10 lb1_uuid=$(fetch_column nb:Load_Balancer _uuid name=lb1) -ovn-nbctl set load_balancer $lb1_uuid vips:'"[[def0::2]]:8000"'='"@<:@aef0::2@:>@:80,@<:@aef0::3@:>@:80"' +check ovn-nbctl set load_balancer $lb1_uuid vips:'"[[def0::2]]:8000"'='"@<:@aef0::2@:>@:80,@<:@aef0::3@:>@:80"' ovn-nbctl list load_Balancer check ovn-nbctl --wait=sb sync @@ -7014,7 +7014,7 @@ check ovn-nbctl lsp-add ls1 lsp1 -- \ lsp-set-options lsp1 router-port=lrp1 # ensure initial flows are installed without is_chassis_resident match part -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync ovn-sbctl dump-flows lr1 > lrflows AT_CAPTURE_FILE([lrflows]) @@ -7032,7 +7032,7 @@ wait_row_count Port_Binding 0 logical_port=cr-lrp1 options:always-redirect="true # make lrp a cr-port and check its flows check ovn-nbctl lrp-set-gateway-chassis lrp1 ch1 -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync ovn-sbctl dump-flows lr1 > lrflows AT_CAPTURE_FILE([lrflows]) @@ -7054,7 +7054,7 @@ wait_row_count Port_Binding 1 logical_port=cr-lrp1 options:always-redirect="true # there should not be is_chassis_resident part. check ovn-nbctl lsp-add ls1 lsp-vtep -- lsp-set-type lsp-vtep vtep -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync ovn-sbctl dump-flows lr1 > lrflows AT_CAPTURE_FILE([lrflows]) @@ -7073,7 +7073,7 @@ wait_row_count Port_Binding 0 logical_port=cr-lrp1 options:always-redirect="true # delete vtep lport and check lrp has is_chassis_resident match part again. check ovn-nbctl lsp-del lsp-vtep -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync ovn-sbctl dump-flows lr1 > lrflows AT_CAPTURE_FILE([lrflows]) @@ -7110,29 +7110,29 @@ ch2_uuid=`ovn-sbctl --bare --columns _uuid find Chassis name="ch2"` check ovn-sbctl set chassis $ch2_uuid hostname=ch2-hostname -ovn-nbctl ls-add S1 -ovn-nbctl --wait=sb lsp-add S1 S1-vm1 -ovn-nbctl --wait=sb lsp-add S1 S1-vm2 +check ovn-nbctl ls-add S1 +check ovn-nbctl --wait=sb lsp-add S1 S1-vm1 +check ovn-nbctl --wait=sb lsp-add S1 S1-vm2 wait_row_count Port_Binding 1 logical_port=S1-vm1 requested_chassis!=$ch1_uuid wait_row_count Port_Binding 1 logical_port=S1-vm2 requested_chassis!=$ch2_uuid -ovn-nbctl --wait=sb set logical_switch_port S1-vm1 \ +check ovn-nbctl --wait=sb set logical_switch_port S1-vm1 \ options:requested-chassis=ch1 wait_row_count Port_Binding 1 logical_port=S1-vm1 requested_chassis=$ch1_uuid -ovn-nbctl --wait=sb set logical_switch_port S1-vm2 \ +check ovn-nbctl --wait=sb set logical_switch_port S1-vm2 \ options:requested-chassis=ch2-hostname wait_row_count Port_binding 1 logical-port=S1-vm2 requested_chassis=$ch2_uuid -ovn-nbctl --wait=sb remove logical_switch_port S1-vm2 \ +check ovn-nbctl --wait=sb remove logical_switch_port S1-vm2 \ options requested-chassis=ch2-hostname wait_row_count Port_binding 1 logical-port=S1-vm2 requested_chassis!=$ch2_uuid -ovn-nbctl --wait=sb set logical_switch_port S1-vm2 \ +check ovn-nbctl --wait=sb set logical_switch_port S1-vm2 \ options:requested-chassis=ch2 wait_row_count Port_binding 1 logical-port=S1-vm2 requested_chassis=$ch2_uuid @@ -7144,11 +7144,11 @@ AT_CLEANUP OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([check options: force_fdb_lookup for LSP]) ovn_start NORTHD_TYPE -ovn-nbctl ls-add S1 -ovn-nbctl --wait=sb lsp-add S1 S1-vm1 -ovn-nbctl --wait=sb lsp-add S1 S1-localnet -ovn-nbctl --wait=sb lsp-set-addresses S1-vm1 "50:54:00:00:00:01 192.168.0.1" unknown -ovn-nbctl --wait=sb lsp-set-type S1-localnet localnet +check ovn-nbctl ls-add S1 +check ovn-nbctl --wait=sb lsp-add S1 S1-vm1 +check ovn-nbctl --wait=sb lsp-add S1 S1-localnet +check ovn-nbctl --wait=sb lsp-set-addresses S1-vm1 "50:54:00:00:00:01 192.168.0.1" unknown +check ovn-nbctl --wait=sb lsp-set-type S1-localnet localnet #Verify the flows before setting force_fdb_lookup option ovn-sbctl dump-flows S1 > S1flows @@ -7159,8 +7159,8 @@ AT_CHECK([grep -e "ls_in_l2_lkup.*S1-vm1" S1flows | ovn_strip_lflows], [0], [dnl ]) #Set the force_fdb_lookup option and verify the flows -ovn-nbctl --wait=sb set logical_switch_port S1-vm1 options:force_fdb_lookup=true -ovn-nbctl --wait=sb set logical_switch_port S1-localnet options:force_fdb_lookup=true +check ovn-nbctl --wait=sb set logical_switch_port S1-vm1 options:force_fdb_lookup=true +check ovn-nbctl --wait=sb set logical_switch_port S1-localnet options:force_fdb_lookup=true ovn-sbctl dump-flows S1 > S1flows AT_CAPTURE_FILE([S1flows]) @@ -7182,11 +7182,11 @@ AT_CLEANUP OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([check options:pkt_clone_type for LSP]) ovn_start NORTHD_TYPE -ovn-nbctl ls-add S1 -ovn-nbctl --wait=sb lsp-add S1 S1-vm1 -ovn-nbctl --wait=sb lsp-add S1 S1-vm2 -ovn-nbctl --wait=sb lsp-set-addresses S1-vm1 "50:54:00:00:00:01 192.168.0.1" -ovn-nbctl --wait=sb lsp-set-addresses S1-vm2 "unknown" +check ovn-nbctl ls-add S1 +check ovn-nbctl --wait=sb lsp-add S1 S1-vm1 +check ovn-nbctl --wait=sb lsp-add S1 S1-vm2 +check ovn-nbctl --wait=sb lsp-set-addresses S1-vm1 "50:54:00:00:00:01 192.168.0.1" +check ovn-nbctl --wait=sb lsp-set-addresses S1-vm2 "unknown" ovn-sbctl dump-flows S1 > S1flows AT_CAPTURE_FILE([S1flows]) @@ -7196,7 +7196,7 @@ AT_CHECK([grep -e "ls_in_l2_lkup.*S1-vm1" S1flows | ovn_strip_lflows], [0], [dnl ]) #Set the pkt_clone_type option and verify the flow -ovn-nbctl --wait=sb set logical_switch_port S1-vm1 options:pkt_clone_type=mc_unknown +check ovn-nbctl --wait=sb set logical_switch_port S1-vm1 options:pkt_clone_type=mc_unknown ovn-sbctl dump-flows S1 > S1flows AT_CAPTURE_FILE([S1flows]) @@ -7206,7 +7206,7 @@ AT_CHECK([grep -e "ls_in_l2_lkup.*S1-vm1" S1flows | ovn_strip_lflows], [0], [dnl ]) #Set the pkt_clone_type option to an invalid value -ovn-nbctl --wait=sb set logical_switch_port S1-vm1 options:pkt_clone_type=foo +check ovn-nbctl --wait=sb set logical_switch_port S1-vm1 options:pkt_clone_type=foo ovn-sbctl dump-flows S1 > S1flows AT_CAPTURE_FILE([S1flows]) @@ -7351,28 +7351,28 @@ OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([check exclude-lb-vips-from-garp option]) ovn_start -ovn-nbctl lr-add R1 -ovn-nbctl set logical_router R1 options:chassis=hv1 -ovn-nbctl lrp-add R1 R1-S1 02:ac:10:01:00:01 172.16.1.1/24 +check ovn-nbctl lr-add R1 +check ovn-nbctl set logical_router R1 options:chassis=hv1 +check ovn-nbctl lrp-add R1 R1-S1 02:ac:10:01:00:01 172.16.1.1/24 -ovn-nbctl ls-add S1 -ovn-nbctl lsp-add S1 S1-R1 -ovn-nbctl lsp-set-type S1-R1 router -ovn-nbctl lsp-set-addresses S1-R1 02:ac:10:01:00:01 -ovn-nbctl --wait=sb lsp-set-options S1-R1 router-port=R1-S1 nat-addresses="router" +check ovn-nbctl ls-add S1 +check ovn-nbctl lsp-add S1 S1-R1 +check ovn-nbctl lsp-set-type S1-R1 router +check ovn-nbctl lsp-set-addresses S1-R1 02:ac:10:01:00:01 +check ovn-nbctl --wait=sb lsp-set-options S1-R1 router-port=R1-S1 nat-addresses="router" -ovn-nbctl lr-nat-add R1 snat 172.16.1.1 10.0.0.0/24 -ovn-nbctl lr-nat-add R1 dnat 172.16.1.2 10.0.0.1 +check ovn-nbctl lr-nat-add R1 snat 172.16.1.1 10.0.0.0/24 +check ovn-nbctl lr-nat-add R1 dnat 172.16.1.2 10.0.0.1 # Add load balancers -ovn-nbctl lb-add lb0 172.16.1.10:80 10.0.0.1:80 -ovn-nbctl lr-lb-add R1 lb0 -ovn-nbctl lb-add lb1 172.16.1.10:8080 10.0.0.1:8080 -ovn-nbctl lr-lb-add R1 lb1 -ovn-nbctl --wait=sb sync +check ovn-nbctl lb-add lb0 172.16.1.10:80 10.0.0.1:80 +check ovn-nbctl lr-lb-add R1 lb0 +check ovn-nbctl lb-add lb1 172.16.1.10:8080 10.0.0.1:8080 +check ovn-nbctl lr-lb-add R1 lb1 +check ovn-nbctl --wait=sb sync AT_CHECK([ovn-sbctl get Port_Binding S1-R1 nat_addresses |grep -q 172.16.1.10], [0]) -ovn-nbctl --wait=sb lsp-set-options S1-R1 router-port=R1-S1 nat-addresses="router" \ +check ovn-nbctl --wait=sb lsp-set-options S1-R1 router-port=R1-S1 nat-addresses="router" \ exclude-lb-vips-from-garp="true" AT_CHECK([ovn-sbctl get Port_Binding S1-R1 nat_addresses |grep -q 172.16.1.10], [1]) @@ -7512,7 +7512,7 @@ rm log_flows # Now remove the label from the allow-related ACL. set_acl_options allow_related_acl 0 true -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync record_log_flows @@ -7617,7 +7617,7 @@ rm log_flows # Now remove the label from the allow-related ACL. set_acl_options allow_related_acl 0 true -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync record_log_flows @@ -8093,18 +8093,18 @@ AT_SETUP([LR NB Static_MAC_Binding table]) ovn_start # Create logical routers -ovn-nbctl lr-add lr0 -ovn-nbctl lrp-add lr0 lr0-p0 00:00:01:01:02:03 192.168.10.1/24 -ovn-nbctl lrp-add lr0 lr0-p1 00:00:02:02:03:04 192.168.11.1/24 +check ovn-nbctl lr-add lr0 +check ovn-nbctl lrp-add lr0 lr0-p0 00:00:01:01:02:03 192.168.10.1/24 +check ovn-nbctl lrp-add lr0 lr0-p1 00:00:02:02:03:04 192.168.11.1/24 -ovn-nbctl static-mac-binding-add lr0-p0 192.168.10.10 00:00:11:22:33:44 -ovn-nbctl static-mac-binding-add lr0-p0 192.168.10.100 00:00:22:33:44:55 +check ovn-nbctl static-mac-binding-add lr0-p0 192.168.10.10 00:00:11:22:33:44 +check ovn-nbctl static-mac-binding-add lr0-p0 192.168.10.100 00:00:22:33:44:55 wait_row_count nb:Static_MAC_Binding 2 logical_port=lr0-p0 wait_row_count Static_MAC_Binding 1 logical_port=lr0-p0 ip=192.168.10.10 mac="00\:00\:11\:22\:33\:44" wait_row_count Static_MAC_Binding 1 logical_port=lr0-p0 ip=192.168.10.100 mac="00\:00\:22\:33\:44\:55" -ovn-nbctl static-mac-binding-add lr0-p1 10.0.0.10 00:00:33:44:55:66 +check ovn-nbctl static-mac-binding-add lr0-p1 10.0.0.10 00:00:33:44:55:66 wait_row_count nb:Static_MAC_Binding 1 logical_port=lr0-p1 wait_row_count Static_MAC_Binding 1 logical_port=lr0-p1 ip=10.0.0.10 mac="00\:00\:33\:44\:55\:66" @@ -8132,7 +8132,7 @@ AT_SETUP([LR neighbor lookup and learning flows]) ovn_start # Create logical routers -ovn-nbctl --wait=sb lr-add lr0 +check ovn-nbctl --wait=sb lr-add lr0 ovn-sbctl dump-flows lr0 > lrflows AT_CAPTURE_FILE([lrflows]) @@ -9205,34 +9205,34 @@ AT_SETUP([check install_ls_lb_from_router option]) AT_KEYWORDS([lb-ls-install-from-lrouter]) ovn_start -ovn-nbctl lr-add R1 -ovn-nbctl set logical_router R1 options:chassis=hv1 -ovn-nbctl lrp-add R1 R1-S0 02:ac:10:01:00:01 10.0.0.1/24 -ovn-nbctl lrp-add R1 R1-S1 02:ac:10:01:01:01 20.0.0.1/24 -ovn-nbctl lrp-add R1 R1-PUB 02:ac:20:01:01:01 172.16.0.1/24 +check ovn-nbctl lr-add R1 +check ovn-nbctl set logical_router R1 options:chassis=hv1 +check ovn-nbctl lrp-add R1 R1-S0 02:ac:10:01:00:01 10.0.0.1/24 +check ovn-nbctl lrp-add R1 R1-S1 02:ac:10:01:01:01 20.0.0.1/24 +check ovn-nbctl lrp-add R1 R1-PUB 02:ac:20:01:01:01 172.16.0.1/24 -ovn-nbctl ls-add S0 -ovn-nbctl lsp-add S0 S0-R1 -ovn-nbctl lsp-set-type S0-R1 router -ovn-nbctl lsp-set-addresses S0-R1 02:ac:10:01:00:01 -ovn-nbctl lsp-set-options S0-R1 router-port=R1-S0 +check ovn-nbctl ls-add S0 +check ovn-nbctl lsp-add S0 S0-R1 +check ovn-nbctl lsp-set-type S0-R1 router +check ovn-nbctl lsp-set-addresses S0-R1 02:ac:10:01:00:01 +check ovn-nbctl lsp-set-options S0-R1 router-port=R1-S0 -ovn-nbctl ls-add S1 -ovn-nbctl lsp-add S1 S1-R1 -ovn-nbctl lsp-set-type S1-R1 router -ovn-nbctl lsp-set-addresses S1-R1 02:ac:10:01:01:01 -ovn-nbctl lsp-set-options S1-R1 router-port=R1-S1 +check ovn-nbctl ls-add S1 +check ovn-nbctl lsp-add S1 S1-R1 +check ovn-nbctl lsp-set-type S1-R1 router +check ovn-nbctl lsp-set-addresses S1-R1 02:ac:10:01:01:01 +check ovn-nbctl lsp-set-options S1-R1 router-port=R1-S1 # Add load balancers on the logical router R1 -ovn-nbctl lb-add lb0 172.16.0.10:80 10.0.0.2:80 -ovn-nbctl lr-lb-add R1 lb0 +check ovn-nbctl lb-add lb0 172.16.0.10:80 10.0.0.2:80 +check ovn-nbctl lr-lb-add R1 lb0 -ovn-nbctl lb-add lb1 172.16.0.11:8080 10.0.0.2:8080 +check ovn-nbctl lb-add lb1 172.16.0.11:8080 10.0.0.2:8080 lb1_uuid=$(fetch_column nb:load_balancer _uuid name=lb1) lbg=$(ovn-nbctl create load_balancer_group name=lbg -- \ add load_balancer_group lbg load_balancer $lb1_uuid) -ovn-nbctl add logical_router R1 load_balancer_group $lbg -ovn-nbctl --wait=sb sync +check ovn-nbctl add logical_router R1 load_balancer_group $lbg +check ovn-nbctl --wait=sb sync ovn-sbctl dump-flows S0 > S0flows ovn-sbctl dump-flows S1 > S1flows @@ -9299,28 +9299,28 @@ AT_SETUP([check fip flows with redirect-type bridged]) AT_KEYWORDS([fip-redirect-type-bridged]) ovn_start -ovn-nbctl lr-add R1 -ovn-nbctl lrp-add R1 R1-S0 02:ac:10:01:00:01 10.0.0.1/24 1000::a/64 -ovn-nbctl lrp-add R1 R1-PUB 02:ac:20:01:01:01 172.16.0.1/24 3000::a/64 -ovn-nbctl lrp-set-gateway-chassis R1-PUB hv1 20 +check ovn-nbctl lr-add R1 +check ovn-nbctl lrp-add R1 R1-S0 02:ac:10:01:00:01 10.0.0.1/24 1000::a/64 +check ovn-nbctl lrp-add R1 R1-PUB 02:ac:20:01:01:01 172.16.0.1/24 3000::a/64 +check ovn-nbctl lrp-set-gateway-chassis R1-PUB hv1 20 -ovn-nbctl ls-add S0 -ovn-nbctl lsp-add S0 S0-R1 -ovn-nbctl lsp-set-type S0-R1 router -ovn-nbctl lsp-set-addresses S0-R1 02:ac:10:01:00:01 -ovn-nbctl lsp-set-options S0-R1 router-port=R1-S0 -ovn-nbctl lsp-add S0 S0-P0 -ovn-nbctl lsp-set-addresses S0-P0 "50:54:00:00:00:03 10.0.0.3 1000::3" +check ovn-nbctl ls-add S0 +check ovn-nbctl lsp-add S0 S0-R1 +check ovn-nbctl lsp-set-type S0-R1 router +check ovn-nbctl lsp-set-addresses S0-R1 02:ac:10:01:00:01 +check ovn-nbctl lsp-set-options S0-R1 router-port=R1-S0 +check ovn-nbctl lsp-add S0 S0-P0 +check ovn-nbctl lsp-set-addresses S0-P0 "50:54:00:00:00:03 10.0.0.3 1000::3" -ovn-nbctl lr-nat-add R1 dnat_and_snat 172.16.0.110 10.0.0.3 S0-P0 30:54:00:00:00:03 -ovn-nbctl lr-nat-add R1 dnat_and_snat 3000::c 1000::3 S0-P0 40:54:00:00:00:03 +check ovn-nbctl lr-nat-add R1 dnat_and_snat 172.16.0.110 10.0.0.3 S0-P0 30:54:00:00:00:03 +check ovn-nbctl lr-nat-add R1 dnat_and_snat 3000::c 1000::3 S0-P0 40:54:00:00:00:03 ovn-sbctl dump-flows R1 > R1flows AT_CAPTURE_FILE([R1flows]) AT_CHECK([grep "lr_in_arp_resolve" R1flows | grep priority=90 | sort], [0], [dnl ]) -ovn-nbctl --wait=sb set logical_router_port R1-PUB options:redirect-type=bridged +check ovn-nbctl --wait=sb set logical_router_port R1-PUB options:redirect-type=bridged ovn-sbctl dump-flows R1 > R1flows AT_CAPTURE_FILE([R1flows]) @@ -9337,29 +9337,29 @@ AT_SETUP([check lb-affinity flows]) AT_KEYWORDS([lb-affinity-flows]) ovn_start -ovn-nbctl lr-add R1 -ovn-nbctl set logical_router R1 options:chassis=hv1 -ovn-nbctl lrp-add R1 R1-S0 02:ac:10:01:00:01 10.0.0.1/24 -ovn-nbctl lrp-add R1 R1-S1 02:ac:10:01:01:01 20.0.0.1/24 -ovn-nbctl lrp-add R1 R1-PUB 02:ac:20:01:01:01 172.16.0.1/24 +check ovn-nbctl lr-add R1 +check ovn-nbctl set logical_router R1 options:chassis=hv1 +check ovn-nbctl lrp-add R1 R1-S0 02:ac:10:01:00:01 10.0.0.1/24 +check ovn-nbctl lrp-add R1 R1-S1 02:ac:10:01:01:01 20.0.0.1/24 +check ovn-nbctl lrp-add R1 R1-PUB 02:ac:20:01:01:01 172.16.0.1/24 -ovn-nbctl ls-add S0 -ovn-nbctl lsp-add S0 S0-R1 -ovn-nbctl lsp-set-type S0-R1 router -ovn-nbctl lsp-set-addresses S0-R1 02:ac:10:01:00:01 -ovn-nbctl lsp-set-options S0-R1 router-port=R1-S0 +check ovn-nbctl ls-add S0 +check ovn-nbctl lsp-add S0 S0-R1 +check ovn-nbctl lsp-set-type S0-R1 router +check ovn-nbctl lsp-set-addresses S0-R1 02:ac:10:01:00:01 +check ovn-nbctl lsp-set-options S0-R1 router-port=R1-S0 -ovn-nbctl ls-add S1 -ovn-nbctl lsp-add S1 S1-R1 -ovn-nbctl lsp-set-type S1-R1 router -ovn-nbctl lsp-set-addresses S1-R1 02:ac:10:01:01:01 -ovn-nbctl lsp-set-options S1-R1 router-port=R1-S1 +check ovn-nbctl ls-add S1 +check ovn-nbctl lsp-add S1 S1-R1 +check ovn-nbctl lsp-set-type S1-R1 router +check ovn-nbctl lsp-set-addresses S1-R1 02:ac:10:01:01:01 +check ovn-nbctl lsp-set-options S1-R1 router-port=R1-S1 # Add load balancers on the logical router R1 -ovn-nbctl lb-add lb0 172.16.0.10:80 10.0.0.2:80,20.0.0.2:80 tcp -ovn-nbctl lr-lb-add R1 lb0 -ovn-nbctl ls-lb-add S0 lb0 -ovn-nbctl --wait=sb sync +check ovn-nbctl lb-add lb0 172.16.0.10:80 10.0.0.2:80,20.0.0.2:80 tcp +check ovn-nbctl lr-lb-add R1 lb0 +check ovn-nbctl ls-lb-add S0 lb0 +check ovn-nbctl --wait=sb sync ovn-sbctl dump-flows S0 > S0flows ovn-sbctl dump-flows R1 > R1flows @@ -9381,7 +9381,7 @@ AT_CHECK([grep "lr_in_lb_aff_learn" R1flows | ovn_strip_lflows], [0], [dnl table=??(lr_in_lb_aff_learn ), priority=0 , match=(1), action=(next;) ]) -ovn-nbctl --wait=sb set load_balancer lb0 options:affinity_timeout=60 +check ovn-nbctl --wait=sb set load_balancer lb0 options:affinity_timeout=60 AS_BOX([Test LS flows]) ovn-sbctl dump-flows S0 > S0flows @@ -9523,9 +9523,9 @@ AT_CLEANUP OVN_FOR_EACH_NORTHD_NO_HV([ AT_SETUP([check options:disable_arp_nd_rsp for LSP]) ovn_start NORTHD_TYPE -ovn-nbctl ls-add S1 -ovn-nbctl --wait=sb lsp-add S1 S1-vm1 -ovn-nbctl --wait=sb lsp-set-addresses S1-vm1 "50:54:00:00:00:010 192.168.0.10 fd00::10" +check ovn-nbctl ls-add S1 +check ovn-nbctl --wait=sb lsp-add S1 S1-vm1 +check ovn-nbctl --wait=sb lsp-set-addresses S1-vm1 "50:54:00:00:00:010 192.168.0.10 fd00::10" ovn-sbctl dump-flows S1 > S1flows AT_CAPTURE_FILE([S1flows]) @@ -9539,7 +9539,7 @@ AT_CHECK([grep -e "ls_in_arp_rsp" S1flows | ovn_strip_lflows], [0], [dnl ]) #Set the disable_arp_nd_rsp option and verify the flow -ovn-nbctl --wait=sb set logical_switch_port S1-vm1 options:disable_arp_nd_rsp=true +check ovn-nbctl --wait=sb set logical_switch_port S1-vm1 options:disable_arp_nd_rsp=true ovn-sbctl dump-flows S1 > S1flows AT_CAPTURE_FILE([S1flows]) @@ -9568,7 +9568,7 @@ p1_uuid=$(fetch_column nb:Logical_Switch_Port _uuid name=sw0-p1) p2_uuid=$(fetch_column nb:Logical_Switch_Port _uuid name=sw0-p2) echo "p1 uuid - $p1_uuid" -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync check as northd ovn-appctl -t ovn-northd inc-engine/clear-stats foo_as_uuid=$(ovn-nbctl create address_set name=foo addresses=\"1.1.1.1\",\"1.1.1.2\") @@ -10676,13 +10676,13 @@ check_recompute_counter 0 0 0 0 0 0 CHECK_NO_CHANGE_AFTER_RECOMPUTE(1) # Associate DHCP for lsp0-2 -ovn-nbctl dhcp-options-create 192.168.0.0/24 +check ovn-nbctl dhcp-options-create 192.168.0.0/24 CIDR_UUID=$(ovn-nbctl --bare --columns=_uuid find dhcp_options cidr="192.168.0.0/24") -ovn-nbctl dhcp-options-set-options $CIDR_UUID lease_time=3600 router=192.168.0.1 server_id=192.168.0.1 server_mac=c0:ff:ee:00:00:01 hostname="\"foo\"" +check ovn-nbctl dhcp-options-set-options $CIDR_UUID lease_time=3600 router=192.168.0.1 server_id=192.168.0.1 server_mac=c0:ff:ee:00:00:01 hostname="\"foo\"" check as northd ovn-appctl -t ovn-northd inc-engine/clear-stats -ovn-nbctl --wait=sb lsp-set-dhcpv4-options lsp0-2 $CIDR_UUID +check ovn-nbctl --wait=sb lsp-set-dhcpv4-options lsp0-2 $CIDR_UUID check_recompute_counter 0 0 0 0 0 0 CHECK_NO_CHANGE_AFTER_RECOMPUTE(1) @@ -10693,7 +10693,7 @@ d1="$(ovn-nbctl create DHCP_Options cidr="aef0\:\:/64" \ options="\"server_id\"=\"00:00:00:10:00:01\"")" check as northd ovn-appctl -t ovn-northd inc-engine/clear-stats -ovn-nbctl --wait=sb lsp-set-dhcpv6-options lsp0-2 ${d1} +check ovn-nbctl --wait=sb lsp-set-dhcpv6-options lsp0-2 ${d1} check_recompute_counter 0 0 0 0 0 0 CHECK_NO_CHANGE_AFTER_RECOMPUTE(1) @@ -10718,14 +10718,14 @@ check_recompute_counter() { check ovn-nbctl ls-add ls0 check ovn-nbctl --wait=sb lr-add lr0 -ovn-nbctl lrp-add lr0 lr0-ls0 00:00:00:00:ff:01 192.168.0.1/24 -ovn-nbctl lsp-add ls0 ls0-lr0 -ovn-nbctl lsp-set-type ls0-lr0 router -ovn-nbctl lsp-set-addresses ls0-lr0 router +check ovn-nbctl lrp-add lr0 lr0-ls0 00:00:00:00:ff:01 192.168.0.1/24 +check ovn-nbctl lsp-add ls0 ls0-lr0 +check ovn-nbctl lsp-set-type ls0-lr0 router +check ovn-nbctl lsp-set-addresses ls0-lr0 router check ovn-nbctl --wait=sb lsp-set-options ls0-lr0 router-port=lr0-ls0 CHECK_NO_CHANGE_AFTER_RECOMPUTE(1) -ovn-nbctl lb-add lb0 192.168.0.10:80 10.0.0.10:8080 +check ovn-nbctl lb-add lb0 192.168.0.10:80 10.0.0.10:8080 check ovn-nbctl --wait=sb ls-lb-add ls0 lb0 CHECK_NO_CHANGE_AFTER_RECOMPUTE(1) @@ -11157,12 +11157,12 @@ check_engine_stats sync_to_sb_lb recompute nocompute check as northd ovn-appctl -t ovn-northd inc-engine/clear-stats check ovn-nbctl ls-add sw0 check ovn-nbctl --wait=sb lr-add lr0 -ovn-nbctl lrp-add lr0 lr0-sw0 00:00:00:00:ff:01 10.0.0.1/24 -ovn-nbctl lsp-add sw0 sw0-lr0 -ovn-nbctl lsp-set-type sw0-lr0 router -ovn-nbctl lsp-set-addresses sw0-lr0 00:00:00:00:ff:01 +check ovn-nbctl lrp-add lr0 lr0-sw0 00:00:00:00:ff:01 10.0.0.1/24 +check ovn-nbctl lsp-add sw0 sw0-lr0 +check ovn-nbctl lsp-set-type sw0-lr0 router +check ovn-nbctl lsp-set-addresses sw0-lr0 00:00:00:00:ff:01 check as northd ovn-appctl -t ovn-northd inc-engine/clear-stats -ovn-nbctl --wait=sb lsp-set-options sw0-lr0 router-port=lr0-sw0 +check ovn-nbctl --wait=sb lsp-set-options sw0-lr0 router-port=lr0-sw0 check_engine_stats lb_data norecompute compute check_engine_stats northd recompute compute check_engine_stats lr_stateful recompute nocompute @@ -12658,7 +12658,7 @@ AT_SETUP([Sampling_App incremental processing]) ovn_start -ovn-nbctl --wait=sb sync +check ovn-nbctl --wait=sb sync check as northd ovn-appctl -t ovn-northd inc-engine/clear-stats ovn-nbctl create Sampling_App type="acl-new" id="42"