Merge pull request #708 from anderbubble/userdocs-italics-code

Fix accidental userdocs italics
This commit is contained in:
Jonathon Anderson
2023-02-22 01:04:00 -07:00
committed by GitHub
7 changed files with 99 additions and 76 deletions

View File

@@ -6,7 +6,7 @@ Since the inception of Warewulf over 20 years ago, Warewulf has used
the model of the "Virtual Node File System" (VNFS) as a template image the model of the "Virtual Node File System" (VNFS) as a template image
for the compute nodes. This is similar to a golden master image, for the compute nodes. This is similar to a golden master image,
except that the node file system exists within a directory on the except that the node file system exists within a directory on the
Warewulf control node (e.g. a `chroot()`). Warewulf control node (e.g. a ``chroot()``).
In hindsight, we've been using containers all along, but the buzzword In hindsight, we've been using containers all along, but the buzzword
just didn't exist. Over the last 5-6 years, the enterprise has created just didn't exist. Over the last 5-6 years, the enterprise has created
@@ -249,7 +249,7 @@ into Warewulf can be done with the following steps:
Building A Container Using Podman Building A Container Using Podman
--------------------------------- ---------------------------------
You can also build a container using podman via a `Dockerfile`. For You can also build a container using podman via a ``Dockerfile``. For
this step the container must be exported to a tar archive, which then this step the container must be exported to a tar archive, which then
can be imported to Warewulf. The following steps will create an can be imported to Warewulf. The following steps will create an
openSUSE Leap container and import it to Warewulf: openSUSE Leap container and import it to Warewulf:

View File

@@ -25,7 +25,7 @@ properly. Here are the things it will do:
* **nfs**: Configure the NFS server on the control node as well as the * **nfs**: Configure the NFS server on the control node as well as the
``/etc/fstab`` in the system overlay based on the configuration in ``/etc/fstab`` in the system overlay based on the configuration in
``/etc/warewulf/warewulf.conf`` and enable the system service. Also ``/etc/warewulf/warewulf.conf`` and enable the system service. Also
the file `/etc/exports.ww` from the **host** template is installed. the file ``/etc/exports.ww`` from the **host** template is installed.
* **ssh**: Create the appropriate host keys (stored in * **ssh**: Create the appropriate host keys (stored in
``/etc/warewulf/keys/``) and user keys for passwordless ``ssh`` into ``/etc/warewulf/keys/``) and user keys for passwordless ``ssh`` into
the nodes. Addionally the shell profiles the nodes. Addionally the shell profiles
@@ -49,7 +49,7 @@ Systemd service:
# systemctl enable --now warewulfd # systemctl enable --now warewulfd
You can also check and control the Warewulf service using the `wwctl` You can also check and control the Warewulf service using the ``wwctl``
command line program as follows: command line program as follows:
.. code-block:: console .. code-block:: console

View File

@@ -2,12 +2,16 @@
Warewulf Installation Warewulf Installation
##################### #####################
There are multiple methods to install Warewulf, this page describes the installation process of multiple methods: There are multiple methods to install Warewulf, this page describes
the installation process of multiple methods:
Binary RPMs Binary RPMs
=========== ===========
While the Warewulf project does not build binary RPMs, you can obtain them from `CIQ <https://www.ctrliq.com/>`_ and use them for non-production use from their public YUM and DNF repositories at: `https://repo.ctrliq.com <https://repo.ctrliq.com/>`_ While the Warewulf project does not build binary RPMs, you can obtain
them from `CIQ <https://www.ctrliq.com/>`_ and use them for
non-production use from their public YUM and DNF repositories at:
`https://repo.ctrliq.com <https://repo.ctrliq.com/>`_
This is the easiest method to install Warewulf and can be done as follows: This is the easiest method to install Warewulf and can be done as follows:
@@ -16,27 +20,42 @@ This is the easiest method to install Warewulf and can be done as follows:
# yum install -y https://repo.ctrliq.com/rhel/8/ciq-release.rpm # yum install -y https://repo.ctrliq.com/rhel/8/ciq-release.rpm
# yum install -y warewulf # yum install -y warewulf
> note: as mentioned, these binaries are part of CIQ's commercial support offering but they can be used for non-production and testing uses. If you are interested in using these binaries for production, please contact CIQ at: `info@ctrliq.com <mailto:info@ctrliq.com>`_. > note: as mentioned, these binaries are part of CIQ's commercial
support offering but they can be used for non-production and testing
uses. If you are interested in using these binaries for production,
please contact CIQ at: `info@ctrliq.com <mailto:info@ctrliq.com>`_.
Compiled Source code Compiled Source code
==================== ====================
Before you build the Warewulf source code you will first need to install the build dependencies: Before you build the Warewulf source code you will first need to
install the build dependencies:
* ``make``: This should be available via your Linux distribution's package manager (e.g. ``dnf install make``) * ``make``: This should be available via your Linux distribution's
* ``go``: Golang is also available on most current Linux distributions, but if you wish to install the most recent version, you can find that here: `https://golang.org/dl/ <https://golang.org/dl/>`_ package manager (e.g. ``dnf install make``)
* Depending on your Linux Distribution, you may need to install other development packages. Typically it is recommended to install the entire development group like ``dnf groupinstall "Development Tools"`` * ``go``: Golang is also available on most current Linux
distributions, but if you wish to install the most recent version,
you can find that here: `https://golang.org/dl/
<https://golang.org/dl/>`_
* Depending on your Linux Distribution, you may need to install other
development packages. Typically it is recommended to install the
entire development group like ``dnf groupinstall "Development
Tools"``
Once these dependencies are installed, you can obtain and build the source code as follows: Once these dependencies are installed, you can obtain and build the
source code as follows:
Release Tarball Release Tarball
--------------- ---------------
When the Warewulf project releases stable versions, they are available via source form here: When the Warewulf project releases stable versions, they are available
via source form here:
`https://github.com/hpcng/warewulf/tags <https://github.com/hpcng/warewulf/tags/>`_ `https://github.com/hpcng/warewulf/tags <https://github.com/hpcng/warewulf/tags/>`_
Select the version you wish to install and download the tarball to any location on the server, then follow these directions making the appropriate substitutions: Select the version you wish to install and download the tarball to any
location on the server, then follow these directions making the
appropriate substitutions:
.. code-block:: bash .. code-block:: bash

