Giter Site home page Giter Site logo

dotwaffle / rancid-git Goto Github PK

View Code? Open in Web Editor NEW
218.0 50.0 92.0 2.93 MB

DEPRECATED -- Strongly consider using the upstream, the version here is very out of date and a poor place to start from!

Home Page: http://www.shrubbery.net/rancid/

License: Other

Shell 36.06% C 6.72% HTML 0.99% Makefile 42.02% M4 4.93% Perl 9.27%

rancid-git's Introduction

Rancid is a "Really Awesome New Cisco confIg Differ" developed to
maintain CVS controlled copies of router configs.

**** The Following Information is Very Important ****
Rancid 2.3 introduces a new directory layout.  It has been changed to more
closely follow the standard path hierarchy, which is defined by the FHS
standard and autoconf, and/or make these locations more easily configurable
within rancid.

The obvious advantage of this is making rancid more easily packagable; i.e.:
NetBSD pkgsrc, FreeBSD port, Linux RPM, etc.

Please please please please read the UPGRADING file for more information.
**********

The following is the packing list for Rancid, excluding files supporting
configure (autoconf) and make.  .in is stripped from the files below by
configure as substitutions are completed:

README		This file.
README.git	Information about using Git support for Rancid, along with some
		use scenarios
README.lg	Information about the Looking Glass.
BUGS		Bug list.
CHANGES		List of changes to Rancid.
COPYING		RANCID license.
FAQ		Frequently Asked Questions
Todo		Partial list of what needs to be done.
UPGRADING	Notes on upgrading rancid to a new version.
cloginrc.sample	TCL commands to set passwords, usernames etc. used by clogin
		and jlogin.  See cloginrc(5)
etc/
	lg.conf.sample		Sample Looking Glass configuration
	rancid.conf.sample	Sample RANCID configuration
bin/
	clogin.in	Expect script that logs into routers and either presents
			an interactive shell, runs a set of commands, or runs
			another expect script.  It handles Cisco, Extreme,
			Force10, Juniper E-series, Procket, Redback, Zebra/MRT.
	control_rancid.in
			Builds router list, calls rancid on each router and
			handles version control routines.
	hpuifilter.c	HP procurve login filter - see hlogin(1).
	par.in		Parallel processing of commands - any commands.
	rancid-cvs.in	Creates all of the version control and config directories.
	rancid-run.in	Script designed to be run from cron.
	rancid-fe.in	Chooses between rancid/[abefhjrx]rancid/cat5rancid.
	rancid.in	Runs commands on cisco routers and processes the output.

	agmrancid.in	Version of rancid.in for Cisco Anomaly Guard Module (AGM)
	arancid.in	Version of rancid.in for Alteon switches.
	bntrancid.in Version of rancid.in for Blade Network Technologies (BNT)/HP BladeSystem switches.
	brancid.in	Version of rancid.in for baynet/nortel routers.
	cat5rancid.in	Version of rancid.in for Cisco Catalyst switches.
	cssrancid.in	Version of rancid.in for Cisco CSS switches.
	erancid.in	Version of rancid.in for ADC EZ-T3 muxes.
	f10rancid.in	Version of rancid.in for Force10 routers.
	f5rancid.in	Version of rancid.in for F5 BigIPs.
	fnrancid.in	Version of rancid.in for Fortinet Firewalls.
	francid.in	Version of rancid.in for Foundry switches.
	hrancid.in	Version of rancid.in for HP Procurve switches.
	htrancid.in	Version of rancid.in for Hitatchi routers.
	jerancid.in	Version of rancid.in for Juniper E-series routers.
	jrancid.in	Version of rancid.in for Juniper routers.
	mrancid.in	Version of rancid.in for MRT daemons.
	nrancid.in	Version of rancid.in for Netscreen firewalls.
	nsrancid.in	Version of rancid.in for Netscalars.
	prancid.in	Version of rancid.in for Procket routers.
	pfrancid.in	Version of rancid.in for pfSense firewalls.
	rivancid.in	Version of rancid.in for Riverstone routers.
	rrancid.in	Version of rancid.in for Redback routers.
	srancid.in	Version of rancid.in for SMC switches.
	tntrancid.in	Version of rancid.in for TNT access servers.
	telcorancid.in	Version of rancid.in for Telco Systems T5C.
	ubnt-es-rancid.in	Version of rancid.in for Ubiquiti EdgeSwitch.
	urancid.in	Version of rancid.in for Ubiquiti AirOS radios and ToughSwitch.
	vrancid.in	Version of rancid.in for VyOS firewalls.
	xrancid.in	Version of rancid.in for Extreme switches.
	zrancid.in	Version of rancid.in for Zebra routers.
	zyrancid.in	Version of rancid.in for ZyXel switches.

	alogin.in	Version of clogin.in for Alteon switches.
	blogin.in	Version of clogin.in for baynet/Nortel routers.
	bntlogin.in 	Version of clogin.in for Blade Network Technologies (BNT)/HP BladeSystem switches.
	elogin.in	Version of clogin.in for ADC EZ-T3 muxes.
	flogin.in	Version of clogin.in for Foundry switches.  If foundry
			cleaned-up their bloody UI, clogin should do the job.
	hlogin.in	Version of clogin.in for HP procurve switches.
	htlogin.in	Version of clogin.in for Hitatchi routers.
	jlogin.in	Version of clogin.in for Juniper routers.
	nlogin.in	Version of clogin.in for Netscreen firewalls.
	nslogin.in	Version of clogin.in for Netscalars.
	pflogin.in	Version of clogin.in for pfSense firewalls.
	rivlogin.in	Version of clogin.in for Riverstone routers.
	tntlogin.in	Version of clogin.in for TNT access servers.
	vlogin.in	Version of clogin.in for VyOS firewalls.
