# &daemon;

&daemon;

8

&daemon;

&deamondesc;

                &daemon;
                OPTIONS

## Description

`&daemon;` is a system daemon that can be used to automatically connect to NVMe-oF I/O Controllers using the discovery log pages collected by

stafd

8 . It can also be manually configured with

&daemon;.conf

5 to connect to I/O Controllers that otherwise cannot be found automatically.

## Options

The following options are understood:

`-fFILE`

`--conf-file=FILE`

- Specify a different configuration file than

  &daemon;.conf

  5 (default: `/etc/stas/&daemon;.conf`).

`-s`

`--syslog`

- Send messages to syslog instead of stdout. Use this when running &daemon; as a daemon. (default: `false`).

`--tron`

- Trace ON. (default: `false`)

`--idl=FILE`

- Print D-Bus IDL to FILE and exit.

## Exit status

On success, 0 is returned, a non-zero failure code otherwise.

## Daemonization

&daemon; is managed by `systemd`. The following operations are supported:

Command | Description
    $ systemctl start &daemon;
| Start daemon.
    $ systemctl stop &daemon;
| Stop daemon. The `SIGTERM` signal is used to tell the daemon to stop.
    $ systemctl restart &daemon;
| Effectively a `stop` + `start`.
    $ systemctl reload &daemon;
| Reload configuration. This is done in real time without restarting the daemon. The `SIGHUP` signal is used to tell the daemon to reload its configuration file. Note that configuration parameters that affect connections (e.g. `kato`), will not apply to existing connections. Only connections established after the configuration was changed will utilize the new configuration parameters.

## Design

`&daemon;` use the `GLib` main loop. The `GLib` Python module provides several low-level building blocks that `&daemon;` requires. In addition, many Python modules "play nice" with `GLib` such as `dasbus` (D-Bus package) and `pyudev` (UDev package). `GLib` also provides additional components such as timers, signal handlers, and much more.

## Configuration

`&daemon;` can automatically set up the I/O connections to discovered storage subsystems. However, `&daemon;` can also operate in a non-automatic mode based on manually entered configuration. In other words, storage subsystems can be entered in a configuration file named `/etc/stas/&daemon;.conf`. This configuration file also provides additional parameters, as log-level attributes used for debugging purposes.

## D-Bus API

The interface to `&daemon;` is D-Bus. This allows other programs, such as `&control;`, to communicate with `&daemon;`. The D-Bus address is `org.nvmexpress.stac`.

## See Also

&daemon;.conf

5 ,

&daemon;.service

8 ,

stacctl

1 ,

stafd

8 ,

org.nvmexpress.stac

5 .