,

Cisco pyATS — Network Test and Automation Solution

Data-driven and reusable testing for modern networks

Paperback Engels 2024 9780138031671
Verwachte levertijd ongeveer 9 werkdagen

Samenvatting

Unlock the power of automated network testing with the Cisco pyATS framework.

Written by industry experts John Capobianco and Dan Wade, Cisco pyATS—Network Test and Automation Solution is a comprehensive guide to the Cisco pyATS framework, a Python-based environment for network testing, device configuration, parsing, APIs, and parallel programming.

Capobianco and Wade offer in-depth insights into the extensive capabilities of pyATS and the pyATS library (Genie). You'll learn how to leverage pyATS for network testing, including software version testing, interface testing, neighbor testing, and reachability testing. You'll discover how to generate intent-based configurations, create mock devices, and integrate pyATS into larger workflows using CI/CD pipelines and artificial intelligence. You'll explore the pyATS Blitz feature, which introduces a low-code no-code approach to network testing by allowing you to configure devices and write test cases using YAML, much like Ansible. And you'll learn how to reset devices during or after testing with the pyATS Clean feature, build a pyATS image from scratch for containerized application deployment, and much more.

Whether you're a network professional, software developer, or preparing for the Cisco DevNet Expert Lab exam, this book is a must-have resource.

Understand the foundations of NetDevOps and the modern network engineer's toolkit Install, upgrade, and work with the pyATS framework and library Define test cases, control the flow of test execution, and review test results with built-in reporting features Generate automated network documentation with Jinja2 templates and Genie Conf objects Apply CI/CD practices in network automation with GitLab, Ansible, and pyATS Leverage artificial intelligence in pyATS for enhanced network automation

Specificaties

ISBN13:9780138031671
Taal:Engels
Bindwijze:Paperback

Lezersrecensies

Wees de eerste die een lezersrecensie schrijft!

Inhoudsopgave