man/		man pages
share/		Readmes, samples, utilities, contribs, etc
include/	Include files and rancid version.h

Also see rancid_intro(1), rancid(1), and clogin(1).

The following (non-exhaustive list) are included as part of the installation
and configuration tools:

Makefile.am	processed by automake to produce Makefile.in
Makefile.in	processed by configure to produce Makefile
acinclude.m4	sets some GNU autoconf options
aclocal.m4	Output of GNU autoconf script
configure	GNU autoconf script
configure.in	Input file for autoconf to procide configure
depcomp		part of GNU autoconf
install-sh	GNU autoconf shell script to simulate BSD style install
missing		part of GNU autoconf
mkinstalldirs	GNU autoconf shell script to make installation directories

rancid will also need to have the following packages:
cvs		Code revision system available from prep.ai.mit.edu:/pub/gnu
gnudiff		gnudiff provides the uni-diff (-u) option.  If you do not have
		a diff that supports -u, configure will set-up rancid to use
		'diff -c' or 'diff -C'.
perl5		perl version 5 or greater available from www.cpan.org
expect		http://expect.nist.gov/  We highly suggest that you stick to
		expect 5.24.1 (or so).  This seems to work best.  Note that
		you need to have the accompanying tcl &/ tk.
svn		Code revision system, an alternative to cvs or git.  Available from
		http://subversion.tigris.org/tarballs/.  Use the configure
		option --with-svn to configure for Subversion.
git		Distributed version control system, an alternative to cvs or svn
		Available from http://git-scm.com/downloads.  Use the configure
		option --with-git to configure for Git.
tcl		Required by expect.

Bill Fenner (now maintained by others) has a cgi script for interacting
with CVS repositories via a web interface.  This provides a great way to
view rancid diffs and full configs, especially for those unfamiliar with
cvs.  The package is not included, but can be found here:

	http://www.freebsd.org/projects/cvsweb.html


Quick Installation Guide (an example):

1) ./configure [--prefix=<basedir>]
   By default, rancid will be installed under /usr/local/rancid (the default
   "prefix").  This can be overridden with the --prefix option.  E.g.:

	./configure --prefix=/home/rancid

   Rancid uses autoconf's "localstatedir" as the location of it's logs,
   CVS or Subversion respository, and directories where it's groups are
   placed.  The user who will run rancid (from cron, etc) will need write
   access to these directories.  By default, this is <prefix>/var, or
   /home/rancid/var following the example above.

   We realize that this is not optimal, but it follows the standards.  We
   suggest that this be altered to include the package name, like so:

	./configure --prefix=/home/rancid \
			--localstatedir=/home/rancid/var/rancid

   The user who will run rancid must have write permission in "localstatedir".

   See ./configure --help for other configure options.

2) make install

3) Modify <sysconfdir>/rancid.conf (e.g.: <basedir>/etc/rancid.conf).  The
   variable LIST_OF_GROUPS is a space delimited list of router "groups".
   E.g.:
	LIST_OF_GROUPS="backbone aggregation switches"

