NAPALM is open source Python library that implements a set of functions to interact with different vendor network devices and provides unified API for them.
There is support mainly for configuring devices and retrieving operational state from them.
In Orange Business Services we decided to use this library to automate recurring testing of new versions of Juniper JunOS and CISCO IOS software that we deploy in our networks. We wanted to have these automated tests reliable as manual tests with user-friendly fronted and faster execution, so engineers can focus on more complex manual tests and simple and mid-simple tests are executed during nights/weekends.
As a result of several months work we have now environment with web fronted for scheduling and reviewing tests. We also needed to extend NAPALM with several functions for
parsing operational data. These functions are covering different SP areas as IS-IS, LDP, BFD, MPBGP, PIM, MPLS TE, ... and help us to properly check overall status of the box.
As a next step we consider also using RobotFramework with CI/CD principles for fully automatic test execution.