Name

confd — command to start and control the ConfD daemon

Synopsis

confd [--conf ConfFile] [--cd Dir] [--libdir LibDir] [--addloadpath Dir] [--nolog ] [--smp Nr] [ --foreground [ -v | --verbose ] [--stop-on-eof] ] [--ignore-initial-validation ] [--full-upgrade-validation ] [--start-phase0 ] [ --epoll { true | false } ]

confd { --wait-phase0[ TryTime] | --start-phase1 | --start-phase2 | --wait-started[ TryTime] | --clear-aaa-cache | --reload | --areload | --status | --check-callbacks [ Namespace | Path ] | --loadfile File | --rollback Nr | --debug-dump File | --cli-j-dump File | --cli-i-dump File | --cli-c-dump File | --cli-check-templates | --loadxmlfiles File... | --mergexmlfiles File... | --cdb-backup File | --stop } [--timeout MaxTime]

confd { --version | --cdb-debug-dump Directory | --printlog BaseFileName | --set-snmp-engine-boots Nr }

DESCRIPTION

Use this command to start and control the ConfD daemon.

STARTING CONFD

These options are relevant when starting the ConfD daemon.

-c, --conf ConfFile

ConfFile is the path to a confd.conf file. The default location is defined when ConfD is installed, typically /etc/confd/confd.conf.

--cd Dir

Change working directory

-l, --libdir LibDir

LibDir is where the ConfD helper libraries are found. The default location is defined when ConfD is installed. The use of this flag is deprecated since confd figures out this information automatically, and using the confd command with LibDir from a different version of ConfD is not supported.

--addloadpath Dir

Add Dir to the set of directories ConfD uses to load fxs, clispec and, optionally, bin files.

--nolog

Do not log initial startup messages to syslog.

--smp Nr

Number of threads to run for Symmetric Multiprocessing (SMP). The default is 1, i.e. no SMP support. A value bigger than 1 will enable SMP support, where ConfD will at any given time use at most as many logical processors as the number of threads. The SMP behavior can also be affected by removing one of the two ConfD daemon executables from the installation, see the section Installing ConfD on a target system in the Advanced Topics chapter in the User Guide for the details of this.

--foreground [ -v | --verbose ] [ --stop-on-eof ]

Do not start as a daemon. Can be used to start ConfD from a process manager. In combination with -v or --verbose, all log messages are printed to stdout. Useful during development. In combination with --stop-on-eof, ConfD will stop if it receives EOF (ctrl-d) on standard input. Note that to stop ConfD when run in foreground, send EOF (if --stop-on-eof was used) or use confd --stop. Do not terminate with ctrl-c, since ConfD in that case won't have the chance to close the database files.

--ignore-initial-validation

When CDB starts on an empty database, or when upgrading, it starts a transaction to load the initial configuration or perform the upgrade. This option makes ConfD skip any validation callpoints when committing these initial transaction. (The preferred alternative is to use start-phases and register the validation callpoints in phase 0, see the user guide).

--full-upgrade-validation

Perform a full validation of the entire database if the data models have been upgraded. This is useful in order to trigger external validation to run even if the database content has not been modified.

--start-phase0

Start the daemon, but only start internal subsystems and CDB. Phase 0 is used when a controlled upgrade is done.

--epoll { true | false }

Determines whether ConfD should use an enhanced poll() function (e.g. Linux epoll(7)). This can improve performance when ConfD has a high number of connections, but there may be issues with the implementation in some OS/kernel versions. The default is false.

COMMUNICATING WITH CONFD

When the ConfD daemon has been started, these options are used to communicate with the running daemon.

By default these options will perform their function by connecting to a running ConfD daemon over the loopback interface on the standard port. If the environment variable CONFD_IPC_PORT and/or CONFD_IPC_ADDR are set then the address/port in those variables will be used to communicate with the ConfD daemon. (Must be used if the daemon is not listening on its standard port on localhost, see the /confdConfig/confdIpcAddress/ip setting in the confd.conf(5) man-page, and the section on ConfD IPC in the ConfD Users Guide).

--wait-phase0 [ TryTime ]

This call hangs until ConfD has initialized start phase0. After this call has returned, it is safe to register validation callbacks, upgrade CDB etc. This function is useful when ConfD has been started with --foreground and --start-phase0. It will keep trying the initial connection to ConfD for at most TryTime seconds (default 5).

For an equivalent C function see maapi_wait_start() in confd_lib_maapi(3).

--start-phase1

Do not start the subsystems that listen to the management IP address. Must be called after the daemon was started with --start-phase0.

For an equivalent C function see maapi_start_phase() in confd_lib_maapi(3).

--start-phase2

Must be called after the management interface has been brought up, if --start-phase1 has been used. Starts the subsystems that listens to the management IP address.

For an equivalent C function see maapi_start_phase() in confd_lib_maapi(3).

--wait-started [ TryTime ]

This call hangs until ConfD is completely started. This function is useful when ConfD has been started with --foreground. It will keep trying the initial connection to ConfD for at most TryTime seconds (default 5).