4) Put .cloginrc in the home directory of the user who will run rancid.
   .cloginrc must be not be readable/writable/executable by "others",
   i.e.: .cloginrc must be mode 0600 or 0640.

5) Modify .cloginrc.

   Test to make sure that you can log into every router.

   Note: the juniper user you use *must* log into a cli shell (which
   is the default on a juniper).

   See the file cloginrc.sample, located in <datadir> (<basedir>/share/rancid),
   for examples and good starting point.  Also take a look at the cloginrc
   manual page, 'man -M <basedir>/man cloginrc'.

6) Modify /etc/aliases
   Rancid sends the diffs and other administrative emails to rancid-<GROUP>
   and problems to rancid-admin-<GROUP>, where <GROUP> is the "GROUP" of
   routers.  This way you can separate your backbone routers from your
   access routers or separate based upon network etc...  Different router
   uses forced different people being interested in router "groups" -
   thus this setup.  Make sure email to rancid-<GROUP> works.  /etc/aliases
   can be maintainable by Majordomo stuff, but make sure the user that
   runs rancid can post to the list.

   The Precedence header set to bulk or junk *hopefully* avoids replies from
   auto-responders and vacation type mail filters.

   The --enable-mail-plus option to configure will set each of the "rancid-"
   addresses mentioned above to "rancid+".  See sendmail's operation manual
   for more information on handling of '+'.

   The --enable-adminmail-plus configure option will set each of the
   "rancid-admin-" addresses mentioned above to "rancid-admin+".  If this
   option is not used, the value of --enable-mail-plus is assumed.  That is,
   the addresses will be "rancid+", if it is specified.

7) Run rancid-cvs.
   This creates all of the necessary directories and config files for
   each of the groups in LIST_OF_GROUPS and imports them into version control
   (CVS, Subversion or Git).  This will also be run each time a new group is
   added.  Do not create the directories or version control repository manually,
   allow rancid-cvs to do it.  Also see 'man -M <basedir>/man rancid-cvs'.

8) For each "group", modify the router.db file in the group directory.
   The file is of the form "router:mfg:state" where "router" is
   the name (we use FQDN) of the router, mfg is the manufacturer
   from the set of (cat5|cisco|juniper) (see router.db.5 for a complete
   list and description), and "state" is either up or down.  Each router
   listed as "up" will have the configuration grabbed.  Note: manufacturer
   cat5 is intended only for cisco catalyst switches running catalyst (not
   IOS) code.

   e.g.: <localstatedir>/<group>/router.db:
	cisco-router.domain.com:cisco:up
	adc-mux.domain.com:ezt3:up
	foundry-switch-router.domain.com:foundry:up
	juniper-router.domain.com:juniper:up
	redback-dsl-router.domain.com:redback:down
	extreme-switch.domain.com:extreme:down

    NOTE: If using git-remote, see README.git before running bin/rancid-run

