# Octavia Configuration Options

## DEFAULT

host
  Type:

    hostname

  Default:

    `<server-hostname.example.com>`

  This option has a sample default set, which means that its actual default value may vary from the one documented above.

  The hostname Octavia is running on

octavia_plugins
  Type:

    string

  Default:

    `hot_plug_plugin`

  Name of the controller plugin to use

log_options
  Type:

    boolean

  Default:

    `True`

  Mutable:

    This option can be changed without restarting.

  Enables or disables logging values of all registered options when starting a service (at DEBUG level).

graceful_shutdown_timeout
  Type:

    integer

  Default:

    `60`

  Mutable:

    This option can be changed without restarting.

  Specify a timeout after which a gracefully shutdown server will exit. Zero value means endless wait.

debug
  Type:

    boolean

  Default:

    `False`

  Mutable:

    This option can be changed without restarting.

  If set to true, the logging level will be set to DEBUG instead of the default INFO level.

log_config_append
  Type:

    string

  Default:

    `<None>`

  Mutable:

    This option can be changed without restarting.

  The name of a logging configuration file. This file is appended to any existing logging configuration files. For details about logging configuration files, see the Python logging module documentation. Note that when logging configuration files are used then all logging configuration is set in the configuration file and other logging configuration options are ignored (for example, log-date-format).

  Deprecated Variations
  Group | Name
  --- | ---
  DEFAULT | log-config
  DEFAULT | log_config

log_date_format
  Type:

    string

  Default:

    `%Y-%m-%d %H:%M:%S`

  Defines the format string for %(asctime)s in log records. Default: the value above . This option is ignored if log_config_append is set.

log_file
  Type:

    string

  Default:

    `<None>`

  (Optional) Name of log file to send logging output to. If no default is set, logging will go to stderr as defined by use_stderr. This option is ignored if log_config_append is set.

  Deprecated Variations
  Group | Name
  --- | ---
  DEFAULT | logfile

log_dir
  Type:

    string

  Default:

    `<None>`

  (Optional) The base directory used for relative log_file paths. This option is ignored if log_config_append is set.

  Deprecated Variations
  Group | Name
  --- | ---
  DEFAULT | logdir

watch_log_file
  Type:

    boolean

  Default:

    `False`

  Uses logging handler designed to watch file system. When log file is moved or removed this handler will open a new log file with specified path instantaneously. It makes sense only if log_file option is specified and Linux platform is used. This option is ignored if log_config_append is set.

  Warning

  This option is deprecated for removal. Its value may be silently ignored in the future.

  Reason:

    This function is known to have bene broken for long time, and depends on the unmaintained library

use_syslog
  Type:

    boolean

  Default:

    `False`

  Use syslog for logging. Existing syslog format is DEPRECATED and will be changed later to honor RFC5424. This option is ignored if log_config_append is set.

use_journal
  Type:

    boolean

  Default:

    `False`

  Enable journald for logging. If running in a systemd environment you may wish to enable journal support. Doing so will use the journal native protocol which includes structured metadata in addition to log messages.This option is ignored if log_config_append is set.

syslog_log_facility
  Type:

    string

  Default:

    `LOG_USER`

  Syslog facility to receive log lines. This option is ignored if log_config_append is set.

use_json
  Type:

    boolean

  Default:

    `False`

  Use JSON formatting for logging. This option is ignored if log_config_append is set.

use_stderr
  Type:

    boolean

  Default:

    `False`

  Log output to standard error. This option is ignored if log_config_append is set.

log_color
  Type:

    boolean

  Default:

    `False`

  (Optional) Set the ‘color’ key according to log levels. This option takes effect only when logging to stderr or stdout is used. This option is ignored if log_config_append is set.

log_rotate_interval
  Type:

    integer

  Default:

    `1`

  The amount of time before the log files are rotated. This option is ignored unless log_rotation_type is set to “interval”.

log_rotate_interval_type
  Type:

    string

  Default:

    `days`

  Valid Values:

    Seconds, Minutes, Hours, Days, Weekday, Midnight

  Rotation interval type. The time of the last file change (or the time when the service was started) is used when scheduling the next rotation.

max_logfile_count
  Type:

    integer

  Default:

    `30`

  Maximum number of rotated log files.

max_logfile_size_mb
  Type:

    integer

  Default:

    `200`

  Log file maximum size in MB. This option is ignored if “log_rotation_type” is not set to “size”.

log_rotation_type
  Type:

    string

  Default:

    `none`

  Valid Values:

    interval, size, none

  Log rotation type.

  Possible values

  interval

    Rotate logs at predefined time intervals.

  size

    Rotate logs once they reach a predefined size.

  none

    Do not rotate log files.

logging_context_format_string
  Type:

    string

  Default:

    `%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(global_request_id)s %(request_id)s %(user_identity)s] %(instance)s%(message)s`

  Format string to use for log messages with context. Used by oslo_log.formatters.ContextFormatter

logging_default_format_string
  Type:

    string

  Default:

    `%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s`

  Format string to use for log messages when context is undefined. Used by oslo_log.formatters.ContextFormatter

logging_debug_format_suffix
  Type:

    string

  Default:

    `%(funcName)s %(pathname)s:%(lineno)d`

  Additional data to append to log message when logging level for the message is DEBUG. Used by oslo_log.formatters.ContextFormatter

logging_exception_prefix
  Type:

    string

  Default:

    `%(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s`

  Prefix each line of exception output with this format. Used by oslo_log.formatters.ContextFormatter

logging_user_identity_format
  Type:

    string

  Default:

    `%(user)s %(project)s %(domain)s %(system_scope)s %(user_domain)s %(project_domain)s`

  Defines the format string for %(user_identity)s that is used in logging_context_format_string. Used by oslo_log.formatters.ContextFormatter

default_log_levels
  Type:

    list

  Default:

    `['amqp=WARN', 'amqplib=WARN', 'boto=WARN', 'qpid=WARN', 'sqlalchemy=WARN', 'suds=INFO', 'oslo.messaging=INFO', 'oslo_messaging=INFO', 'iso8601=WARN', 'requests.packages.urllib3.connectionpool=WARN', 'urllib3.connectionpool=WARN', 'websocket=WARN', 'requests.packages.urllib3.util.retry=WARN', 'urllib3.util.retry=WARN', 'keystonemiddleware=WARN', 'routes.middleware=WARN', 'stevedore=WARN', 'taskflow=WARN', 'keystoneauth=WARN', 'oslo.cache=INFO', 'oslo_policy=INFO', 'dogpile.core.dogpile=INFO']`

  List of package logging levels in logger=LEVEL pairs. This option is ignored if log_config_append is set.

publish_errors
  Type:

    boolean

  Default:

    `False`

  Enables or disables publication of error events.

instance_format
  Type:

    string

  Default:

    `"[instance: %(uuid)s] "`

  The format for an instance that is passed with the log message.

instance_uuid_format
  Type:

    string

  Default:

    `"[instance: %(uuid)s] "`

  The format for an instance UUID that is passed with the log message.

rate_limit_interval
  Type:

    integer

  Default:

    `0`

  Interval, number of seconds, of log rate limiting.

rate_limit_burst
  Type:

    integer

  Default:

    `0`

  Maximum number of logged messages per rate_limit_interval.

rate_limit_except_level
  Type:

    string

  Default:

    `CRITICAL`

  Valid Values:

    CRITICAL, ERROR, INFO, WARNING, DEBUG, ‘’

  Log level name used by rate limiting. Logs with level greater or equal to rate_limit_except_level are not filtered. An empty string means that all levels are filtered.

fatal_deprecations
  Type:

    boolean

  Default:

    `False`

  Enables or disables fatal status of deprecations.

executor_thread_pool_size
  Type:

    integer

  Default:

    `64`

  Size of executor thread pool when executor is threading or eventlet.

  Deprecated Variations
  Group | Name
  --- | ---
  DEFAULT | rpc_thread_pool_size

rpc_response_timeout
  Type:

    integer

  Default:

    `60`

  Seconds to wait for a response from a call.

transport_url
  Type:

    string

  Default:

    `rabbit://`

  The network address and optional user credentials for connecting to the messaging backend, in URL format. The expected format is:

  driver://[user:pass@]host:port[,[userN:passN@]hostN:portN]/virtual_host?query

  Example: rabbit://rabbitmq:password@127.0.0.1:5672//

  For full details on the fields in the URL see the documentation of oslo_messaging.TransportURL at https://docs.openstack.org/oslo.messaging/latest/reference/transport.html

control_exchange
  Type:

    string

  Default:

    `octavia`

  The default exchange under which topics are scoped. May be overridden by an exchange name specified in the transport_url option.

