<div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif">Isn't this kind of the function Tail-F was proposing?<br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Feb 11, 2015 at 10:31 AM, Alan McKinnon <span dir="ltr"><<a href="mailto:alan.mckinnon@gmail.com" target="_blank">alan.mckinnon@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 11/02/2015 14:02, James Bensley wrote:<br>
> Hi All,<br>
><br>
> I am think about writing a web interface that uses RANCID in the<br>
> background to make configuration changes on devices. Since RANCID has<br>
> a bunch of scripts for various device types my thinking is a<br>
> simple-ish web interface in which I can paste in some config and then<br>
> use RANCID to log into the device and input the config, also though I<br>
> can specify some commands and RANCID will run though them and capture<br>
> output which can be passed to Bash/PERL/Python scripts to interogate<br>
> the output and check that the BGP sessions have come back up or that<br>
> the number of routes in a VRF is still the same etc.<br>
><br>
> The goal is: Anything I do on the CLI when making changes to devices<br>
> can be automated.<br>
><br>
> I know I can push config using the RANCID CLI wrapper scripts but I'm<br>
> wondering if anyone has done this before to extend RANCID to also run<br>
> "show" style commands and interogated the output to make checks to<br>
> valid the success of the change, and also if anyone has made a web<br>
> interface already (other than the CVS types for RANCID's normal<br>
> purpose of backing up rather than pushing config) ?<br>
<br>
<br>
<br>
It doesn't make sense to extend rancid in this way.<br>
<br>
Consider rancid's purpose: it logs in, captures the config, diffs it and<br>
stores the result. Then tells you what the diff is.<br>
<br>
None of that involves in any way changing the device in question and it<br>
is highly recommended that you lock down the rancid user to only the<br>
specific commands listed in @commands.<br>
<br>
<br>
There is one part of rancid that enables you to do config changes<br>
however: clogin<br>
<br>
Rather do something like this:<br>
Get the changes you want to make from the user, apply them using clogin<br>
and then write a framework that will do the double-checking you<br>
describe. Rancid itself has no code you can leverage to do any of that.<br>
It's best done in an entirely separate system, with the added benefit<br>
that rancid will come along in an hour and record the fact of a change made.<br>
<br>
All this depends however on your Risk department being OK with the idea.<br>
I know mine would shoot me at the very thought :-)<br>
<span class="HOEnZb"><font color="#888888"><br>
<br>
<br>
<br>
<br>
<br>
--<br>
Alan McKinnon<br>
<a href="mailto:alan.mckinnon@gmail.com">alan.mckinnon@gmail.com</a><br>
<br>
_______________________________________________<br>
Rancid-discuss mailing list<br>
<a href="mailto:Rancid-discuss@shrubbery.net">Rancid-discuss@shrubbery.net</a><br>
<a href="http://www.shrubbery.net/mailman/listinfo/rancid-discuss" target="_blank">http://www.shrubbery.net/mailman/listinfo/rancid-discuss</a><br>
</font></span></blockquote></div><br></div>