mirror of
https://github.com/xcat2/xcat-core.git
synced 2026-10-21 23:28:19 +00:00
80418f2f73
xCAT boots x86 nodes through iPXE with netboot=xnba, which names the xNBA fork that xCAT retires. netboot=ipxe is the method for the upstream iPXE loaders of the ipxe-xcat package. The ipxe plugin runs the xnba code, with the boot scripts under xcat/ipxe/nodes instead of xcat/xnba/nodes. nodeset stat, the osimage check of nodeset and rinstall, and the install check of Postage accept the new value. The noderes.netboot description lists it and marks xnba deprecated. The z/VM and FSM builds of xCAT-server leave the ipxe plugin out with the xnba and pxe plugins. netboot=xnba does not change, and makedhcp does not serve the new method yet.
44 lines
1.1 KiB
Perl
44 lines
1.1 KiB
Perl
package xCAT_plugin::ipxe;
|
|
|
|
# netboot=ipxe boots x86 nodes with the upstream iPXE loaders of the ipxe-xcat package. It runs the
|
|
# boot scripts of the xnba method, which it keeps under xcat/ipxe instead of xcat/xnba.
|
|
|
|
use strict;
|
|
use warnings;
|
|
|
|
sub handled_commands {
|
|
return { nodeset => 'noderes:netboot' };
|
|
}
|
|
|
|
# xcatd loads xnba.pm from the plugin directory, so load it here only when it is not there yet.
|
|
sub _xnba {
|
|
require xCAT_plugin::xnba unless defined &xCAT_plugin::xnba::process_request;
|
|
return;
|
|
}
|
|
|
|
sub preprocess_request {
|
|
_xnba();
|
|
local $xCAT_plugin::xnba::SCRIPTS = 'xcat/ipxe';
|
|
return xCAT_plugin::xnba::preprocess_request(@_);
|
|
}
|
|
|
|
sub process_request {
|
|
_xnba();
|
|
local $xCAT_plugin::xnba::SCRIPTS = 'xcat/ipxe';
|
|
return xCAT_plugin::xnba::process_request(@_);
|
|
}
|
|
|
|
sub getstate {
|
|
_xnba();
|
|
local $xCAT_plugin::xnba::SCRIPTS = 'xcat/ipxe';
|
|
return xCAT_plugin::xnba::getstate(@_);
|
|
}
|
|
|
|
sub getNodesetStates {
|
|
_xnba();
|
|
local $xCAT_plugin::xnba::SCRIPTS = 'xcat/ipxe';
|
|
return xCAT_plugin::xnba::getNodesetStates(@_);
|
|
}
|
|
|
|
1;
|