View File

@@ -10,8 +10,8 @@ IPMI Settings
============= =============
The common settings for the IPMI interfaces on all nodes can be set on The common settings for the IPMI interfaces on all nodes can be set on
a Profile level. The only field that would need to be assigned to a Profile level. The only field that would need to be assigned to each
each individual node would be the IP address. individual node would be the IP address.
The settings are only written to the IPMI interface if ``--ipmiwrite`` The settings are only written to the IPMI interface if ``--ipmiwrite``
is set to `true`. The write process happens at every boot of the node is set to `true`. The write process happens at every boot of the node
@@ -22,8 +22,8 @@ If an individual node has different settings, you can set the IPMI
settings for that specific node, overriding the default settings. settings for that specific node, overriding the default settings.
Here is a table outlining the fields on a Profile and Node which is Here is a table outlining the fields on a Profile and Node which is
the same as the parameter that can be used when running `wwctl profile the same as the parameter that can be used when running ``wwctl
set` or `wwctl node set`. profile set`` or ``wwctl node set``.
+--------------------+---------+------+--------------------+---------------+ +--------------------+---------+------+--------------------+---------------+
| Parameter | Profile | Node | Valid Values | Default Value | | Parameter | Profile | Node | Valid Values | Default Value |
@@ -175,4 +175,6 @@ Console
If your node is setup to use serial over lan (SOL), Warewulf can If your node is setup to use serial over lan (SOL), Warewulf can
connect a console to the node. connect a console to the node.
``sudo wwctl node console n001`` .. code-block:: console
# wwctl node console n001

View File