For an equivalent C function see maapi_wait_start() in confd_lib_maapi(3).

--clear-aaa-cache

Clear the ConfD AAA cache. When the AAA namespace is stored outside ConfD, for example through the confd_aaa_bridge.c program, ConfD must be notified when there is new AAA data to be read. ConfD caches all AAA data and this command will force ConfD to reload the AAA cache.

For an equivalent C function see maapi_aaa_reload() in confd_lib_maapi(3).

--reload

Reload the ConfD daemon configuration. All log files are closed and reopened, which means that confd --reload can be used from e.g. logrotate(8) - however it is preferable to use maapi_reopen_logs() for this, see confd_lib_maapi(3). maapi_reopen_logs() can also be invoked via confd_cmd -c reopen_logs, see confd_cmd(1).

For an equivalent C function see maapi_reload_config() in confd_lib_maapi(3).

Note

If we update a .fxs file, it is not enough to do a reload; the daemon has to be restarted, or the procedure described in the In-service Data Model Upgrade chapter in the User Guide has to be used.

--areload

Asynchronously reload the ConfD daemon configuration. This can be used in scripts executed by the ConfD daemon.

For an equivalent C function see maapi_reload_config() in confd_lib_maapi(3).

--stop

Stop the ConfD daemon.

For an equivalent C function see maapi_stop() in confd_lib_maapi(3).

--status

Prints status information about the ConfD daemon on stdout. Among the things listed are: loaded namespaces, current user sessions, callpoints (and whether they are registered or not), CDB status, and the current start-phase. Start phases are reported as "status:" and can be one of starting (which is pre-phase0), phase0, phase1, started (i.e. phase2), or stopping (which means that ConfD is about to shutdown).

--debug-dump File

Dump debug information from an already running ConfD daemon into a file. The file only makes sense to ConfD developers. It is often a good idea to include a debug dump in ConfD trouble reports.

--cli-j-dump File

Dump cli structure information from the ConfD daemon into a file.

--cli-i-dump File

Dump cli structure information from the ConfD daemon into a file.

--cli-c-dump File

Dump cli structure information from the ConfD daemon into a file.

--cli-check-templates

Walks through the entire data tree and validates all templates and verifies that all paths in the templates are valid.

--check-callbacks [Namespace | Path]

Walks through the entire data tree (config and stat), or only the Namespace or Path, and verifies that all read-callbacks are implemented for all elements, and verifies their return values.

--loadfile File

Load configuration in curly bracket format from File.

--rollback Nr

Rollback configuration to saved configuration number Nr.

--loadxmlfiles File ...

Load configuration in XML format from Files. The configuration is completely replaced by the contents in Files.

--mergexmlfiles File ...

Load configuration in XML format from Files. The configuration is merged with the contents in Files. The XML may use the 'operation' attribute, in the same way as it is used in a NETCONF <edit-config> operation.

--cdb-backup File

Save a snapshot of the CDB database into a GZipp:ed tar archive file (given by the File argument). If the File argument is a relative path, the file will be saved relative the ConfD daemon's current working directory. Only configuration data stored in CDB is saved (persistent CDB operational data is not). Note: if the database is locked for writing, the command will fail.

--timeout MaxTime

Specify the maximum time to wait for the ConfD daemon to complete the command, in seconds. If this option is not given, no timeout is used.

STANDALONE OPTIONS

--cdb-debug-dump Directory

Print a lot of information about the CDB files in Directory to stdout. This is a completely stand-alone feature and the only thing needed is the .cdb files (no running ConfD daemon or .fxs files etc).

--version

Reports the ConfD version without interacting with the daemon.

--printlog BaseFileName

Print the contents of the ConfD errorLog. This is normally only useful for Tail-f support and developers, since the information pertains to internal details of the ConfD software components, but it may also be relevant for Erlang application code executed internally in ConfD. The argument is the name as specified by /confdConfig/logs/errorLog/filename, i.e. without the .idx, .1 etc suffixes.

--set-snmp-engine-boots Nr

Set the initial value, or override the previous value for the snmpEngineBoots counter object. After invoking ConfD with this option and (re-)starting ConfD the counter's value will be Nr + 1. This is potentially useful if an SNMP Agent implementation is being replaced by ConfD, using the same snmpEngineId as the previous agent implementation, and not wanting to clear the snmpEngineBoots counter for SNMP managers that have been communicating with the old Agent using SNMP v3. Invoking ConfD with this option must be done with /confdConfig/stateDir as working directory.

--timeout MaxTime

See above.

DIAGNOSTICS

If ConfD starts, the exit status is 0. If not it is a positive integer. The different meanings of the different exit codes are documented in the Advanced topics chapter in the user guide. When failing to start, the reason is normally given in the ConfD daemon log. The location of the daemon log is specified in the ConfFile as described in confd.conf(5).

SEE ALSO

confd.conf(5) - ConfD daemon configuration file format