--- lib/PXElator/config.pm 2009/08/05 19:48:58 151 +++ lib/PXElator/config.pm 2009/08/13 12:02:43 212 @@ -6,8 +6,11 @@ use server; use pxelinux; +use client; use File::Slurp; +sub available { qw/debian_live webconverger debirf tinycore/ }; + sub debian_live { $dhcpd::file = "pxelinux.0"; $pxelinux::path_prefix = 'live-helper/tftpboot/'; @@ -25,18 +28,19 @@ =cut sub webconverger { - my ($ip,$append) = @_; + my ($ip) = @_; upstream::iso( 'http://download.webconverger.com/webc-5.2.iso' ); - $append ||= 'homepage=http://' . $server::ip . ':7777'; + my $homepage = client::conf( $ip => 'homepage', default => "http://${server::ip}:7777/client" ); + my $hostname = client::conf( $ip => 'hostname' ) || 'webconverger'; pxelinux::config_for_ip( $ip, qq{ default webconverger label webconverger kernel iso/live/vmlinuz-2.6.30-backports.1-486 - append initrd=iso/live/initrd.img-2.6.30-backports.1-486 fetch=http://172.16.10.1:7777/webconverger/iso/live/filesystem.squashfs boot=live quiet nosudo splash video=vesa:ywrap,mtrr vga=788 nopersistent username=webc hostname=webconverger union=aufs $append + append initrd=iso/live/initrd.img-2.6.30-backports.1-486 fetch=http://${server::ip}:7777/webconverger/iso/live/filesystem.squashfs boot=live quiet nosudo splash video=vesa:ywrap,mtrr vga=788 nopersistent username=webc hostname=$hostname union=aufs homepage=$homepage locale=hr }); @@ -80,10 +84,8 @@ sub for_ip { my $ip = shift; -# debian_live($ip); - webconverger($ip); -# debirf($ip); -# tinycore($ip); + my $deploy = client::conf( $ip => 'deploy', default => 'webconverger' ); + eval $deploy . '($ip)'; # $tftp::dir = "$server::base_dir/tftp/$pxelinux::path_prefix"; }