rpc_ping_enabled
  Type:

    boolean

  Default:

    `False`

  Add an endpoint to answer to ping calls. Endpoint is named oslo_rpc_server_ping

## amphora_agent

agent_server_ca
  Type:

    string

  Default:

    `/etc/octavia/certs/client_ca.pem`

  The ca which signed the client certificates

agent_server_cert
  Type:

    string

  Default:

    `/etc/octavia/certs/server.pem`

  The server certificate for the agent server to use

agent_server_network_dir
  Type:

    string

  Default:

    `<None>`

  The directory where new network interfaces are located

agent_request_read_timeout
  Type:

    integer

  Default:

    `180`

  The time in seconds to allow a request from the controller to run before terminating the socket.

agent_tls_protocol
  Type:

    string

  Default:

    `TLSv1.2`

  Valid Values:

    SSLv3, TLSv1, TLSv1.1, TLSv1.2, TLSv1.3

  Minimum TLS protocol for communication with the amphora agent.

admin_log_targets
  Type:

    list

  Default:

    `<None>`

  List of log server ip and port pairs for Administrative logs. Additional hosts are backup to the primary server. If none is specified remote logging is disabled. Example 127.0.0.1:10514, 192.168.0.1:10514

tenant_log_targets
  Type:

    list

  Default:

    `<None>`

  List of log server ip and port pairs for tenant traffic logs. Additional hosts are backup to the primary server. If none is specified remote logging is disabled. Example 127.0.0.1:10514, 192.168.0.1:10514

user_log_facility
  Type:

    integer

  Default:

    `0`

  Minimum Value:

    0

  Maximum Value:

    7

  LOG_LOCAL facility number to use for user traffic logs.

administrative_log_facility
  Type:

    integer

  Default:

    `1`

  Minimum Value:

    0

  Maximum Value:

    7

  LOG_LOCAL facility number to use for amphora processes logs.

log_protocol
  Type:

    string

  Default:

    `UDP`

  Valid Values:

    TCP, UDP

  The log forwarding transport protocol. One of UDP or TCP.

log_retry_count
  Type:

    integer

  Default:

    `5`

  The maximum attempts to retry connecting to the logging host.

log_retry_interval
  Type:

    integer

  Default:

    `2`

  The time, in seconds, to wait between retries connecting to the logging host.

log_queue_size
  Type:

    integer

  Default:

    `10000`

  The queue size (messages) to buffer log messages.

logging_template_override
  Type:

    string

  Default:

    `<None>`

  Custom logging configuration template.

forward_all_logs
  Type:

    boolean

  Default:

    `False`

  When True, the amphora will forward all of the system logs (except tenant traffic logs) to the admin log target(s). When False, only amphora specific admin logs will be forwarded.

disable_local_log_storage
  Type:

    boolean

  Default:

    `False`

  When True, no logs will be written to the amphora filesystem. When False, log files will be written to the local filesystem.

amphora_id
  Type:

    string

  Default:

    `<None>`

  The amphora ID.

amphora_udp_driver
  Type:

    string

  Default:

    `keepalived_lvs`

  The UDP API backend for amphora agent.

  Warning

  This option is deprecated for removal since Wallaby. Its value may be silently ignored in the future.

  Reason:

    amphora-agent will not support any other backend than keepalived_lvs.

## api_settings

bind_host
  Type:

    ip address

  Default:

    `127.0.0.1`

  The host IP to bind to

bind_port
  Type:

    port number

  Default:

    `9876`

  Minimum Value:

    0

  Maximum Value:

    65535

  The port to bind to

auth_strategy
  Type:

    string

  Default:

    `keystone`

  Valid Values:

    noauth, keystone, testing

  The auth strategy for API requests.

allow_pagination
  Type:

    boolean

  Default:

    `True`

  Allow the usage of pagination

allow_sorting
  Type:

    boolean

  Default:

    `True`

  Allow the usage of sorting

allow_filtering
  Type:

    boolean

  Default:

    `True`

  Allow the usage of filtering

allow_field_selection
  Type:

    boolean

  Default:

    `True`

  Allow the usage of field selection

pagination_max_limit
  Type:

    string

  Default:

    `1000`

  The maximum number of items returned in a single response. The string ‘infinite’ or a negative integer value means ‘no limit’

api_base_uri
  Type:

    string

  Default:

    `<None>`

  Base URI for the API for use in pagination links. This will be autodetected from the request if not overridden here.

allow_tls_terminated_listeners
  Type:

    boolean

  Default:

    `True`

  Allow users to create TLS Terminated listeners?

allow_ping_health_monitors
  Type:

    boolean

  Default:

    `True`

  Allow users to create PING type Health Monitors?

allow_prometheus_listeners
  Type:

    boolean

  Default:

    `True`

  Allow users to create PROMETHEUS type listeners?

enabled_provider_drivers
  Type:

    dict

  Default:

    `{'amphora': 'The Octavia Amphora driver.', 'octavia': 'Deprecated alias of the Octavia Amphora driver.'}`

  A comma separated list of dictionaries of the enabled provider driver names and descriptions. Must match the driver name in the octavia.api.drivers entrypoint.

default_provider_driver
  Type:

    string

  Default:

    `amphora`

  Default provider driver.

udp_connect_min_interval_health_monitor
  Type:

    integer

  Default:

    `3`

  The minimum health monitor delay interval for the UDP-CONNECT Health Monitor type. A negative integer value means ‘no limit’.

healthcheck_enabled
  Type:

    boolean

  Default:

    `False`

  When True, the oslo middleware healthcheck endpoint is enabled in the Octavia API.

healthcheck_refresh_interval
  Type:

    integer

  Default:

    `5`

  The interval healthcheck plugins should cache results, in seconds.

default_listener_ciphers
  Type:

    string

  Default:

    `TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256`

  Default OpenSSL cipher string (colon-separated) for new TLS-enabled listeners.

default_pool_ciphers
  Type:

    string

  Default:

    `TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256`

  Default OpenSSL cipher string (colon-separated) for new TLS-enabled pools.

tls_cipher_prohibit_list
  Type:

    string

  Default:

    `''`

  Colon separated list of OpenSSL ciphers. Usage of these ciphers will be blocked.

  Deprecated Variations
  Group | Name
  --- | ---
  api_settings | tls_cipher_blacklist

default_listener_tls_versions
  Type:

    list

  Default:

    `['TLSv1.2', 'TLSv1.3']`

  List of TLS versions to use for new TLS-enabled listeners.

default_pool_tls_versions
  Type:

    list

  Default:

    `['TLSv1.2', 'TLSv1.3']`

  List of TLS versions to use for new TLS-enabled pools.

minimum_tls_version
  Type:

    string

  Default:

    `<None>`

  Valid Values:

    SSLv3, TLSv1, TLSv1.1, TLSv1.2, TLSv1.3, <None>

  Minimum allowed TLS version for listeners and pools.

default_listener_alpn_protocols
  Type:

    list

  Default:

    `['h2', 'http/1.1', 'http/1.0']`

  List of ALPN protocols to use for new TLS-enabled listeners.

default_pool_alpn_protocols
  Type:

    list

  Default:

    `['h2', 'http/1.1', 'http/1.0']`

  List of ALPN protocols to use for new TLS-enabled pools.

## audit

enabled
  Type:

    boolean

  Default:

    `False`

  Enable auditing of API requests

audit_map_file
  Type:

    string

  Default:

    `/etc/octavia/octavia_api_audit_map.conf`

  Path to audit map file for octavia-api service. Used only when API audit is enabled.

ignore_req_list
  Type:

    string

  Default:

    `''`

  Comma separated list of REST API HTTP methods to be ignored during audit. For example: auditing will not be done on any GET or POST requests if this is set to “GET,POST”. It is used only when API audit is enabled.

## certificates

cert_manager
  Type:

    string

  Default:

    `barbican_cert_manager`

  Name of the cert manager to use

cert_generator
  Type:

    string

  Default:

    `local_cert_generator`

  Name of the cert generator to use

barbican_auth
  Type:

    string

  Default:

    `barbican_acl_auth`

  Name of the Barbican authentication method to use

service_name
  Type:

    string

  Default:

    `<None>`

  The name of the certificate service in the keystone catalog

endpoint
  Type:

    string

  Default:

    `<None>`

  A new endpoint to override the endpoint in the keystone catalog.

region_name
  Type:

    string

  Default:

    `<None>`

  Region in Identity service catalog to use for communication with the barbican service.

endpoint_type
  Type:

    string

  Default:

    `publicURL`

  The endpoint_type to be used for barbican service.

ca_certificates_file
  Type:

    string

  Default:

    `<None>`

  CA certificates file path for the key manager service (such as Barbican).

