Files
warewulf/userdocs/server/wwctl.rst
2026-03-18 16:58:39 -06:00

92 lines
3.0 KiB
ReStructuredText

====================
Controlling Warewulf
====================
Warewulf's command-line interface is based primarily around the ``wwctl``
command. This command has sub-commands for each major component of Warewulf's
functionality.
* ``configure``: configures the Warewulf server and its external services
* ``node``: manages nodes in the cluster
* ``profile``: defines common sets of node configuration which can be applied
to multiple nodes
* ``image``: configures (node) images
* ``overlay``: manages overlays
* ``clean``: removes the OCI image cache and leftover overlay images from
deleted nodes
``wwctl`` also provides additional helpers for interacting with cluster nodes
over SSH and IPMI.
* ``power``: turns nodes on and off
* ``ssh``: provides basic parallel ssh functionality
All of these subcommands (and their respective sub-subcommands) have
built-in help with either ``wwctl help`` or ``--help``.
Hostlists
=========
Many of the commands (e.g., ``wwctl node list``) support a "hostlist"
syntax for referring to multiple nodes at once. Hostlist expressions
support both ranges and comma-separated numerical lists.
For example:
* ``node[1-2]`` expands to ``node1 node2``
* ``node[1,3]`` expands to ``node1 node3``
* ``node[1,5-6]`` expands to ``node1 node5 node6``
Node status
===========
During the whole provisioning process of your nodes, you can check their status
through the following command :
.. code-block:: console
# wwctl node status
NODENAME STAGE SENT LASTSEEN (s)
================================================================================
n1 RUNTIME_OVERLAY __RUNTIME__.img.gz 16
For each node, there are 7 different stages:
* **EFI**
* **IPXE**
* **KERNEL**
* **IMAGE**
* **INITRAMFS**
* **SYSTEM_OVERLAY**
* **RUNTIME_OVERLAY**
You can use the ``wwctl node status`` to check communication between the
Warewulf server (``warewulfd``) and the Warewulf client (``wwclient``).
.. note:: A provisioning workflow might not use every stage.
Maintenance
===========
``wwctl clean`` reclaims disk space by removing two categories of data that
accumulate over time:
* The OCI blob cache, stored at ``$cachedir/warewulf`` (default:
``/var/cache/warewulf``). This cache is populated during ``wwctl image
import`` and speeds up subsequent imports of images that share layers. It
is safe to remove: the next ``wwctl image import`` will re-download any
needed layers.
* Provisioned overlay images for nodes that have been deleted from the node
database. These are stored under ``$wwprovisiondir/overlays`` and are no
longer needed once the corresponding node is removed.
.. code-block:: console
# wwctl clean
``wwctl clean`` is particularly useful after deleting a large number of nodes,
or when disk space is limited on the Warewulf server. Note that ``wwctl clean``
only removes the current cache location (``$cachedir/warewulf``); if you are
upgrading from v4.5.x, the legacy cache at ``$datastore/oci`` must be removed
manually (see :ref:`oci-blob-cache`).