RANCID with webSVN on Gentoo


RANCID (Really Awesome New Cisco confIg Differ) je aplikacija, ki avtomatizirano dela backupe konfiguracij Cisco naprav tako, da se ob specificiranem casu nalogira na device in izvede kup predefiniranih komand. Spremembam sledi s pomocjo CVS (Concurrent version system) ali pa SVN (Subversion), s pomocjo websvn pa lahko spremembe prikazemo preko spletnega vmesnika ter vidimo, kaj se je spremenilo med razlicnimi verzijami:

Na Gentoo wikiju je how-to za rancid, preko njega si namestite rancid program, tukaj se ne bom ponavljal. Dodal pa bom navodila za delovanje s pomocjo SVN sistema ter websvn streznika – original guide uporablja CVS (SVN je naslednik CVSa). Ob priliki bom seveda tudi uredil guide na Gentoo wikiju.

Priprava sistema

Kot sem ze omenil do sedaj predvidevam, da rancid kot tak ze deluje, zato nadaljujemo z instalacijo websvn programa. Naj omenim samo se to, da mora biti rancid verzija >= 2.3.2a3. Seveda predvidevam tudi da imate delujoc apache streznik.

Najprej namestimo subversion s podporo za apache in svn streznik, ter python in perl module za apache:

echo "dev-util/subversion apache2 svnserve" >> /etc/portage/package.use
emerge -uav subversion mod_python mod_perl

Potem povemo apachu naj uporablja python, perl, svn in dav? module ter restartamo apache streznik:

vi /etc/conf.d/apache2
APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D PHP5 -D PYTHON -D SVN -D DAV -D PERL"

/etc/init.d/apache2 restart

Sedaj instaliramo se websvn:
emerge -av websvn

In v konfiguracijski fajl dodamo SVN repozitorij, ki ga bomo kasneje kreirali…

vi /var/www/localhost/htdocs/websvn/include/config.php
dodamo / spremenimo vrstico
$config->addRepository('ime_repozitorija', 'file:///var/rancid/CVS');

Konfiguracija

V kolikor ste sledili guideu iz Gentoo wikija moramo popraviti nekaj stvari, da nam bo rancid deloval s SVN sistemom…

Najprej uredimo rancid konfiguracijo in povemo, naj uporabi SVN namesto CVS:
vi /etc/rancid/rancid.conf

RCSSYS=svn; export RCSSYS
FILTER_PWDS=NO; export FILTER_PWDS
NOCOMMSTR=NO; export NOCOMMSTR
LIST_OF_GROUPS="Networking"

Ce ste med instalacijo ze zagnali ./rancid-cvs, potem morate stare konfiguracije pobrisati, saj uporabljajo CVS repozitorije in kreirati nove za SVN…


rm -fr /var/rancid/*
su rancid
./usr/rancid/bin/rancid-cvs

Test-start

V kolikor je slo tole cez brez napak lahko rocno zazenemo rancid in naredimo troubleshooting:

su rancid
/usr/rancid/bin/rancid-run

Pomembno je, da vse stvari delamo kot user rancid, drugace imamo lahko tezave s pravicami (to je tudi dober hint za troubleshooting -> priporocam tudi chown -R rancid:rancid /var/rancid/ ko koncate s konfiguriranjem).

V /var/rancid/logs se shranjujejo logi, tukaj se zacne troubleshooting. Ce je vse ok boste lahko v direktoriju var/rancid/Networking/configs videli konfiguracije naprav. Ce dela tudi websvn lahko preverite na websvn direktoriju vasega streznika (v primeru localhosta na http://localhost/websvn/). Naprave pa se bodo preverjale tako pogosto, kot je to specificirano v crontabu (crontab -l -u rancid).

Koncni izdelek

Na prvi strani vidimo routerje, ki so na voljo in klik na njih nam pokaze trenutno konfiguracijo. Na levi vidimo, kateri fajli so se spremenili v tem revisionu:

Tako izgleda trenutna konfiguracija izbranega routerja:

Pa se razlika dveh verzij:

In pa log sprememb za par verzij nazaj:

skratka zna biti kar precej uporabno. :D Mozno je, da sem kaj spustil, feedback zazeljen. ce se se kaj spomnim bom dopolnil.

lpm

Your IP Address is:
38.107.179.222

  1. No comments yet.
(will not be published)
*