[rancid] Fixed Ciena-ws Rancid 3.6.2
heasley
heas at shrubbery.net
Wed Jul 19 15:48:28 UTC 2017
Mon, Jun 19, 2017 at 12:14:37PM -0500, Tanner Lyle:
> Ciena Engineer provided the changes needed, prompts were not matching make
> following changes to your wavesvros.pm file in /usr/local/rancid/lib/rancid/
>
> [rancid at localhost rancid]$ pwd
> /usr/local/rancid/lib/rancid
>
> *wavesvros.pm <http://wavesvros.pm>*
>
> *Line 112*
> *change this line*
> while (/>\s*($cmds_regexp)\s*$/) {
> *to this *
> while (/[#]\s*($cmds_regexp)\s*$/) {
>
>
> *Line 115*
> *change this line*
> $prompt = ($_ =~ /^([^>]+>)/)[0];
> *to this*
> $prompt = ($_ =~ /^([^#]+#)/)[0];
These changes do not seem right to me. i understand that its working for
you, but i'm not sure that it will be reliable.
Also, of the 4 raw command output examples that i have, all of them have
the prompt ">", not "#". Can you tell me why it is different? keep in
mind that I havent much experience with these and we no longer have them.
If someone could extend remote access to me, I can feel more comfortable
accepting these changes. anyone?
>
> *Line 140*
> *change this line*
> if (/>\s*exit/) {
> *to this*
> if (/\s*exit/) {
>
>
> *Line 207 add *
> $found_end = 0;
>
> *from this*
>
> # This routine parses "configuration show"
> sub WriteTerm {
> my($INPUT, $OUTPUT, $cmd) = @_;
> my($snmp) = 0;
> print STDERR " In ShowConfiguration: $_" if ($debug);
>
> # include the command
>
> *to this*
>
> # This routine parses "configuration show"
> sub WriteTerm {
> my($INPUT, $OUTPUT, $cmd) = @_;
> my($snmp) = 0;
> $found_end = 0;
> print STDERR " In ShowConfiguration: $_" if ($debug);
>
> # include the command
>
> *Original line 212 now line 214*
>
> *from this *
>
> while (<$INPUT>) {
> tr/\015//d;
> last if (/^$prompt/);
> /no matching entry found/ && return(-1); # unknown cmd
>
> *to this*
>
> while (<$INPUT>) {
> tr/\015//d;
> return (0) if (/^$prompt/);
> /no matching entry found/ && return(-1); # unknown cmd
> return (0) if ($found_end == 1);
>
>
> *Change Line 265*
>
> *from this*
>
> if (/^! END OF CONFIG:/) {
>
> *to this*
>
> if (/! END OF CONFIG:/) {
>
>
>
> For those of you better at reading diffs than me
>
> [rancid at localhost rancid]$ diff wavesvros.pm wavesvros.pm.orig
>
> 112c112
> < while (/[#]\s*($cmds_regexp)\s*$/) {
> ---
> > while (/>\s*($cmds_regexp)\s*$/) {
> 115c115
> < $prompt = ($_ =~ /^([^#]+#)/)[0];
> ---
> > $prompt = ($_ =~ /^([^>]+>)/)[0];
> 140c140
> < if (/\s*exit/) {
> ---
> > if (/>\s*exit/) {
> 207d206
> < $found_end = 0;
> 215c214
> < return (0) if (/^$prompt/);
> ---
> > last if (/^$prompt/);
> 217d215
> < return (0) if ($found_end == 1);
> 265c263
> < if (/! END OF CONFIG:/) {
> ---
> > if (/^! END OF CONFIG:/) {
>
>
> ---------- Forwarded message ----------
> From: Tanner Lyle <tannerlyle at gmail.com>
> Date: Thu, Jun 8, 2017 at 7:29 AM
> Subject: Help ciena-ws Rancid 3.6.2
> To: rancid-discuss at shrubbery.net
>
>
> I cannot get a Ciena Waveserver (192.168.168.32 in the files) to complete,
> all commands run and login works but never makes it to the parse output or
> get a PROMPT MATCH: like it's trying to run the perl module against the
> device. Trying to gain some traction on this, out of ideas and know how to
> trouble shoot it. Any suggestions, i think the problem is still in hlogin
> or in the wavesvros.pm.
>
> [rancid at localhost logs]$ export NOPIPE=YES && rancid -d -t ciena-ws
> 192.168.168.32
> loadtype: device type ciena-ws
> loadtype: found device type ciena-ws in /usr/local/rancid/etc/rancid.t
> ypes.base
> executing hlogin -t 120 -c"software show;chassis show;configuration show"
> 192.168.168.32
> 192.168.168.32: missed cmd(s): all commands
> 192.168.168.32: End of run not found
> !
>
>
> I can get different devices to complete and run so i don't think it's a
> permissions or install issue
>
> [rancid at localhost logs]$ export NOPIPE=YES && rancid -d -t foundry 10.0.2.2
> loadtype: device type foundry
> loadtype: found device type foundry in /usr/local/rancid/etc/rancid.t
> ypes.base
> executing flogin -t 90 -c"show version;show chassis;show module;show
> media;show media validation;show flash;write term;show running-config"
> 10.0.2.2
> PROMPT MATCH: telnet at LAB_MLX16#
> HIT COMMAND:telnet at LAB_MLX16#show version
> In ShowVersion: telnet at LAB_MLX16#show version
> HIT COMMAND:telnet at LAB_MLX16#show chassis
> In ShowChassis: telnet at LAB_MLX16#show chassis
> HIT COMMAND:telnet at LAB_MLX16#show module
> In ShowModule: telnet at LAB_MLX16#show module
> HIT COMMAND:telnet at LAB_MLX16#show media
> In ShowMedia: telnet at LAB_MLX16#show media
> HIT COMMAND:telnet at LAB_MLX16#show media validation
> In ShowMedia: telnet at LAB_MLX16#show media validation
> HIT COMMAND:telnet at LAB_MLX16#show flash
> In ShowFlash: telnet at LAB_MLX16#show flash
> HIT COMMAND:telnet at LAB_MLX16#write term
> In WriteTerm: telnet at LAB_MLX16#write term
> HIT COMMAND:telnet at LAB_MLX16#show running-config
> In WriteTerm: telnet at LAB_MLX16#show running-config
> _______________________________________________
> Rancid-discuss mailing list
> Rancid-discuss at shrubbery.net
> http://www.shrubbery.net/mailman/listinfo/rancid-discuss
More information about the Rancid-discuss
mailing list