Services as Code (SaC) for ACI is designed to help customers define and implement operational changes to their Application Centric Infrastruture (ACI) networks through a Developer Operations (DevOps) process. By leveraging well-established Infrastructure as Code (IaC) methodology, industry-standard practices, and developer toolsets, network administrators can achieve greater discipline and efficiency in managing changes to their ACI infrastructure.
Through the course of this lab, participants will use CXTM to define and develop test cases in a CXTM project, construct device inventory topology files, and automate test cases using Robot Framework. Finally, participants will integrate CXTM into a CI/CD pipeline to execute test cases against an actual ACI fabric.
In this lab scenario, participants will explore Services as Code and use it to programmatically configure a new tenant in an ACI fabric. Participants will create YAML configuration files using the ACI as Code data model to configure the tenant, and deploy the configuration through a pipeline that checks for syntactical and semantic errors in the intended configuration before executing Robot test cases that verify that the configuration was successfully deployed to the APIC.
These capabilities provided by SaC allow operators to manage the declarative state of their ACI fabrics and deploy configuration changes with greater assurance.
After the tenant is created, participants will explore capabilities provided by CXTM to supplement the validation provided by SaC. In addition to the configuration verification provided by SaC, participants will use CXTM to develop test cases that can be used to validate that the ACI fabric is in the intended operational state and performing as expected with data plane convergence test cases. In the final steps, participants will construct a CI/CD pipeline that will deploy a new L3Out configuration through SaC and executes the test cases developed through CXTM.
The following network topology diagram represents the ACI fabric used in this lab scenario. Participants will first configure a new tenant. Later, participants will configure an L3Out for that tenant. Participants will develop test cases to validate the operational state and performance of the fabric. Convergence test cases will measure the traffic convergence when shutting down an L2 port-channel member link between a fanout switch and the leafs, as well as shutting down a BGP peer between a fanout switch and an external border router connected to the border leafs.
The lab from a high level has the following sections:
Please continue to the next section for a quick overview of CX Test Automation Manager (CXTM).