yatfish
Combining Cisco pyATS and Batfish for automated network running configuration analysis
Requirements
WSL2 Ubuntu and Docker Desktop for Windows
Or any Linux environment with Docker
Steps
- Clone the repository
- Update the testbed.yaml to reflect your topology and devices
- docker build -t /yatfish -f docker/Dockerfile . --no-cache
- docker push /yatfish
- docker-compose up
- In Docker Desktop Volumes - yatfish Volume - Data - Save As to retrieve analysis
If you need to run this 'hands-off' and make zero touch es to your devices you can adjust the testbed.connect() command as follows:
testbed.connect(init_exec_commands=[],
init_config_commands=[],
log_stdout=False)
Batfish Questions asked per configuration
bf.q.nodeProperties()
bf.q.interfaceProperties()
bf.q.bgpProcessConfiguration()
bf.q.bgpPeerConfiguration()
bf.q.undefinedReferences()
bf.q.unusedStructures()
bf.q.hsrpProperties()
bf.q.ospfProcessConfiguration()
bf.q.ospfInterfaceConfiguration()
bf.q.ospfAreaConfiguration()
bf.q.switchedVlanProperties()
bf.q.mlagProperties()
bf.q.namedStructures()
bf.q.definedStructures()
bf.q.referencedStructures()
bf.q.vrrpProperties()