insecure
  Type:

    boolean

  Default:

    `False`

  Disable certificate validation on SSL connections

ca_certificate
  Type:

    string

  Default:

    `/etc/ssl/certs/ssl-cert-snakeoil.pem`

  Absolute path to the CA Certificate for signing. Defaults to env[OS_OCTAVIA_TLS_CA_CERT].

ca_private_key
  Type:

    string

  Default:

    `/etc/ssl/private/ssl-cert-snakeoil.key`

  Absolute path to the Private Key for signing. Defaults to env[OS_OCTAVIA_TLS_CA_KEY].

ca_private_key_passphrase
  Type:

    string

  Default:

    `<None>`

  Passphrase for the Private Key. Defaults to env[OS_OCTAVIA_CA_KEY_PASS] or None.

server_certs_key_passphrase
  Type:

    string

  Default:

    `insecure-key-do-not-use-this-key`

  Passphrase for encrypting Amphora Certificates and Private Keys. Must be 32, base64(url) compatible, characters long. Defaults to env[TLS_PASS_AMPS_DEFAULT] or insecure-key-do-not-use-this-key

signing_digest
  Type:

    string

  Default:

    `sha256`

  Certificate signing digest. Defaults to env[OS_OCTAVIA_CA_SIGNING_DIGEST] or “sha256”.

cert_validity_time
  Type:

    integer

  Default:

    `2592000`

  The validity time for the Amphora Certificates (in seconds).

## cinder

service_name
  Type:

    string

  Default:

    `<None>`

  The name of the cinder service in the keystone catalog

endpoint
  Type:

    string

  Default:

    `<None>`

  A new endpoint to override the endpoint in the keystone catalog.

region_name
  Type:

    string

  Default:

    `<None>`

  Region in Identity service catalog to use for communication with the OpenStack services.

endpoint_type
  Type:

    string

  Default:

    `publicURL`

  Endpoint interface in identity service to use

ca_certificates_file
  Type:

    string

  Default:

    `<None>`

  CA certificates file path

availability_zone
  Type:

    string

  Default:

    `<None>`

  Availability zone to use for creating Volume

insecure
  Type:

    boolean

  Default:

    `False`

  Disable certificate validation on SSL connections

volume_size
  Type:

    integer

  Default:

    `16`

  Size of volume, in GB, for Amphora instance

volume_type
  Type:

    string

  Default:

    `<None>`

  Type of volume for Amphorae volume root disk

volume_create_retry_interval
  Type:

    integer

  Default:

    `5`

  Interval time to wait volume is created in available state

volume_create_timeout
  Type:

    integer

  Default:

    `300`

  Timeout to wait for volume creation success

volume_create_max_retries
  Type:

    integer

  Default:

    `5`

  Maximum number of retries to create volume

## compute

max_retries
  Type:

    integer

  Default:

    `15`

  The maximum attempts to retry an action with the compute service.

retry_interval
  Type:

    integer

  Default:

    `1`

  Seconds to wait before retrying an action with the compute service.

retry_backoff
  Type:

    integer

  Default:

    `1`

  The seconds to backoff retry attempts.

retry_max
  Type:

    integer

  Default:

    `10`

  The maximum interval in seconds between retry attempts.

## controller_worker

workers
  Type:

    integer

  Default:

    `1`

  Minimum Value:

    1

  Number of workers for the controller-worker service.

amp_active_retries
  Type:

    integer

  Default:

    `30`

  Retry attempts to wait for Amphora to become active

amp_active_wait_sec
  Type:

    integer

  Default:

    `10`

  Seconds to wait between checks on whether an Amphora has become active

amp_flavor_id
  Type:

    string

  Default:

    `''`

  Nova instance flavor id for the Amphora

amp_image_tag
  Type:

    string

  Default:

    `''`

  Glance image tag for the Amphora image to boot. Use this option to be able to update the image without reconfiguring Octavia.

amp_image_owner_id
  Type:

    string

  Default:

    `''`

  Restrict glance image selection to a specific owner ID. This is a recommended security setting.

amp_ssh_key_name
  Type:

    string

  Default:

    `''`

  Optional SSH keypair name, in nova, that will be used for the authorized_keys inside the amphora.

amp_timezone
  Type:

    string

  Default:

    `UTC`

  The timezone to use in the Amphora as represented in /usr/share/zoneinfo.

amp_boot_network_list
  Type:

    list

  Default:

    `''`

  List of networks to attach to the Amphorae. All networks defined in the list will be attached to each amphora.

amp_secgroup_list
  Type:

    list

  Default:

    `''`

  List of security groups to attach to the Amphora.

client_ca
  Type:

    string

  Default:

    `/etc/octavia/certs/ca_01.pem`

  Client CA for the amphora agent to use

amphora_driver
  Type:

    string

  Default:

    `amphora_haproxy_rest_driver`

  Name of the amphora driver to use

compute_driver
  Type:

    string

  Default:

    `compute_nova_driver`

  Name of the compute driver to use

network_driver
  Type:

    string

  Default:

    `allowed_address_pairs_driver`

  Name of the network driver to use

volume_driver
  Type:

    string

  Default:

    `volume_noop_driver`

  Valid Values:

    volume_noop_driver, volume_cinder_driver

  Name of the volume driver to use

image_driver
  Type:

    string

  Default:

    `image_glance_driver`

  Valid Values:

    image_noop_driver, image_glance_driver

  Name of the image driver to use

distributor_driver
  Type:

    string

  Default:

    `distributor_noop_driver`

  Name of the distributor driver to use

statistics_drivers
  Type:

    list

  Default:

    `['stats_db']`

  List of drivers for updating amphora statistics.

loadbalancer_topology
  Type:

    string

  Default:

    `SINGLE`

  Valid Values:

    ACTIVE_STANDBY, SINGLE

  Mutable:

    This option can be changed without restarting.

  Load balancer topology configuration. SINGLE - One amphora per load balancer. ACTIVE_STANDBY - Two amphora per load balancer.

user_data_config_drive
  Type:

    boolean

  Default:

    `False`

  If True, build cloud-init user-data that is passed to the config drive on Amphora boot instead of personality files. If False, utilize personality files.

  Warning

  This option is deprecated for removal since Antelope(2023.1). Its value may be silently ignored in the future.

  Reason:

    User_data nova option is not used and is too small to replace the config_drive.

amphora_delete_retries
  Type:

    integer

  Default:

    `5`

  Number of times an amphora delete should be retried.

amphora_delete_retry_interval
  Type:

    integer

  Default:

    `5`

  Time, in seconds, between amphora delete retries.

event_notifications
  Type:

    boolean

  Default:

    `True`

  Enable octavia event notifications. See oslo_messaging_notifications section for additional requirements.

db_commit_retry_attempts
  Type:

    integer

  Default:

    `2000`

  The number of times the database action will be attempted.

db_commit_retry_initial_delay
  Type:

    integer

  Default:

    `1`

  The initial delay before a retry attempt.

db_commit_retry_backoff
  Type:

    integer

  Default:

    `1`

  The time to backoff retry attempts.

db_commit_retry_max
  Type:

    integer

  Default:

    `5`

  The maximum amount of time to wait between retry attempts.

## database

sqlite_synchronous
  Type:

    boolean

  Default:

    `True`

  If True, SQLite uses synchronous mode.

backend
  Type:

    string

  Default:

    `sqlalchemy`

  The back end to use for the database.

connection
  Type:

    string

  Default:

    `<None>`

  The SQLAlchemy connection string to use to connect to the database.

slave_connection
  Type:

    string

  Default:

    `<None>`

  The SQLAlchemy connection string to use to connect to the slave database.

asyncio_connection
  Type:

    string

  Default:

    `<None>`

  The SQLAlchemy asyncio connection string to use to connect to the database.

asyncio_slave_connection
  Type:

    string

  Default:

    `<None>`

  The SQLAlchemy asyncio connection string to use to connect to the slave database.

mysql_sql_mode
  Type:

    string

  Default:

    `TRADITIONAL`

  The SQL mode to be used for MySQL sessions. This option, including the default, overrides any server-set SQL mode. To use whatever SQL mode is set by the server configuration, set this to no value. Example: mysql_sql_mode=

mysql_wsrep_sync_wait
  Type:

    integer

  Default:

    `<None>`

  For Galera only, configure wsrep_sync_wait causality checks on new connections. Default is None, meaning don’t configure any setting.

connection_recycle_time
  Type:

    integer

  Default:

    `3600`

  Connections which have been present in the connection pool longer than this number of seconds will be replaced with a new one the next time they are checked out from the pool.

