CVM is an open source, generic device configuration collector that uses Git as its change historization engine. Its a more modern alternative to RANCID
A Brief Overview of how CVM works:
- Retrieves the list of devices from either a static file (json) or dynamically from NNMi
- Logs into each device using the matching Authentication and Device Profile taking advantage of Parallelism
- Runs the defined commands on the device and collects their expected output
- Cleans Up the output by removing sensitive and unnecessary data
- Individually saves the resulting output of each command locally in the file system
- A per device Git Repository is created and maintained with all the device commands
- Collects and Processes device data concurrently (GPars)
- Supports any SSH enabled device (v2+ Only)
- Independent Git Repository for each collected device
- Integration with HP NNMi for device discovery
- Device Profile schema validator
- Cisco:
- Routers/Switchs/Nexus
- Fortinet
- FortiGate Firewalls
- JuniperNetworks
- Juniper
- Check Point
- SecurePlatform Linux
Take a look at the CVM Wiki
If you have any idea for an improvement or find a bug do not hesitate in opening an issue. And if you have the time clone this repo and submit a pull request to help improve the CVM project.
CVM is distributed under Apache 2.0 License.
Copyright © 2014, Sebastian YEPES F.
Groovy | GPars | Logback | JSch | ExpectIt | jGIT | groovy-wslite | json-schema-validator