This lesson is part of the Network Testing with Pytest course.
In this lesson, you will learn:
- What is Suzieq?
- The use-case that this integration can be applied to.
- A code walkthrough of the integration.
You can find the scripts and code for this lesson within the Pytest repo under the directory: 005_integrations/004_suzieq.
Integration Overview
Our final integration will be based upon Pytest and Suzieq. First of all:
What is Suzieq?
Suzieq is an open-source multi-vendor network observability tool that allows you to analyse your network via a set of vendor-agnostic queries and methods.
Below is a high-level overview of the Suzieq platform.
There are 2 key features of Suzieq that will be leveraged within this integration. They are:
- Time-based analysis - This allows you to see the state of the network at a previous point in time or see the changes that have occurred between 2 points in time.
- Summarization - Suzieq performs various summarizations, such as calculating the total number of routes within the network or the total number of down interfaces. These summarization values can then be used within your queries.
Key Points
Our Suzieq integration will be based upon the following (diagram below):
- The tests will validate:
- OSPF using Suzieq assertions and Suzieq summarize
- interfaces using Suzieq's summarize.
- An additional option will be added to the Pytest CLI to allow an
end-time
to be entered. - The expected network state will be pulled from either:
- the Suzieq DB - a previous network snapshot will be pulled using the supplied
end-time
. - YAML, if no
end-time
is supplied via the CLI.
- the Suzieq DB - a previous network snapshot will be pulled using the supplied