use config;
use client;
use log;
+use x11;
sub static {
my ($client,$path) = @_;
use boolean;
use kvm;
-use qemu; $pids->{qemu} = 'stopped';
$SIG{CHLD} = 'IGNORE';
if ( $daemon =~ m{dhcpd|tftpd|dnsd} ) {
my $exec = "perl -I$server::base_dir/lib -I$server::base_dir/lib/PXElator -M$daemon -e ${daemon}::${invoke}";
warn "exec $exec";
- exec "xterm -T $daemon -n $daemon -e $exec";
+ x11::xterm( $daemon => $exec );
} else {
my $eval = $daemon . '::' . $invoke . '(' . ( @_ ? dump(@_) : '' ) . ')';
warn "eval $eval";
foreach my $name ( sort keys %$pids ) {
my $pid = $pids->{$name} || next;
- my $html = qq|<a href=/start_stop/$name>$pid</a>|;
+ my $html;
my $proc = "/proc/$pid/status";
if ( -e $proc ) {
+ $html .= qq|<a href=/start_stop/$name>$pid</a>|;
if ( $debug ) {
$html .= qq| <a name=$pid href=#proc-$pid>?</a>|;
if ( $name->can('actions') ) {
$html .= qq| <a href=/action/kvm/$_>$_</a>| foreach $name->actions;
}
+ } else {
+ $html .= qq|<a href=/start_stop/$name>restart</a> $pid exited|;
}
push @rows, ( $name => $html );
} else {
print $client $ok
, qq|<h2>Clients on $server::ip</h2>|
- , qq|<ul>|
- , join("\n",
+ , html::table( -4,
+ 'ip', 'mac', 'hostname', 'deploy',
map {
my $ip = $_;
$ip =~ s{^.+/ip/}{};
- qq|<li><a href=/client/$ip>$ip</a> |, client::mac($ip), ' ', client::conf( $ip, 'hostname' ), qq|</li>|;
+ ( qq|<a href=/client/$ip>$ip</a>|, client::mac($ip), client::conf( $ip, 'hostname' ), client::conf( $ip, 'deploy' ) );
}
glob("$server::conf/ip/*")
)
- , qq|</ul>|
;
}
} elsif ( $path =~ m{^/our/(\w+)/(\S+)} ) {