/[pxelator]/lib/PXElator/kvm.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Annotation of /lib/PXElator/kvm.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 90 - (hide annotations)
Fri Jul 31 18:26:37 2009 UTC (14 years, 8 months ago) by dpavlin
File size: 751 byte(s)
color xterms

1 dpavlin 54 package kvm;
2    
3     use warnings;
4     use strict;
5     use autodie;
6    
7     use server;
8    
9     our $memory_size = 512;
10 dpavlin 62 our $mac = 'AC:DE:48:00:00:01'; # AC = private, AD = multicast, AE = local
11 dpavlin 80 our $monitor = 'tcp:' . $server::ip . ':10000,server,nowait';
12 dpavlin 54
13 dpavlin 88 sub start_fork { qw/monitor/ }
14 dpavlin 80
15     sub monitor {
16 dpavlin 90 exec "xterm -fg red -e nc $server::ip 10000";
17 dpavlin 80 }
18    
19 dpavlin 88 sub actions { qw/reset/ }
20    
21     sub reset {
22     my $sock = IO::Socket::INET->new( $server::ip .':10000' );
23     print $sock "system_reset\n";
24     close $sock;
25     }
26    
27 dpavlin 82 use network;
28    
29 dpavlin 54 sub start {
30    
31 dpavlin 85 warn 'tap ', network::tap();
32 dpavlin 82
33 dpavlin 54 my $kvm = qq|
34     vdeq kvm -m $memory_size -net nic,vlan=1,macaddr=$mac
35     -net vde,vlan=1,sock=/var/run/vde2/tap0.ctl
36     -boot n
37 dpavlin 80 -monitor $monitor
38 dpavlin 54 |;
39 dpavlin 80 $kvm =~ s{\s+}{ }gs;
40 dpavlin 56
41 dpavlin 54 warn $kvm;
42 dpavlin 56 exec $kvm;
43 dpavlin 54
44     }
45    
46     warn 'loaded';
47    
48     1;

  ViewVC Help
Powered by ViewVC 1.1.26