opsipxeconfd service

The opsipxeconfd service on the opsi depot server uses named pipes for clients initiating via PXE boot (as detailed in the chapter DHCP Server/PXE Boot). These named pipes are a key component in providing a unique configuration for each client. Initially, when these pipes are created, they remain empty until a client initiates a read request. It is at this point that the named pipes are dynamically populated with the specific data tailored for that client. After the data is read by the client, the named pipes are subsequently deleted.

This approach allows for a flexible and temporary configuration of clients using named pipes, eliminating the need for permanently storing files or configuration data on the client side.

Configuration

You can configure the opsipxeconfd service through various methods: by editing the configuration file at /etc/opsi/opsipxeconfd.conf, by setting environment variables, or by using command line parameters when launching the service. The order of precedence for these configurations is as follows:

  1. Settings specified in the configuration file override the default settings.

  2. Environment variables override the settings in the configuration file.

  3. Command line parameters take precedence over environment variables.

To view all the available configuration options for opsipxeconfd, you can enter the following command in a terminal window:
opsipxeconfd --help
...
--pxe-conf-template PXECONFTEMPLATE
                              Location of the pxe config template. [env var:
                              OPSIPXECONFD_PXE_CONF_TEMPLATE] (default:
                              /tftpboot/opsi/opsi-linux-bootimage/cfg/install-x64)
...

The command line parameter name (for example, --pxe-conf-template) corresponds to the associated environment variable in capital letters (in this case, OPSIPXECONFD_PXE_CONF_TEMPLATE). If you take a look at the configuration file, you will notice that the same option is referred to as pxe config template.

  • In the configuration file /etc/opsi/opsipxeconfd.conf, you will find, for example:

pxe config template = /tftpboot/opsi/opsi-linux-bootimage/cfg/install-x64
  • This is how it is set up via the environment variable:

OPSIPXECONFD_PXE_CONF_TEMPLATE=" /tftpboot/opsi/opsi-linux-bootimage/cfg/install-x64"
  • The execution via command line is formatted as follows:

opsipxeconfd --pxe-conf-template /tftpboot/opsi/opsi-linux-bootimage/cfg/install-x64
Typically, you can apply changes made to the configuration while the system is running by using the command opsipxeconfd reload.

Command Line Commands

In addition to the previously mentioned commands, opsipxeconfd supports several additional commands. For instance, opsipxeconfd status is used to check connections. To update the boot configuration of a client, use the following command:

opsipxeconfd update <clientId>

To update the boot configuration of a client from a specific cache file:

opsipxeconfd update <clientID> <path-to-cache-file>

Normally, systemd takes care of starting and stopping the service. It is also possible to stop (opsipxeconfd stop) or start (opsipxeconfd start) the service manually.