Validating deployments using NAPALM
We have learned how NAPALM allows us to, very conveniently, issue commands, load and replace configurations, and gather facts. But what happens after you have carried out your changes? How do you verify that your device is still compliant with the state that you want to have? We'll take an even deeper look at automating the testing of your network devices in Chapter 7, Automating Your Network Tests and Deployments with pyATSand Genie. However, NAPALM also offers you a way to describe the desired state of your device in a human-readable format and make sure that the device actually complies.
The mechanism NAPALM uses to implement these are getters. Recall that these functions return well-formatted and structured Python data and have a unique function name. NAPALM leverages that by allowing you to describe what the output of this getter should be in a .yaml
file and then runs the getter to find out what the device is currently running on.