[rancid] Completely disable mail functionality in 3.14?
Andrew Weaver
aweaver at ee.net
Fri May 15 16:16:45 UTC 2026
Hi,
I figured out that the reason it was always using the "cisco" type is
because that is what I told it to do originally in router.db and I
didn't know I needed to delete the device from router.db, re-run
rancid-run so that it "deletes it", and then re-add it with the "right"
type before it would notice that the type had changed.
I quickly ran into an additional minor problem which is I noticed that
the NXOS perl module breaks entirely if you remove this from the list of
commands:
cisco-nx3;command;nxos::ShowVersion;show version
It stops polling updates entirely without that command.
So this will work:
cisco-nx3;script;rancid -t cisco-nx3
cisco-nx3;login;clogin
cisco-nx3;module;nxos
cisco-nx3;inloop;nxos::inloop
cisco-nx3;command;rancid::RunCommand;term no monitor-force
cisco-nx3;command;nxos::ShowVersion;show version
cisco-nx3;command;nxos::WriteTerm;show running-config
but this will not:
cisco-nx3;script;rancid -t cisco-nx3
cisco-nx3;login;clogin
cisco-nx3;module;nxos
cisco-nx3;inloop;nxos::inloop
cisco-nx3;command;rancid::RunCommand;term no monitor-force
Is there any way for the /user/ to know which commands can be missing
and which cannot be or is that on like a perl module basis?
That is really confusing.
I still need to figure out how to get RANCID to stop trying to send
email entirely but baby steps I guess.
but thanks at least this one problem is no longer a thing.
On 2026-05-15 04:14, Jethro Binks wrote:
> Seems odd on the face of it, but a couple of suggestions:
>
> Verify which rancid.conf is in use; there are PATHs and PERL5LIB
> variables in there. Check ENVFILE in /opt/rancid/bin/rancid-run is
> pointing to where you think it is.
>
> Also perhaps:
>
> cisco-nx2;script;rancid -t cisco-nx
>
> Needs to be:
>
> cisco-nx2;script;rancid -t cisco-nx2
>
> (I recently did an "alt version" like this for testing a dev version of
> a module that others has the same package name etc, and it took a
> couple of goes to get it right, it now works ok with:
>
> ### dev version
> arubaoscx-dev;script;rancid -t arubaoscx-dev
> arubaoscx-dev;login;clogin
> arubaoscx-dev;inloop;arubaoscx::inloop
> arubaoscx-dev;module;arubaoscx-dev
> arubaoscx-dev;command;rancid::RunCommand;no page
> arubaoscx-dev;command;arubaoscx::CommentOutput;show ip pim rp-set
> arubaoscx-dev;command;arubaoscx::ShowConfiguration;show running-config
>
> )
>
> Jethro.
>
> . . . . . . . . . . . . . . . . . . . . . . . .
> .
>
> Jethro R Binks, Network Manager,
>
> Information Services Directorate, University Of Strathclyde, Glasgow,
> UK
>
> The University of Strathclyde is a charitable body, registered in
> Scotland, number SC015263.
>
> -------------------------
>
> From: Andrew Weaver <aweaver at ee.net>
> Sent: 14 May 2026 8:21 PM
> To: Jethro Binks <jethro.binks at strath.ac.uk>
> Cc: rancid-discuss at www.shrubbery.net <rancid-discuss at www.shrubbery.net>
> Subject: Re: [rancid] Completely disable mail functionality in 3.14?
>
> Okay,
>
> Thank you very much for that debug command that was helpful in
> illustrating another problem I'm having.
>
> Note: I specifically built version 3.14 with /opt/rancid (using these
> flags) because I have a 3.07 installed already in /usr/local/rancid...
>
> ./configure --prefix=/opt/rancid --localstatedir=/opt/rancid
>
> I created this in /opt/rancid/etc/rancid.types.conf [for NXOS]
>
> cisco-nx2;script;rancid -t cisco-nx
> cisco-nx2;login;clogin
> cisco-nx2;module;nxos
> cisco-nx2;inloop;nxos::inloop
> cisco-nx2;command;rancid::RunCommand;term no monitor-force
> cisco-nx2;command;nxos::WriteTerm;show running-config
>
> In router.db I have the device specified as this:
>
> nxlab1;cisco-nx2;up
>
> env NOPIPE=YES PATH=${PATH}:/opt/rancid/bin rancid -t cisco-nx2 -d
> nxlab1
> loadtype: device type cisco-nx2
> loadtype: found device type cisco-nx2 at
> /opt/rancid/etc/rancid.types.conf:21
> executing clogin -t 90 -c"term no monitor-force;show running-config"
> nxlab1
> PROMPT MATCH: NX65(\([^)#]+\))?\#
> HIT COMMAND:NX65# term no monitor-force
> In RunCommand: NX65# term no monitor-force
> HIT COMMAND:NX65# show running-config
> In WriteTerm: NX65# show running-config
> nxlab1: found exit
> nxlab1: End of run not found
> nxlab1: found_end is false
>
> The crazy part is that when rancid-run executes either in cron (using
> this rancid /opt/rancid/bin/rancid-run > /dev/null 2>&1)
>
> or run manually on the CLI like this: /opt/rancid/bin/rancid-run -r
> nxlab1
>
> It's not actually using the cisco-nx2 "command" at all.
>
> I know this because I edited this line
>
> ProcessHistory("","","","!RANCID-CONTENT-TYPE: $devtype\n!\n");
>
> to be
>
> ProcessHistory("","","","!RANCID-CONTENT-TYPE:
> QUICKLYLOSINGMYMIND\n!\n");
>
> in /opt/rancid/lib/rancid/nxos.pm
>
> In the config file rancid-run creates it says this:
>
> !RANCID-CONTENT-TYPE: cisco
>
> In the config file that this creates
>
> env NOPIPE=YES PATH=${PATH}:/opt/rancid/bin rancid -t cisco-nx2 -d
> nxlab1
>
> it says: !RANCID-CONTENT-TYPE: QUICKLYLOSINGMYMIND
>
> Do you have any idea why /opt/rancid/bin/rancid-run is doing it totally
> differently than the debug command?
>
> Also assuming I can even fix this issue is there some way to suppress
> the logging of "End of run not found" that you are aware of?
>
> Since it is expected that there would be no "end of run" for NXOS that
> message probably doesn't need to be logged.
>
> thank you very much.
>
> On 2026-05-14 14:38, Jethro Binks wrote:
>
> So rancid.types.base (from github repo) currently says:
>
> # SMC and Dell PowerConnect N2048, 34xx (config is incomplete), 35xx
> (3524,
> # 3524P, 3548, 3548P), N4032F, N4064, 62xxx, M6348, 64xx (6428), 7048,
> # M8024(-k), and R1-2401.
> smc;script;rancid -t smc
> smc;login;hlogin
> smc;timeout;90
> smc;module;smc
> smc;inloop;smc::inloop
> smc;command;rancid::RunCommand;terminal datadump
> smc;command;smc::ShowSys;show system
> smc;command;smc::ShowVer;show version
> smc;command;smc::Dir;dir
> smc;command;smc::ShowVlan;show vlan
> smc;command;smc::WriteTerm;show running-config
>
> Is your device one of the listed models? It might be poorly tested if
> not. (It might be poorly tested if it is 🙂 ).
>
> Anyway, it calls hlogin to log into the device and that was originally
> written for "hp" devices - but I guess it was functional enough to not
> need to write something specific. But it sends "no page" (directly in
> the script), which I guess isn't applicable for SMC. Google does
> suggest "terminal length 0" might work. On some systems there is no
> way to turn off paging (no idea about yours though), and so the parsing
> script has to handle finding and filtering out "--- more ---" lines and
> similar, which can often be painful.
>
> Smc.pm.in has several instances of: "# pager remnants like: ^H^H^H
> ^H^H^H content" so I guess there is some known paging imperfection
> here, and it might be a code versions have made changes.
>
> If your only problem is the directory listing changes, then simplest
> thing to do is to comment out the dir line:
>
> #smc;command;smc::Dir;dir
>
> If you want to keep all but the volatile ones, then you might look in
> smc.pm (or smc.pm.in if you are building from source) in sub Dir and
> modify it in some suitable way to match ones you don't want, maybe:
>
> next if (
> /^aaafile\.prv/ ||
> /^syslog\d+\.sys/
> );
>
> (is 'aaafile.prv' a real SMC file, or just a placeholder filename in
> the code?)
>
> It's very hard to keep on top of all the slight differences that appear
> even between different models in the same family or different code
> versions for a particular one from the same vendor, let alone between
> all vendors and their constantly shifting names, and the maintainer of
> rancid can only directly test a few of them and relies on reports or
> patches. Oxidized has similar issues, if their repo is anything to go
> by; I found the remark "I removed the "terminal datadump" from the
> porwerconnect.rb as these models doesn't have the command" in there at
> least.
>
> A well-written script should catch when an invalid command is sent and
> just move on. It should also catch valid commands for which the
> current user doesn't have permissions neatly too.
>
> For debugging, I'd do something like:
>
> env NOPIPE=YES PATH=${PATH}:/usr/local/rancid/bin rancid -t smc -d
> devicename
>
> And you will get a .new and a .raw file that you can see a bit more
> about what's going on.
>
> Jethro.
>
> . . . . . . . . . . . . . . . . . . . . . . . .
> .
>
> Jethro R Binks, Network Manager,
>
> Information Services Directorate, University Of Strathclyde, Glasgow,
> UK
>
> The University of Strathclyde is a charitable body, registered in
> Scotland, number SC015263.
>
> -------------------------
>
> From: Andrew Weaver <aweaver at ee.net>
> Sent: 14 May 2026 6:27 PM
> To: Jethro Binks <jethro.binks at strath.ac.uk>
> Cc: rancid-discuss at www.shrubbery.net <rancid-discuss at www.shrubbery.net>
> Subject: Re: [rancid] Completely disable mail functionality in 3.14?
>
> We use many different types.
>
> The one I am trying to fix right now is "smc"
>
> it doesn't seem like it sends 'term length 0' before looking at the
> configuration so there ends up being spaces in the configuration file
> in weird places as it paginates so it counts the exact same
> "configuration file" as having a diff in it..
>
> It was this:
>
> smc;script;rancid -t smc
> smc;login;hlogin
> smc;timeout;90
> smc;module;smc
> smc;inloop;smc::inloop
> smc;command;rancid::RunCommand;terminal datadump
> smc;command;smc::ShowSys;show system
> smc;command;smc::ShowVer;show version
> smc;command;smc::Dir;dir
> smc;command;smc::ShowVlan;show vlan
> smc;command;smc::WriteTerm;show running-config
>
> I'm not sure what "terminal datadump" is supposed to do as that command
> doesn't exist on our dell switches.
>
> So we'll end up seeing things like this in the configs and the configs
> are "updated" every time RANCID goes out to check the configuration
> file and I cannot figure out why since the configurations almost never
> actually change.
>
> "!
> <return>
> interface vlan 1"
>
> So I tried changing it to:
>
> smc;script;rancid -t smc
> smc;login;hlogin
> smc;timeout;90
> smc;module;smc
> smc;inloop;smc::inloop
> smc;command;rancid::RunCommand;terminal length 0
> #smc;command;smc::ShowSys;show system
> #smc;command;smc::ShowVer;show version
> #smc;command;smc::Dir;dir
> #smc;command;smc::ShowVlan;show vlan
> smc;command;smc::WriteTerm;show running-config
>
> Is there any way to log what it's actually doing when it is running
> like as far as the commands and the responses? I'd like to get it to
> stop thinking that there is a configuration change every single time
> rancid-run is ran.
>
> thanks.
>
> On 2026-05-14 05:43, Jethro Binks wrote:
>
> What "devices" are you backing up? What rancid type are you using?
>
> Many of the rancid types have an exclusion for filenames that are known
> to be volatile and change and filter them out from processing, or else
> the time fields are filtered out.
>
> (eg in ios.pm:
>
> sub ShowFlash {
> ...
> # Drop these files entirely.
> /\s+(private-multiple-fs|multiple-fs|LISP-MapCache-IPv\S+|nv_hdr)$/ &&
> Next;
>
> )
>
> Jethro.
>
> . . . . . . . . . . . . . . . . . . . . . . . .
> .
>
> Jethro R Binks, Network Manager,
>
> Information Services Directorate, University Of Strathclyde, Glasgow,
> UK
>
> The University of Strathclyde is a charitable body, registered in
> Scotland, number SC015263.
>
> -------------------------
>
> From: Rancid-discuss <rancid-discuss-bounces at www.shrubbery.net> on
> behalf of Andrew Weaver <aweaver at ee.net>
> Sent: 13 May 2026 7:55 PM
> To: rancid-discuss at www.shrubbery.net <rancid-discuss at www.shrubbery.net>
> Subject: Re: [rancid] Completely disable mail functionality in 3.14?
>
> Hello,
>
> I apologize for replying to myself but it seems like the reason it's
> trying to send that many emails is because it thinks that this is a
> change and so it's creating a diff for things like this:
>
> 38,39c38,39
> < ! syslog1.sys r- 131072 -- 26-Apr-2016
> 15:15:24
> < ! syslog2.sys r- 131072 -- 26-Apr-2016
> 15:15:24
> ---
>> ! syslog1.sys r- 131072 -- 26-Apr-2016
>> 15:26:39
>> ! syslog2.sys r- 131072 -- 26-Apr-2016
>> 15:26:39
>
> We're solely using RANCID as a way to backup the configuration files on
> our devices.
>
> Is there any way to globally disable it checking the file dates on the
> syslog files on network devices?
>
> I noticed on other switches it appears to think that the wattage being
> used by the PSUs is a configuration change.
>
> Do I need to make a custom version of whatever commands it's running to
> exclude things that change constantly?
>
> On 2026-05-13 14:37, Andrew Weaver wrote:
>
> Hello,
>
> I noticed that the logs on our RANCID machine were growing quite large.
>
> I determined that it is because it's writing 10MB of this half of the
> time rancid-run runs:
>
> No configuration file found at /home/rancid/.esmtprc or /etc/esmtprc
> No configuration file found at /home/rancid/.esmtprc or /etc/esmtprc
> No configuration file found at /home/rancid/.esmtprc or /etc/esmtprc
> No configuration file found at /home/rancid/.esmtprc or /etc/esmtprc
> No configuration file found at /home/rancid/.esmtprc or /etc/esmtprc
> No configuration file found at /home/rancid/.esmtprc or /etc/esmtprc
>
> So then I created a blank .esmtprc file that caused it to start logging
> two lines for each thing that I don't want it doing in the first place.
> ;)
>
> File /home/rancid/.esmtprc must have no more than -rwx--x--- (0710)
> permissions.
> open: /home/rancid/.esmtprc: Success
>
> OK fine, I fixed that.
>
> How do I just disable every single thing to do with SMTP .esmtprc, etc?
>
> Thank you so much if anyone can assist me.
>
> _______________________________________________
> Rancid-discuss mailing list
> Rancid-discuss at www.shrubbery.net
> https://www.shrubbery.net/mailman/listinfo/rancid-discuss
>
> _______________________________________________
> Rancid-discuss mailing list
> Rancid-discuss at www.shrubbery.net
> https://www.shrubbery.net/mailman/listinfo/rancid-discuss
_______________________________________________
Rancid-discuss mailing list
Rancid-discuss at www.shrubbery.net
https://www.shrubbery.net/mailman/listinfo/rancid-discuss
_______________________________________________
Rancid-discuss mailing list
Rancid-discuss at www.shrubbery.net
https://www.shrubbery.net/mailman/listinfo/rancid-discuss
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.shrubbery.net/pipermail/rancid-discuss/attachments/20260515/28368a1b/attachment.htm>
More information about the Rancid-discuss
mailing list