qmi.core.config_defs

Definitions of data structures for QMI configuration data.

Classes

CfgContext(**kwargs)

Configuration of a QMI context.

CfgLogging(**kwargs)

Configuration of QMI logging policy.

CfgProcessHost(**kwargs)

Configuration of process management for a specific host.

CfgProcessManagement(**kwargs)

Configuration of process management.

CfgQmi(**kwargs)

Top-level QMI configuration structure.

class qmi.core.config_defs.CfgLogging(**kwargs: Any)

Configuration of QMI logging policy.

loglevel

Log level.

Type:

str

console_loglevel

Log level for logging to console.

Type:

str

logfile

Name of QMI log file, relative to QMI home directory.

Type:

str

loglevels

Optional {<logger>, <level>} mapping from logger name to specific log level for that logger.

Type:

dict[str, str]

rate_limit

Maximum number of log messages per second when logging to file.

Type:

float | None

burst_limit

Maximum number of log messages than can be logged to file in a short burst.

Type:

int

max_bytes

Maximum size of a log file in bytes. Default is 10GB = 10 * 2**30.

Type:

int

backup_count

Number of backup files to be used. Default is 5.

Type:

int

class qmi.core.config_defs.CfgContext(**kwargs: Any)

Configuration of a QMI context.

host

IP address where the context runs (required if the context accepts peer connections).

Type:

str | None

tcp_server_port

TCP port for incoming peer connections (or None, to disable incoming connections).

Type:

int | None

connect_to_peers

List of peer contexts to connect to.

Type:

list[str]

enabled

True to start this context via QMI process management.

Type:

bool

program_module

Python module to invoke as main script.

Type:

str | None

program_args

Optional arguments passed when starting this context.

Type:

list[str]

python_path

Optional Python search path (overrides $PYTHONPATH).

Type:

str | None

virtualenv_path

Optional path to virtual environment to activate.

Type:

str | None

class qmi.core.config_defs.CfgProcessHost(**kwargs: Any)

Configuration of process management for a specific host.

logdir

Directory for output logs from managed processes.

server_command

Command to run on the host for remote process management.

Type:

str | None

ssh_host

Optional host name to pass to SSH to access this host (default: host address).

Type:

str | None

ssh_user

Optional user name to pass to SSH to access this host (default: current user).

Type:

str | None

class qmi.core.config_defs.CfgProcessManagement(**kwargs: Any)

Configuration of process management.

output_dir

Directory for output logs from managed processes.

Type:

str | None

hosts

Mapping from host address to process management configuration for that host.

Type:

dict[str, qmi.core.config_defs.CfgProcessHost]

class qmi.core.config_defs.CfgQmi(**kwargs: Any)

Top-level QMI configuration structure.

config_file

Absolute path name of the configuration file.

Type:

str | None

workgroup

Name of the QMI workgroup.

Type:

str

qmi_home

QMI home directory (or None to derive the home directory from environment settings).

Type:

str | None

log_dir

Directory to write various log files (or None to use the QMI home directory).

Type:

str | None

datastore

Location of the DataStore repository.

Type:

str | None

logging

Logging configuration.

Type:

qmi.core.config_defs.CfgLogging

contexts

Mapping from context name to configuration for that context.

Type:

dict[str, qmi.core.config_defs.CfgContext]

process_management

Process management configuration.

Type:

qmi.core.config_defs.CfgProcessManagement