I had some time today and added a routine into my rancid config to gather my Cisco GSS&#39;s running config and gslb config. Here is how you add it:<div><br></div><div>Edit file: rancid-fe</div><div><br></div><div>In the %vendortable section near the top of the file add the following:</div>
<div><br></div><div>    &#39;gss&#39;               =&gt; &#39;gssrancid&#39;,</div><div><br></div><div>Here is some context to help you:</div><div><br></div><div><div>    &#39;foundry&#39;           =&gt; &#39;francid&#39;,</div>
<div>    &#39;gss&#39;               =&gt; &#39;gssrancid&#39;,</div><div>    &#39;hitachi&#39;           =&gt; &#39;htrancid&#39;,</div></div><div><br></div><div>In the same directory as your rancid-fe file, you have a file called &quot;rancid&quot;. Copy this file to a new file named gssrancid.</div>
<div><br></div><div>Edit file: gssrancid</div><div><br></div><div>Add the follwing code:</div><div><br></div><div><div># This routine parses &quot;show gslb-config&quot;</div><div>sub ShowGslbConfig {</div><div>    print STDERR &quot;    In ShowGslbConfig: $_&quot; if ($debug);</div>
<div>    ProcessHistory(&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;!Begin GSLB Config\n!\n&quot;);</div><div>    while (&lt;INPUT&gt;) {</div><div>        tr/\015//d;</div><div>        last if (/^$prompt/);</div><div>        next if (/^(\s*|\s*$cmd\s*)$/);</div>
<div>        return(1) if /^\s*\^\s*$/;</div><div>        return(1) if /Line has invalid autocommand /;</div><div>        return(1) if /(Invalid input detected|Type help or )/;</div><div>        return(-1) if (/command authorization failed/i);</div>
<div>        # the pager can not be disabled per-session on the PIX</div><div>        if (/^(&lt;-+ More -+&gt;)/) {</div><div>            my($len) = length($1);</div><div>            s/^$1\s{$len}//;</div><div>        }</div>
<div><br></div><div>        ProcessHistory(&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;$_&quot;);</div><div>    }</div><div>    ProcessHistory(&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;\n!\n!End GSLB Config\n!\n&quot;);</div>
<div>    return(0);</div><div>}</div></div><div><br></div><div>I added the above section right above this line:</div><div><br></div><div><div># This routine processes a &quot;write term&quot;</div><div>sub WriteTerm {</div>
</div><div><br></div><div><br></div><div>Lastly, in the commandtable section add the following line:</div><div><br></div><div>        {&#39;show gslb-config&#39;             =&gt; &#39;ShowGslbConfig&#39;},</div><div><br>
</div><div>Again here is some context to guide you:</div><div><br></div><div><div>#       {&#39;show debug&#39;                   =&gt; &#39;ShowDebug&#39;},</div><div>        {&#39;show gslb-config&#39;             =&gt; &#39;ShowGslbConfig&#39;},</div>
<div>        {&#39;show running-config&#39;          =&gt; &#39;WriteTerm&#39;},</div></div><div><br></div><div>Optionally, you can rem out the `show debug` as it does not work at all on the GSS and it makes your rancid config look ugly.</div>
<div><br></div><div>Here is a diff of my gssrancid vs rancid:</div><div><br></div><div>~/bin$ diff gssrancid rancid</div><div><div>1525,1548d1524</div><div>&lt; # This routine parses &quot;show gslb-config&quot;</div><div>
&lt; sub ShowGslbConfig {</div><div>&lt;     print STDERR &quot;    In ShowGslbConfig: $_&quot; if ($debug);</div><div>&lt;     ProcessHistory(&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;!Begin GSLB Config\n!\n&quot;);</div>
<div>&lt;     while (&lt;INPUT&gt;) {</div><div>&lt;         tr/\015//d;</div><div>&lt;         last if (/^$prompt/);</div><div>&lt;         next if (/^(\s*|\s*$cmd\s*)$/);</div><div>&lt;         return(1) if /^\s*\^\s*$/;</div>
<div>&lt;         return(1) if /Line has invalid autocommand /;</div><div>&lt;         return(1) if /(Invalid input detected|Type help or )/;</div><div>&lt;         return(-1) if (/command authorization failed/i);</div><div>
&lt;         # the pager can not be disabled per-session on the PIX</div><div>&lt;         if (/^(&lt;-+ More -+&gt;)/) {</div><div>&lt;             my($len) = length($1);</div><div>&lt;             s/^$1\s{$len}//;</div>
<div>&lt;         }</div><div>&lt; </div><div>&lt;       ProcessHistory(&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;$_&quot;);</div><div>&lt;     }</div><div>&lt;     ProcessHistory(&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;\n!\n!End GSLB Config\n!\n&quot;);</div>
<div>&lt;     return(0);</div><div>&lt; }</div><div>&lt; </div><div>1946,1947c1922,1923</div><div>&lt; #     {&#39;show debug&#39;                   =&gt; &#39;ShowDebug&#39;},</div><div>&lt;         {&#39;show gslb-config&#39;             =&gt; &#39;ShowGslbConfig&#39;},</div>
<div>---</div><div>&gt;       {&#39;show debug&#39;                   =&gt; &#39;ShowDebug&#39;},</div><div>&gt;       {&#39;more system:running-config&#39;   =&gt; &#39;WriteTerm&#39;},        # ASA/PIX</div></div><div><br>
</div><div><br></div><div>Enjoy,</div><div>Chris</div>