9) For first-time users or new installations, run bin/rancid-run (with no
   arguments) and check the resulting log file(s) (in logs/*) for errors.
   Repeat until there are no errors.

10) Put rancid-run in cron to be called however often you want it to
   run for each group (rancid-run [<GROUP>]).  If you run it less
   often than once/hour, check the setting of OLDTIME in etc/rancid.conf.
   E.g.:
	# run config differ hourly
	1 * * * * <BASEDIR>/bin/rancid-run
	# clean out config differ logs
	50 23 * * * /usr/bin/find <localstatedir>/logs -type f -mtime +2 -exec rm {} \;

11) Note: If you are using any of these programs (other than
    rancid-run) out of cron, make sure that you set your $PATH
    correctly so that they work.  E.g.: if you are using clogin,
    it can call id, telnet, ssh, and/or rsh.

    configure already makes sure that $PATH is set correctly in
    etc/rancid.conf for rancid-run, so you could use the $PATH from there. e.g.:

	50 23 * * * . <sysconfdir>/rancid.conf; clogin -c 'sh vers' router

12) Send any bugs, suggestions or updates to [email protected].
    See the web page at http://www.shrubbery.net/rancid.  We have
    created the standard mailing lists for those interested;
    [email protected] and [email protected].
    Subscribe by sending an email whose body contains "subscribe
    rancid-<announce or discuss>" to [email protected].

    If you are reporting problems, please include the version of rancid,
    expect, and your OS in the email.


Problem with clogin/telnet hanging within rancid or scripts?

If you have experienced rancid (or more precisely, telnet) hanging on a
solaris 2.6 box; check to be sure you have the following two o/s patches
installed (see showrev -p).  There may be more recent versions of these
patches and they are likely included with 2.7 and 2.8:

Patch-ID# 105529-08
Keywords: security tcp rlogin TCP ACK FIN packet listen
Synopsis: SunOS 5.6: /kernel/drv/tcp patch

Patch-ID# 105786-11
Keywords: security ip tcp_priv_stream routing ip_enable_group_ifs ndd
Synopsis: SunOS 5.6: /kernel/drv/ip patch

Another contributor to rancid "hanging", with or without the o/s patches
mentioned above, is a bug in expect/tcl.  We've noticed that expect (from
5.24.1 forward), and whatever tcl happens to compile with it, exhibits a
problem on Linux and Solaris where rancid's scripts hang waiting for input
from the device.  Patches to expect are available on the rancid web page.

Also, for rancid 2.3 and later, changes were made to the login scripts
which use some more elaborate regexes that have failed with expect versions
prior to 5.40.  While 5.40 works, it still seems to need the patch offered
on the rancid web page for Linux and Solaris.

See www.shrubbery.net/rancid for additional notes on this.

rancid-git's People

Contributors

bitte-ein-bit avatar cristim avatar darrelclute avatar dlundquist avatar dotwaffle avatar drewbeer avatar dsx avatar frank-fegert avatar hmlio avatar jnorell avatar job avatar jof avatar jumanjiman avatar k0hax avatar manyax avatar matejv avatar medea61 avatar mhorbul avatar phelset avatar pid1co avatar rolandrosenfeld avatar russ5678 avatar samdoran avatar sbadia avatar scaronni avatar siegristj avatar stku avatar toreanderson avatar vincentbernat avatar wipash avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rancid-git's Issues

debian lenny need automake as dependency

for debian/lenny rancid needs automake to build

diff --git a/debian/control b/debian/control
index bf5d377..61348b6 100644
--- a/debian/control
+++ b/debian/control
@@ -2,7 +2,7 @@ Source: rancid
Section: net
Priority: optional
Maintainer: Roland Rosenfeld [email protected]
-Build-Depends: debhelper (>= 5.0.0), expect, perl, openssh-client, cvs,
+Build-Depends: debhelper (>= 5.0.0), automake, expect, perl, openssh-client, cvs,
iputils-ping | ping, po-debconf, dpatch, exim4 | mail-transport-agent,
telnet
Standards-Version: 3.8.1

Fortigate Backup doesn't works

Hello friends!

I have a issue with the Rancid backups of my Fortigate firewall. When i want to import the configuration from my backup to the firewall, the firewall return to me an error. I contact the Fortinet support and told me that the error comes from the backup files. And i made the test and its true. If we check the header from rancid:

RANCID-CONTENT-TYPE: fortigate

Version: FortiGate-1500D v5.2.5,build0701,151203 (GA)

Extreme DB: 1.00000(2012-10-17 15:47)

IPS-ETDB: 6.00781(2016-01-29 02:53)

Serial-Number: FG1K5D3I14804149

Botnet DB: 2.00765(2016-01-31 10:00)

BIOS version: 04000006

System Part-Number: P12917-05

Log hard disk: Available

Hostname: FW

Operation Mode: NAT

Current virtual domain: root

Max number of virtual domains: 100

Virtual domains status: 25 in NAT mode, 0 in TP mode

Virtual domain configuration: enable

FIPS-CC mode: disable

Current HA mode: a-p, backup

Branch point: 701

Release Version Information: GA

FortiOS x86-64: Yes

and the configuration start with

config system global

If we see the original backup from Fortigate the header look like this:

config-version=FG1K5D-5.02-FW-build701-151203:opmode=0:vdom=1:user=admin

conf_file_ver=7858069675405107643

buildno=0701

global_vdom=1

and the configuration start with

config vdom
<----set all the vdoms here--->
config global
config system global


Look like rancid is jumping some configuration parameter.

I wanna know if a patch is available or some work around.

Thanks and all the best.

Alejandro B.

removal of cleartext passwords from clogin.rc file of RANCID

We are trying to avoid the usage of cleartext passwords in .cloginrc file of RANCID by using CyberArk API which provide passwords ondemand . API is capable to made available passwords of accounts been used by RANCID. IS there a way to get rid of cloginrc plaintext file by replacing it with API calls?

Where is the configure ?

I'm sorry but this does not have a configure only a configure.in as opposed to the regular rancid.
How do you guys proceed with configure ?

zterancid

Hello! Trying to use your zterancid script but no luck. Running on zrx10 devices such as ZTE Ethernet Switch ZXR10 2928-SI. Promt is #. I think that happenes because in zte config no "end" word.

Getting such log:

172.16.32.30 clogin error: Error: TIMEOUT reached
172.16.32.30: missed cmd(s): more system:running-config,show debug,show vlan-switch,show running-config
172.16.32.30: End of run not found
!

Error ztelogin

command - "terminal width 132" is not working getting following error message -

% Invalid input detected at '^' marker.

Integrate support for Palo Alto firewalls

There's currently a branch I'm working on to integrate a Palo Alto patch-set from the mailing list.

However, there's a number of annoying things, like it continually puts in version numbers for the url-filter download, which means almost every update has the number present. I'd like to skip that, unless someone feels strongly to the contrary.

installing debs

Setting up rancid-git (2.3.8) ...
dpkg: dependency problems prevent configuration of rancid-util:
rancid-util depends on rancid; however:
Package rancid is not installed.

debs build:

rancid-cgi_2.3.8_all.deb rancid-core_2.3.8_all.deb rancid-git_2.3.8_amd64.deb rancid-util_2.3.8_all.deb

rancid_par is missing?

Getting missed routers: round 3.
/usr/lib/rancid/bin/control_rancid: line 488: rancid_par: command not found
=====================================
Getting missed routers: round 4.
/usr/lib/rancid/bin/control_rancid: line 488: rancid_par: command not found

# On branch master
nothing to commit (working directory clean)

ending: Tue Oct 19 16:28:20 BST 2010

Building Debian package fails on fresh checkout

I provisioned a fresh copy of Debian Wheezy on EC2 (ami-4e099a74, ap-southeast-2), and ran the following to attempt to build the package:

$ sudo apt-get update
$ sudo apt-get -y install devscripts git
$ git clone git://github.com/dotwaffle/rancid-git
$ cd rancid-git
$ debuild -S
$ cd ..
$ mk-build-deps rancid-git_2.3.8.dsc
$ sudo dpkg -i rancid-git-build-deps_2.3.8_all.deb
$ sudo apt-get -f install
$ cd rancid-git
$ debuild

I ended up with the following error:

configure: creating ./config.status
config.status: error: cannot find input file: `Makefile.in'
make: *** [build-stamp] Error 1
dpkg-buildpackage: error: debian/rules build gave error exit status 2
debuild: fatal error at line 1357:
dpkg-buildpackage -rfakeroot -D -us -uc failed

After a bit of experimentation, I noticed that the 'manual' (non-Debian) instructions on the site at http://dotwaffle.github.io/rancid-git/ suggested running autoreconf. So I edited debian/rules and changed these lines:

 build-stamp: patch-stamp
    dh_testdir
    aclocal
    autoconf

To these:

 build-stamp: patch-stamp
    dh_testdir
    autoreconf

It then builds successfully with debuild. Is that a bug?

Error: invalid command name "aadd"

Hey, I've been running rancid for quite some years now, makes me happy!

I now want to replace my old centos6 vm with a new centos7 one, and at the same start using our central git server (company gitlab server). (The new vm is also managed by puppet, so I'll write my own puppet module). I installed rancid from the epel7 repo, now running rancid-3.2-2.el7.x86_64.

I see the following error when I run clogin:

[rancid@nmo-ran-02 rancid]$ /usr/libexec/rancid/clogin foo
Error: invalid command name "aadd"

Any idea why that could be? Am I missing some dependency? (yum whatprovides shows no aadd executables).

Virtual-Access interfaces should be skipped

Inside /usr/lib/rancid/bin/rancid, I have commented out the following parameters to @commandtable, because they were very noisy:

#{'show snmp mib ifmib ifindex'  => 'ShowIfIndex'},
#{'show interface'      => 'ShowInterface'},

(I also commented out the show shun line too due to noise, but that is beyond the scope of this report.)

In my circumstance, the routers with the noise operate as LNS'es โ€” i.e. terminating PPPoE or L2TP sessions, with dozens of Virtual-Access interfaces appearing and/or disappearing every hour.

However, I can see why it is useful to have the output. To reach a compromise, it may be useful to test for and skip Virtual-Access interfaces, which only last for the lifetime of the PPP session.

For example, in sub ShowInterface, the following line appears in two places:

ProcessHistory("INT","keysort",$interface->{'name'},"!Interface: " . PrintInterface($interface) . "\n") if (defined $interface);

Perhaps it would be possible to skip Virtual-Access interfaces (please excuse me, this is literally the first line of Perl I have ever written, which may not actually work):

ProcessHistory("INT","keysort",$interface->{'name'},"!Interface: " . PrintInterface($interface) . "\n") if (defined $interface && !($interface->{'name'} =~ /^Virtual-Access/));

With something similar in sub ShowIfIndex to skip Virtual-Access indexes.

Thoughts?

RPM spec file references old SHA

The %{commit} variable in rancid-git.spec references SHA 788157a, which is from May 2013. I'm not sure if this is intentional, e.g., this is the latest "stable" release. If not, it would be nice if this variable could be updated to a newer commit.

I was able to successfully build an RPM from the latest commit (as of this writing) by changing this variable to 6b843b4f74fac89296b9fb325efa5eac1971b284 and exporting an archive.

git archive -o rancid-git-2.3.8-6b843b4.tar.gz --prefix=rancid-git-6b843b4f74fac89296b9fb325efa5eac1971b284 6b843b4

Undocumented build-dep

rancid@rancid:/srv/rancid-git$ dpkg-buildpackage -uc -rfakeroot
dpkg-buildpackage: source package rancid-git
dpkg-buildpackage: source version 2.3.9-0
dpkg-buildpackage: source changed by Vincent Bernat <[email protected]>
dpkg-buildpackage: host architecture amd64
 dpkg-source --before-build rancid-git
dpkg-checkbuilddeps: Unmet build dependencies: exim4 | mail-transport-agent
dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
dpkg-buildpackage: warning: (Use -d flag to override.)

This is probably incorrect as a build-dep, and the build process completes successfully if I remove this dependency.

a10 Network Load Balancers

I am having trouble getting a10 devices added as a device class

I copied our a10 scripts from the old rancid server however I can't seem to get it to work on the new server.
I have a script for a10login and a10rancid and placed them in /usr/lib/rancid/bin/ (same place as rancid-fe)
I edited the rancid-fe file and added:
'a10' => 'a10rancid'

However if I try to run rancid-fe {device}:a10 i get the message
exec failed router manufacturer a10: No such file or directory

if i run a10login I get logged in just fine
if i run a10rancid I get:

sh: 1: fnlogin: not found
{device}: missed cmd(s): get system status,show full-configuration
0: found end
{device}: End of run not found

a previous engineer wrote the scripts for the a10's from the fnrancid/fnlogin scripts it looks like.
He isn't around anymore to ask and he loved to write random custom crap to make it unnecessarily complicated.

I don't really know where to go from here...
Any help would be GREATLY appreciated.

error: no proper invocation of AM_INIT_AUTOMAKE was found.

$ automake --add-missing
configure.ac: error: no proper invocation of AM_INIT_AUTOMAKE was found.
configure.ac: You should verify that configure.ac invokes AM_INIT_AUTOMAKE,
configure.ac: that aclocal.m4 is present in the top-level directory,
configure.ac: and that aclocal.m4 was recently regenerated (using aclocal)
Makefile.am:41: error: MK_LCLSTATEDIR does not appear in AM_CONDITIONAL
/usr/share/automake-1.14/am/depend2.am: error: am__fastdepCC does not appear in AM_CONDITIONAL
/usr/share/automake-1.14/am/depend2.am: The usual way to define 'am__fastdepCC' is to add 'AC_PROG_CC'
/usr/share/automake-1.14/am/depend2.am: to 'configure.ac' and run 'aclocal' and 'autoconf' again
/usr/share/automake-1.14/am/depend2.am: error: AMDEP does not appear in AM_CONDITIONAL
/usr/share/automake-1.14/am/depend2.am: The usual way to define 'AMDEP' is to add one of the compiler tests
/usr/share/automake-1.14/am/depend2.am: AC_PROG_CC, AC_PROG_CXX, AC_PROG_OBJC, AC_PROG_OBJCXX,
/usr/share/automake-1.14/am/depend2.am: AM_PROG_AS, AM_PROG_GCJ, AM_PROG_UPC
/usr/share/automake-1.14/am/depend2.am: to 'configure.ac' and run 'aclocal' and 'autoconf' again
etc/Makefile.am:56: error: CONF_INSTALL does not appear in AM_CONDITIONAL

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.10
Release: 14.10
Codename: utopic

Add .gitignore to prevent errors in logs

Should provide a .gitignore file to prevent errors in the logs

Example error:

 On branch master
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       ../../.bash_history
#       ../../.bash_logout
#       ../../.bash_profile
#       ../../.bashrc
#       ../../.cloginrc
#       ../../.gitconfig
#       ../../.ssh/
#       ervice-object tcp destination eq https
nothing added to commit but untracked files present (use "git add" to track)
Deleted ervice-object
fatal: pathspec 'networking/configs/tcp' did not match any files

seeing uninitialized value errors in drancid file

This is showing in my rancid logs. I copied dlogin and drancid (renamed to just dlogin and drancid) into my current rancid install is rancid 2.3.8

Possible unintended interpolation of @PACKAGE in string at /usr/lib/rancid/bin/drancid line 34.
Possible unintended interpolation of @VERSION in string at /usr/lib/rancid/bin/drancid line 34.
Name "main::opt_l" used only once: possible typo at /usr/lib/rancid/bin/drancid line 37.
Name "main::found_env" used only once: possible typo at /usr/lib/rancid/bin/drancid line 43.
Name "main::found_diag" used only once: possible typo at /usr/lib/rancid/bin/drancid line 44.
Name "main::opt_f" used only once: possible typo at /usr/lib/rancid/bin/drancid line 39.
Name "main::PACKAGE" used only once: possible typo at /usr/lib/rancid/bin/drancid line 34.
Name "main::opt_d" used only once: possible typo at /usr/lib/rancid/bin/drancid line 38.
Name "main::opt_V" used only once: possible typo at /usr/lib/rancid/bin/drancid line 33.
Name "main::logincmd" used only once: possible typo at /usr/lib/rancid/bin/drancid line 378.
Use of uninitialized value $ENV{"FILTER_PWDS"} in pattern match (m//) at /usr/lib/rancid/bin/drancid line 331.
Use of uninitialized value $ENV{"FILTER_PWDS"} in pattern match (m//) at /usr/lib/rancid/bin/drancid line 333.
Use of uninitialized value $hist_tag in string ne at /usr/lib/rancid/bin/drancid line 54.
Use of uninitialized value $command in string ne at /usr/lib/rancid/bin/drancid line 54.
Use of uninitialized value $4 in string ne at /usr/lib/rancid/bin/drancid line 243, <INPUT> line 289.
Use of uninitialized value $2 in concatenation (.) or string at /usr/lib/rancid/bin/drancid line 244, <INPUT> line 289.
Use of uninitialized value $4 in string ne at /usr/lib/rancid/bin/drancid line 243, <INPUT> line 290.
Use of uninitialized value $2 in concatenation (.) or string at /usr/lib/rancid/bin/drancid line 244, <INPUT> line 290.
Use of uninitialized value $4 in string ne at /usr/lib/rancid/bin/drancid line 243, <INPUT> line 291.
Use of uninitialized value $2 in concatenation (.) or string at /usr/lib/rancid/bin/drancid line 244, <INPUT> line 291.
Use of uninitialized value $4 in string ne at /usr/lib/rancid/bin/drancid line 243, <INPUT> line 292.
Use of uninitialized value $2 in concatenation (.) or string at /usr/lib/rancid/bin/drancid line 244, <INPUT> line 292.
Use of uninitialized value $4 in string ne at /usr/lib/rancid/bin/drancid line 243, <INPUT> line 293.
Use of uninitialized value $2 in concatenation (.) or string at /usr/lib/rancid/bin/drancid line 244, <INPUT> line 293.

CONF_INSTALL does not appear in AM_CONDITIONAL

Running through the 'INSTALL' file on a new Ubuntu 14.04 box:

root@rancid:~/code/rancid-git# automake --add-missing
configure.ac: error: no proper invocation of AM_INIT_AUTOMAKE was found.
configure.ac: You should verify that configure.ac invokes AM_INIT_AUTOMAKE,
configure.ac: that aclocal.m4 is present in the top-level directory,
configure.ac: and that aclocal.m4 was recently regenerated (using aclocal)
Makefile.am:41: error: MK_LCLSTATEDIR does not appear in AM_CONDITIONAL
/usr/share/automake-1.14/am/depend2.am: error: am__fastdepCC does not appear in AM_CONDITIONAL
/usr/share/automake-1.14/am/depend2.am:   The usual way to define 'am__fastdepCC' is to add 'AC_PROG_CC'
/usr/share/automake-1.14/am/depend2.am:   to 'configure.ac' and run 'aclocal' and 'autoconf' again
/usr/share/automake-1.14/am/depend2.am: error: AMDEP does not appear in AM_CONDITIONAL
/usr/share/automake-1.14/am/depend2.am:   The usual way to define 'AMDEP' is to add one of the compiler tests
/usr/share/automake-1.14/am/depend2.am:     AC_PROG_CC, AC_PROG_CXX, AC_PROG_OBJC, AC_PROG_OBJCXX,
/usr/share/automake-1.14/am/depend2.am:     AM_PROG_AS, AM_PROG_GCJ, AM_PROG_UPC
/usr/share/automake-1.14/am/depend2.am:   to 'configure.ac' and run 'aclocal' and 'autoconf' again
etc/Makefile.am:56: error: CONF_INSTALL does not appear in AM_CONDITIONAL
root@rancid:~/code/rancid-git#

Groups as autonomous repositories

I haven't seen any mention of it in any of the manpages I read. Is there an option to set each group as it's own separate repositiory?

This is desired is several use cases, especially when each group might be a separate administrative domain with different hooks desired and more. When using frontend git servers as well, would enable creating hooks to push individual groups to different projects representing within.

Would be helpful when used within an MSP.

rancid-cvs should test for potential `git init` failure

When initialising my repository, I got the following:

rancid@intranet:~$ /usr/lib/rancid/bin/rancid-cvs 
Initialized empty Git repository in /var/lib/rancid/.git/

*** Please tell me who you are.

Run

  git config --global user.email "[email protected]"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: empty ident name (for <[email protected]>) not allowed

*** Please tell me who you are.

Run

  git config --global user.email "[email protected]"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: empty ident name (for <[email protected]>) not allowed

*** Please tell me who you are.

Run

  git config --global user.email "[email protected]"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: empty ident name (for <[email protected]>) not allowed

The root cause may be problems within /etc/passwd โ€” I notice the Debian package did not assign a 'full name' to the rancid user, meaning git could not successfully guess a name.

I suggest to either:

  • refuse to proceed with git init and friends if user.name and user.email are not set, or perhaps even better:
  • automatically set user.name to RANCID and user.email to rancid@$(hostname -f) (Side note: I'm not sure if hostname -f is reliable on all machines. Maybe it would be safer to use rancid@localhost instead?)

In addition to the above, it would be good to have the Debian package assign a full name to the rancid user.

Upstream pull request for f5rancid?

I must be dense, but I can't seem to find "upstream" (mentioned in #23). I would like to submit a pull request for them to pull in your ./bin/f5rancid.in at a minimum. It pains me that the OS provided package of 3.1 or 3.2 do not have this file from ~3 years ago. Apparently f5 + rancid is not very popular? We have a requirement to use OS packages at this specific customer, and have an F5 running an OS from this decade that uses tmsh :)

Thanks in advance,
Tommy

Merge upstream?

Hi!

Where the changeset to support git and HTML emails pushed upstream? I have extracted a patch for this purpose. Since it is based on the diff between the current version in Debian (which has additional patches) and your repository, this may not be applied as is on upstream version.
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=731744

No release available

Hi,

I wanted to use rancid-git, but couldn't find a released version: all tags in the repository point to tags of the upstream project, so without git compatibility.

Are the releases of rancid-git hosted on another platform?

Merge RANCID 3.2 (when released) including upstream git support

This will take some time, with tens of thousands of changes.

Most of the changes are simple, but there are a few places where some serious tinkering will need to be done.

I'm aiming to do at least some of this during a week off I have booked at the end of April, with an eventual preliminary release in May/June 2014. I'll try and do the work publicly, it will be on the "integration" branch.

At the end, I'm hoping to have a serious of patchsets to be applied that can be passed back upstream. Very happy for people to lend a hand -- especially for RANCID device types that I don't have access to.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.