+sub verify_run {
+ open(PATCHLIST, $patchlist) or die "Unable to open patchlist";
+ while (<PATCHLIST>) {
+ print "Verify run....\n";
+ my ($switch, $distro, $port) = split;
+
+ my ($row, $place, $ipnet, $vlan, $ip, $dip) = switch_info($switch, $distro, $port);
+ print "Switch: $switch, Distro: $distro, vlan: $vlan\n";
+ print "Ip net: $ipnet\n";
+ print "Ip: $ip\n";
+
+ my $p = Net::Ping->new();
+ printf "Checking if zyxel is up $dip:$vlan $ip...\n";
+ my $counter = 0;
+ while (1) {
+ if ($counter > 10) {
+ print "No answer from $dip:$vlan $ip, trying to route it up\n";
+ do_distro($dip, $ip, $vlan, $switch);
+ last;
+ }
+ last if $p->ping($ip);
+ print "pinging...\n";
+ sleep 1;
+ $counter++;
+ }
+
+# my ($dip, $newip, $vlan) = @_;
+ }
+ close(PATCHLIST);
+}
+