max_pool_size
  Type:

    integer

  Default:

    `5`

  Maximum number of SQL connections to keep open in a pool. Setting a value of 0 indicates no limit.

max_retries
  Type:

    integer

  Default:

    `10`

  Maximum number of database connection retries during startup. Set to -1 to specify an infinite retry count.

retry_interval
  Type:

    integer

  Default:

    `10`

  Interval between retries of opening a SQL connection.

max_overflow
  Type:

    integer

  Default:

    `50`

  If set, use this value for max_overflow with SQLAlchemy.

connection_debug
  Type:

    integer

  Default:

    `0`

  Minimum Value:

    0

  Maximum Value:

    100

  Verbosity of SQL debugging information: 0=None, 100=Everything.

connection_trace
  Type:

    boolean

  Default:

    `False`

  Add Python stack traces to SQL as comment strings.

pool_timeout
  Type:

    integer

  Default:

    `<None>`

  If set, use this value for pool_timeout with SQLAlchemy.

use_db_reconnect
  Type:

    boolean

  Default:

    `False`

  Enable the experimental use of database reconnect on connection lost.

db_retry_interval
  Type:

    integer

  Default:

    `1`

  Seconds between retries of a database transaction.

db_inc_retry_interval
  Type:

    boolean

  Default:

    `True`

  If True, increases the interval between retries of a database operation up to db_max_retry_interval.

db_max_retry_interval
  Type:

    integer

  Default:

    `10`

  If db_inc_retry_interval is set, the maximum seconds between retries of a database operation.

db_max_retries
  Type:

    integer

  Default:

    `20`

  Maximum retries in case of connection error or deadlock error before error is raised. Set to -1 to specify an infinite retry count.

connection_parameters
  Type:

    string

  Default:

    `''`

  Optional URL parameters to append onto the connection URL at connect time; specify as param1=value1&param2=value2&…

## driver_agent

status_socket_path
  Type:

    string

  Default:

    `/var/run/octavia/status.sock`

  Path to the driver status unix domain socket file.

stats_socket_path
  Type:

    string

  Default:

    `/var/run/octavia/stats.sock`

  Path to the driver statistics unix domain socket file.

get_socket_path
  Type:

    string

  Default:

    `/var/run/octavia/get.sock`

  Path to the driver get unix domain socket file.

status_request_timeout
  Type:

    integer

  Default:

    `5`

  Time, in seconds, to wait for a status update request.

status_max_processes
  Type:

    integer

  Default:

    `50`

  Maximum number of concurrent processes to use servicing status updates.

stats_request_timeout
  Type:

    integer

  Default:

    `5`

  Time, in seconds, to wait for a statistics update request.

stats_max_processes
  Type:

    integer

  Default:

    `50`

  Maximum number of concurrent processes to use servicing statistics updates.

get_request_timeout
  Type:

    integer

  Default:

    `5`

  Time, in seconds, to wait for a get request.

get_max_processes
  Type:

    integer

  Default:

    `50`

  Maximum number of concurrent processes to use servicing get requests.

max_process_warning_percent
  Type:

    floating point

  Default:

    `0.75`

  Minimum Value:

    0.01

  Maximum Value:

    0.99

  Percentage of max_processes (both status and stats) in use to start logging warning messages about an overloaded driver-agent.

provider_agent_shutdown_timeout
  Type:

    integer

  Default:

    `60`

  The time, in seconds, to wait for provider agents to shutdown after the exit event has been set.

enabled_provider_agents
  Type:

    list

  Default:

    `''`

  List of enabled provider agents. The driver-agent will launch these agents at startup.

## glance

service_name
  Type:

    string

  Default:

    `<None>`

  The name of the glance service in the keystone catalog

endpoint
  Type:

    string

  Default:

    `<None>`

  A new endpoint to override the endpoint in the keystone catalog.

region_name
  Type:

    string

  Default:

    `<None>`

  Region in Identity service catalog to use for communication with the OpenStack services.

endpoint_type
  Type:

    string

  Default:

    `publicURL`

  Endpoint interface in identity service to use

ca_certificates_file
  Type:

    string

  Default:

    `<None>`

  CA certificates file path

insecure
  Type:

    boolean

  Default:

    `False`

  Disable certificate validation on SSL connections

## haproxy_amphora

base_path
  Type:

    string

  Default:

    `/var/lib/octavia`

  Base directory for amphora files.

base_cert_dir
  Type:

    string

  Default:

    `/var/lib/octavia/certs`

  Base directory for cert storage.

haproxy_template
  Type:

    string

  Default:

    `<None>`

  Custom haproxy template.

connection_logging
  Type:

    boolean

  Default:

    `True`

  Set this to False to disable connection logging.

connection_max_retries
  Type:

    integer

  Default:

    `120`

  Retry threshold for connecting to amphorae.

connection_retry_interval
  Type:

    integer

  Default:

    `5`

  Retry timeout between connection attempts in seconds.

active_connection_max_retries
  Type:

    integer

  Default:

    `15`

  Retry threshold for connecting to active amphorae.

active_connection_retry_interval
  Type:

    integer

  Default:

    `2`

  Retry timeout between connection attempts in seconds for active amphora.

  Deprecated Variations
  Group | Name
  --- | ---
  haproxy_amphora | active_connection_rety_interval

failover_connection_max_retries
  Type:

    integer

  Default:

    `2`

  Retry threshold for connecting to an amphora in failover.

failover_connection_retry_interval
  Type:

    integer

  Default:

    `5`

  Retry timeout between connection attempts in seconds for amphora in failover.

build_rate_limit
  Type:

    integer

  Default:

    `-1`

  Number of amphorae that could be built per controller worker, simultaneously.

build_active_retries
  Type:

    integer

  Default:

    `120`

  Retry threshold for waiting for a build slot for an amphorae.

build_retry_interval
  Type:

    integer

  Default:

    `5`

  Retry timeout between build attempts in seconds.

haproxy_stick_size
  Type:

    string

  Default:

    `10k`

  Size of the HAProxy stick table. Accepts k, m, g suffixes.

user_log_format
  Type:

    string

  Default:

    `{{ project_id }} {{ lb_id }} %f %ci %cp %t %{+Q}r %ST %B %U %[ssl_c_verify] %{+Q}[ssl_c_s_dn] %b %s %Tt %tsc`

  Log format string for user flow logging.

bind_host
  Type:

    ip address

  Default:

    `::`

  The host IP to bind to

bind_port
  Type:

    port number

  Default:

    `9443`

  Minimum Value:

    0

  Maximum Value:

    65535

  The port to bind to

lb_network_interface
  Type:

    string

  Default:

    `o-hm0`

  Network interface through which to reach amphora, only required if using IPv6 link local addresses.

haproxy_cmd
  Type:

    string

  Default:

    `/usr/sbin/haproxy`

  The full path to haproxy

respawn_count
  Type:

    integer

  Default:

    `2`

  The respawn count for haproxy’s upstart script

  Warning

  This option is deprecated for removal. Its value may be silently ignored in the future.

  Reason:

    upstart support has been removed and this option is no longer used.

respawn_interval
  Type:

    integer

  Default:

    `2`

  The respawn interval for haproxy’s upstart script

  Warning

  This option is deprecated for removal. Its value may be silently ignored in the future.

  Reason:

    upstart support has been removed and this option is no longer used.

rest_request_conn_timeout
  Type:

    floating point

  Default:

    `10`

  The time in seconds to wait for a REST API to connect.

rest_request_read_timeout
  Type:

    floating point

  Default:

    `60`

  The time in seconds to wait for a REST API response.

timeout_client_data
  Type:

    integer

  Default:

    `50000`

  Frontend client inactivity timeout.

timeout_member_connect
  Type:

    integer

  Default:

    `5000`

  Backend member connection timeout.

timeout_member_data
  Type:

    integer

  Default:

    `50000`

  Backend member inactivity timeout.

timeout_tcp_inspect
  Type:

    integer

  Default:

    `0`

  Time to wait for TCP packets for content inspection.

client_cert
  Type:

    string

  Default:

    `/etc/octavia/certs/client.pem`

  The client certificate to talk to the agent

server_ca
  Type:

    string

  Default:

    `/etc/octavia/certs/server_ca.pem`

  The ca which signed the server certificates

api_db_commit_retry_attempts
  Type:

    integer

  Default:

    `15`

  The number of times the database action will be attempted.

api_db_commit_retry_initial_delay
  Type:

    integer

  Default:

    `1`

  The initial delay before a retry attempt.

api_db_commit_retry_backoff
  Type:

    integer

  Default:

    `1`

  The time to backoff retry attempts.

api_db_commit_retry_max
  Type:

    integer

  Default:

    `5`

  The maximum amount of time to wait between retry attempts.

