]> git.sesse.net Git - nms/commitdiff
Merge.
authorroot <root@space>
Tue, 3 Apr 2007 17:13:21 +0000 (19:13 +0200)
committerroot <root@space>
Tue, 3 Apr 2007 17:13:21 +0000 (19:13 +0200)
clients/ciscong.pl
clients/dhcptail.pl
clients/zyxelng.pl
include/config.pm
make-all-config.sh
web/bg07.png
web/make-switches.pl

index 277dfcf13dc7ebc712983633ac614ddb259705d0..1a9c6182ab73bf52366472d4ca866ca25a42d4a6 100644 (file)
@@ -12,10 +12,10 @@ use Net::Ping;
 
 use Data::Dumper;
 
-my $patchlist = "/root/patchlist.txt";
-my $switches = "/root/switches.txt";
-#my $patchlist = "/home/eirikn/patchlist.txt.eirik";
-#my $switches = "/home/eirikn/switches.txt.eirik";
+#my $patchlist = "/root/patchlist.txt";
+#my $switches = "/root/switches.txt";
+my $patchlist = "/home/eirikn/patchlist.txt.eirik";
+my $switches = "/home/eirikn/switches.txt.eirik";
 
 BEGIN {
        require "../include/config.pm";
@@ -62,7 +62,7 @@ sub stop_vlan {
 
 
 sub do_distro {
-       my ($dip, $newip, $vlan) = @_;
+       my ($dip, $newip, $vlan, $switchname) = @_;
 
        my $ios = Net::Telnet::Cisco->new(Host => $dip,
                        Errmode => 'return',
@@ -110,7 +110,7 @@ sub do_distro {
        print "Zyxel is alive..\n";
        $p->close();
 
-       system("perl ./zyxelng.pl 192.168.1.1 $newip");
+       system("perl ./zyxelng.pl 192.168.1.1 $newip $switchname");
 
 ####
 
@@ -129,7 +129,6 @@ open(SWITCHES, $switches) or die "Unable to open switches";
 while(<SWITCHES>) {
        my ($ip, $net, $name) = split;
 
-       print $name."\n";
        if ($name =~ /e\d+-\d/) {
                die "We only support /26 nets for now you wanted $net" if ($net ne "26");
                $switchips{$name} = $ip;
@@ -154,7 +153,7 @@ sub first_run {
                print "Ip: $ip\n";
                my $dip = $distro.".net.tg07.gathering.org";
 
-               do_distro($dip, $ip, $vlan);
+               do_distro($dip, $ip, $vlan, $switch);
 #      my ($dip, $newip, $vlan) = @_;
        }
        close(PATCHLIST);
index a1e1c624fa0511a11677980020bf9f2adfdf1a11..6a529de940caa23aa252afe5e4b5972f6c41c754 100755 (executable)
@@ -7,7 +7,7 @@ use strict;
 use warnings;
 
 # WARNING: CHANGE THIS! :-P
-my $year = 2006;
+my $year = 2007;
 
 my %months = (
        Jan => 1,
@@ -31,7 +31,7 @@ while (<>) {
 
        if (!defined($dbh) || !$dbh->ping) {
                $dbh = nms::db_connect();
-               $q = $dbh->prepare("UPDATE dhcp SET last_ack=? WHERE inet ? << network AND ( last_ack < ? OR last_ack IS NULL )")
+               $q = $dbh->prepare("UPDATE dhcp SET last_ack=? WHERE ?::inet << network AND ( last_ack < ? OR last_ack IS NULL )")
                        or die "Couldn't prepare query";
        }
 
index e41f6578dba08d016ae93be1d764ce39cb6f7795..3d029967e80903ec2b6d41c73e1bb019c356eb24 100644 (file)
@@ -16,14 +16,13 @@ use nms qw(switch_connect switch_exec);
 
 #nms::ios_close($t);
 
-my $oldip;
-my $newip;
 if ($#ARGV < 1) {
-       die "Foo $#ARGV";
+       die "Not enough arguments to zyxelng.pl $#ARGV";
 }
 
-$oldip = $ARGV[0];
-$newip = $ARGV[1];
+my $oldip = $ARGV[0];
+my $newip = $ARGV[1];
+#$switchname = $ARGV[2];
 
 my $one = 0;
 
@@ -38,39 +37,9 @@ my $switch = switch_connect($switchip)
 my $cmds1 = <<EOF
 sys hostname es-3024
 ip igmpsnoop enable
-
-sys sw vlan type 802.1q
-sys sw vlan1q svlan setentry MNGT 248 25 fixed tag
-sys sw vlan1q svlan active 248
-sys sw vlan1q svlan setentry e01-1sw 1 25 fixed untag
-
-sys sw vlan1q svlan setentry MNGT 248 1 forbidden tag
-sys sw vlan1q svlan setentry MNGT 248 2 forbidden tag
-sys sw vlan1q svlan setentry MNGT 248 3 forbidden tag
-sys sw vlan1q svlan setentry MNGT 248 4 forbidden tag
-sys sw vlan1q svlan setentry MNGT 248 5 forbidden tag
-sys sw vlan1q svlan setentry MNGT 248 6 forbidden tag
-sys sw vlan1q svlan setentry MNGT 248 7 forbidden tag
-sys sw vlan1q svlan setentry MNGT 248 8 forbidden tag
-sys sw vlan1q svlan setentry MNGT 248 9 forbidden tag
-sys sw vlan1q svlan setentry MNGT 248 10 forbidden tag
-sys sw vlan1q svlan setentry MNGT 248 11 forbidden tag
-sys sw vlan1q svlan setentry MNGT 248 12 forbidden tag
-sys sw vlan1q svlan setentry MNGT 248 13 forbidden tag
-sys sw vlan1q svlan setentry MNGT 248 14 forbidden tag
-sys sw vlan1q svlan setentry MNGT 248 15 forbidden tag
-sys sw vlan1q svlan setentry MNGT 248 16 forbidden tag
-sys sw vlan1q svlan setentry MNGT 248 17 forbidden tag
-sys sw vlan1q svlan setentry MNGT 248 18 forbidden tag
-sys sw vlan1q svlan setentry MNGT 248 19 forbidden tag
-sys sw vlan1q svlan setentry MNGT 248 20 forbidden tag
-sys sw vlan1q svlan setentry MNGT 248 21 forbidden tag
-sys sw vlan1q svlan setentry MNGT 248 22 forbidden tag
-sys sw vlan1q svlan setentry MNGT 248 23 forbidden tag
-sys sw vlan1q svlan setentry MNGT 248 24 forbidden tag
 EOF
 ;
-#
+
 foreach (split(/\n+/, $cmds1)) {
        print "Sending: '$_'\n";
        switch_exec($_, $switch);
index e79f68847859eb1a68505a49b765aae8046c5acc..cd6e3e41e057ad527d285825af2a6bb3c33c812f 100644 (file)
@@ -14,4 +14,7 @@ our $db_password = "nms";
 our $zyxel_password = "removed";
 our $telnet_timeout = 15;
 
+our $ios_user = "foo";
+our $ios_pass = "bar";  
+
 1;
index 4321b568ddb87cd252e3342eddbddcc91d14f118..276a4d41b88c3d39e50827934b429f670617bd16 100755 (executable)
@@ -12,3 +12,6 @@ scp mbd-ports *-config sesse@f1:/tftpboot/portcfg/
 
 # regenerate the mbd netlist
 (echo '# Autogenerated. Do not touch!' ; echo "package Config;"; echo 'our @networks = (' ; cut -d" " -f1-2 switches.txt | perl -e 'while (<>) { chomp; my ($net,$mask) = split / /; print "\t\"$net/$mask\",\n"; }' ; echo ');' ; echo '1;')  > mbd/nets.pl 
+
+perl web/make-switches.pl > switches.sql
+scp switches.sql root@space:
index 7b65a608c64b4ae53cccb15aa79f25d9e0c12919..c5c39604edb90fc382b6b2d89b3c5a8a9fe1aaa7 100644 (file)
Binary files a/web/bg07.png and b/web/bg07.png differ
index a728ec23c9d5b5a9771c016785edd02d151c518d..e1d3fe9b3c4f400bfabc3a7e585317889723a2f6 100644 (file)
@@ -1,5 +1,6 @@
 #! /usr/bin/perl
 
+print "begin;\n";
 print "delete from temppoll;\n";
 print "delete from placements;\n";
 print "delete from dhcp;\n";
@@ -7,79 +8,62 @@ print "delete from switches;\n";
 print "SELECT pg_catalog.setval('switches_switch_seq', 1, false);\n";
 print "SELECT pg_catalog.setval('polls_poll_seq', 1, false);\n";
 
+open PATCHLIST, "patchlist.txt"
+       or die "patchlist.txt: $!";
+
 my $cc = 241;
 my $dd = 0;
 
 my $i = 1;
-for $e (1..73) {
-       next if ($e % 2 == 0);
-
-       for $s (1..6) {
-               next if ($s <  4 && $e < 5);
-               next if ($s >= 4 && $e > 72);
-
-               next if ($e >= 69 && ($s == 1 || $s == 6));
-       
-               my $x = int(285 + $e * 9.45);
-               my $y;
-
-               $x += 7 if ($e >= 19);
-               $x += 14 if ($e >= 35);
-               $x += 9 if ($e >= 51);
-               $x += 9 if ($e >= 68 && $s < 4);
-               
-               my ($c, $d);
-               if ($s <= 3) {
-                       $c = $e;
-                       $d = ($s - 1) * 64;
-
-                       $y = 470 - $s * 48;
-               } else {
-                       $c = $e + 1;
-                       $d = ($s - 4) * 64;
-                       
-                       $y = 450 - $s * 48 - ($s - 3) * 2;
-               }
-
-               my $xx = $x + 12;
-               my $yy = $y + (($s > 3) ? 50 : 48);
-       
-               $dk = $dd + 7 + ($cc - 241) * 42;
-
-               # lasses magic-factor =)
-               $dk += 4;
-               if ($dk > 13) {
-                       $dk += 3;
-               }       
-
-               print "insert into switches (ip, sysname, switchtype) values ('81.162.$cc.$dk', 'e$e-${s}sw', 'es3024');\n";
-               print "insert into placements (switch, placement) values ($i, box '(($x,$y),($xx,$yy))');\n";
-               print "insert into dhcp (switch, network) values ($i, '81.162.$c.$d/26');\n";
-               $i++;
-
-               $dd++;
-               if ($dd == 42) {
-                       $cc++;
-                       $dd = 0;
-               }
+while (<PATCHLIST>) {
+       chomp;
+       my ($name, $distro, $port) = split / /;
+
+       $name =~ /e(\d+)-(\d+)/;
+       my ($e, $s) = ($1, $2);
+
+       my $x = int(244 + $e * 9.87);
+       my $y;
+
+       $x += 7 if ($e >= 19);
+       $x += 14 if ($e >= 35);
+       $x += 9 if ($e >= 51);
+       $x += 9 if ($e >= 68 && $s < 4);
+
+       my ($c, $d);
+       if ($s <= 3) {
+               $c = $e;
+               $d = ($s - 1) * 64;
+
+               $y = 455 - $s * 48;
+       } else {
+               $c = $e + 1;
+               $d = ($s - 4) * 64;
+
+               $y = 424 - $s * 48 - ($s - 3) * 2;
        }
-}
 
-my @k = qw(
-           81.162.212.0/24|81.162.212.1|game|es3024|((1100,200),(1125,225))
-           81.162.250.0/24|81.162.250.1|noc|es3024|((630,520),(680,550))
-           81.162.252.0/24|81.162.252.1|presse|es3024|((560,520),(610,550))
-           81.162.203.0/24|81.162.203.1|info-desk|es3024|((270,350),(305,385))
-           81.162.213.0/24|81.162.213.1|logistics|es3024|((800,75),(900,100))
-           81.162.213.0/24|81.162.213.1|logistics|es3024|((800,75),(900,100))
-           81.162.200.0/24|81.162.200.1|vision|es3024|((170,240),(200,270))
-           81.162.202.0/24|81.162.202.1|vision-sponsor|es3024|((220,150),(250,180))
-         );
-          
-for my $x (@k) {
-       my ($net,$mip,$sysname,$switchtype,$box) = split /\|/, $x;
-       print "insert into switches (ip, sysname, switchtype) values ('$mip', '$sysname', '$switchtype');\n";
-       print "insert into placements (switch, placement) values ($i, box '$box');\n";
-       print "insert into dhcp (switch, network) values ($i, '$net');\n";
+       my $xx = $x + 12;
+       my $yy = $y + (($s > 3) ? 50 : 48);
+
+       $dk = $dd + 7 + ($cc - 241) * 42;
+
+# lasses magic-factor =)
+       $dk += 4;
+       if ($dk > 13) {
+               $dk += 3;
+       }       
+
+       print "insert into switches (ip, sysname, switchtype) values ('87.76.$cc.$dk', 'e$e-${s}sw', 'es3024');\n";
+       print "insert into placements (switch, placement) values ($i, box '(($x,$y),($xx,$yy))');\n";
+       print "insert into dhcp (switch, network) values ($i, '87.76.$c.$d/26');\n";
        $i++;
+
+       $dd++;
+       if ($dd == 42) {
+               $cc++;
+               $dd = 0;
+       }
 }
+
+print "end;\n";