# virl2\_client

Published articles for virl2\_client.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Build the Lab Once, Test It Forever: A CML2 Spine-Leaf Wired for pyATS

DevFeed: [Build the Lab Once, Test It Forever: A CML2 Spine-Leaf Wired for pyATS](<https://devfeed.tech/articles/build-the-lab-once-test-it-forever-a-cml2-spine-leaf-wired-for-pyats-30867.md>)

Original publisher: [Read original article](<https://brent.leekley.me/blog/build-the-lab-once/>)

Author: Brent Leekley

Published: 2026-06-14T00:00:00Z

Content type: tutorial

Language: en

Sources: [brent.leekley.me blog](<https://devfeed.tech/sources/brent-leekley-me-blog.md>)

Topics: [Network](<https://devfeed.tech/topics/network.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Cisco](<https://devfeed.tech/topics/cisco.md>), [Code](<https://devfeed.tech/topics/code.md>), [API](<https://devfeed.tech/topics/api.md>), [Parser](<https://devfeed.tech/topics/parser.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [cisco](<https://devfeed.tech/tags/cisco.md>), [cisco-modeling-labs](<https://devfeed.tech/tags/cisco-modeling-labs.md>), [cml](<https://devfeed.tech/tags/cml.md>), [cml2](<https://devfeed.tech/tags/cml2.md>), [code](<https://devfeed.tech/tags/code.md>), [genie](<https://devfeed.tech/tags/genie.md>), [iol-xe](<https://devfeed.tech/tags/iol-xe.md>), [network-automation](<https://devfeed.tech/tags/network-automation.md>), [network-testing](<https://devfeed.tech/tags/network-testing.md>), [ospf](<https://devfeed.tech/tags/ospf.md>), [parsing](<https://devfeed.tech/tags/parsing.md>), [pyats](<https://devfeed.tech/tags/pyats.md>), [spine-leaf](<https://devfeed.tech/tags/spine-leaf.md>), [testbed](<https://devfeed.tech/tags/testbed.md>), [virl2-client](<https://devfeed.tech/tags/virl2-client.md>)

### AI overview

This tutorial describes a four-node spine-leaf lab in Cisco Modeling Labs 2 (CML2) that generates a Cisco pyATS testbed from the CML API. The approach treats the lab definition as the source of truth so regenerated inventories remain aligned with topology changes, and uses an OSPF underlay with a management network.

### Source excerpt

Stop hand-maintaining your pyATS testbed. Build a four-node spine-leaf in CML2 as code, then generate the testbed straight from the CML API so it never drifts from the lab, with live Genie-parsed proof over a System Bridge management network.