default_connection_limit
  Type:

    integer

  Default:

    `50000`

  Default connection_limit for listeners, used when setting “-1” or when unsetting connection_limit with the listener API.

## health_manager

bind_ip
  Type:

    ip address

  Default:

    `127.0.0.1`

  IP address the controller will listen on for heart beats

bind_port
  Type:

    port number

  Default:

    `5555`

  Minimum Value:

    0

  Maximum Value:

    65535

  Port number the controller will listen on for heart beats

failover_threads
  Type:

    integer

  Default:

    `10`

  Number of threads performing amphora failovers.

health_update_threads
  Type:

    integer

  Default:

    `<None>`

  Number of processes for amphora health update.

stats_update_threads
  Type:

    integer

  Default:

    `<None>`

  Number of processes for amphora stats update.

heartbeat_key
  Type:

    string

  Default:

    `<None>`

  Mutable:

    This option can be changed without restarting.

  key used to validate amphora sending the message

heartbeat_timeout
  Type:

    integer

  Default:

    `60`

  Interval, in seconds, to wait before failing over an amphora.

health_check_interval
  Type:

    integer

  Default:

    `3`

  Sleep time between health checks in seconds.

sock_rlimit
  Type:

    integer

  Default:

    `0`

  sets the value of the heartbeat recv buffer

failover_threshold
  Type:

    integer

  Default:

    `<None>`

  Stop failovers if the count of simultaneously failed amphora reaches this number. This may prevent large scale accidental failover events, like in the case of network failures or read-only database issues.

controller_ip_port_list
  Type:

    list

  Default:

    `[]`

  Mutable:

    This option can be changed without restarting.

  List of controller ip and port pairs for the heartbeat receivers. Example 127.0.0.1:5555, 192.168.0.1:5555

heartbeat_interval
  Type:

    integer

  Default:

    `10`

  Mutable:

    This option can be changed without restarting.

  Sleep time between sending heartbeats.

## house_keeping

cleanup_interval
  Type:

    integer

  Default:

    `30`

  DB cleanup interval in seconds

amphora_expiry_age
  Type:

    integer

  Default:

    `604800`

  Amphora expiry age in seconds

load_balancer_expiry_age
  Type:

    integer

  Default:

    `604800`

  Load balancer expiry age in seconds

cert_interval
  Type:

    integer

  Default:

    `3600`

  Certificate check interval in seconds

cert_expiry_buffer
  Type:

    integer

  Default:

    `1209600`

  Seconds until certificate expiration

cert_rotate_threads
  Type:

    integer

  Default:

    `10`

  Number of threads performing amphora certificate rotation

## keepalived_vrrp

vrrp_advert_int
  Type:

    integer

  Default:

    `1`

  Amphora role and priority advertisement interval in seconds.

vrrp_check_interval
  Type:

    integer

  Default:

    `5`

  VRRP health check script run interval in seconds.

vrrp_fail_count
  Type:

    integer

  Default:

    `2`

  Number of successive failures before transition to a fail state.

vrrp_success_count
  Type:

    integer

  Default:

    `2`

  Number of consecutive successes before transition to a success state.

vrrp_garp_refresh_interval
  Type:

    integer

  Default:

    `5`

  Time in seconds between gratuitous ARP announcements from the MASTER.

vrrp_garp_refresh_count
  Type:

    integer

  Default:

    `2`

  Number of gratuitous ARP announcements to make on each refresh interval.

## keystone_authtoken

www_authenticate_uri
  Type:

    string

  Default:

    `<None>`

  Complete “public” Identity API endpoint. This endpoint should not be an “admin” endpoint, as it should be accessible by all end users. Unauthenticated clients are redirected to this endpoint to authenticate. Although this endpoint should ideally be unversioned, client support in the wild varies. If you’re using a versioned v2 endpoint here, then this should not be the same endpoint the service user utilizes for validating tokens, because normal end users may not be able to reach that endpoint.

  Deprecated Variations
  Group | Name
  --- | ---
  keystone_authtoken | auth_uri

auth_uri
  Type:

    string

  Default:

    `<None>`

  Complete “public” Identity API endpoint. This endpoint should not be an “admin” endpoint, as it should be accessible by all end users. Unauthenticated clients are redirected to this endpoint to authenticate. Although this endpoint should ideally be unversioned, client support in the wild varies. If you’re using a versioned v2 endpoint here, then this should not be the same endpoint the service user utilizes for validating tokens, because normal end users may not be able to reach that endpoint. This option is deprecated in favor of www_authenticate_uri and will be removed in the S release.

  Warning

  This option is deprecated for removal since Queens. Its value may be silently ignored in the future.

  Reason:

    The auth_uri option is deprecated in favor of www_authenticate_uri and will be removed in the S release.

auth_version
  Type:

    string

  Default:

    `<None>`

  API version of the Identity API endpoint.

interface
  Type:

    string

  Default:

    `internal`

  Interface to use for the Identity API endpoint. Valid values are “public”, “internal” (default) or “admin”.

delay_auth_decision
  Type:

    boolean

  Default:

    `False`

  Do not handle authorization requests within the middleware, but delegate the authorization decision to downstream WSGI components.

http_connect_timeout
  Type:

    integer

  Default:

    `<None>`

  Request timeout value for communicating with Identity API server.

http_request_max_retries
  Type:

    integer

  Default:

    `3`

  How many times are we trying to reconnect when communicating with Identity API Server.

cache
  Type:

    string

  Default:

    `<None>`

  Request environment key where the Swift cache object is stored. When auth_token middleware is deployed with a Swift cache, use this option to have the middleware share a caching backend with swift. Otherwise, use the `memcached_servers` option instead.

certfile
  Type:

    string

  Default:

    `<None>`

  Required if identity server requires client certificate

keyfile
  Type:

    string

  Default:

    `<None>`

  Required if identity server requires client certificate

cafile
  Type:

    string

  Default:

    `<None>`

  A PEM encoded Certificate Authority to use when verifying HTTPs connections. Defaults to system CAs.

insecure
  Type:

    boolean

  Default:

    `False`

  Verify HTTPS connections.

region_name
  Type:

    string

  Default:

    `<None>`

  The region in which the identity server can be found.

memcached_servers
  Type:

    list

  Default:

    `<None>`

  Optionally specify a list of memcached server(s) to use for caching. If left undefined, tokens will instead be cached in-process.

  Deprecated Variations
  Group | Name
  --- | ---
  keystone_authtoken | memcache_servers

token_cache_time
  Type:

    integer

  Default:

    `300`

  In order to prevent excessive effort spent validating tokens, the middleware caches previously-seen tokens for a configurable duration (in seconds). Set to -1 to disable caching completely.

memcache_security_strategy
  Type:

    string

  Default:

    `None`

  Valid Values:

    None, MAC, ENCRYPT

  (Optional) If defined, indicate whether token data should be authenticated or authenticated and encrypted. If MAC, token data is authenticated (with HMAC) in the cache. If ENCRYPT, token data is encrypted and authenticated in the cache. If the value is not one of these options or empty, auth_token will raise an exception on initialization.

memcache_secret_key
  Type:

    string

  Default:

    `<None>`

  (Optional, mandatory if memcache_security_strategy is defined) This string is used for key derivation.

memcache_pool_dead_retry
  Type:

    integer

  Default:

    `300`

  (Optional) Number of seconds memcached server is considered dead before it is tried again.

memcache_pool_maxsize
  Type:

    integer

  Default:

    `10`

  (Optional) Maximum total number of open connections to every memcached server.

memcache_pool_socket_timeout
  Type:

    integer

  Default:

    `3`

  (Optional) Socket timeout in seconds for communicating with a memcached server.

memcache_pool_unused_timeout
  Type:

    integer

  Default:

    `60`

  (Optional) Number of seconds a connection to memcached is held unused in the pool before it is closed.

memcache_pool_conn_get_timeout
  Type:

    integer

  Default:

    `10`

  (Optional) Number of seconds that an operation will wait to get a memcached client connection from the pool.

memcache_use_advanced_pool
  Type:

    boolean

  Default:

    `True`

  (Optional) Use the advanced (eventlet safe) memcached client pool.

include_service_catalog
  Type:

    boolean

  Default:

    `True`

  (Optional) Indicate whether to set the X-Service-Catalog header. If False, middleware will not ask for service catalog on token validation and will not set the X-Service-Catalog header.

enforce_token_bind
  Type:

    string

  Default:

    `permissive`

  Used to control the use and type of token binding. Can be set to: “disabled” to not check token binding. “permissive” (default) to validate binding information if the bind type is of a form known to the server and ignore it if not. “strict” like “permissive” but if the bind type is unknown the token will be rejected. “required” any form of token binding is needed to be allowed. Finally the name of a binding method that must be present in tokens.

