autocreate_params to create kvm nr parametar from mac
authorDobrica Pavlinusic <dpavlin@rot13.org>
Wed, 9 Sep 2009 09:04:04 +0000 (09:04 +0000)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Wed, 9 Sep 2009 09:04:04 +0000 (09:04 +0000)
add hostname or kvm nr to kvm window

lib/PXElator/client.pm
lib/PXElator/kvm.pm

index cc889a7..6760ebf 100644 (file)
@@ -12,6 +12,7 @@ use server;
 use format;
 use ip;
 use ping;
+use kvm;
 
 our $debug = $server::debug;
 
@@ -165,6 +166,7 @@ sub all_ips {
        map {
                my $ip = $_;
                $ip =~ s{^.+/ip/}{};
+               autocreate_params( $ip );
                $ip;
        } glob("$server::conf/ip/*") 
 }
@@ -206,4 +208,13 @@ sub rebuild_mac_links {
        }
 }
 
+sub autocreate_params {
+       my $ip = shift;
+       my $mac = mac_from_ip $ip;
+       if ( $mac =~ m{^AC:DE:48:00:00} && ! defined conf( $ip, 'kvm' ) ) {
+               conf( $ip, 'kvm', default => kvm::nr_from_mac( $mac ) );
+               warn "# create kvm for $ip";
+       }
+}
+
 1;
index d816901..f0d6687 100644 (file)
@@ -70,8 +70,13 @@ sub start {
        system "brctl addif virtual $ifname"
                unless `brctl show` =~ m{$ifname};
 
+       my $name = client::conf( client::ip_from_mac $mac, 'hostname' );
+       $name ||= $nr;
+
        my $kvm = qq|
-               kvm -m $memory_size -net nic,macaddr=$mac
+               kvm
+               -name "$name"
+               -m $memory_size -net nic,macaddr=$mac
                -net tap,ifname=$ifname,script=no
                -boot n
                -monitor tcp:$mon,server,nowait