Have offline remove UEFI related files
Do not attempt UEFI px if currstate is set to 'boot' Implement ESXi5 UEFI PXE boot git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@10554 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
This commit is contained in:
parent
1201990fc6
commit
a824514ce8
@ -392,7 +392,7 @@ sub addnode
|
||||
$lstatements = 'if option client-architecture = 00:00 and not gpxe.bus-id { filename = \"xcat/xnba.kpxe\"; } else { filename = \"\"; } '.$lstatements;
|
||||
} else {
|
||||
#TODO: if windows uefi, do vendor-class-identifier of "PXEClient" to bump it over to proxydhcp.c
|
||||
if ($douefi) {
|
||||
if ($douefi and $chainent->{currstate} ne "boot" and $chainent->{currstate} ne "iscsiboot") {
|
||||
$lstatements = 'if option user-class-identifier = \"xNBA\" and option client-architecture = 00:00 { always-broadcast on; filename = \"http://'.$nxtsrv.'/tftpboot/xcat/xnba/nodes/'.$node.'\"; } else if option user-class-identifier = \"xNBA\" and option client-architecture = 00:09 { filename = \"http://'.$nxtsrv.'/tftpboot/xcat/xnba/nodes/'.$node.'.uefi\"; } else if option client-architecture = 00:07 { filename = \"xcat/xnba.efi\"; } else if option client-architecture = 00:00 { filename = \"xcat/xnba.kpxe\"; } else { filename = \"\"; }'.$lstatements; #Only PXE compliant clients should ever receive xNBA
|
||||
} else {
|
||||
$lstatements = 'if option user-class-identifier = \"xNBA\" and option client-architecture = 00:00 { filename = \"http://'.$nxtsrv.'/tftpboot/xcat/xnba/nodes/'.$node.'\"; } else if option client-architecture = 00:00 { filename = \"xcat/xnba.kpxe\"; } else { filename = \"\"; }'.$lstatements; #Only PXE compliant clients should ever receive xNBA
|
||||
|
@ -199,6 +199,16 @@ sub setstate {
|
||||
print $pcfg "\n";
|
||||
}
|
||||
print $pcfg "IPAPPEND 2\n";
|
||||
if ($kern->{kernel} =~ /esxi5/) { #Make uefi boot provisions
|
||||
my $ucfg;
|
||||
open($ucfg,'>',$tftpdir."/xcat/xnba/nodes/".$node.".uefi");
|
||||
if ($kern->{kcmdline} =~ / xcat\/netboot/) {
|
||||
$kern->{kcmdline} =~ s/xcat\/netboot/\/tftpboot\/xcat\/netboot/;
|
||||
}
|
||||
print $ucfg "#!gpxe\n";
|
||||
print $ucfg 'chain http://${next-server}/tftpboot/xcat/esxboot-x64.efi '.$kern->{kcmdline}."\n";
|
||||
close($ucfg);
|
||||
}
|
||||
} else { #other than comboot/multiboot, we won't have need of pxelinux
|
||||
print $pcfg "imgfetch -n kernel http://".'${next-server}/tftpboot/'.$kern->{kernel}."\n";
|
||||
print $pcfg "imgload kernel\n";
|
||||
@ -533,6 +543,8 @@ sub process_request {
|
||||
if($args[0] eq 'offline') {
|
||||
unlink($tftpdir."/xcat/xnba/nodes/".$_);
|
||||
unlink($tftpdir."/xcat/xnba/nodes/".$_.".pxelinux");
|
||||
unlink($tftpdir."/xcat/xnba/nodes/".$_.".uefi");
|
||||
unlink($tftpdir."/xcat/xnba/nodes/".$_.".elilo");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user