service_token_roles
  Type:

    list

  Default:

    `['service']`

  A choice of roles that must be present in a service token. Service tokens are allowed to request that an expired token can be used and so this check should tightly control that only actual services should be sending this token. Roles here are applied as an ANY check so any role in this list must be present. For backwards compatibility reasons this currently only affects the allow_expired check.

service_token_roles_required
  Type:

    boolean

  Default:

    `False`

  For backwards compatibility reasons we must let valid service tokens pass that don’t pass the service_token_roles check as valid. Setting this true will become the default in a future release and should be enabled if possible.

service_type
  Type:

    string

  Default:

    `<None>`

  The name or type of the service as it appears in the service catalog. This is used to validate tokens that have restricted access rules.

memcache_sasl_enabled
  Type:

    boolean

  Default:

    `False`

  Enable the SASL(Simple Authentication and Security Layer) if the SASL_enable is true, else disable.

memcache_username
  Type:

    string

  Default:

    `''`

  the user name for the SASL

memcache_password
  Type:

    string

  Default:

    `''`

  the username password for SASL

auth_type
  Type:

    unknown type

  Default:

    `<None>`

  Authentication type to load

  Deprecated Variations
  Group | Name
  --- | ---
  keystone_authtoken | auth_plugin

auth_section
  Type:

    unknown type

  Default:

    `<None>`

  Config Section from which to load plugin specific options

## networking

max_retries
  Type:

    integer

  Default:

    `15`

  The maximum attempts to retry an action with the networking service.

retry_interval
  Type:

    integer

  Default:

    `1`

  Seconds to wait before retrying an action with the networking service.

retry_backoff
  Type:

    integer

  Default:

    `1`

  The seconds to backoff retry attempts.

retry_max
  Type:

    integer

  Default:

    `10`

  The maximum interval in seconds between retry attempts.

port_detach_timeout
  Type:

    integer

  Default:

    `300`

  Seconds to wait for a port to detach from an amphora.

allow_vip_network_id
  Type:

    boolean

  Default:

    `True`

  Can users supply a network_id for their VIP?

allow_vip_subnet_id
  Type:

    boolean

  Default:

    `True`

  Can users supply a subnet_id for their VIP?

allow_vip_port_id
  Type:

    boolean

  Default:

    `True`

  Can users supply a port_id for their VIP?

valid_vip_networks
  Type:

    list

  Default:

    `<None>`

  List of network_ids that are valid for VIP creation. If this field is empty, no validation is performed.

reserved_ips
  Type:

    list

  Default:

    `['169.254.169.254']`

  List of IP addresses reserved from being used for member addresses. IPv6 addresses should be in expanded, uppercase form.

allow_invisible_resource_usage
  Type:

    boolean

  Default:

    `False`

  When True, users can use network resources they cannot normally see as VIP or member subnets. Making this True may allow users to access resources on subnets they do not normally have access to via neutron RBAC policies.

## neutron

endpoint
  Type:

    string

  Default:

    `<None>`

  A new endpoint to override the endpoint in the keystone catalog.

  Warning

  This option is deprecated for removal since 2023.2/Bobcat. Its value may be silently ignored in the future.

  Reason:

    The endpoint_override option defined by keystoneauth1 is the new name for this option.

endpoint_type
  Type:

    string

  Default:

    `<None>`

  Endpoint interface in identity service to use

  Warning

  This option is deprecated for removal since 2023.2/Bobcat. Its value may be silently ignored in the future.

  Reason:

    This option was replaced by the valid_interfaces option defined by keystoneauth.

ca_certificates_file
  Type:

    string

  Default:

    `<None>`

  CA certificates file path

  Warning

  This option is deprecated for removal since 2023.2/Bobcat. Its value may be silently ignored in the future.

  Reason:

    The cafile option defined by keystoneauth1 is the new name for this option.

## nova

service_name
  Type:

    string

  Default:

    `<None>`

  The name of the nova service in the keystone catalog

endpoint
  Type:

    string

  Default:

    `<None>`

  A new endpoint to override the endpoint in the keystone catalog.

region_name
  Type:

    string

  Default:

    `<None>`

  Region in Identity service catalog to use for communication with the OpenStack services.

endpoint_type
  Type:

    string

  Default:

    `publicURL`

  Endpoint interface in identity service to use

ca_certificates_file
  Type:

    string

  Default:

    `<None>`

  CA certificates file path

insecure
  Type:

    boolean

  Default:

    `False`

  Disable certificate validation on SSL connections

enable_anti_affinity
  Type:

    boolean

  Default:

    `False`

  Flag to indicate if nova anti-affinity feature is turned on. This option is only used when creating amphorae in ACTIVE_STANDBY topology.

anti_affinity_policy
  Type:

    string

  Default:

    `anti-affinity`

  Valid Values:

    anti-affinity, soft-anti-affinity

  Sets the anti-affinity policy for nova

random_amphora_name_length
  Type:

    integer

  Default:

    `0`

  If non-zero, generate a random name of the length provided for each amphora, in the format “a[A-Z0-9]*”. Otherwise, the default name format will be used: “amphora-{UUID}”.

availability_zone
  Type:

    string

  Default:

    `<None>`

  Availability zone to use for creating Amphorae

## oslo_messaging

topic
  Type:

    string

  Default:

    `<None>`

  Topic (i.e. Queue) Name

## oslo_messaging_kafka

kafka_max_fetch_bytes
  Type:

    integer

  Default:

    `1048576`

  Max fetch bytes of Kafka consumer

kafka_consumer_timeout
  Type:

    floating point

  Default:

    `1.0`

  Default timeout(s) for Kafka consumers

consumer_group
  Type:

    string

  Default:

    `oslo_messaging_consumer`

  Group id for Kafka consumer. Consumers in one group will coordinate message consumption

producer_batch_timeout
  Type:

    floating point

  Default:

    `0.0`

  Upper bound on the delay for KafkaProducer batching in seconds

producer_batch_size
  Type:

    integer

  Default:

    `16384`

  Size of batch for the producer async send

compression_codec
  Type:

    string

  Default:

    `none`

  Valid Values:

    none, gzip, snappy, lz4, zstd

  The compression codec for all data generated by the producer. If not set, compression will not be used. Note that the allowed values of this depend on the kafka version

enable_auto_commit
  Type:

    boolean

  Default:

    `False`

  Enable asynchronous consumer commits

max_poll_records
  Type:

    integer

  Default:

    `500`

  The maximum number of records returned in a poll call

security_protocol
  Type:

    string

  Default:

    `PLAINTEXT`

  Valid Values:

    PLAINTEXT, SASL_PLAINTEXT, SSL, SASL_SSL

  Protocol used to communicate with brokers

sasl_mechanism
  Type:

    string

  Default:

    `PLAIN`

  Mechanism when security protocol is SASL

ssl_cafile
  Type:

    string

  Default:

    `''`

  CA certificate PEM file used to verify the server certificate

ssl_client_cert_file
  Type:

    string

  Default:

    `''`

  Client certificate PEM file used for authentication.

ssl_client_key_file
  Type:

    string

  Default:

    `''`

  Client key PEM file used for authentication.

ssl_client_key_password
  Type:

    string

  Default:

    `''`

  Client key password file used for authentication.

## oslo_messaging_notifications

driver
  Type:

    multi-valued

  Default:

    `''`

  The Drivers(s) to handle sending notifications. Possible values are messaging, messagingv2, routing, log, test, noop

transport_url
  Type:

    string

  Default:

    `<None>`

  A URL representing the messaging driver to use for notifications. If not set, we fall back to the same configuration used for RPC.

topics
  Type:

    list

  Default:

    `['notifications']`

  AMQP topic used for OpenStack notifications.

retry
  Type:

    integer

  Default:

    `-1`

  The maximum number of attempts to re-send a notification message which failed to be delivered due to a recoverable error. 0 - No retry, -1 - indefinite

## oslo_messaging_rabbit

amqp_durable_queues
  Type:

    boolean

  Default:

    `False`

  Use durable queues in AMQP. If rabbit_quorum_queue is enabled, queues will be durable and this value will be ignored.

amqp_auto_delete
  Type:

    boolean

  Default:

    `False`

  Auto-delete queues in AMQP.

rpc_conn_pool_size
  Type:

    integer

  Default:

    `30`

  Minimum Value:

    1

  Size of RPC connection pool.

conn_pool_min_size
  Type:

    integer

  Default:

    `2`

  The pool size limit for connections expiration policy

conn_pool_ttl
  Type:

    integer

  Default:

    `1200`

  The time-to-live in sec of idle connections in the pool

