aboutsummaryrefslogtreecommitdiffstats
path: root/clients
diff options
context:
space:
mode:
authorroot <root@einstein.tg15.gathering.org>2015-03-31 04:39:50 +0200
committerroot <root@einstein.tg15.gathering.org>2015-03-31 04:39:50 +0200
commite3d7c5cc86fedb458d9b091ca12245c01e7f285d (patch)
treee6e2dd92505d972e8a0d4e28160eb4657416dfcd /clients
parentaff65378ea1ae556dbccc9a2f97a97811c86c39d (diff)
Lots of TG15-changes (-:
Diffstat (limited to 'clients')
-rwxr-xr-xclients/ping.pl4
-rwxr-xr-xclients/portnames.pl2
-rwxr-xr-xclients/smanagrun.pl65
3 files changed, 39 insertions, 32 deletions
diff --git a/clients/ping.pl b/clients/ping.pl
index b41febd..3bbdd8a 100755
--- a/clients/ping.pl
+++ b/clients/ping.pl
@@ -36,6 +36,7 @@ while (1) {
$ping->host_add($secondary_ip);
$secondary_ip_to_switch{$secondary_ip} = $switch;
}
+ print "ip: $ip\n";
}
my $result = $ping->ping();
die $ping->get_error if (!defined($result));
@@ -61,7 +62,7 @@ while (1) {
$dbh->pg_putcopyend();
$dbh->commit;
-
+ if (0) {
# ping linknets
$ping = Net::Oping->new;
$ping->timeout(0.2);
@@ -86,6 +87,7 @@ while (1) {
$dbh->pg_putcopyend();
$dbh->commit;
+ }
sleep 1;
}
diff --git a/clients/portnames.pl b/clients/portnames.pl
index 2b29189..52e433a 100755
--- a/clients/portnames.pl
+++ b/clients/portnames.pl
@@ -2,7 +2,7 @@
my ($host,$switchtype,$community) = @ARGV;
-open SNMP, "snmpwalk -Os -c $community -v 2c $host ifDescr |"
+open SNMP, "snmpwalk -Os -c $community -v 2c $host -mALL ifDescr |"
or die "snmpwalk: $!";
print "begin;\n";
diff --git a/clients/smanagrun.pl b/clients/smanagrun.pl
index 0546901..9f8efab 100755
--- a/clients/smanagrun.pl
+++ b/clients/smanagrun.pl
@@ -90,38 +90,43 @@ while (1) {
}
mylog("Connecting to $switch->{sysname} on $switch->{addr}");
- my $conn = switch_connect($switch->{addr});
- if (!defined($conn)) {
- mylog("Could not connect to ".$switch->{sysname}."(".$switch->{addr}.")");
- $sdelay->execute("Could not connect to switch, delaying...", $switch->{sysname});
- $sunlock->execute($switch->{sysname});
- $dbh->commit();
- next;
- }
- my $error;
- $error = $sgetallpoll->execute($switch->{sysname});
- if (!$error) {
- print "Could not execute sgetallpoll\n".$dbh->errstr();
- $conn->close;
- next;
- }
- while (my $row = $sgetallpoll->fetchrow_hashref()) {
- print "sysname: ".$row->{sysname}." cmd: ".$row->{cmd}."\n";
- my @data;
- my @commands = split(/[\r\n\000]+/, $row->{cmd});
- for my $cmd (@commands) {
- next unless $cmd =~ /\S/; # ignorer linjer med kun whitespace
- push @data, "# $cmd";
- if ($cmd =~ s/^!//) {
- push @data, switch_exec($cmd, $conn, 1);
- } else {
- push @data, switch_exec($cmd, $conn);
+ eval {
+ #my $conn = switch_connect($switch->{addr});
+ my $telnet = switch_connect_ssh($switch->{addr});
+ my $conn = $telnet->{telnet};
+ if (!defined($conn)) {
+ mylog("Could not connect to ".$switch->{sysname}."(".$switch->{addr}.")");
+ $sdelay->execute("Could not connect to switch, delaying...", $switch->{sysname});
+ $sunlock->execute($switch->{sysname});
+ $dbh->commit();
+ next;
+ }
+ my $error;
+ $error = $sgetallpoll->execute($switch->{sysname});
+ if (!$error) {
+ print "Could not execute sgetallpoll\n".$dbh->errstr();
+ $conn->close;
+ next;
+ }
+ while (my $row = $sgetallpoll->fetchrow_hashref()) {
+ print "sysname: ".$row->{sysname}." cmd: ".$row->{cmd}."\n";
+ my @data;
+ my @commands = split(/[\r\n\000]+/, $row->{cmd});
+ for my $cmd (@commands) {
+ next unless $cmd =~ /\S/; # ignorer linjer med kun whitespace
+ push @data, "# $cmd";
+ if ($cmd =~ s/^!//) {
+ push @data, switch_exec($cmd, $conn, 1);
+ } else {
+ push @data, switch_exec($cmd, $conn);
+ }
}
+ my $result = join("\n", @data);
+ $sresult->execute($result, $row->{id});
}
- my $result = join("\n", @data);
- $sresult->execute($result, $row->{id});
+ $conn->close();
+ waitpid($telnet->{pid}, 0);
+ $sunlock->execute($switch->{sysname});
}
- $conn->close();
- $sunlock->execute($switch->{sysname});
}