]> git.sesse.net Git - nms/blob - web/make-switches.pl
More changes for TG07.
[nms] / web / make-switches.pl
1 #! /usr/bin/perl
2
3 print "begin;\n";
4 print "delete from temppoll;\n";
5 print "delete from placements;\n";
6 print "delete from dhcp;\n";
7 print "delete from switches;\n";
8 print "SELECT pg_catalog.setval('switches_switch_seq', 1, false);\n";
9 print "SELECT pg_catalog.setval('polls_poll_seq', 1, false);\n";
10
11 open PATCHLIST, "patchlist.txt"
12         or die "patchlist.txt: $!";
13
14 my $cc = 241;
15 my $dd = 0;
16
17 my $i = 1;
18 while (<PATCHLIST>) {
19         chomp;
20         my ($name, $distro, $port) = split / /;
21
22         $name =~ /e(\d+)-(\d+)/;
23         my ($e, $s) = ($1, $2);
24
25         my $x = int(202 + $e * 8.25);
26         my $y;
27
28         $x += 7 if ($e >= 19);
29         $x += 14 if ($e >= 35);
30         $x += 9 if ($e >= 51);
31         $x += 9 if ($e >= 68 && $s < 4);
32
33         my ($c, $d);
34         if ($s <= 3) {
35                 $c = $e;
36                 $d = ($s - 1) * 64;
37
38                 $y = 470 - $s * 48;
39         } else {
40                 $c = $e + 1;
41                 $d = ($s - 4) * 64;
42
43                 $y = 400 - $s * 48 - ($s - 3) * 2;
44         }
45
46         my $xx = $x + 12;
47         my $yy = $y + (($s > 3) ? 50 : 48);
48
49         $dk = $dd + 7 + ($cc - 241) * 42;
50
51 # lasses magic-factor =)
52         $dk += 4;
53         if ($dk > 13) {
54                 $dk += 3;
55         }       
56
57         print "insert into switches (ip, sysname, switchtype) values ('87.76.$cc.$dk', 'e$e-${s}sw', 'es3024');\n";
58         print "insert into placements (switch, placement) values ($i, box '(($x,$y),($xx,$yy))');\n";
59         print "insert into dhcp (switch, network) values ($i, '87.76.$c.$d/26');\n";
60         $i++;
61
62         $dd++;
63         if ($dd == 42) {
64                 $cc++;
65                 $dd = 0;
66         }
67 }
68
69 print "end;\n";