In software development, DevOps is the practice of bringing development (Dev) and operations (Ops) together, with the goal of developing and deploying better software. NetDevOps applies those practices to networking. Practices such as using version control, Continuous Integration (CI), Continuous Delivery (CD), and continuous automated testing are used to more accurately and efficiently deploy changes to network infrastructure.
NetDevOps is commonly broken down into phases that could include pushing a proposed network configuration change to a version control repository, programmatically applying the configuration change to a staging environment, and testing the proposed change before deploying to production. There are many tools to choose from for each phase of the NetDevOps process. CX Test Automation Manager (CXTM), as the name implies, was purpose-built for managing network testing, and is well-positioned for the testing phase of NetDevOps pipelines with its extensive northbound APIs.
Through the course of this lab, participants will use CXTM to define and import test cases into a CXTM project, construct device inventory topology files, automate test cases using Robot Framework, and execute test cases against a virtualized staging environment using Cisco Modeling Labs (CML). Finally, participants will integrate CXTM into a CI/CD pipeline that executes automated base line tests against the staging environment before programmatically applying a proposed configuration change, and executing additional tests to verify that the staging environment is in the intended operational state.
In this lab scenario, participants will build a CI/CD pipeline to integrate a new C8Kv device into the network. The C8Kv device has been staged for integration with the desired software version installed and basic connectivity configuration applied, but it has not yet been integrated into the OSPF and BGP routing environments. Participants will build the pipeline to apply the necessary OSPF and BGP configurations using Ansible playbooks to fully integrate the C8Kv, and execute automated tests to verify that the control plane state has converged. The following network topology diagrams represent the before and after state of the pipeline.
Note: The test cases executed in this pipeline are intentionally and relatively simple to illustrate concepts. In an actual network deployment scenario, the tests could be extended to include a more comprehensive coverage of requirements, including data plane validation, performance, scale, negative scenarios, etc.
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).