On 7 June 2017 at 19:52, Brian Knight <m...@knight-networks.com> wrote: > The import process to the database runs directly on our rancid server, > reading the downloaded configs out of the appropriate directory within > rancid. Most of our gear is Cisco, so the ciscoconfparse module for Python > helps a lot with organizing and querying the config. From there, the config > is parsed for key items like interface name, description, configured > bandwidth, etc., and that info is then added or updated as necessary in the > database. > > > > Because it's dependent on rancid, there is some lag time between when a > change is made and when the database gets updated, so we still strongly > encourage running the pre-config checks for new circuits. But with PyEZ, it > looks like you easily could, after grabbing that lock, validate the existing > config before pushing down new config. Lots of possibilities there. I'm > envious that you have a vendor-written Python module as a choice! ... > > Or, at least, rebuild the existing configs based on the new source of truth, > so that subsequent config parsing conforms to a single standard.
Cisco IOS and IOS-XE have config locks on the CLI, as well as automatic configuration rollbacks and the ability to generate a config diff on deice. For some reason lots of people seem to forget/ignore this. If you are using NAPALM then I believe you can also implement this through NAPALM. Cheers, James.