=head1 Name

B<nodeset> - set the boot state for a noderange

=head1 B<Synopsis>

B<nodeset> [I<noderange>] [I<boot>|I<install>|I<state>|I<stat>]

B<nodeset> [I<noderange>] [I<stage2>|I<stage3>|I<shell>]

B<nodeset> [I<noderange>] [I<clone>|I<cloneserver>|I<image>]


B<nodeset> [I<noderange>] [I<flash>={I<image>}]


B<nodeset> [I<-h>|I<--help>|I<-v>|I<--version>]

=head1 B<Description>

B<nodeset>  sets the next cold or warm boot state for a single or range of
nodes or groups.  This tells xCAT what you want to happen the next time the
nodes are booted up.  See  L<noderange(3)|noderange.3>.   B<nodeset>  accomplishes  this  by
changing  the network boot files.  Each xCAT node always boots from the
network and downloads a boot file with instructions on what  action  to
take next.

B<nodeset>  only supports PXELINUX, Etherboot, Etherboot/NBGRUB, and ELILO
as network boot loaders.  B<nodeset> calls B<nodeset.pxe>, B<nodeset.eb>,  B<node->
B<set.nbgrub>, and B<nodeset.elilo> to perform the updates.

Assume that /tftpboot is the root for tftpd (set in B<site(5)>).

B<nodeset.pxe> makes changes to /tftpboot/pxelinux.0/{node hex ip}

B<nodeset.eb> makes changes to /etc/dhcpd.conf

B<nodeset.nbgrub> makes changes to /tftpboot/grub/{node hostname}.grub

B<nodeset.elilo>  makes  changes  to  /tftpboot/elilo/{node  ip}.conf  and
/tftpboot/elilo/{node hex ip}.conf

B<nodeset.elilo> support both formats for xCAT patch elilo  2.5  and  xCAT
patched elilo 3.x.

B<nodeset> only sets the next boot state, but does not reboot.

B<nodeset>  is  called  by rinstall and winstall and is also called by the
installation process remotely to set the boot state back to "boot".

When B<nodeset> is called to set a node for an installation state, a NODE-
TYPE-RESOURCE.BOOTTYPE  template  must  exist in /tftpboot/xcat (or the
appropriate directory as defined in  B<site(5)>),  where  NODETYPE  is
defined  per  node  in B<nodetype(5)>, RESOURCE is defined per node or
group  in  B<noderes(5)>,  and  BOOTTYPE  is  defined  per   node   in
B<nodehm(5)>.

=head1 B<Options>

=over 7

=item B<boot>

Instruct node to boot local harddisk 0 on next boot.

=item B<install>

Instruct  node to boot from network.  This usually involves TFTP
downloading a kernel, initrd, and kernel options,  then  booting
the   downloaded   images  to  facilitate  automated  unattended
installation.

=item B<state>|B<stat>

Display the next boot state.

=item B<stage2>

Instruct node to boot from network image stage2.  This  involves
TFTP  downloading  a special prebuilt kernel, initrd, and kernel
options used for MAC address collection.  For a new node this is
the  default  action  and  cannot  be changed until a node entry
exists in B<dhcpd.conf(5)>.  It is not necessary to explicitly  set
stage2,  unless it is used for testing and development purposes.

=item B<stage3>

Instruct node to boot from network image stage3.  This  involves
TFTP  downloading  a special prebuilt kernel, initrd, and kernel
options used for the automated programming of IBM  service  pro-
cessors.

=item B<shell>

Instruct  node  to boot from a network maintainance shell image.
This involves TFTP downloading a special prebuilt  kernel,  ini-
trd,  and  kernel options used for a limited RAMdisk-based main-
tainance shell.  Only available for IA64 systems.

=item B<clone>

Instruct node to boot from network into clone  mode.   In  clone
mode  the node will poll the management node for nodes in clone-
server mode, once a clone lock is  established  the  clone  node
clones the cloneserver node.  Usually called from B<rclone(1)>.

=item B<cloneserver>

Instruct  node  to  boot from network into cloneserver mode.  In
cloneserver mode the node will wait for  a  node  to  attempt  a
clone  lock.   Once  a  clone lock is established the clone node
clones the  cloneserver  node.   All  other  requested  will  be
refused until node cloning is completed.

=item B<image>
Instruct  node  to boot from network and run Partition Imager to
create partition images.

=item B<flash>=I<image>

Instruct node to boot from network load  DOS  and  flash  I<image>.
Usually called from B<rflash(1)>.

=item B<-h>|B<--help>

Print help.

=item B<-v>|B<--version>

Print version.

=back


=head1 B<Files>

B<nodehm> table -
xCAT node hardware management file.  See B<nodehm(5)> for fur-
ther details.  This is used to determine the network boot  type:
PXE, Etherboot, ELILO, or NA.

B<noderes> table -
xCAT  node  resources  file.   See  B<noderes(5)>  for  further
details.  This is used to determine the node's resource group.

B<nodetype> table -
xCAT node installation type file.  See B<nodetype(5)> for  fur-
ther  details.   This is used to determine the node installation
image type.

B<site> table -
xCAT main  configuration  file.   See  B<site(5)>  for  further
details.   This  is  used  to determine the location of the TFTP
root directory and the TFTP xCAT  subdirectory.   /tftpboot  and
/tftpboot/xcat is the default.

B</etc/dhcpd.conf> file -
xCAT  dhcpd  configuration  file.  See B<dhcpd.conf(5)> for further
details.  This is used by B<nodeset> to determine if  a  node  will
only  boot  stage2  because no statically assigned IP exists for
that node.  Also used by nodeset.eb to set the  boot  state  for
Etherboot enabled nodes.


=head1 B<Examples>

B<nodeset> I<node5> I<install>

node5: install compute62-compute

Install node5 with the compute62 image using resources from the compute
resource group.


=head1 B<Author>

Egan Ford <egan@us.ibm.com>

=head1 B<See> B<Also>

L<noderange(3)|noderange.3>,   L<nodels(1)|nodels.1>,   L<nodestat(1)|nodestat.1>,   B<rinstall(1)>,
B<rflash(1)>,  L<makedhcp(8)|makedhcp.8>
