[rancid] IBM BNT Layer 2/3 Copper Gigabit Ethernet Switch no config collected

Alexander R aleromex at gmail.com
Tue Jun 6 12:57:59 UTC 2017


Thank you!

Now it's working

If some has a same issue:

# diff ios.pm.orig-3.6.2 ios.pm
140c140,143
<       if (/[>#]\s?exit$/) {
---
>           # note: this match sucks rocks, but currently the extreme bits
are
>           # unreliable about echoing the 'exit\n' command.  this match
might
>           # really be a bad idea, but instead rely upon WriteTerm's
found_end?
>       if (/($prompt\s?(quit|exit)|Connection( to \S+)? closed)/ &&
$found_end) {
150c153
<       while (/[>#]\s*($cmds_regexp)\s*$/) {
---
>       while (/$prompt\s*($cmds_regexp)\s*$/) {
153,154c156,159
<               $prompt = ($_ =~ /^([^#>]+[#>])/)[0];
<               $prompt =~ s/([][}{)(+\\])/\\$1/g;
---
>               $prompt = ($_ =~ /^([^#]+#)/)[0];
>               $prompt =~ s/([][}{)(\\])/\\$1/g;
>               $prompt =~ s/[:.](\d+ ?)#/[:.]\\d+ ?#/;
>               $prompt =~ s/\*/\\\*/;

On Tue, Jun 6, 2017 at 7:06 AM, heasley <heas at shrubbery.net> wrote:

> Mon, Jun 05, 2017 at 06:01:58PM +0300, Alexander R:
> > On Fri, Dec 16, 2016 at 8:44 PM, heasley <heas at shrubbery.net> wrote:
> >
> > > Tue, Dec 13, 2016 at 10:30:08AM +0300, Alexander R:
> > > > On Tue, Dec 13, 2016 at 12:19 AM, heasley <heas at shrubbery.net>
> wrote:
> > > >
> > > > > Mon, Dec 12, 2016 at 12:01:24PM +0300, Alexander R:
> > > > > > my configuration:
> > > > > > centos 7 x86_64
> > > > > > i've issue in rancid 3.5.1 and 3.6.0
> > > > >
> > > > > thank you for including this.
> > > > >
> > > > > > i've issue to collect configs from switch modules "BNT Layer 2/3
> > > Copper
> > > > > > Gigabit Ethernet Switch Module for IBM BladeCenter (5.2.8 (FLASH
> > > > > image1))",
> > > > > > it has IP 192.168.1.11
> > > > > >
> > > > > > It's cisco-like CLI, so i've created my own "ibm" type in
> > > > > rancid.types.conf:
> > > > > >
> > > > > > # cat /etc/rancid/rancid.types.conf
> > > > > > ibm;script;rancid -t ibm
> > > > > > ibm;login;clogin
> > > > > > ibm;module;ios
> > > > > > ibm;inloop;ios::inloop
> > > > > > ibm;command;ios::WriteTerm;show running-config
> > > > > >
> > > > > > It's working fine with other switch module  "IBM Networking OS
> > > Virtual
> > > > > > Fabric 10Gb Switch Module for IBM BladeCenter (7.8.3 (FLASH
> > > image1))" and
> > > > > > it have IP 192.168.1.12, but not with "BNT Layer 2/3 Copper
> Gigabit
> > > > > > Ethernet Switch Module for IBM BladeCenter (5.2.8 (FLASH
> image1))"
> > > > > >
> > > > > > Fail device:
> > > > > > # rancid -t ibm -d 192.168.1.11
> > > > > > loadtype: device type ibm
> > > > > > loadtype: found device type ibm in /etc/rancid/rancid.types.conf
> > > > > > executing clogin -t 90 -c"show running-config" 192.168.1.11
> > > > > > PROMPT MATCH: sw11#
> > > > > > HIT COMMAND:sw11#show running-config
> > > > > >     In WriteTerm: sw11#show running-config
> > > > > > 192.168.1.11: End of run not found
> > > > > > end
> > > > > >
> > > > > > In 192.168.1.11.raw i see config issued by "show run..."
> > > > > >
> > > > > > Ok device:
> > > > > > # rancid -t ibm -d 192.168.1.12
> > > > > > loadtype: device type ibm
> > > > > > loadtype: found device type ibm in /etc/rancid/rancid.types.conf
> > > > > > executing clogin -t 90 -c"show running-config" 192.168.1.12
> > > > > > PROMPT MATCH: sw12#
> > > > > > HIT COMMAND:sw12#show running-config
> > > > > >     In WriteTerm: sw12#show running-config
> > > > > > 192.168.1.12: End of run not found
> > > > > > end
> > > > > >
> > > > > > ps. 192.168.1.11 has NO words "exit" in config, because interface
> > > isn't
> > > > > > configured (such a configuration plan).
> > > > > > 192.168.1.12 has words "exit", because interfaces is configured.
> > > > > >
> > > > > > Could you help me?
> > > > >
> > > > > ios::WriteTerM() will expect to find and "end" marker in the
> config,
> > > > > without
> > > > > which it will not set $found_end.  if this device does not have
> this
> > > marker
> > > > > or something similar that a customer version of ios::WriteTerm
> could
> > > use,
> > > > > you can use a custom version of ios::WriteTerm that just counts
> lines,
> > > > > which
> > > > > ios::WriteTerm already does if the input is an ASA (or a few
> others),
> > > which
> > > > > lack an end marker.
> > > > >
> > > >
> > > > Hi,
> > > > thank you for responce.
> > > >
> > > > It's my configs
> > > >
> > > > Ok device:
> > > > rancid]# tail -n5 192.168.1.12.raw
> > > > ntp secondary-server 192.168.1.1
> > > > !
> > > > end
> > > >
> > > > sw12#exitReceived disconnect from 192.168.1.12: 11: Logged out.
> > > > rancid]#
> > > >
> > > > Fail device:
> > > > rancid]# tail -n5 192.168.1.11.raw
> > > > ntp secondary-server 192.168.1.1
> > > > !
> > > > end
> > > >
> > > > sw11#exitReceived disconnect from 192.168.1.11: 11: Logged out.
> > >           ^^ this is likely the problem; the lousy thing didnt echo the
> > > CR.  inloop() expects the CR and set $clean_run.  you'll have to adjust
> > > the match; the lousy exos does this too.
> > >
> >
> > I'm sorry, but how to do this "you'll have to adjust the match"?
>
> there is a match in inloop() for the exit/logout/whatever from the cli.
> it expects the device to act normally and this one does not, as mentioned.
> see the same match in exos.pm; something similar to that ought to work.
>
> >
> > >
> > > > rancid]#
> > > >
> > > > So, both switches have "end" word at the end of file. Any ideas? I
> don't
> > > > know why it's not worked on same "text" files
> > > >
> > > >
> > > > > the purpose of this is that some devices behave poorly in low
> memory
> > > > > conditions, eg: memory leaks.  some appear to succeed to produce a
> > > config,
> > > > > but output nothing.  requiring the marker prevents rancid from
> dropping
> > > > > the config from the repo.
> > > > >
> > >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.shrubbery.net/pipermail/rancid-discuss/attachments/20170606/9e31fce7/attachment.html>


More information about the Rancid-discuss mailing list