I too am very interested in configuration management tools and systems.<div><br></div><div><br></div><div>We (Comms group in RailCorp) are working on a system that captures the network architecture in an XML form and using templates it generates the configuration files for all so-managed switches.<div>

<br></div><div>Our aims are to be equipment vendor neutral, have a portable configuration and to automatically deploy the resulting config files to the switches initially at commissioning, after changes and to devices that get replaced in the field.</div>

<div><br></div><div><br></div><div>Key points (implemented in either concept form or fully functional):</div><div><br></div><div>* The XML is validated using (currently) schematron and relax-ng schema generated using pyang from yang definitions.<br>

<br></div><div>* The template config files are device/vendor specific and manually created. They contain xpath queries to lookup the XML files for the required data.</div><div><br></div><div>eg. in XML there might be the SNMP server defined as <SNMPManager>10.1.2.3</SNMPManager></div>

<div><br></div><div>The template might have a line like this</div><div>    snmpserver [[/network/globals/SNMPManager]]</div><div><br></div><div>which after processing would result in</div><div>    snmpserver 10.1.2.3</div>

<div><br></div><div>(Obviously the real templates are more complex especially when defining interfaces, routing protocols, MPLS RSVP-TE paths etc.)</div><div><div><br></div><div>* Validation includes business rules (an edge node must connect to two core nodes; a core node must have AC and DC PSUs) and Network/generic rules (a link must connect to two different but compatible ports)</div>

</div><div><br></div><div>* Automatic documentation generation - if the network is defined then we can make very detailed online documentation.</div><div><br></div><div>* Device verification - no device will be configured unless it has the right, for example, SN, MAC address, software version and exact PSUs and cards installed.</div>

<div><br></div><div>* Generation of life-like SVG and PNG images of switches for documentation.</div><div><br></div><div>* Generation of network diagrams and rack layouts.</div><div><br></div><div>* Generation of 'model' networks using live-network configuration files for testing.</div>

<div><br></div><div>* IP addresses must be automatically assigned and fixed.</div><div><br></div><div>* Everything is text based and held in a revision control system.</div><div><br></div><div>* The code base is measured in 'thousands' not '10's of thousands or more'</div>

<div><br></div><div>* Simple 'plugin' design to allow other scripts to be written to build other files.</div><div><br></div><div><br></div><div>Future possibilities (ideas or some test scripts built but not integrated)</div>

<div><br></div><div>* Automatic configuration of network management (alarm, event, performance, AAA) servers.</div><div><br></div><div>* Automatic production of VMs with generated config files for DNS, DHCP, syslog, SNMP Trap collectors, SNMP event managers, RADIUS, web servers, ...</div>

<div><div><br></div><div>* Automatic NMS GUI (hover over a port and a RRD graph is displayed like weathermap; click on a port and a web page is generated containing it's configuration, traffic graphs, VPN details etc.)</div>

</div><div><br></div><div>* Service admission management based on guaranteed bandwidth and number of policed services connected to a VPN (we are moving to guaranteed allocated bandwidth per VPN per port)</div><div><br></div>

<div>* Validation of live network by ensuring SNMP MIB of each switch matches configuration; routing tables are as per configuration; all defined interfaces are configured; config files match the files in the Revision Control System.</div>

<div><br></div><div>* Other things we have toyed with include Google Maps; linking to internal GIS records for optical fibre/route/DWDM information; extracting site information from Lotus Notes databases; creating site maps from Google's map service;</div>

<div><br></div><div>* Some other ideas include linking to site CCTV web pages and trouble-ticket systems; generating automatic scripts for link failure testing using some sort of optical cross-connect switch.</div><div><br>

</div><div>(I even made a SNMP to XML agent - see below - in my own time, but this has not been used)</div><div><br></div><div><br></div><div>A question to AusNOG: </div><div><br></div><div>If this was open sourced, would people/companies be interested in contributing to further develop the system to suit any operator's environment?</div>

<div><br></div><div>Our aim is to have the business rules separately defined so that it would be suited to any network. The network operator could internally develop their own business rules to suit their network and customer base while contributing to the generic code base.</div>

<div><br></div><div><br></div><div><div class="gmail_quote">On Mon, Jul 5, 2010 at 9:06 PM, Simon Knight <span dir="ltr"><<a href="mailto:simon.knight@gmail.com">simon.knight@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

I'm particularly interested in any answers to your question of<br>
configuration management.<br>
This is my area of research, so I'm interested in how people in<br>
industry are generating and maintaining their device configuration<br>
files.<br>
<br>
Off-list replies welcomed.<br>
<br>
Cheers!<br>
<font color="#888888">Simon<br>
</font><div><div></div><div class="h5"><br>
On Mon, Jul 5, 2010 at 8:30 PM, phil colbourn <<a href="mailto:philcolbourn@gmail.com">philcolbourn@gmail.com</a>> wrote:<br>
> Thank you for sharing your experience. I appreciate your detailed replies,<br>
> experience - good and bad - and anecdotes.<br>
> If other people have anything to add, I - and it seems others on AusNOG -<br>
> would be interested in the tools you use to manage your networks.<br>
> Phil<br>
</div></div><div><div></div><div class="h5">> _______________________________________________<br>
> AusNOG mailing list<br>
> <a href="mailto:AusNOG@lists.ausnog.net">AusNOG@lists.ausnog.net</a><br>
> <a href="http://lists.ausnog.net/mailman/listinfo/ausnog" target="_blank">http://lists.ausnog.net/mailman/listinfo/ausnog</a><br>
><br>
><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Phil<br><br><a href="http://philatwarrimoo.blogspot.com">http://philatwarrimoo.blogspot.com</a><br><a href="http://code.google.com/p/snmp2xml">http://code.google.com/p/snmp2xml</a><br>

<br>"Someone has solved it and uploaded it for free."<br><br>"If I have nothing to hide, you have no reason to look."<br><br>"Any sufficiently advanced technology is indistinguishable from magic." Arthur C. Clarke - Who does magic today?<br>

<br>
</div></div>