Discussion:
[rancid] Rancid 3.0 and Dell Switches
Gerhard Mourani
2014-04-24 19:37:23 UTC
Permalink
Hello,

I've upgraded to Rancid 3.0 and would like to know which name to use for
Dell PowerConnect 34xx and 64xx series inside router.db?

Presently I'm using this in router.db:
192.168.x.1xx;dell;up
192.168.x.2xx;dell;up

and can see these errors in the log files:

Trying to get all of the configs.
loadtype: loading dell failed: Global symbol "$proc" requires explicit
package name at /usr/lib64/rancid/dell.pm line 82.
Global symbol "$found_version" requires explicit package name at
/usr/lib64/rancid/dell.pm line 83.
Compilation failed in require at /usr/lib64/rancid/rancid.pm line 222.

Thanks,
heasley
2014-04-25 07:13:27 UTC
Permalink
Post by Gerhard Mourani
Hello,
I've upgraded to Rancid 3.0 and would like to know which name to use for
Dell PowerConnect 34xx and 64xx series inside router.db?
'dell' might do it; YMMV, the script was contributed and purported to be
working with:
# DES-3010F
# DES-3052P
# DES-3526
# DES-3550
Post by Gerhard Mourani
192.168.x.1xx;dell;up
192.168.x.2xx;dell;up
Trying to get all of the configs.
loadtype: loading dell failed: Global symbol "$proc" requires explicit
package name at /usr/lib64/rancid/dell.pm line 82.
Global symbol "$found_version" requires explicit package name at
/usr/lib64/rancid/dell.pm line 83.
Compilation failed in require at /usr/lib64/rancid/rancid.pm line 222.
Index: dell.pm.in
===================================================================
--- dell.pm.in (revision 2818)
+++ dell.pm.in (working copy)
@@ -69,6 +69,9 @@
#XXX use rancid @VERSION@;
use rancid;

+our $proc;
+our $found_version;
+
# load-time initialization
sub import {
$timeo = 300; # dllogin timeout in seconds (some of these
Gerhard Mourani
2014-04-25 12:30:58 UTC
Permalink
After patching dell.pm I get this error in the log file, not the same as
before but doesn't work:

Trying to get all of the configs.
Useless use of a variable in void context at (eval 3) line 1.
failed:
=====================================
Getting missed routers: round 1.
Useless use of a variable in void context at (eval 3) line 1.
Post by heasley
Post by Gerhard Mourani
Hello,
I've upgraded to Rancid 3.0 and would like to know which name to use for
Dell PowerConnect 34xx and 64xx series inside router.db?
'dell' might do it; YMMV, the script was contributed and purported to be
# DES-3010F
# DES-3052P
# DES-3526
# DES-3550
Post by Gerhard Mourani
192.168.x.1xx;dell;up
192.168.x.2xx;dell;up
Trying to get all of the configs.
loadtype: loading dell failed: Global symbol "$proc" requires explicit
package name at /usr/lib64/rancid/dell.pm line 82.
Global symbol "$found_version" requires explicit package name at
/usr/lib64/rancid/dell.pm line 83.
Compilation failed in require at /usr/lib64/rancid/rancid.pm line 222.
Index: dell.pm.in
===================================================================
--- dell.pm.in (revision 2818)
+++ dell.pm.in (working copy)
@@ -69,6 +69,9 @@
use rancid;
+our $proc;
+our $found_version;
+
# load-time initialization
sub import {
$timeo = 300; # dllogin timeout in seconds (some of these
Gerhard Mourani
2014-04-25 17:37:30 UTC
Permalink
Just to let you know that if using smc as type of device instead of dell,
it is working for the DELL PowerConnect 62xx series but partially work for
the DELL 34xx series. I mean partially for the 34xx series because it is
able to connect and retrieve the configuration but partially, not the full
configuration! The end of the configuration is missing!
Post by Gerhard Mourani
After patching dell.pm I get this error in the log file, not the same as
Trying to get all of the configs.
Useless use of a variable in void context at (eval 3) line 1.
=====================================
Getting missed routers: round 1.
Useless use of a variable in void context at (eval 3) line 1.
Post by heasley
Post by Gerhard Mourani
Hello,
I've upgraded to Rancid 3.0 and would like to know which name to use for
Dell PowerConnect 34xx and 64xx series inside router.db?
'dell' might do it; YMMV, the script was contributed and purported to be
# DES-3010F
# DES-3052P
# DES-3526
# DES-3550
Post by Gerhard Mourani
192.168.x.1xx;dell;up
192.168.x.2xx;dell;up
Trying to get all of the configs.
loadtype: loading dell failed: Global symbol "$proc" requires explicit
package name at /usr/lib64/rancid/dell.pm line 82.
Global symbol "$found_version" requires explicit package name at
/usr/lib64/rancid/dell.pm line 83.
Compilation failed in require at /usr/lib64/rancid/rancid.pm line 222.
Index: dell.pm.in
===================================================================
--- dell.pm.in (revision 2818)
+++ dell.pm.in (working copy)
@@ -69,6 +69,9 @@
use rancid;
+our $proc;
+our $found_version;
+
# load-time initialization
sub import {
$timeo = 300; # dllogin timeout in seconds (some of these
heasley
2014-04-25 18:52:16 UTC
Permalink
Post by Gerhard Mourani
After patching dell.pm I get this error in the log file, not the same as
Trying to get all of the configs.
Useless use of a variable in void context at (eval 3) line 1.
oops; I need to improve that error msg.

Index: lib/dell.pm.in
===================================================================
--- lib/dell.pm.in (revision 2819)
+++ lib/dell.pm.in (working copy)
@@ -1,4 +1,4 @@
-#! /usr/bin/perl
+package dell;
##
## $Id: dlrancid.in 2258 2010-10-11 20:49:05Z heas $
##
@@ -72,6 +72,9 @@
our $proc;
our $found_version;

+@ISA = qw(Exporter rancid main);
+#XXX @Exporter::EXPORT = qw($VERSION @commandtable %commands @commands);
+
# load-time initialization
sub import {
$timeo = 300; # dllogin timeout in seconds (some of these
@@ -134,7 +137,6 @@
# This routine parses "get system"
sub GetSystem {
my($INPUT, $OUTPUT, $cmd) = @_;
- my($priv_key);
print STDERR " In GetSystem: $_" if ($debug);

while (<$INPUT>) {
Index: etc/rancid.types.base
===================================================================
--- etc/rancid.types.base (revision 2816)
+++ etc/rancid.types.base (working copy)
@@ -183,6 +183,7 @@
dell;script;rancid
dell;login;dllogin
dell;module;dell
+dell;inloop;dell::inloop
dell;command;dell::GetSystem;show switch;
dell;command;dell::GetConf;show config current_config
#
heasley
2014-04-25 19:01:13 UTC
Permalink
Post by heasley
Post by Gerhard Mourani
After patching dell.pm I get this error in the log file, not the same as
Trying to get all of the configs.
Useless use of a variable in void context at (eval 3) line 1.
oops; I need to improve that error msg.
like so:

Index: bin/rancid.in
===================================================================
--- bin/rancid.in (revision 2816)
+++ bin/rancid.in (working copy)
@@ -117,6 +117,9 @@
}

# loop over the input using the provided input/main loop
+if (!defined($inloop) || length($inloop) < 1) {
+ die "inloop is not configured for device type $devtype";
+}
eval($inloop ."(*INPUT, *OUTPUT);") && die "${inloop} failed: $@\n";

print STDOUT "Done $lscript: $_\n" if ($log);

Loading...