ssl
  Type:

    boolean

  Default:

    `False`

  Connect over SSL.

ssl_version
  Type:

    string

  Default:

    `''`

  SSL version to use (valid only if SSL enabled). Valid values are TLSv1 and SSLv23. SSLv2, SSLv3, TLSv1_1, and TLSv1_2 may be available on some distributions.

ssl_key_file
  Type:

    string

  Default:

    `''`

  SSL key file (valid only if SSL enabled).

ssl_cert_file
  Type:

    string

  Default:

    `''`

  SSL cert file (valid only if SSL enabled).

ssl_ca_file
  Type:

    string

  Default:

    `''`

  SSL certification authority file (valid only if SSL enabled).

ssl_enforce_fips_mode
  Type:

    boolean

  Default:

    `False`

  Global toggle for enforcing the OpenSSL FIPS mode. This feature requires Python support. This is available in Python 3.9 in all environments and may have been backported to older Python versions on select environments. If the Python executable used does not support OpenSSL FIPS mode, an exception will be raised.

heartbeat_in_pthread
  Type:

    boolean

  Default:

    `False`

  (DEPRECATED) It is recommend not to use this option anymore. Run the health check heartbeat thread through a native python thread by default. If this option is equal to False then the health check heartbeat will inherit the execution model from the parent process. For example if the parent process has monkey patched the stdlib by using eventlet/greenlet then the heartbeat will be run through a green thread. This option should be set to True only for the wsgi services.

  Warning

  This option is deprecated for removal. Its value may be silently ignored in the future.

  Reason:

    The option is related to Eventlet which will be removed. In addition this has never worked as expected with services using eventlet for core service framework.

kombu_reconnect_delay
  Type:

    floating point

  Default:

    `1.0`

  Minimum Value:

    0.0

  Maximum Value:

    4.5

  How long to wait (in seconds) before reconnecting in response to an AMQP consumer cancel notification.

kombu_reconnect_splay
  Type:

    floating point

  Default:

    `0.0`

  Minimum Value:

    0.0

  Random time to wait for when reconnecting in response to an AMQP consumer cancel notification.

kombu_compression
  Type:

    string

  Default:

    `<None>`

  EXPERIMENTAL: Possible values are: gzip, bz2. If not set compression will not be used. This option may not be available in future versions.

kombu_missing_consumer_retry_timeout
  Type:

    integer

  Default:

    `60`

  How long to wait a missing client before abandoning to send it its replies. This value should not be longer than rpc_response_timeout.

  Deprecated Variations
  Group | Name
  --- | ---
  oslo_messaging_rabbit | kombu_reconnect_timeout

kombu_failover_strategy
  Type:

    string

  Default:

    `round-robin`

  Valid Values:

    round-robin, shuffle

  Determines how the next RabbitMQ node is chosen in case the one we are currently connected to becomes unavailable. Takes effect only if more than one RabbitMQ node is provided in config.

rabbit_login_method
  Type:

    string

  Default:

    `AMQPLAIN`

  Valid Values:

    PLAIN, AMQPLAIN, EXTERNAL, RABBIT-CR-DEMO

  The RabbitMQ login method.

rabbit_retry_interval
  Type:

    integer

  Default:

    `1`

  Minimum Value:

    1

  How frequently to retry connecting with RabbitMQ.

rabbit_retry_backoff
  Type:

    integer

  Default:

    `2`

  Minimum Value:

    0

  How long to backoff for between retries when connecting to RabbitMQ.

rabbit_interval_max
  Type:

    integer

  Default:

    `30`

  Minimum Value:

    1

  Maximum interval of RabbitMQ connection retries.

rabbit_ha_queues
  Type:

    boolean

  Default:

    `False`

  Try to use HA queues in RabbitMQ (x-ha-policy: all). If you change this option, you must wipe the RabbitMQ database. In RabbitMQ 3.0, queue mirroring is no longer controlled by the x-ha-policy argument when declaring a queue. If you just want to make sure that all queues (except those with auto-generated names) are mirrored across all nodes, run: “rabbitmqctl set_policy HA ‘^(?!amq.).*’ ‘{“ha-mode”: “all”}’ “

rabbit_quorum_queue
  Type:

    boolean

  Default:

    `False`

  Use quorum queues in RabbitMQ (x-queue-type: quorum). The quorum queue is a modern queue type for RabbitMQ implementing a durable, replicated FIFO queue based on the Raft consensus algorithm. It is available as of RabbitMQ 3.8.0. If set this option will conflict with the HA queues (`rabbit_ha_queues`) aka mirrored queues, in other words the HA queues should be disabled. Quorum queues are also durable by default so the amqp_durable_queues option is ignored when this option is enabled.

rabbit_transient_quorum_queue
  Type:

    boolean

  Default:

    `False`

  Use quorum queues for transients queues in RabbitMQ. Enabling this option will then make sure those queues are also using quorum kind of rabbit queues, which are HA by default.

rabbit_quorum_delivery_limit
  Type:

    integer

  Default:

    `0`

  Each time a message is redelivered to a consumer, a counter is incremented. Once the redelivery count exceeds the delivery limit the message gets dropped or dead-lettered (if a DLX exchange has been configured) Used only when rabbit_quorum_queue is enabled, Default 0 which means dont set a limit.

rabbit_quorum_max_memory_length
  Type:

    integer

  Default:

    `0`

  By default all messages are maintained in memory if a quorum queue grows in length it can put memory pressure on a cluster. This option can limit the number of messages in the quorum queue. Used only when rabbit_quorum_queue is enabled, Default 0 which means dont set a limit.

  Deprecated Variations
  Group | Name
  --- | ---
  oslo_messaging_rabbit | rabbit_quroum_max_memory_length

rabbit_quorum_max_memory_bytes
  Type:

    integer

  Default:

    `0`

  By default all messages are maintained in memory if a quorum queue grows in length it can put memory pressure on a cluster. This option can limit the number of memory bytes used by the quorum queue. Used only when rabbit_quorum_queue is enabled, Default 0 which means dont set a limit.

  Deprecated Variations
  Group | Name
  --- | ---
  oslo_messaging_rabbit | rabbit_quroum_max_memory_bytes

rabbit_transient_queues_ttl
  Type:

    integer

  Default:

    `1800`

  Minimum Value:

    0

  Positive integer representing duration in seconds for queue TTL (x-expires). Queues which are unused for the duration of the TTL are automatically deleted. The parameter affects only reply and fanout queues. Setting 0 as value will disable the x-expires. If doing so, make sure you have a rabbitmq policy to delete the queues or you deployment will create an infinite number of queue over time.In case rabbit_stream_fanout is set to True, this option will control data retention policy (x-max-age) for messages in the fanout queue rather then the queue duration itself. So the oldest data in the stream queue will be discarded from it once reaching TTL Setting to 0 will disable x-max-age for stream which make stream grow indefinitely filling up the diskspace

rabbit_qos_prefetch_count
  Type:

    integer

  Default:

    `0`

  Specifies the number of messages to prefetch. Setting to zero allows unlimited messages.

heartbeat_timeout_threshold
  Type:

    integer

  Default:

    `60`

  Number of seconds after which the Rabbit broker is considered down if heartbeat’s keep-alive fails (0 disables heartbeat).

heartbeat_rate
  Type:

    integer

  Default:

    `3`

  How often times during the heartbeat_timeout_threshold we check the heartbeat.

direct_mandatory_flag
  Type:

    boolean

  Default:

    `True`

  (DEPRECATED) Enable/Disable the RabbitMQ mandatory flag for direct send. The direct send is used as reply, so the MessageUndeliverable exception is raised in case the client queue does not exist.MessageUndeliverable exception will be used to loop for a timeout to lets a chance to sender to recover.This flag is deprecated and it will not be possible to deactivate this functionality anymore

  Warning

  This option is deprecated for removal. Its value may be silently ignored in the future.

  Reason:

    Mandatory flag no longer deactivable.

enable_cancel_on_failover
  Type:

    boolean

  Default:

    `False`

  Enable x-cancel-on-ha-failover flag so that rabbitmq server will cancel and notify consumerswhen queue is down

use_queue_manager
  Type:

    boolean

  Default:

    `False`

  Should we use consistant queue names or random ones

hostname
  Type:

    string

  Default:

    `node1.example.com`

  This option has a sample default set, which means that its actual default value may vary from the one documented above.

  Hostname used by queue manager. Defaults to the value returned by socket.gethostname().

processname
  Type:

    string

  Default:

    `nova-api`

  This option has a sample default set, which means that its actual default value may vary from the one documented above.

  Process name used by queue manager

