2
0
mirror of https://github.com/xcat2/xcat-core.git synced 2026-09-09 14:36:43 +00:00
Files
xcat-core/xCAT-client/pods/man8/makedhcp.8.pod
T
Vinícius Ferrão de3d68dd1d docs: port man-page clarifications from lenovobuild
Recover several man-page clarifications that never merged from the lenovobuild
branch.  All are documentation-only -- the man .pod sources with their
generated .rst, plus the networks-table description in Schema.pm:

  * makedhcp / nodeset: note that UEFI boot directives are intentionally
    omitted when nodetype.os names an OS without UEFI support, even for
    'nodeset shell'.
  * networks table dhcpserver: warn that it should be set only for service
    node operation and that <xcatmaster> is not a valid value.
  * noderange: clarify that the syntax is for xCAT.
  * reventlog: note that unimplemented sensor types yield 'No Mappings Found'
    and point to confluent's nodeeventlog facility.
  * rcons: document confluent console auto-reconnect (a randomized 2-4 minute
    retry, or 'ctrl-e o a' to force one); the original's stray backtick markup
    is corrected.

Recovered from the unmerged lenovobuild branch (originals 2d4f12f4, 760f2f8b,
23d63d59, 44b47c44, c63d780f, db4dc42b).

Co-authored-by: Jarrod Johnson <10814490+jjohnson42@users.noreply.github.com>
2026-07-22 22:00:51 -03:00

167 lines
5.1 KiB
INI

=head1 NAME
B<makedhcp> - Creates and updates DHCP configuration files.
=head1 SYNOPSIS
B<makedhcp> B<-n> [B<-l>|B<--localonly>]
B<makedhcp> B<-a> [B<-l>|B<--localonly>]
B<makedhcp> B<-a -d> [B<-l>|B<--localonly>]
B<makedhcp> B<-d> I<noderange> [B<-l>|B<--localonly>]
B<makedhcp> I<noderange> [B<-s> I<statements>] [B<-l>|B<--localonly>]
B<makedhcp> B<-q> I<noderange>
B<makedhcp> B<[-h|--help]>
=head1 DESCRIPTION
The B<makedhcp> command creates and updates the DHCP configuration on the management node and service nodes.
The B<makedhcp> command is supported for both Linux and AIX clusters. Note that it will intentionally not
generate UEFI configuration if the OS indicated in nodetype.os is not UEFI supported, even if the OS being booted is shell.
On Linux, the DHCP implementation is selected by the C<site.dhcpbackend> attribute.
The C<auto> setting keeps ISC DHCP on platforms where it is still available and uses Kea DHCP on platforms such as EL10 and Ubuntu 24.04.
=over 3
=item 1.
Start by filling out the L<networks(5)|networks.5> table properly.
=item 2.
Then use the B<makedhcp -n> option to create a new dhcp configuration file.
You can set the site table, dhcplease attribute to the lease time for the dhcp client. The default value is 43200.
=item 3.
Next, get the node IP addresses and MACs defined in the xCAT database.
Also, get the hostnames and IP addresses pushed to /etc/hosts (using L<makehosts(8)|makehosts.8>) and to DNS (using L<makedns(8)|makedns.8>).
=item 4.
Then run B<makedhcp> with a noderange or the B<-a> option. This will inject DHCP configuration data pertinent to the specified nodes.
With ISC DHCP, Linux node entries are updated through OMAPI. With Kea DHCP, node reservations are rendered into the Kea JSON configuration, validated, and the Kea service is restarted.
=back
If you need to delete node entries from the DHCP configuration, use the B<-d> flag.
=head1 OPTIONS
=over 12
=item B<-n>
Create a new dhcp configuration file with a network statement for each network the dhcp daemon should listen on.
(Which networks dhcpd should listen on can be controlled by the dhcpinterfaces attribute in the L<site(5)|site.5> table.)
The B<makedhcp> command will automatically restart the dhcp daemon after this operation.
This option will replace any existing configuration file (making a backup of it first).
For Linux systems using ISC DHCP, the file will include network entries as well as certain general parameters such as a dynamic range and omapi configuration.
For Linux systems using Kea DHCP, the generated files are /etc/kea/kea-dhcp4.conf, /etc/kea/kea-dhcp6.conf when IPv6 networks are configured, and /etc/kea/kea-dhcp-ddns.conf when DDNS is enabled.
For AIX systems the file will include network entries.
On AIX systems, if there are any non-xCAT entries in the existing configuration file they will be preserved and added to the end of the new configuration file.
=item B<-a>
Define all nodes to the DHCP server. (Will only add nodes that can be reached, network-wise, by this DHCP server.)
The dhcp daemon does not have to be restarted after this.
On AIX systems B<makedhcp> will not add entries for cluster nodes that will be installed using NIM. The entries for these nodes will be managed by NIM.
=item I<noderange>
Add the specified nodes to the DHCP server configuration.
=item B<-s> I<statements>
For the input noderange, the argument will be interpreted like dhcp configuration file text.
This option is only supported by the ISC DHCP backend.
=item B<-d> I<noderange>
Delete node entries from the DHCP server configuration. On AIX, any entries created by NIM will not be removed.
=item B<-a -d>
Delete all node entries, that were added by xCAT, from the DHCP server configuration.
=item B<-l>|B<--localonly>
Configure dhcpd on the local machine only. Without this option, makedhcp will also send this
operation to any service nodes that service the nodes in the noderange.
=item B<-q> I<noderange>
Query the node entries from the DHCP server configuration. On AIX, any entries created by NIM will not be listed.
=item B<-h|--help>
Display usage message.
=back
=head1 RETURN VALUE
=over 2
=item 0.
The command completed successfully.
=item 1.
An error has occurred.
=back
=head1 EXAMPLES
=over 2
=item 1.
Create a new DHCP configuration file and add the network definitions:
makedhcp -n
=item 2.
Define all nodes to the dhcp server:
makedhcp -a
Note: This does not add nodes that will be installed with AIX/NIM.
=item 3.
Will cause dhcp on the next request to set root-path appropriately for only node5. Note some characters (e.g. ") must be doubly escaped (once for the shell, and once for the OMAPI layer).
makedhcp node5 -s 'option root-path \"172.16.0.1:/install/freebsd6.2/x86_64\";'
=item 4.
Query a node from the DHCP server.
# makedhcp -q node01
node01: ip-address = 91.214.34.156, hardware-address = 00:00:c9:c6:6c:42
=back
=head1 FILES
DHCP configuration files:
[AIX] /etc/dhcpsd.cnf
[SLES] /etc/dhcpd.conf
[RH] /etc/dhcp/dhcpd.conf
[Kea] /etc/kea/kea-dhcp4.conf
[Kea IPv6] /etc/kea/kea-dhcp6.conf
[Kea DDNS] /etc/kea/kea-dhcp-ddns.conf
=head1 SEE ALSO
L<noderange(3)|noderange.3>