Custom RANCID modules

Andrew Fort afort at choqolat.org
Sun May 2 01:05:08 UTC 2004


Joshua Ginsberg wrote:

> I was wondering if anybody had any experience or pointers for somebody
> trying to begin creating RANCID modules for other types of networking
> equipment. I've looked at the code base, and I'm not really able to make
> heads or tails of how it all works. Thanks for any help you could
> provide.

If the device is vastly different than one of the others already in the 
distribution, you're going to need to produce *login program (normally 
written in expect) and an output parser *rancid program (which produces 
the data checked into CVS).

I've hacked with a couple of them (alteon, riverstone) that are in the 
distribution now; so the maintainers can provide you some more answers 
I'm sure.  My suggestions are:

- Try to modify what is in clogin (to handle your new device without 
breaking others using it) if the device works similarly enough (method 
of logging in, etc) to a cisco.  This applies for other login/parser 
pairs, also.  For example, Foundry made their CLI just different enough 
from Cisco IOS syntax that there are separate program for each of those 
vendors.

- expect doesn't have the most obvious syntax, so you'll need to stare 
at the code for longer than you would a more popular language.  If you 
are successful, hallucinations and madness will ensue.  At this time, 
you will be "expected".

The O'Reilly "Exploring Expect" book (Libes) is rumored to assist if you 
have the patience for it (I'm not sure whether it's not a good book, or 
tcl is the culprit).

- Ask plenty of questions, and consider people who may use the equipment 
how you do not (for example, those who use TACACS+/RADIUS auth where you 
do not, or vice versa).

Oh.. what is the device, by the way? :)

-afort



More information about the Rancid-discuss mailing list