rabbit_stream_fanout
  Type:

    boolean

  Default:

    `False`

  Use stream queues in RabbitMQ (x-queue-type: stream). Streams are a new persistent and replicated data structure (“queue type”) in RabbitMQ which models an append-only log with non-destructive consumer semantics. It is available as of RabbitMQ 3.9.0. If set this option will replace all fanout queues with only one stream queue.

## oslo_middleware

max_request_body_size
  Type:

    integer

  Default:

    `114688`

  The maximum body size for each request, in bytes.

  Deprecated Variations
  Group | Name
  --- | ---
  DEFAULT | osapi_max_request_body_size
  DEFAULT | max_request_body_size

## quotas

default_load_balancer_quota
  Type:

    integer

  Default:

    `-1`

  Default per project load balancer quota.

default_listener_quota
  Type:

    integer

  Default:

    `-1`

  Default per project listener quota.

default_member_quota
  Type:

    integer

  Default:

    `-1`

  Default per project member quota.

default_pool_quota
  Type:

    integer

  Default:

    `-1`

  Default per project pool quota.

default_health_monitor_quota
  Type:

    integer

  Default:

    `-1`

  Default per project health monitor quota.

default_l7policy_quota
  Type:

    integer

  Default:

    `-1`

  Default per project l7policy quota.

default_l7rule_quota
  Type:

    integer

  Default:

    `-1`

  Default per project l7rule quota.

## service_auth

auth_url
  Type:

    unknown type

  Default:

    `<None>`

  Authentication URL

auth_type
  Type:

    unknown type

  Default:

    `<None>`

  Authentication type to load

  Deprecated Variations
  Group | Name
  --- | ---
  service_auth | auth_plugin

cafile
  Type:

    string

  Default:

    `<None>`

  PEM encoded Certificate Authority to use when verifying HTTPs connections.

certfile
  Type:

    string

  Default:

    `<None>`

  PEM encoded client certificate cert file

collect_timing
  Type:

    boolean

  Default:

    `False`

  Collect per-API call timing information.

default_domain_id
  Type:

    unknown type

  Default:

    `<None>`

  Optional domain ID to use with v3 and v2 parameters. It will be used for both the user and project domain in v3 and ignored in v2 authentication.

default_domain_name
  Type:

    unknown type

  Default:

    `<None>`

  Optional domain name to use with v3 API and v2 parameters. It will be used for both the user and project domain in v3 and ignored in v2 authentication.

domain_id
  Type:

    unknown type

  Default:

    `<None>`

  Domain ID to scope to

domain_name
  Type:

    unknown type

  Default:

    `<None>`

  Domain name to scope to

insecure
  Type:

    boolean

  Default:

    `False`

  Verify HTTPS connections.

keyfile
  Type:

    string

  Default:

    `<None>`

  PEM encoded client certificate key file

password
  Type:

    unknown type

  Default:

    `<None>`

  User’s password

project_domain_id
  Type:

    unknown type

  Default:

    `<None>`

  Domain ID containing project

project_domain_name
  Type:

    unknown type

  Default:

    `<None>`

  Domain name containing project

project_id
  Type:

    unknown type

  Default:

    `<None>`

  Project ID to scope to

  Deprecated Variations
  Group | Name
  --- | ---
  service_auth | tenant-id
  service_auth | tenant_id

project_name
  Type:

    unknown type

  Default:

    `<None>`

  Project name to scope to

  Deprecated Variations
  Group | Name
  --- | ---
  service_auth | tenant-name
  service_auth | tenant_name

split_loggers
  Type:

    boolean

  Default:

    `False`

  Log requests to multiple loggers.

system_scope
  Type:

    unknown type

  Default:

    `<None>`

  Scope for system operations

tenant_id
  Type:

    unknown type

  Default:

    `<None>`

  Tenant ID

tenant_name
  Type:

    unknown type

  Default:

    `<None>`

  Tenant Name

timeout
  Type:

    integer

  Default:

    `<None>`

  Timeout value for http requests

trust_id
  Type:

    unknown type

  Default:

    `<None>`

  ID of the trust to use as a trustee use

user_domain_id
  Type:

    unknown type

  Default:

    `<None>`

  User’s domain id

user_domain_name
  Type:

    unknown type

  Default:

    `<None>`

  User’s domain name

user_id
  Type:

    unknown type

  Default:

    `<None>`

  User id

username
  Type:

    unknown type

  Default:

    `<None>`

  Username

  Deprecated Variations
  Group | Name
  --- | ---
  service_auth | user-name
  service_auth | user_name

## task_flow

engine
  Type:

    string

  Default:

    `parallel`

  Valid Values:

    serial, parallel

  TaskFlow engine to use.

  Possible values

  serial

    Runs all tasks on a single thread

  parallel

    Schedules tasks onto different threads to allow for running non-dependent tasks simultaneously

max_workers
  Type:

    integer

  Default:

    `5`

  The maximum number of workers

disable_revert
  Type:

    boolean

  Default:

    `False`

  If True, disables the controller worker taskflow flows from reverting. This will leave resources in an inconsistent state and should only be used for debugging purposes.

persistence_connection
  Type:

    string

  Default:

    `sqlite://`

  Persistence database, which will be used to store tasks states. Database connection url with db name

jobboard_enabled
  Type:

    boolean

  Default:

    `False`

  If True, enables TaskFlow jobboard.

jobboard_backend_driver
  Type:

    string

  Default:

    `redis_taskflow_driver`

  Valid Values:

    redis_taskflow_driver, zookeeper_taskflow_driver, etcd_taskflow_driver

  Jobboard backend driver that will monitor job state.

  Possible values

  redis_taskflow_driver

    Driver that will use Redis to store job states.

  zookeeper_taskflow_driver

    Driver that will use Zookeeper to store job states.

  etcd_taskflow_driver

    Driver that will user Etcd to store job states.

jobboard_backend_hosts
  Type:

    list

  Default:

    `['127.0.0.1']`

  Jobboard backend server host(s).

jobboard_backend_port
  Type:

    port number

  Default:

    `6379`

  Minimum Value:

    0

  Maximum Value:

    65535

  Jobboard backend server port

jobboard_backend_username
  Type:

    string

  Default:

    `<None>`

  Jobboard backend server user name

jobboard_backend_password
  Type:

    string

  Default:

    `<None>`

  Jobboard backend server password

jobboard_backend_namespace
  Type:

    string

  Default:

    `octavia_jobboard`

  Jobboard name that should be used to store taskflow job id and claims for it.

jobboard_redis_backend_db
  Type:

    integer

  Default:

    `0`

  Minimum Value:

    0

  Database ID in redis server.

jobboard_redis_sentinel
  Type:

    string

  Default:

    `<None>`

  Sentinel name if it is used for Redis.

jobboard_redis_sentinel_username
  Type:

    string

  Default:

    `<None>`

  Redis Sentinel server user name

jobboard_redis_sentinel_password
  Type:

    string

  Default:

    `<None>`

  Redis Sentinel server password

jobboard_redis_backend_ssl_options
  Type:

    dict

  Default:

    `{'ssl': False, 'ssl_keyfile': None, 'ssl_certfile': None, 'ssl_ca_certs': None, 'ssl_cert_reqs': 'required'}`

  Redis jobboard backend ssl configuration options.

jobboard_redis_sentinel_ssl_options
  Type:

    dict

  Default:

    `{'ssl': False, 'ssl_keyfile': None, 'ssl_certfile': None, 'ssl_ca_certs': None, 'ssl_cert_reqs': 'required'}`

  Redis sentinel ssl configuration options.

jobboard_zookeeper_ssl_options
  Type:

    dict

  Default:

    `{'use_ssl': False, 'keyfile': None, 'keyfile_password': None, 'certfile': None, 'verify_certs': True}`

  Zookeeper jobboard backend ssl configuration options.

jobboard_etcd_ssl_options
  Type:

    dict

  Default:

    `{'use_ssl': False, 'ca_cert': None, 'cert_key': None, 'cert_cert': None}`

  Etcd jobboard backend ssl configuration options.

jobboard_etcd_timeout
  Type:

    integer

  Default:

    `<None>`

  Timeout when communicating with the Etcd backend.

jobboard_etcd_api_path
  Type:

    string

  Default:

    `<None>`

  API Path of the Etcd server.

jobboard_expiration_time
  Type:

    integer

  Default:

    `30`

  For backends like redis claiming jobs requiring setting the expiry - how many seconds the claim should be retained for.

jobboard_save_logbook
  Type:

    boolean

  Default:

    `False`

  If for analysis required saving logbooks info, set this parameter to True. By default remove logbook from persistence backend when job completed.

this page last updated: 2025-04-03 17:35:57

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.

found an error? report a bug