From patchwork Thu Jun 7 10:38:16 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jakub Sitnicki X-Patchwork-Id: 926265 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=openvswitch.org (client-ip=140.211.169.12; helo=mail.linuxfoundation.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Received: from mail.linuxfoundation.org (mail.linuxfoundation.org [140.211.169.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 411hpW3FxPz9s1R for ; Thu, 7 Jun 2018 20:38:26 +1000 (AEST) Received: from mail.linux-foundation.org (localhost [127.0.0.1]) by mail.linuxfoundation.org (Postfix) with ESMTP id 476FBBE6; Thu, 7 Jun 2018 10:38:23 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@mail.linuxfoundation.org Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 024FF74 for ; Thu, 7 Jun 2018 10:38:22 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.7.6 Received: from mail-wm0-f65.google.com (mail-wm0-f65.google.com [74.125.82.65]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 568DD76E for ; Thu, 7 Jun 2018 10:38:21 +0000 (UTC) Received: by mail-wm0-f65.google.com with SMTP id p126-v6so16986977wmb.2 for ; Thu, 07 Jun 2018 03:38:21 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=4oKzwVqB0XQe9EvW1/+oFp5V9paw+ynSBAxy20pt/wc=; b=W8kvznzwfwHqlVVCy1viZuQNQaRwcMb59Lk6xCRftm6SmandcJRO8WmydenD1cLGZc 3L0juf12mdmNnMU5ogF8SejvuxGsumi0Xk3lJ8BgicjP4Au67QnjYYdcXX2m/GhZpo2e VYd0Ktm8RTkLsC02zNaUrQ0YrfMjl2os5HUaPMlId2UV4RDd38b1jMEfXuOWwkOWmI2t VzN7qvt4hgEALB0LzFf4aYVxVxc3xRobOG+PwmqVLZjTlTbFhZoVcANhF9PRDgyNxmvQ fnih7VroFt7CnXJIU6wfs0jq0ECkqjzSVnkmAlF5tBZ3gXSEbsnVaguKjMF66L4HMU5e mv0Q== X-Gm-Message-State: APt69E119Pr4UKAISEvpqD1qdLVA2IY8gAibCk5Z8nxeDQ7DZ7B8wDqZ QIJBsYEaPnCUJHzK4gTlE8iK9qzCXkA= X-Google-Smtp-Source: ADUXVKI3Wx7jjiC5EYoVzGKpjrXi9rqaQYz7SdIql7pkNGPpZqJ7qZfQhssa0dQSyI8x07Ha9GpLQg== X-Received: by 2002:a1c:d287:: with SMTP id j129-v6mr1141591wmg.106.1528367899802; Thu, 07 Jun 2018 03:38:19 -0700 (PDT) Received: from redhat.com (red-hat-inc.vlan404.asr1.mad1.gblx.net. [64.215.113.190]) by smtp.gmail.com with ESMTPSA id 140-v6sm1788141wmi.9.2018.06.07.03.38.18 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 07 Jun 2018 03:38:19 -0700 (PDT) From: Jakub Sitnicki To: dev@openvswitch.org Date: Thu, 7 Jun 2018 12:38:16 +0200 Message-Id: <20180607103818.1313-1-jkbs@redhat.com> X-Mailer: git-send-email 2.14.4 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org Subject: [ovs-dev] [PATCH v4 0/2] ovn: Check for effects of incremental processing X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: ovs-dev-bounces@openvswitch.org Errors-To: ovs-dev-bounces@openvswitch.org (This patch set depends on v3 of the "ovn-controller incremental processing" patch set [1].) At the moment we lack tests that confirm that incremental logical flow processing is working as expected. This patch set aims to address this. The approach to testing is, in short, to observe if we hit the coverage counter for full logical processing routine in ovn-controller (the 'lflow_run' function) while performing various operations, like adding a logical switch port. We've agreed with Han Zhou to fold these patches into the next version of "ovn-controller incremental processing" patch set. Thanks, Jakub [1] https://patchwork.ozlabs.org/project/openvswitch/list/?series=48060 v3 -> v4: - Perform a 'sync' after operations that don't change the database (i.e., reads) to confirm that HVs have caught up even though we expect them to have nothing to process. Suggested by Han Zhou. - Wait for chassis to process the 'ls-del' and 'lr-del' changes. v2 -> v3: - Remove unneeded call to coverage_clear(). Suggested by Han Zhou. - Check that port binding and deletion triggers logical flow processing only on chassis the port is bound to. Suggested by Han Zhou. - Check the coverage counters for port binding after the port goes up. Suggested by Han Zhou. - Introduce EXPECT_HIT_COND macro to check for a hit on a coverage counter according to condition given separately for each sandbox. - Update the test to expect to 'lflow_run' counter hit for address set operations. - Switch from 'expr' to '$((' for evaluating arithmetic expressions. - Make EXPECT_HIT macro expect a counter hit in all instead of any of the sandboxes. - Log to standard error coverage counters' change for each run command to make debugging test failures easier. - Add helpers for comparing vectors against a list of conditions, and folding a vector. Use them to implement the high-level assertion macros. - Fix quoting of special characters in m4 macro arguments. - Fix typo in read_counters helper. - Fix indentation. v1 (RFC) -> v2: - Drop the merged patch that introduced a coverage counter for lflow_run(). - Rename the proposed new coverage command from 'read-count' to 'read-counter'. - Read the total count for a coverage counter while holding the mutex. - Cover the newly added coverage command in the man page. - Drop the changes that test for full logical flow processing when handling packet-ins. Plan is to address this in a separate test in subsequent patches. - Add a new test that checks which operations commonly used by CMS trigger full logical flow processing in the ovn-controller. Jakub Sitnicki (2): coverage: Add command for reading counter value ovn: Test for full logical flow processing in ovn-controller lib/coverage-unixctl.man | 2 + lib/coverage.c | 42 +++++ tests/automake.mk | 3 +- tests/ovn-performance.at | 389 +++++++++++++++++++++++++++++++++++++++++++++++ tests/testsuite.at | 1 + 5 files changed, 436 insertions(+), 1 deletion(-) create mode 100644 tests/ovn-performance.at Acked-by: Mark Michelson --- 2.14.4