<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Nov 21, 2016 at 4:33 PM, heasley <span dir="ltr"><<a href="mailto:heas@shrubbery.net" target="_blank">heas@shrubbery.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Mon, Nov 21, 2016 at 10:26:25AM +0100, Marcin Dulak:<br>
<span class="gmail-">> naively I do:<br>
> cp usr/share/perl5/vendor_perl/<wbr>rancid/<a href="http://edgemax.pm" rel="noreferrer" target="_blank">edgemax.pm</a><br>
> usr/share/perl5/vendor_perl/<wbr>rancid/<a href="http://supermicro.pm" rel="noreferrer" target="_blank">supermicro.pm</a><br>
> change "package supermicro;" on the top and add a print STDERR ("I'm<br>
> here"); to ShowVersion,<br>
> but "I'm here" does no appear in the output of:<br>
<br>
</span>you havent a module line in the device config below, so the module is not<br>
loaded.<br>
<div class="gmail-HOEnZb"><div class="gmail-h5"><br></div></div></blockquote><div><br></div><div>thanks, this was missing. It was also important to specify the module to be used with "supermicro;script;rancid -t supermicro".</div><div>Based on rancid-3.5.1, I managed to get the basic information out of the switch with the following changes:<br><br>$ cat etc/rancid/rancid.types.conf <br>supermicro;script;rancid -t supermicro<br>supermicro;login;smlogin<br>supermicro;inloop;supermicro::inloop<br>supermicro;module;supermicro<br>supermicro;command;supermicro::ShowVersion;show version<br>supermicro;command;supermicro::WriteTerm;show running-config<br><br>$ cd usr/share/perl5/vendor_perl/rancid/<br>$ cp <a href="http://edgemax.pm">edgemax.pm</a> <a href="http://supermicro.pm">supermicro.pm</a><br>$ cd -<br>$ patch -p0 < ../module.patch<br><br>$ cd usr/libexec/rancid/<br>$ cp blogin smlogin<br>$ patch -p0 < ../login.patch<br><br></div><div>with the patches:<br><br>--- usr/share/perl5/vendor_perl/rancid/supermicro.pm.orig       2016-11-22 10:03:53.393367703 +0100<br>+++ usr/share/perl5/vendor_perl/rancid/<a href="http://supermicro.pm">supermicro.pm</a>    2016-11-22 10:32:52.577324682 +0100<br>@@ -1,6 +1,6 @@<br>-package edgemax;<br>+package supermicro;<br> ##<br>-## $Id: <a href="http://edgemax.pm.in">edgemax.pm.in</a> 3376 2016-04-06 17:52:30Z heas $<br>+## $Id: <a href="http://supermicro.pm.in">supermicro.pm.in</a> 3376 2016-04-06 17:52:30Z heas $<br> ##<br> ## rancid 3.5.1<br> ## Copyright (c) 1997-2016 by Terrapin Communications, Inc.<br>@@ -54,7 +54,7 @@<br> #<br> #  RANCID - Really Awesome New Cisco confIg Differ<br> #<br>-#  <a href="http://edgemax.pm">edgemax.pm</a> - Ubiquity ("UBNT") EdgeMAX switch rancid procedures<br>+#  <a href="http://supermicro.pm">supermicro.pm</a> - Supermicro switch rancid procedures<br> <br> use 5.010;<br> use strict 'vars';<br>@@ -120,7 +120,7 @@<br>                last TOP;<br>            }<br>        }<br>-       if (/\#exit$/) {<br>+       if (/\# logout$/) {<br>            $clean_run = 1;<br>            last;<br>        }<br>@@ -337,7 +337,7 @@<br> <br>        ProcessHistory("","","","$_");<br>        # end of config<br>-       if (/^end$/) {<br>+       if (/\# logout$/) {<br>            $found_end = 1;<br>            return(1);<br>        }<br><br>--- usr/libexec/rancid/smlogin.orig     2016-11-22 10:03:43.265367954 +0100<br>+++ usr/libexec/rancid/smlogin  2016-11-22 10:30:54.329327607 +0100<br>@@ -1,6 +1,6 @@<br>-#! /bin/expect --<br>+#! /usr/bin/expect --<br> ##<br>-## $Id: <a href="http://blogin.in">blogin.in</a> 3445 2016-08-10 17:15:38Z heas $<br>+## $Id: <a href="http://smlogin.in">smlogin.in</a> 3445 2016-08-10 17:15:38Z heas $<br> ##<br> ## rancid 3.5.1<br> ## Copyright (c) 1997-2016 by Terrapin Communications, Inc.<br>@@ -52,7 +52,7 @@<br> #  The original looking glass software was written by Ed Kern, provided by<br> #  permission and modified beyond recognition.<br> #<br>-# blogin - Bay Networks(Nortel) login<br>+# smlogin - Supermicro login<br> #<br> # Unlike the Cisco's, there is no enable function on the Bay's.  Instead<br> # there are seperate User and Manager accounts.  A 'system' command exists,<br>@@ -498,7 +498,7 @@<br>     global in_proc<br>     set in_proc 1<br> <br>-    send "more off\r"<br>+    send "no cli pagination\r"<br> <br>     expect $prompt {}<br><br></div><div>Cleaning usr/libexec/rancid/smlogin, usr/share/perl5/vendor_perl/rancid/<a href="http://supermicro.pm">supermicro.pm</a> and making them fully functional for Supermicro would be a large task.<br></div><div>It would be nicer to have minimal templates to start with, and build the functionality gradually.<br> </div><div><br></div><div>Marcin<br><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="gmail-HOEnZb"><div class="gmail-h5">
> $ rancid -d -t supermicro supermicro-switch<br>
><br>
> This goes back to my question: what gets executed when I replace<br>
> "supermicro::" with "dummy::" in<br>
><br>
> $ cat ./etc/rancid/rancid.types.conf<br>
> supermicro;script;rancid<br>
> supermicro;login;smlogin<br>
> supermicro;inloop;supermicro::<wbr>inloop<br>
> supermicro;command;supermicro:<wbr>:ShowVersion;show version<br>
</div></div></blockquote></div><br></div></div>