<p>&nbsp;&nbsp;&nbsp; Introduction xxx</p> <p><strong>Chapter 1 Foundations of NetDevOps 1</strong></p> <p>&nbsp;&nbsp;&nbsp; Traditional Network Operations 2</p> <p>&nbsp;&nbsp;&nbsp; Software Development Methodologies 11</p> <p>&nbsp;&nbsp;&nbsp; NetDevOps 14</p> <p>&nbsp;&nbsp;&nbsp; Comparing Network Automation Tools 21</p> <p>&nbsp;&nbsp;&nbsp; The Modern Network Engineer Toolkit 22</p> <p>&nbsp;&nbsp;&nbsp; CI/CD 32</p> <p>&nbsp;&nbsp;&nbsp; Summary 35</p> <p>&nbsp;&nbsp;&nbsp; References 36</p> <p><strong>Chapter 2 Installing and Upgrading pyATS 37</strong></p> <p>&nbsp;&nbsp;&nbsp; Installing pyATS 37</p> <p>&nbsp;&nbsp;&nbsp; Upgrading pyATS 42</p> <p>&nbsp;&nbsp;&nbsp; Troubleshooting pyATS 45</p> <p>&nbsp;&nbsp;&nbsp; Summary 47</p> <p><strong>Chapter 3 Testbeds 49</strong></p> <p>&nbsp;&nbsp;&nbsp; What Is YAML? 49</p> <p>&nbsp;&nbsp;&nbsp; What Is a Testbed? 51</p> <p>&nbsp;&nbsp;&nbsp; Device Connection Abstractions 60</p> <p>&nbsp;&nbsp;&nbsp; Testbed Validation 63</p> <p>&nbsp;&nbsp;&nbsp; Dynamic Testbeds 66</p> <p>&nbsp;&nbsp;&nbsp; Intent-based Networking with Extended Testbeds 68</p> <p>&nbsp;&nbsp;&nbsp; Summary 70</p> <p><strong>Chapter 4 AEtest Test Infrastructure 73</strong></p> <p>&nbsp;&nbsp;&nbsp; Getting Started with AEtest 74</p> <p>&nbsp;&nbsp;&nbsp; Testscript Structure 75</p> <p>&nbsp;&nbsp;&nbsp; AEtest Object Model 82</p> <p>&nbsp;&nbsp;&nbsp; Runtime Behavior 85</p> <p>&nbsp;&nbsp;&nbsp; Test Results 88</p> <p>&nbsp;&nbsp;&nbsp; Processors 91</p> <p>&nbsp;&nbsp;&nbsp; Data-Driven Testing 94</p> <p>&nbsp;&nbsp;&nbsp; Running Testscripts 108</p> <p>&nbsp;&nbsp;&nbsp; Testscript Flow Control 117</p> <p>&nbsp;&nbsp;&nbsp; Reporting 126</p> <p>&nbsp;&nbsp;&nbsp; Debugging 133</p> <p>&nbsp;&nbsp;&nbsp; Summary 134</p> <p><strong>Chapter 5 pyATS Parsers 137</strong></p> <p>&nbsp;&nbsp;&nbsp; Vendor-Agnostic Automation 138</p> <p>&nbsp;&nbsp;&nbsp; pyATS learn 139</p> <p>&nbsp;&nbsp;&nbsp; pyATS Parsers 146</p> <p>&nbsp;&nbsp;&nbsp; Parsing at the CLI 148</p> <p>&nbsp;&nbsp;&nbsp; Parsing with Python 159</p> <p>&nbsp;&nbsp;&nbsp; Dictionary Query 160</p> <p>&nbsp;&nbsp;&nbsp; Differentials 162</p> <p>&nbsp;&nbsp;&nbsp; Summary 167</p> <p><strong>Chapter 6 Test-Driven Development 169</strong></p> <p>&nbsp;&nbsp;&nbsp; Introduction to Test-Driven Development 170</p> <p>&nbsp;&nbsp;&nbsp; Applying Test-Driven Development to Network Automation 172</p> <p>&nbsp;&nbsp;&nbsp; Introduction to pyATS 174</p> <p>&nbsp;&nbsp;&nbsp; The pyATS Framework 175</p> <p>&nbsp;&nbsp;&nbsp; Summary 187</p> <p>&nbsp;&nbsp;&nbsp; Endnotes 188</p> <p><strong>Chapter 7 Automated Network Documentation 189</strong></p> <p>&nbsp;&nbsp;&nbsp; Introduction to pyATS Jobs 190</p> <p>&nbsp;&nbsp;&nbsp; Running pyATS Jobs from the CLI 196</p> <p>&nbsp;&nbsp;&nbsp; pyATS Job CLI Logs 199</p> <p>&nbsp;&nbsp;&nbsp; pyATS Logs HTML Viewer 203</p> <p>&nbsp;&nbsp;&nbsp; Jinja2 Templating 205</p> <p>&nbsp;&nbsp;&nbsp; Business-Ready Documents 206</p> <p>&nbsp;&nbsp;&nbsp; Summary 232</p> <p>&nbsp;&nbsp;&nbsp; References 232</p> <p><strong>Chapter 8 Automated Network Testing 233</strong></p> <p>&nbsp;&nbsp;&nbsp; An Approach to Network Testing 234</p> <p>&nbsp;&nbsp;&nbsp; Software Version Testing 235</p> <p>&nbsp;&nbsp;&nbsp; Interface Testing 243</p> <p>&nbsp;&nbsp;&nbsp; Neighbor Testing 259</p> <p>&nbsp;&nbsp;&nbsp; Reachability Testing 262</p> <p>&nbsp;&nbsp;&nbsp; Intent Validation Testing 267</p> <p>&nbsp;&nbsp;&nbsp; Feature Testing 271</p> <p>&nbsp;&nbsp;&nbsp; Summary 276</p> <p><strong>Chapter 9 pyATS Triggers and Verifications 279</strong></p> <p>&nbsp;&nbsp;&nbsp; Genie Objects 279</p> <p>&nbsp;&nbsp;&nbsp; Genie Harness 282</p> <p>&nbsp;&nbsp;&nbsp; Verifications 286</p> <p>&nbsp;&nbsp;&nbsp; Triggers 290</p> <p>&nbsp;&nbsp;&nbsp; Trigger and Verification Example 296</p> <p>&nbsp;&nbsp;&nbsp; Summary 301</p> <p><strong>Chapter 10 Automated Configuration Management 303</strong></p> <p>&nbsp;&nbsp;&nbsp; Intent-Based Network Configuration 303</p> <p>&nbsp;&nbsp;&nbsp; Generating Configurations with pyATS 304</p> <p>&nbsp;&nbsp;&nbsp; Configuring Devices with pyATS 309</p> <p>&nbsp;&nbsp;&nbsp; Summary 320</p> <p><strong>Chapter 11 Network Snapshots 321</strong></p> <p>&nbsp;&nbsp;&nbsp; Network Profiling 321</p> <p>&nbsp;&nbsp;&nbsp; Comparing Network State 324</p> <p>&nbsp;&nbsp;&nbsp; Polling Expected State 332</p> <p>&nbsp;&nbsp;&nbsp; Robot Framework with Genie 333</p> <p>&nbsp;&nbsp;&nbsp; Summary 335</p> <p>&nbsp;&nbsp;&nbsp; References 335</p> <p><strong>Chapter 12 Recordings, Playbacks, and Mock Devices 337</strong></p> <p>&nbsp;&nbsp;&nbsp; Recording pyATS jobs 337</p> <p>&nbsp;&nbsp;&nbsp; Playback Recordings 341</p> <p>&nbsp;&nbsp;&nbsp; Mock Devices 342</p> <p>&nbsp;&nbsp;&nbsp; Mock Device CLI 344</p> <p>&nbsp;&nbsp;&nbsp; Summary 345</p> <p><strong>Chapter 13 Working with Application Programming Interfaces (API) 347</strong></p> <p>&nbsp;&nbsp;&nbsp; pyATS APIs 347</p> <p>&nbsp;&nbsp;&nbsp; REST Connector 353</p> <p>&nbsp;&nbsp;&nbsp; YANG Connector 385</p> <p>&nbsp;&nbsp;&nbsp; gNMI 389</p> <p>&nbsp;&nbsp;&nbsp; Summary 395</p> <p><strong>Chapter 14 Parallel Call (pcall) 397</strong></p> <p>&nbsp;&nbsp;&nbsp; Scaling Performance 397</p> <p>&nbsp;&nbsp;&nbsp; Parallel Call (pcall) 400</p> <p>&nbsp;&nbsp;&nbsp; Performance Comparison 406</p> <p>&nbsp;&nbsp;&nbsp; Summary 409</p> <p><strong>Chapter 15 pyATS Clean 411</strong></p> <p>&nbsp;&nbsp;&nbsp; Getting Started 411</p> <p>&nbsp;&nbsp;&nbsp; Clean YAML 423</p> <p>&nbsp;&nbsp;&nbsp; Clean Execution 436</p> <p>&nbsp;&nbsp;&nbsp; Developing Clean Stages 443</p> <p>&nbsp;&nbsp;&nbsp; Summary 456</p> <p><strong>Chapter 16 pyATS Blitz 459</strong></p> <p>&nbsp;&nbsp;&nbsp; Blitz YAML 459</p> <p>&nbsp;&nbsp;&nbsp; Blitz Usage 481</p> <p>&nbsp;&nbsp;&nbsp; Blitz Development 481</p> <p>&nbsp;&nbsp;&nbsp; Custom Blitz Actions 481</p> <p>&nbsp;&nbsp;&nbsp; Custom Blitz Sections 482</p> <p>&nbsp;&nbsp;&nbsp; Useful Tips 483</p> <p>&nbsp;&nbsp;&nbsp; Summary 484</p> <p><strong>Chapter 17 Chatbots with Webex 485</strong></p> <p>&nbsp;&nbsp;&nbsp; Integrating pyATS with Webex 486</p> <p>&nbsp;&nbsp;&nbsp; pyATS Job Integration 487</p> <p>&nbsp;&nbsp;&nbsp; pyATS Health Check Integration 489</p> <p>&nbsp;&nbsp;&nbsp; Adaptive Cards 490</p> <p>&nbsp;&nbsp;&nbsp; Customized Job Notifications 492</p> <p>&nbsp;&nbsp;&nbsp; Summary 502</p> <p><strong>Chapter 18 Running pyATS as a Container 503</strong></p> <p>&nbsp;&nbsp;&nbsp; Introduction to Containers 504</p> <p>&nbsp;&nbsp;&nbsp; pyATS Official Docker Container 506</p> <p>&nbsp;&nbsp;&nbsp; pyATS Image Builder 507</p> <p>&nbsp;&nbsp;&nbsp; Building a pyATS Image from Scratch 510</p> <p>&nbsp;&nbsp;&nbsp; Summary 513</p> <p><strong>Chapter 19 pyATS Health Check 515</strong></p> <p>&nbsp;&nbsp;&nbsp; Health Checks 515</p> <p>&nbsp;&nbsp;&nbsp; Custom Health Checks 517</p> <p>&nbsp;&nbsp;&nbsp; Health Check Usage 523</p> <p>&nbsp;&nbsp;&nbsp; Summary 525</p> <p><strong>Chapter 20 XPRESSO 527</strong></p> <p>&nbsp;&nbsp;&nbsp; Installing XPRESSO 529</p> <p>&nbsp;&nbsp;&nbsp; Getting Started with XPRESSO 536</p> <p>&nbsp;&nbsp;&nbsp; Transforming a pyATS Job into XPRESSO 538</p> <p>&nbsp;&nbsp;&nbsp; Summary 556</p> <p><strong>Chapter 21 CI/CD with pyATS 557</strong></p> <p>&nbsp;&nbsp;&nbsp; What Is CI/CD? 557</p> <p>&nbsp;&nbsp;&nbsp; CI/CD In NetDevOps 560</p> <p>&nbsp;&nbsp;&nbsp; NetDevOps Scenario 562</p> <p>&nbsp;&nbsp;&nbsp; NetDevOps in Action 565</p> <p>&nbsp;&nbsp;&nbsp; What’s Next? 572</p> <p>&nbsp;&nbsp;&nbsp; Summary 573</p> <p><strong>Chapter 22 Robot Framework 575</strong></p> <p>&nbsp;&nbsp;&nbsp; What Is the Robot Framework? 575</p> <p>&nbsp;&nbsp;&nbsp; Getting Started with Robot Framework 576</p> <p>&nbsp;&nbsp;&nbsp; Robot Integration with pyATS 582</p> <p>&nbsp;&nbsp;&nbsp; Summary 590</p> <p><strong>Chapter 23 Leveraging Artificial Intelligence in pyATS 591</strong></p> <p>&nbsp;&nbsp;&nbsp; OpenAI API 597</p> <p>&nbsp;&nbsp;&nbsp; Retrieval Augmented Generation with LangChain 612</p> <p>&nbsp;&nbsp;&nbsp; Rapid Prototyping with Streamlit 621</p> <p>&nbsp;&nbsp;&nbsp; Summary 631</p> <p><strong>Appendix A Writing Your Own Parser 633</strong></p> <p><strong>Appendix B Secret Strings 651</strong></p> <p>&nbsp;</p> <p>9780138031671, TOC, 6/5/2024</p>

Managementboek Top 100

Rubrieken

Populaire producten

    Personen

      Trefwoorden

        Cisco pyATS — Network Test and Automation Solution