<div dir="ltr">Ciena Engineer provided the changes needed, prompts were not matching make following changes to your <a href="http://wavesvros.pm">wavesvros.pm</a> file in /usr/local/rancid/lib/rancid/<div><br></div><div><div>[rancid@localhost rancid]$ pwd</div><div>/usr/local/rancid/lib/rancid</div><div><br></div><div><font size="4"><b><a href="http://wavesvros.pm">wavesvros.pm</a></b></font></div><div><br></div><div><div><font size="4"><b>Line 112</b></font></div><div><b>change this line</b><br></div><div>       while (/>\s*($cmds_regexp)\s*$/) {<br></div><div><b>to this </b></div><div>       while (/[#]\s*($cmds_regexp)\s*$/) {</div><div><br></div><div><br></div><div><font size="4"><b>Line 115</b></font></div><div><b>change this line</b></div><div>               $prompt = ($_ =~ /^([^>]+>)/)[0];<br></div><div><b>to this</b></div><div>               $prompt = ($_ =~ /^([^#]+#)/)[0];<br></div><div><br></div><div><br></div><div><font size="4"><b>Line 140</b></font></div><div><b>change this line</b><br></div><div>       if (/>\s*exit/) {<br></div><div><b>to this</b></div><div>       if (/\s*exit/) {</div><div><br></div></div><div><br></div><div><font size="4"><b>Line 207 add </b></font></div><div>        $found_end = 0;<br></div><div><br></div><div><b>from this</b></div><div><br></div><div><div># This routine parses "configuration show"</div><div>sub WriteTerm {       </div><div>    my($INPUT, $OUTPUT, $cmd) = @_;</div><div>    my($snmp) = 0;           </div><div>    print STDERR "    In ShowConfiguration: $_" if ($debug);         </div><div><br></div><div>    # include the command</div></div><div><br></div><div><b>to this</b></div><div><br></div><div><div># This routine parses "configuration show"</div><div>sub WriteTerm {</div><div>    my($INPUT, $OUTPUT, $cmd) = @_;</div><div>    my($snmp) = 0;</div><div>        $found_end = 0;</div><div>    print STDERR "    In ShowConfiguration: $_" if ($debug);</div><div><br></div><div>    # include the command</div></div><div><font size="4"><br></font></div><div><div><font size="4"><b>Original line 212 now line 214</b></font></div><div><b><br></b></div><div><div><b>from this </b></div><div><br></div><div>    while (<$INPUT>) {              </div><div>        tr/\015//d;</div><div>        last if (/^$prompt/);                    </div><div>        /no matching entry found/ && return(-1);        # unknown cmd</div></div><div><br></div><div><b>to this</b></div><div><br></div><div><div><div>    while (<$INPUT>) {</div><div>        tr/\015//d;</div><div>                return (0) if (/^$prompt/);</div><div>        /no matching entry found/ && return(-1);        # unknown cmd</div><div>            return (0) if ($found_end == 1);</div></div></div><div><br></div><div><br></div><div><font size="4"><b>Change Line 265</b></font></div><div><b><br></b></div><div><b>from this</b></div><div><br></div><div>       if (/^! END OF CONFIG:/) {<br></div><div><br></div><div><b>to this</b></div><div><br></div><div>        if (/! END OF CONFIG:/) {<br></div><div><br></div><div><br></div></div><div><br></div><div>For those of you better at reading diffs than me </div><div><br></div><div>[rancid@localhost rancid]$ diff <a href="http://wavesvros.pm">wavesvros.pm</a> wavesvros.pm.orig<br></div><div><br></div><div><div>112c112</div><div><       while (/[#]\s*($cmds_regexp)\s*$/) {</div><div>---</div><div>>       while (/>\s*($cmds_regexp)\s*$/) {</div><div>115c115</div><div><               $prompt = ($_ =~ /^([^#]+#)/)[0];</div><div>---</div><div>>               $prompt = ($_ =~ /^([^>]+>)/)[0];</div><div>140c140</div><div><       if (/\s*exit/) {</div><div>---</div><div>>       if (/>\s*exit/) {</div><div>207d206</div><div><       $found_end = 0;</div><div>215c214</div><div><               return (0) if (/^$prompt/);</div><div>---</div><div>>       last if (/^$prompt/);</div><div>217d215</div><div><           return (0) if ($found_end == 1);</div><div>265c263</div><div><         if (/! END OF CONFIG:/) {</div><div>---</div><div>>       if (/^! END OF CONFIG:/) {</div></div><div><br></div><div><br></div><div><div class="gmail_quote">---------- Forwarded message ----------<br>From: <b class="gmail_sendername">Tanner Lyle</b> <span dir="ltr"><<a href="mailto:tannerlyle@gmail.com">tannerlyle@gmail.com</a>></span><br>Date: Thu, Jun 8, 2017 at 7:29 AM<br>Subject: Help ciena-ws Rancid 3.6.2<br>To: <a href="mailto:rancid-discuss@shrubbery.net">rancid-discuss@shrubbery.net</a><br><br><br><div dir="ltr"><div><font color="#0000ff"><span style="background-color:rgb(255,255,255)">I cannot get a Ciena Wav</span>eserver (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 <a href="http://wavesvros.pm" target="_blank">wavesvros.pm</a>.</font></div><div> </div><div>[rancid@localhost logs]$ export NOPIPE=YES && rancid -d -t ciena-ws 192.168.168.32</div><div>loadtype: device type ciena-ws</div><div>loadtype: found device type ciena-ws in /usr/local/rancid/etc/rancid.<wbr>types.base</div><div>executing hlogin -t 120 -c"software show;chassis show;configuration show" 192.168.168.32</div><div><a href="http://192.168.168.32" target="_blank">192.168.168.32</a>: missed cmd(s): all commands</div><div><a href="http://192.168.168.32" target="_blank">192.168.168.32</a>: End of run not found</div><div>!</div><div><br></div><div><br></div><div><font color="#0000ff">I can get different devices to complete and run so i don't think it's a permissions or install issue</font></div><div><br></div><div><div>[rancid@localhost logs]$ export NOPIPE=YES && rancid -d -t foundry 10.0.2.2</div><div>loadtype: device type foundry</div><div>loadtype: found device type foundry in /usr/local/rancid/etc/rancid.<wbr>types.base</div><div>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</div><div>PROMPT MATCH: telnet@LAB_MLX16#</div><div>HIT COMMAND:telnet@LAB_MLX16#show version</div><div>    In ShowVersion: telnet@LAB_MLX16#show version</div><div>HIT COMMAND:telnet@LAB_MLX16#show chassis</div><div>    In ShowChassis: telnet@LAB_MLX16#show chassis</div><div>HIT COMMAND:telnet@LAB_MLX16#show module</div><div>    In ShowModule: telnet@LAB_MLX16#show module</div><div>HIT COMMAND:telnet@LAB_MLX16#show media</div><div>    In ShowMedia: telnet@LAB_MLX16#show media</div><div>HIT COMMAND:telnet@LAB_MLX16#show media validation</div><div>    In ShowMedia: telnet@LAB_MLX16#show media validation</div><div>HIT COMMAND:telnet@LAB_MLX16#show flash</div><div>    In ShowFlash: telnet@LAB_MLX16#show flash</div><div>HIT COMMAND:telnet@LAB_MLX16#write term</div><div>    In WriteTerm: telnet@LAB_MLX16#write term</div><div>HIT COMMAND:telnet@LAB_MLX16#show running-config</div><div>    In WriteTerm: telnet@LAB_MLX16#show running-config</div></div></div>
</div><br></div></div></div>