--- lib/PXElator/config.pm 2009/08/20 19:00:13 277 +++ lib/PXElator/config.pm 2009/08/29 18:07:49 348 @@ -8,12 +8,13 @@ use pxelinux; use client; use file; +use ssh; use File::Slurp; our $mounted; -sub available { qw/debian_live webconverger debirf tinycore nfsroot/ }; +sub available { qw/debian_live webconverger debirf tinycore nfsroot openvz_host openvz_container printer wrt/ }; sub debian_live { my ($ip) = @_; @@ -168,6 +169,10 @@ }; + map { + file::copy_once $_ => "$export/$_"; + file::append "$export/etc/rc.local", $_; + } ( '/srv/sysadmin-cookbook/recepies/amt/serial-console.sh' ); pxelinux::config_for_ip( $ip, qq{ @@ -179,10 +184,21 @@ }); } -sub for_ip { +sub openvz_host { + my $ip = shift; + ssh::shell( $ip, 'cat /proc/vz/veinfo', 'vzlist -a', 'uptime', 'free', 'df' ); +} +sub openvz_container { my $ip = shift; - my $deploy = client::conf( $ip => 'deploy', default => 'webconverger' ); - eval $deploy . '($ip)'; + ssh::shell( $ip, 'cat /proc/vz/veinfo', 'uptime', 'free', 'df' ); +} +sub printer {} +sub wrt {} + +sub for_ip { + my $ip = shift || return; + my $config = client::conf( $ip => 'config' ) || return; + eval $config . '($ip)'; # $tftp::dir = "$server::base_dir/tftp/$pxelinux::path_prefix"; }