@@ -37,7 +37,7 @@ System or wwinit overlay
------------------------ ------------------------
This overlay contains all the nesscesary scripts to provision a This overlay contains all the nesscesary scripts to provision a
Warewulf node. It is available before the `systemd` or other init is Warewulf node. It is available before the ``systemd`` or other init is
called and contains all configurations which are needed to bring up called and contains all configurations which are needed to bring up
the compute node. It is not updated during run time. Besides the the compute node. It is not updated during run time. Besides the
network configurations for network configurations for
@@ -47,9 +47,9 @@ network configurations for
* EL legacy network scripts * EL legacy network scripts
it also contains udev rules, which will set the interface name of the it also contains udev rules, which will set the interface name of the
first network device to `eth0`. Before the `systemd` init is called, first network device to ``eth0``. Before the ``systemd`` init is
the overlay loops through the scripts in `/wwinit/warwulf/init.d/*` called, the overlay loops through the scripts in
which will setup ``/wwinit/warwulf/init.d/*`` which will setup
* Ipmi * Ipmi
* wwclient * wwclient
@@ -58,34 +58,35 @@ which will setup
Runtime Overlay or generic Overlay Runtime Overlay or generic Overlay
---------------------------------- ----------------------------------
The runtime overlay is updated by the `wwclient` service on a regular The runtime overlay is updated by the ``wwclient`` service on a
basis (by default, once per minute). In the standard configuration it regular basis (by default, once per minute). In the standard
includes updates for `/etc/passwd`, `/etc/group` and configuration it includes updates for ``/etc/passwd``, ``/etc/group``
`/etc/hosts`. Additionally the `authorized_keys` file of the root user and ``/etc/hosts``. Additionally the ``authorized_keys`` file of the
is updated. It is recommended to use this overlay for dynamic root user is updated. It is recommended to use this overlay for
configuration files like `slurm.conf`. Once the system is provisioned dynamic configuration files like ``slurm.conf``. Once the system is
and booted, the ``wwclient`` program (which is provisioned as part of provisioned and booted, the ``wwclient`` program (which is provisioned
the ``wwinit`` system overlay) will continuously update the node with as part of the ``wwinit`` system overlay) will continuously update the
updates in the runtime overlay. node with updates in the runtime overlay.
Host Overlay Host Overlay
------------ ------------
Configuration files used for the configuration of the Warewulf host / Configuration files used for the configuration of the Warewulf host /
server are stored in the **host** overlay. Unlike other overlays, it server are stored in the **host** overlay. Unlike other overlays, it
*must* have the name `host`. Existing files on the host are copied to *must* have the name ``host``. Existing files on the host are copied
backup files with a `wwbackup` suffix at the first run. (Subsequent to backup files with a ``wwbackup`` suffix at the first
use of the host overlay won't overwrite existing `wwbackup` files.) run. (Subsequent use of the host overlay won't overwrite existing
``wwbackup`` files.)
The following services get configuration files via the host overlay: The following services get configuration files via the host overlay:
* ssh keys are created with the scrips `ssh_setup.sh` and * ssh keys are created with the scrips ``ssh_setup.sh`` and
`ssh_setup.csh` ``ssh_setup.csh``
* hosts entries are created by manipulating `/etc/hosts` with the * hosts entries are created by manipulating ``/etc/hosts`` with the
template `hosts.ww` template ``hosts.ww``
* nfs kernel server receives its exports from the template * nfs kernel server receives its exports from the template
`exports.ww` ``exports.ww``
* the dhcpd service is configured with `dhcpd.conf.ww` * the dhcpd service is configured with ``dhcpd.conf.ww``
Combining Overlays Combining Overlays
================== ==================
@@ -94,11 +95,11 @@ When changing the overlays, it is recommended not to change them, but
to add the changed files to a new overlay and combine them in the to add the changed files to a new overlay and combine them in the
configuration. This is possible as the configuration fields for the configuration. This is possible as the configuration fields for the
**wwinit** and **runtime** overlays are lists and can contain several **wwinit** and **runtime** overlays are lists and can contain several
overlays. As an example for this, we will overwrite the `/etc/issue` overlays. As an example for this, we will overwrite the
file from the **wwinit** overlay. For this we will create a new ``/etc/issue`` file from the **wwinit** overlay. For this we will
overlay called welcome and import the file `/etc/issue` from the host create a new overlay called welcome and import the file ``/etc/issue``
to it. This overlay is then combined with the existing **wwinit** from the host to it. This overlay is then combined with the existing
overlay. **wwinit** overlay.
.. code-block:: console .. code-block:: console
@@ -155,14 +156,14 @@ Without any arguments the command will interpret the templates for all
overlays for every compute node and also all the templates in the host overlays for every compute node and also all the templates in the host
overlay. For every overlay of the compute nodes a gzip compressed cpio overlay. For every overlay of the compute nodes a gzip compressed cpio
archive is created. The range of the nodes can be restricted as the archive is created. The range of the nodes can be restricted as the
last argument. With the `-H` flag only the host overlay is last argument. With the ``-H`` flag only the host overlay is
built. With the `-N` flag only compute node overlays are built. With the ``-N`` flag only compute node overlays are
built. Specific overlays can be selected with `-O` flag. For debugging built. Specific overlays can be selected with ``-O`` flag. For
purposes the templates can be written to a directory given via the debugging purposes the templates can be written to a directory given
`-o` flag. via the ``-o`` flag.
By default Warewulf will build/update and cache overlays as needed By default Warewulf will build/update and cache overlays as needed
(configurable in the `warewulf.conf`). (configurable in the ``warewulf.conf``).
Chmod Chmod
----- -----
@@ -201,10 +202,10 @@ Delete
wwctl overlay delete [-f,--force] overlay-name [File [File ...]] wwctl overlay delete [-f,--force] overlay-name [File [File ...]]
Either the given overlay is deleted (must be empty or use the `--force Either the given overlay is deleted (must be empty or use the
flag`) or the specified file within the overlay is deleted. With the ``--force`` flag) or the specified file within the overlay is
`--parents` flag the directory of the deleted file is also removed if deleted. With the ``--parents`` flag the directory of the deleted file
no other file is in the directory. is also removed if no other file is in the directory.
Edit Edit
---- ----
@@ -213,8 +214,8 @@ Edit
wwctl overlay edit [--mode,-m MODE|--parents,p] overlay-name file wwctl overlay edit [--mode,-m MODE|--parents,p] overlay-name file
Use this command to edit an existing or a new file in the given Use this command to edit an existing or a new file in the given
overlay. If a the new file ends with a `.ww` suffix an example overlay. If a the new file ends with a ``.ww`` suffix an example
template header is added to the file. With the `--parents` flag template header is added to the file. With the ``--parents`` flag
necessary parent directories for a new file are created. necessary parent directories for a new file are created.
Import Import
@@ -225,8 +226,8 @@ Import
The given file is imported to the overlay. If no new-file-name is The given file is imported to the overlay. If no new-file-name is
given, the file will be placed in the overlay at the same path as on given, the file will be placed in the overlay at the same path as on
the host. With the `--noupdate` flag you can block the rebuild of the the host. With the ``--noupdate`` flag you can block the rebuild of
overlays. the overlays.
List List
---- ----
@@ -237,9 +238,9 @@ List
With this command all existing overlays and files in them can be With this command all existing overlays and files in them can be
listed. Without any option only the overlay names and their number of listed. Without any option only the overlay names and their number of
files are listed. With the `--all` switch also the every file is files are listed. With the ``--all`` switch also the every file is
shown. The `--long` option will also display the permissions, UID, and shown. The ``--long`` option will also display the permissions, UID,
GID of each file. and GID of each file.
Show Show
---- ----
@@ -249,7 +250,7 @@ Show
wwctl overlay show [--quiet,-q|--render,-r nodename] overlay-name file wwctl overlay show [--quiet,-q|--render,-r nodename] overlay-name file
The content of the file for the given overlay is displayed with this The content of the file for the given overlay is displayed with this
command. With the `--render` option a template is rendered as it will command. With the ``--render`` option a template is rendered as it
be rendered for the given node. The node name is a mandatory argument will be rendered for the given node. The node name is a mandatory
to the `--render` flag. Additional information for the file can be argument to the ``--render`` flag. Additional information for the file
suppressed with the `--quiet` option. can be suppressed with the ``--quiet`` option.

View File

@@ -65,7 +65,7 @@ iterate over elements of an array and decrement ``i`` each loop cycle
Access Tag Access Tag
---------- ----------
Acces the value of an individual tag `foo` Acces the value of an individual tag ``foo``
.. code-block:: go .. code-block:: go
@@ -78,7 +78,7 @@ Create Multiple Files
--------------------- ---------------------
The following template will create a file called The following template will create a file called
`ifcfg-NETWORKNAME.xml` for every network present on the node ``ifcfg-NETWORKNAME.xml`` for every network present on the node
.. code-block:: go .. code-block:: go
@@ -196,9 +196,10 @@ Nobackup
^^^^^^^^ ^^^^^^^^
If a file exists on the target, a backup file is written with the If a file exists on the target, a backup file is written with the
suffix `.wwbackup`. This only happens for the `host` overlay, as suffix ``.wwbackup``. This only happens for the ``host`` overlay, as
e.g. the `/etc/hosts` exists on the host. If this is not the intended e.g. the ``/etc/hosts`` exists on the host. If this is not the
behavior, the ``{{ nobackup }}`` flag can be added to a template. intended behavior, the ``{{ nobackup }}`` flag can be added to a
template.
Split Split
^^^^^ ^^^^^

View File

@@ -62,9 +62,9 @@ address of your cluster's private network interface:
.. note:: .. note::
The DHCP range ends at `192.168.200.99` and as you will see below, The DHCP range ends at ``192.168.200.99`` and as you will see
the first node static IP address (post boot) is configured to below, the first node static IP address (post boot) is configured
`192.168.200.100`. to ``192.168.200.100``.
Start and enable the Warewulf service Start and enable the Warewulf service
===================================== =====================================
@@ -91,7 +91,7 @@ instructions.
If you just installed the system fresh and have SELinux enforcing, If you just installed the system fresh and have SELinux enforcing,
you may need to reboot the system at this stage to properly set the you may need to reboot the system at this stage to properly set the
contexts of the TFTP contents. After rebooting, you might also need contexts of the TFTP contents. After rebooting, you might also need
to run ``$ sudo restorecon -Rv /var/lib/tftpboot/`` if there are to run ``restorecon -Rv /var/lib/tftpboot/`` if there are
errors with TFTP still. errors with TFTP still.
Pull and build the VNFS container and kernel Pull and build the VNFS container and kernel