Chapter 13. octavia


The following chapter contains information about the configuration options in the octavia service.

13.1. octavia.conf

This section contains options for the /etc/octavia/octavia.conf file.

13.1.1. DEFAULT

The following table outlines the options available under the [DEFAULT] group in the /etc/octavia/octavia.conf file.

.

Expand
Configuration option = Default valueTypeDescription

conn_pool_min_size = 2

integer value

The pool size limit for connections expiration policy

conn_pool_ttl = 1200

integer value

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

control_exchange = octavia

string value

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

debug = False

boolean value

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

default_log_levels = ['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 value

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

executor_thread_pool_size = 64

integer value

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

fatal_deprecations = False

boolean value

Enables or disables fatal status of deprecations.

graceful_shutdown_timeout = 60

integer value

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

host = <based on operating system>

hostname value

The hostname Octavia is running on

`instance_format = [instance: %(uuid)s] `

string value

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

`instance_uuid_format = [instance: %(uuid)s] `

string value

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

log-config-append = None

string value

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).

log-date-format = %Y-%m-%d %H:%M:%S

string value

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

log-dir = None

string value

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

log-file = None

string value

(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.

log_options = True

boolean value

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

log_rotate_interval = 1

integer value

The amount of time before the log files are rotated. This option is ignored unless log_rotation_type is setto "interval".

log_rotate_interval_type = days

string value

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.

log_rotation_type = none

string value

Log rotation type.

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

string value

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

logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d

string value

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

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

string value

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

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

string value

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

logging_user_identity_format = %(user)s %(tenant)s %(domain)s %(user_domain)s %(project_domain)s

string value

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

max_logfile_count = 30

integer value

Maximum number of rotated log files.

max_logfile_size_mb = 200

integer value

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

octavia_plugins = hot_plug_plugin

string value

Name of the controller plugin to use

publish_errors = False

boolean value

Enables or disables publication of error events.

rate_limit_burst = 0

integer value

Maximum number of logged messages per rate_limit_interval.

rate_limit_except_level = CRITICAL

string value

Log level name used by rate limiting: CRITICAL, ERROR, INFO, WARNING, DEBUG or empty string. Logs with level greater or equal to rate_limit_except_level are not filtered. An empty string means that all levels are filtered.

rate_limit_interval = 0

integer value

Interval, number of seconds, of log rate limiting.

rpc_conn_pool_size = 30

integer value

Size of RPC connection pool.

rpc_ping_enabled = False

boolean value

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

rpc_response_timeout = 60

integer value

Seconds to wait for a response from a call.

syslog-log-facility = LOG_USER

string value

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

transport_url = rabbit://

string value

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

use-journal = False

boolean value

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.

use-json = False

boolean value

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

use-syslog = False

boolean value

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_eventlog = False

boolean value

Log output to Windows Event Log.

use_stderr = False

boolean value

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

watch-log-file = False

boolean value

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.

13.1.2. amphora_agent

The following table outlines the options available under the [amphora_agent] group in the /etc/octavia/octavia.conf file.

Expand
Table 13.1. amphora_agent
Configuration option = Default valueTypeDescription

admin_log_targets = None

list value

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

administrative_log_facility = 1

integer value

LOG_LOCAL facility number to use for amphora processes logs.

agent_request_read_timeout = 180

integer value

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

agent_server_ca = /etc/octavia/certs/client_ca.pem

string value

The ca which signed the client certificates

agent_server_cert = /etc/octavia/certs/server.pem

string value

The server certificate for the agent server to use

agent_server_network_dir = None

string value

The directory where new network interfaces are located

agent_server_network_file = None

string value

The file where the network interfaces are located. Specifying this will override any value set for agent_server_network_dir. Deprecated since: Xena

*Reason:*New amphora interface management does not support single interface file.

agent_tls_protocol = TLSv1.2

string value

Minimum TLS protocol for communication with the amphora agent.

amphora_id = None

string value

The amphora ID.

amphora_udp_driver = keepalived_lvs

string value

The UDP API backend for amphora agent. Deprecated since: Wallaby

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

disable_local_log_storage = False

boolean value

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

forward_all_logs = False

boolean value

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.

log_protocol = UDP

string value

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

log_queue_size = 10000

integer value

The queue size (messages) to buffer log messages.

log_retry_count = 5

integer value

The maximum attempts to retry connecting to the logging host.

log_retry_interval = 2

integer value

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

logging_template_override = None

string value

Custom logging configuration template.

tenant_log_targets = None

list value

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 = 0

integer value

LOG_LOCAL facility number to use for user traffic logs.

13.1.3. api_settings

The following table outlines the options available under the [api_settings] group in the /etc/octavia/octavia.conf file.

Expand
Table 13.2. api_settings
Configuration option = Default valueTypeDescription

allow_field_selection = True

boolean value

Allow the usage of field selection

allow_filtering = True

boolean value

Allow the usage of filtering

allow_pagination = True

boolean value

Allow the usage of pagination

allow_ping_health_monitors = True

boolean value

Allow users to create PING type Health Monitors?

allow_sorting = True

boolean value

Allow the usage of sorting

allow_tls_terminated_listeners = True

boolean value

Allow users to create TLS Terminated listeners?

api_base_uri = None

string value

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

auth_strategy = keystone

string value

The auth strategy for API requests.

bind_host = 127.0.0.1

IP address value

The host IP to bind to

bind_port = 9876

port value

The port to bind to

default_listener_alpn_protocols = ['h2', 'http/1.1', 'http/1.0']

list value

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

default_listener_ciphers = 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

string value

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

default_listener_tls_versions = ['TLSv1.2', 'TLSv1.3']

list value

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

default_pool_alpn_protocols = ['h2', 'http/1.1', 'http/1.0']

list value

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

default_pool_ciphers = 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

string value

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

default_pool_tls_versions = ['TLSv1.2', 'TLSv1.3']

list value

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

default_provider_driver = amphora

string value

Default provider driver.

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

dict value

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. Example: amphora:The Octavia Amphora driver.,octavia:Deprecated alias of the Octavia Amphora driver.

healthcheck_enabled = False

boolean value

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

healthcheck_refresh_interval = 5

integer value

The interval healthcheck plugins should cache results, in seconds.

minimum_tls_version = None

string value

Minimum allowed TLS version for listeners and pools.

pagination_max_limit = 1000

string value

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

`tls_cipher_prohibit_list = `

string value

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

udp_connect_min_interval_health_monitor = 3

integer value

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

13.1.4. audit

The following table outlines the options available under the [audit] group in the /etc/octavia/octavia.conf file.

Expand
Table 13.3. audit
Configuration option = Default valueTypeDescription

audit_map_file = /etc/octavia/octavia_api_audit_map.conf

string value

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

enabled = False

boolean value

Enable auditing of API requests

`ignore_req_list = `

string value

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.

13.1.5. barbican

The following table outlines the options available under the [barbican] group in the /etc/octavia/octavia.conf file.

Expand
Table 13.4. barbican
Configuration option = Default valueTypeDescription

auth_endpoint = http://localhost/identity/v3

string value

Use this endpoint to connect to Keystone

barbican_api_version = None

string value

Version of the Barbican API, for example: "v1"

barbican_endpoint = None

string value

Use this endpoint to connect to Barbican, for example: "http://localhost:9311/"

barbican_endpoint_type = public

string value

Specifies the type of endpoint. Allowed values are: public, private, and admin

number_of_retries = 60

integer value

Number of times to retry poll for key creation completion

retry_delay = 1

integer value

Number of seconds to wait before retrying poll for key creation completion

verify_ssl = True

boolean value

Specifies if insecure TLS (https) requests. If False, the server’s certificate will not be validated, if True, we can set the verify_ssl_path config meanwhile.

verify_ssl_path = None

string value

A path to a bundle or CA certs to check against, or None for requests to attempt to locate and use certificates which verify_ssh is True. If verify_ssl is False, this is ignored.

13.1.6. certificates

The following table outlines the options available under the [certificates] group in the /etc/octavia/octavia.conf file.

Expand
Table 13.5. certificates
Configuration option = Default valueTypeDescription

barbican_auth = barbican_acl_auth

string value

Name of the Barbican authentication method to use

ca_certificate = /etc/ssl/certs/ssl-cert-snakeoil.pem

string value

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

ca_certificates_file = None

string value

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

ca_private_key = /etc/ssl/private/ssl-cert-snakeoil.key

string value

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

ca_private_key_passphrase = None

string value

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

cert_generator = local_cert_generator

string value

Name of the cert generator to use

cert_manager = barbican_cert_manager

string value

Name of the cert manager to use

cert_validity_time = 2592000

integer value

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

endpoint = None

string value

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

endpoint_type = publicURL

string value

The endpoint_type to be used for barbican service.

insecure = False

boolean value

Disable certificate validation on SSL connections

region_name = None

string value

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

server_certs_key_passphrase = insecure-key-do-not-use-this-key

string value

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

service_name = None

string value

The name of the certificate service in the keystone catalog

signing_digest = sha256

string value

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

13.1.7. compute

The following table outlines the options available under the [compute] group in the /etc/octavia/octavia.conf file.

Expand
Table 13.6. compute
Configuration option = Default valueTypeDescription

max_retries = 15

integer value

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

retry_backoff = 1

integer value

The seconds to backoff retry attempts.

retry_interval = 1

integer value

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

retry_max = 10

integer value

The maximum interval in seconds between retry attempts.

13.1.8. controller_worker

The following table outlines the options available under the [controller_worker] group in the /etc/octavia/octavia.conf file.

Expand
Table 13.7. controller_worker
Configuration option = Default valueTypeDescription

amp_active_retries = 30

integer value

Retry attempts to wait for Amphora to become active

amp_active_wait_sec = 10

integer value

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

`amp_boot_network_list = `

list value

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

`amp_flavor_id = `

string value

Nova instance flavor id for the Amphora

`amp_image_owner_id = `

string value

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

`amp_image_tag = `

string value

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

`amp_secgroup_list = `

list value

List of security groups to attach to the Amphora.

`amp_ssh_key_name = `

string value

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

amphora_delete_retries = 5

integer value

Number of times an amphora delete should be retried.

amphora_delete_retry_interval = 5

integer value

Time, in seconds, between amphora delete retries.

amphora_driver = amphora_haproxy_rest_driver

string value

Name of the amphora driver to use

client_ca = /etc/octavia/certs/ca_01.pem

string value

Client CA for the amphora agent to use

compute_driver = compute_nova_driver

string value

Name of the compute driver to use

db_commit_retry_attempts = 2000

integer value

The number of times the database action will be attempted.

db_commit_retry_backoff = 1

integer value

The time to backoff retry attempts.

db_commit_retry_initial_delay = 1

integer value

The initial delay before a retry attempt.

db_commit_retry_max = 5

integer value

The maximum amount of time to wait between retry attempts.

distributor_driver = distributor_noop_driver

string value

Name of the distributor driver to use

image_driver = image_glance_driver

string value

Name of the image driver to use

loadbalancer_topology = SINGLE

string value

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

network_driver = allowed_address_pairs_driver

string value

Name of the network driver to use

statistics_drivers = ['stats_db']

list value

List of drivers for updating amphora statistics. Deprecated since: Victoria

*Reason:*None

user_data_config_drive = False

boolean value

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.

volume_driver = volume_noop_driver

string value

Name of the volume driver to use

workers = 1

integer value

Number of workers for the controller-worker service.

13.1.9. cors

The following table outlines the options available under the [cors] group in the /etc/octavia/octavia.conf file.

Expand
Table 13.8. cors
Configuration option = Default valueTypeDescription

allow_credentials = True

boolean value

Indicate that the actual request can include user credentials

allow_headers = []

list value

Indicate which header field names may be used during the actual request.

allow_methods = ['OPTIONS', 'GET', 'HEAD', 'POST', 'PUT', 'DELETE', 'TRACE', 'PATCH']

list value

Indicate which methods can be used during the actual request.

allowed_origin = None

list value

Indicate whether this resource may be shared with the domain received in the requests "origin" header. Format: "<protocol>://<host>[:<port>]", no trailing slash. Example: https://horizon.example.com

expose_headers = []

list value

Indicate which headers are safe to expose to the API. Defaults to HTTP Simple Headers.

max_age = 3600

integer value

Maximum cache age of CORS preflight requests.

13.1.10. database

The following table outlines the options available under the [database] group in the /etc/octavia/octavia.conf file.

Expand
Table 13.9. database
Configuration option = Default valueTypeDescription

backend = sqlalchemy

string value

The back end to use for the database.

connection = None

string value

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

connection_debug = 0

integer value

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

`connection_parameters = `

string value

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

connection_recycle_time = 3600

integer value

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.

connection_trace = False

boolean value

Add Python stack traces to SQL as comment strings.

db_inc_retry_interval = True

boolean value

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

db_max_retries = 20

integer value

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

db_max_retry_interval = 10

integer value

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

db_retry_interval = 1

integer value

Seconds between retries of a database transaction.

max_overflow = 50

integer value

If set, use this value for max_overflow with SQLAlchemy.

max_pool_size = 5

integer value

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

max_retries = 10

integer value

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

mysql_enable_ndb = False

boolean value

If True, transparently enables support for handling MySQL Cluster (NDB).

mysql_sql_mode = TRADITIONAL

string value

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=

pool_timeout = None

integer value

If set, use this value for pool_timeout with SQLAlchemy.

retry_interval = 10

integer value

Interval between retries of opening a SQL connection.

slave_connection = None

string value

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

sqlite_synchronous = True

boolean value

If True, SQLite uses synchronous mode.

use_db_reconnect = False

boolean value

Enable the experimental use of database reconnect on connection lost.

13.1.11. driver_agent

The following table outlines the options available under the [driver_agent] group in the /etc/octavia/octavia.conf file.

Expand
Table 13.10. driver_agent
Configuration option = Default valueTypeDescription

`enabled_provider_agents = `

list value

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

get_max_processes = 50

integer value

Maximum number of concurrent processes to use servicing get requests.

get_request_timeout = 5

integer value

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

get_socket_path = /var/run/octavia/get.sock

string value

Path to the driver get unix domain socket file.

max_process_warning_percent = 0.75

floating point value

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

provider_agent_shutdown_timeout = 60

integer value

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

stats_max_processes = 50

integer value

Maximum number of concurrent processes to use servicing statistics updates.

stats_request_timeout = 5

integer value

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

stats_socket_path = /var/run/octavia/stats.sock

string value

Path to the driver statistics unix domain socket file.

status_max_processes = 50

integer value

Maximum number of concurrent processes to use servicing status updates.

status_request_timeout = 5

integer value

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

status_socket_path = /var/run/octavia/status.sock

string value

Path to the driver status unix domain socket file.

13.1.12. glance

The following table outlines the options available under the [glance] group in the /etc/octavia/octavia.conf file.

Expand
Table 13.11. glance
Configuration option = Default valueTypeDescription

ca_certificates_file = None

string value

CA certificates file path

endpoint = None

string value

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

endpoint_type = publicURL

string value

Endpoint interface in identity service to use

insecure = False

boolean value

Disable certificate validation on SSL connections

region_name = None

string value

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

service_name = None

string value

The name of the glance service in the keystone catalog

13.1.13. haproxy_amphora

The following table outlines the options available under the [haproxy_amphora] group in the /etc/octavia/octavia.conf file.

Expand
Table 13.12. haproxy_amphora
Configuration option = Default valueTypeDescription

active_connection_max_retries = 15

integer value

Retry threshold for connecting to active amphorae.

active_connection_rety_interval = 2

integer value

Retry timeout between connection attempts in seconds for active amphora.

api_db_commit_retry_attempts = 15

integer value

The number of times the database action will be attempted.

api_db_commit_retry_backoff = 1

integer value

The time to backoff retry attempts.

api_db_commit_retry_initial_delay = 1

integer value

The initial delay before a retry attempt.

api_db_commit_retry_max = 5

integer value

The maximum amount of time to wait between retry attempts.

base_cert_dir = /var/lib/octavia/certs

string value

Base directory for cert storage.

base_path = /var/lib/octavia

string value

Base directory for amphora files.

bind_host = ::

IP address value

The host IP to bind to

bind_port = 9443

port value

The port to bind to

build_active_retries = 120

integer value

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

build_rate_limit = -1

integer value

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

build_retry_interval = 5

integer value

Retry timeout between build attempts in seconds.

client_cert = /etc/octavia/certs/client.pem

string value

The client certificate to talk to the agent

connection_logging = True

boolean value

Set this to False to disable connection logging.

connection_max_retries = 120

integer value

Retry threshold for connecting to amphorae.

connection_retry_interval = 5

integer value

Retry timeout between connection attempts in seconds.

default_connection_limit = 50000

integer value

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

failover_connection_max_retries = 2

integer value

Retry threshold for connecting to an amphora in failover.

failover_connection_retry_interval = 5

integer value

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

haproxy_cmd = /usr/sbin/haproxy

string value

The full path to haproxy

haproxy_stick_size = 10k

string value

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

haproxy_template = None

string value

Custom haproxy template.

lb_network_interface = o-hm0

string value

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

respawn_count = 2

integer value

The respawn count for haproxy’s upstart script

respawn_interval = 2

integer value

The respawn interval for haproxy’s upstart script

rest_request_conn_timeout = 10

floating point value

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

rest_request_read_timeout = 60

floating point value

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

server_ca = /etc/octavia/certs/server_ca.pem

string value

The ca which signed the server certificates

timeout_client_data = 50000

integer value

Frontend client inactivity timeout.

timeout_member_connect = 5000

integer value

Backend member connection timeout.

timeout_member_data = 50000

integer value

Backend member inactivity timeout.

timeout_tcp_inspect = 0

integer value

Time to wait for TCP packets for content inspection.

use_upstart = True

boolean value

If False, use sysvinit.

user_log_format = {{ 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

string value

Log format string for user flow logging.

13.1.14. health_manager

The following table outlines the options available under the [health_manager] group in the /etc/octavia/octavia.conf file.

Expand
Table 13.13. health_manager
Configuration option = Default valueTypeDescription

bind_ip = 127.0.0.1

IP address value

IP address the controller will listen on for heart beats

bind_port = 5555

port value

Port number the controller will listen on for heart beats

controller_ip_port_list = []

list value

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

failover_threads = 10

integer value

Number of threads performing amphora failovers.

health_check_interval = 3

integer value

Sleep time between health checks in seconds.

health_update_driver = health_db

string value

Driver for updating amphora health system. Deprecated since: Victoria

*Reason:*This driver interface was removed.

health_update_threads = None

integer value

Number of processes for amphora health update.

heartbeat_interval = 10

integer value

Sleep time between sending heartbeats.

heartbeat_key = None

string value

key used to validate amphora sending the message

heartbeat_timeout = 60

integer value

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

sock_rlimit = 0

integer value

sets the value of the heartbeat recv buffer

stats_update_threads = None

integer value

Number of processes for amphora stats update.

13.1.15. healthcheck

The following table outlines the options available under the [healthcheck] group in the /etc/octavia/octavia.conf file.

Expand
Table 13.14. healthcheck
Configuration option = Default valueTypeDescription

backends = []

list value

Additional backends that can perform health checks and report that information back as part of a request.

detailed = False

boolean value

Show more detailed information as part of the response. Security note: Enabling this option may expose sensitive details about the service being monitored. Be sure to verify that it will not violate your security policies.

disable_by_file_path = None

string value

Check the presence of a file to determine if an application is running on a port. Used by DisableByFileHealthcheck plugin.

disable_by_file_paths = []

list value

Check the presence of a file based on a port to determine if an application is running on a port. Expects a "port:path" list of strings. Used by DisableByFilesPortsHealthcheck plugin.

path = /healthcheck

string value

The path to respond to healtcheck requests on.

13.1.16. house_keeping

The following table outlines the options available under the [house_keeping] group in the /etc/octavia/octavia.conf file.

Expand
Table 13.15. house_keeping
Configuration option = Default valueTypeDescription

amphora_expiry_age = 604800

integer value

Amphora expiry age in seconds

cert_expiry_buffer = 1209600

integer value

Seconds until certificate expiration

cert_interval = 3600

integer value

Certificate check interval in seconds

cert_rotate_threads = 10

integer value

Number of threads performing amphora certificate rotation

cleanup_interval = 30

integer value

DB cleanup interval in seconds

load_balancer_expiry_age = 604800

integer value

Load balancer expiry age in seconds

spare_amphora_pool_size = 0

integer value

Number of spare amphorae Deprecated since: Victoria

*Reason:*Spares Pool support will be removed in the X release.

spare_check_interval = 30

integer value

Spare check interval in seconds Deprecated since: Victoria

*Reason:*Spares Pool support will be removed in the X release.

13.1.17. keepalived_vrrp

The following table outlines the options available under the [keepalived_vrrp] group in the /etc/octavia/octavia.conf file.

Expand
Table 13.16. keepalived_vrrp
Configuration option = Default valueTypeDescription

vrrp_advert_int = 1

integer value

Amphora role and priority advertisement interval in seconds.

vrrp_check_interval = 5

integer value

VRRP health check script run interval in seconds.

vrrp_fail_count = 2

integer value

Number of successive failures before transition to a fail state.

vrrp_garp_refresh_count = 2

integer value

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

vrrp_garp_refresh_interval = 5

integer value

Time in seconds between gratuitous ARP announcements from the MASTER.

vrrp_success_count = 2

integer value

Number of consecutive successes before transition to a success state.

13.1.18. key_manager

The following table outlines the options available under the [key_manager] group in the /etc/octavia/octavia.conf file.

Expand
Table 13.17. key_manager
Configuration option = Default valueTypeDescription

auth_type = None

string value

The type of authentication credential to create. Possible values are token, password, keystone_token, and keystone_password. Required if no context is passed to the credential factory.

auth_url = None

string value

Use this endpoint to connect to Keystone.

backend = barbican

string value

Specify the key manager implementation. Options are "barbican" and "vault". Default is "barbican". Will support the values earlier set using [key_manager]/api_class for some time.

domain_id = None

string value

Domain ID for domain scoping. Optional for keystone_token and keystone_password auth_type.

domain_name = None

string value

Domain name for domain scoping. Optional for keystone_token and keystone_password auth_type.

password = None

string value

Password for authentication. Required for password and keystone_password auth_type.

project_domain_id = None

string value

Project’s domain ID for project. Optional for keystone_token and keystone_password auth_type.

project_domain_name = None

string value

Project’s domain name for project. Optional for keystone_token and keystone_password auth_type.

project_id = None

string value

Project ID for project scoping. Optional for keystone_token and keystone_password auth_type.

project_name = None

string value

Project name for project scoping. Optional for keystone_token and keystone_password auth_type.

reauthenticate = True

boolean value

Allow fetching a new token if the current one is going to expire. Optional for keystone_token and keystone_password auth_type.

token = None

string value

Token for authentication. Required for token and keystone_token auth_type if no context is passed to the credential factory.

trust_id = None

string value

Trust ID for trust scoping. Optional for keystone_token and keystone_password auth_type.

user_domain_id = None

string value

User’s domain ID for authentication. Optional for keystone_token and keystone_password auth_type.

user_domain_name = None

string value

User’s domain name for authentication. Optional for keystone_token and keystone_password auth_type.

user_id = None

string value

User ID for authentication. Optional for keystone_token and keystone_password auth_type.

username = None

string value

Username for authentication. Required for password auth_type. Optional for the keystone_password auth_type.

13.1.19. keystone_authtoken

The following table outlines the options available under the [keystone_authtoken] group in the /etc/octavia/octavia.conf file.

Expand
Table 13.18. keystone_authtoken
Configuration option = Default valueTypeDescription

auth_section = None

string value

Config Section from which to load plugin specific options

auth_type = None

string value

Authentication type to load

auth_uri = None

string value

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. Deprecated since: Queens

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

auth_version = None

string value

API version of the Identity API endpoint.

cache = None

string value

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.

cafile = None

string value

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

certfile = None

string value

Required if identity server requires client certificate

delay_auth_decision = False

boolean value

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

enforce_token_bind = permissive

string value

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.

http_connect_timeout = None

integer value

Request timeout value for communicating with Identity API server.

http_request_max_retries = 3

integer value

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

include_service_catalog = True

boolean value

(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.

insecure = False

boolean value

Verify HTTPS connections.

interface = internal

string value

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

keyfile = None

string value

Required if identity server requires client certificate

memcache_pool_conn_get_timeout = 10

integer value

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

memcache_pool_dead_retry = 300

integer value

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

memcache_pool_maxsize = 10

integer value

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

memcache_pool_socket_timeout = 3

integer value

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

memcache_pool_unused_timeout = 60

integer value

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

memcache_secret_key = None

string value

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

memcache_security_strategy = None

string value

(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_use_advanced_pool = False

boolean value

(Optional) Use the advanced (eventlet safe) memcached client pool. The advanced pool will only work under python 2.x.

memcached_servers = None

list value

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

region_name = None

string value

The region in which the identity server can be found.

service_token_roles = ['service']

list value

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 = False

boolean value

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 = None

string value

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.

token_cache_time = 300

integer value

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.

www_authenticate_uri = None

string value

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.

13.1.20. networking

The following table outlines the options available under the [networking] group in the /etc/octavia/octavia.conf file.

Expand
Table 13.19. networking
Configuration option = Default valueTypeDescription

allow_invisible_resource_usage = False

boolean value

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.

allow_vip_network_id = True

boolean value

Can users supply a network_id for their VIP?

allow_vip_port_id = True

boolean value

Can users supply a port_id for their VIP?

allow_vip_subnet_id = True

boolean value

Can users supply a subnet_id for their VIP?

max_retries = 15

integer value

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

port_detach_timeout = 300

integer value

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

reserved_ips = ['169.254.169.254']

list value

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

retry_backoff = 1

integer value

The seconds to backoff retry attempts.

retry_interval = 1

integer value

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

retry_max = 10

integer value

The maximum interval in seconds between retry attempts.

valid_vip_networks = None

list value

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

13.1.21. neutron

The following table outlines the options available under the [neutron] group in the /etc/octavia/octavia.conf file.

Expand
Table 13.20. neutron
Configuration option = Default valueTypeDescription

ca_certificates_file = None

string value

CA certificates file path

endpoint = None

string value

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

endpoint_type = publicURL

string value

Endpoint interface in identity service to use

insecure = False

boolean value

Disable certificate validation on SSL connections

region_name = None

string value

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

service_name = None

string value

The name of the neutron service in the keystone catalog

13.1.22. nova

The following table outlines the options available under the [nova] group in the /etc/octavia/octavia.conf file.

Expand
Table 13.21. nova
Configuration option = Default valueTypeDescription

anti_affinity_policy = anti-affinity

string value

Sets the anti-affinity policy for nova

availability_zone = None

string value

Availability zone to use for creating Amphorae

ca_certificates_file = None

string value

CA certificates file path

enable_anti_affinity = False

boolean value

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

endpoint = None

string value

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

endpoint_type = publicURL

string value

Endpoint interface in identity service to use

insecure = False

boolean value

Disable certificate validation on SSL connections

random_amphora_name_length = 0

integer value

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}".

region_name = None

string value

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

service_name = None

string value

The name of the nova service in the keystone catalog

13.1.23. oslo_messaging

The following table outlines the options available under the [oslo_messaging] group in the /etc/octavia/octavia.conf file.

Expand
Table 13.22. oslo_messaging
Configuration option = Default valueTypeDescription

topic = None

string value

 

13.1.24. oslo_messaging_amqp

The following table outlines the options available under the [oslo_messaging_amqp] group in the /etc/octavia/octavia.conf file.

Expand
Table 13.23. oslo_messaging_amqp
Configuration option = Default valueTypeDescription

addressing_mode = dynamic

string value

Indicates the addressing mode used by the driver. Permitted values: legacy - use legacy non-routable addressing routable - use routable addresses dynamic - use legacy addresses if the message bus does not support routing otherwise use routable addressing

anycast_address = anycast

string value

Appended to the address prefix when sending to a group of consumers. Used by the message bus to identify messages that should be delivered in a round-robin fashion across consumers.

broadcast_prefix = broadcast

string value

address prefix used when broadcasting to all servers

connection_retry_backoff = 2

integer value

Increase the connection_retry_interval by this many seconds after each unsuccessful failover attempt.

connection_retry_interval = 1

integer value

Seconds to pause before attempting to re-connect.

connection_retry_interval_max = 30

integer value

Maximum limit for connection_retry_interval + connection_retry_backoff

container_name = None

string value

Name for the AMQP container. must be globally unique. Defaults to a generated UUID

default_notification_exchange = None

string value

Exchange name used in notification addresses. Exchange name resolution precedence: Target.exchange if set else default_notification_exchange if set else control_exchange if set else notify

default_notify_timeout = 30

integer value

The deadline for a sent notification message delivery. Only used when caller does not provide a timeout expiry.

default_reply_retry = 0

integer value

The maximum number of attempts to re-send a reply message which failed due to a recoverable error.

default_reply_timeout = 30

integer value

The deadline for an rpc reply message delivery.

default_rpc_exchange = None

string value

Exchange name used in RPC addresses. Exchange name resolution precedence: Target.exchange if set else default_rpc_exchange if set else control_exchange if set else rpc

default_send_timeout = 30

integer value

The deadline for an rpc cast or call message delivery. Only used when caller does not provide a timeout expiry.

default_sender_link_timeout = 600

integer value

The duration to schedule a purge of idle sender links. Detach link after expiry.

group_request_prefix = unicast

string value

address prefix when sending to any server in group

idle_timeout = 0

integer value

Timeout for inactive connections (in seconds)

link_retry_delay = 10

integer value

Time to pause between re-connecting an AMQP 1.0 link that failed due to a recoverable error.

multicast_address = multicast

string value

Appended to the address prefix when sending a fanout message. Used by the message bus to identify fanout messages.

notify_address_prefix = openstack.org/om/notify

string value

Address prefix for all generated Notification addresses

notify_server_credit = 100

integer value

Window size for incoming Notification messages

pre_settled = ['rpc-cast', 'rpc-reply']

multi valued

Send messages of this type pre-settled. Pre-settled messages will not receive acknowledgement from the peer. Note well: pre-settled messages may be silently discarded if the delivery fails. Permitted values: rpc-call - send RPC Calls pre-settled rpc-reply- send RPC Replies pre-settled rpc-cast - Send RPC Casts pre-settled notify - Send Notifications pre-settled

pseudo_vhost = True

boolean value

Enable virtual host support for those message buses that do not natively support virtual hosting (such as qpidd). When set to true the virtual host name will be added to all message bus addresses, effectively creating a private subnet per virtual host. Set to False if the message bus supports virtual hosting using the hostname field in the AMQP 1.0 Open performative as the name of the virtual host.

reply_link_credit = 200

integer value

Window size for incoming RPC Reply messages.

rpc_address_prefix = openstack.org/om/rpc

string value

Address prefix for all generated RPC addresses

rpc_server_credit = 100

integer value

Window size for incoming RPC Request messages

`sasl_config_dir = `

string value

Path to directory that contains the SASL configuration

`sasl_config_name = `

string value

Name of configuration file (without .conf suffix)

`sasl_default_realm = `

string value

SASL realm to use if no realm present in username

`sasl_mechanisms = `

string value

Space separated list of acceptable SASL mechanisms

server_request_prefix = exclusive

string value

address prefix used when sending to a specific server

ssl = False

boolean value

Attempt to connect via SSL. If no other ssl-related parameters are given, it will use the system’s CA-bundle to verify the server’s certificate.

`ssl_ca_file = `

string value

CA certificate PEM file used to verify the server’s certificate

`ssl_cert_file = `

string value

Self-identifying certificate PEM file for client authentication

`ssl_key_file = `

string value

Private key PEM file used to sign ssl_cert_file certificate (optional)

ssl_key_password = None

string value

Password for decrypting ssl_key_file (if encrypted)

ssl_verify_vhost = False

boolean value

By default SSL checks that the name in the server’s certificate matches the hostname in the transport_url. In some configurations it may be preferable to use the virtual hostname instead, for example if the server uses the Server Name Indication TLS extension (rfc6066) to provide a certificate per virtual host. Set ssl_verify_vhost to True if the server’s SSL certificate uses the virtual host name instead of the DNS name.

trace = False

boolean value

Debug: dump AMQP frames to stdout

unicast_address = unicast

string value

Appended to the address prefix when sending to a particular RPC/Notification server. Used by the message bus to identify messages sent to a single destination.

13.1.25. oslo_messaging_kafka

The following table outlines the options available under the [oslo_messaging_kafka] group in the /etc/octavia/octavia.conf file.

Expand
Table 13.24. oslo_messaging_kafka
Configuration option = Default valueTypeDescription

compression_codec = none

string value

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

conn_pool_min_size = 2

integer value

The pool size limit for connections expiration policy

conn_pool_ttl = 1200

integer value

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

consumer_group = oslo_messaging_consumer

string value

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

enable_auto_commit = False

boolean value

Enable asynchronous consumer commits

kafka_consumer_timeout = 1.0

floating point value

Default timeout(s) for Kafka consumers

kafka_max_fetch_bytes = 1048576

integer value

Max fetch bytes of Kafka consumer

max_poll_records = 500

integer value

The maximum number of records returned in a poll call

pool_size = 10

integer value

Pool Size for Kafka Consumers

producer_batch_size = 16384

integer value

Size of batch for the producer async send

producer_batch_timeout = 0.0

floating point value

Upper bound on the delay for KafkaProducer batching in seconds

sasl_mechanism = PLAIN

string value

Mechanism when security protocol is SASL

security_protocol = PLAINTEXT

string value

Protocol used to communicate with brokers

`ssl_cafile = `

string value

CA certificate PEM file used to verify the server certificate

`ssl_client_cert_file = `

string value

Client certificate PEM file used for authentication.

`ssl_client_key_file = `

string value

Client key PEM file used for authentication.

`ssl_client_key_password = `

string value

Client key password file used for authentication.

13.1.26. oslo_messaging_notifications

The following table outlines the options available under the [oslo_messaging_notifications] group in the /etc/octavia/octavia.conf file.

Expand
Table 13.25. oslo_messaging_notifications
Configuration option = Default valueTypeDescription

driver = []

multi valued

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

retry = -1

integer value

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

topics = ['notifications']

list value

AMQP topic used for OpenStack notifications.

transport_url = None

string value

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

13.1.27. oslo_messaging_rabbit

The following table outlines the options available under the [oslo_messaging_rabbit] group in the /etc/octavia/octavia.conf file.

Expand
Table 13.26. oslo_messaging_rabbit
Configuration option = Default valueTypeDescription

amqp_auto_delete = False

boolean value

Auto-delete queues in AMQP.

amqp_durable_queues = False

boolean value

Use durable queues in AMQP.

direct_mandatory_flag = True

boolean value

(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

enable_cancel_on_failover = False

boolean value

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

heartbeat_in_pthread = False

boolean value

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.

heartbeat_rate = 2

integer value

How often times during the heartbeat_timeout_threshold we check the heartbeat.

heartbeat_timeout_threshold = 60

integer value

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

kombu_compression = None

string value

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

kombu_failover_strategy = round-robin

string value

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.

kombu_missing_consumer_retry_timeout = 60

integer value

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

kombu_reconnect_delay = 1.0

floating point value

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

rabbit_ha_queues = False

boolean value

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_interval_max = 30

integer value

Maximum interval of RabbitMQ connection retries. Default is 30 seconds.

rabbit_login_method = AMQPLAIN

string value

The RabbitMQ login method.

rabbit_qos_prefetch_count = 0

integer value

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

rabbit_retry_backoff = 2

integer value

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

rabbit_retry_interval = 1

integer value

How frequently to retry connecting with RabbitMQ.

rabbit_transient_queues_ttl = 1800

integer value

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.

ssl = False

boolean value

Connect over SSL.

`ssl_ca_file = `

string value

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

`ssl_cert_file = `

string value

SSL cert file (valid only if SSL enabled).

`ssl_key_file = `

string value

SSL key file (valid only if SSL enabled).

`ssl_version = `

string value

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.

13.1.28. oslo_middleware

The following table outlines the options available under the [oslo_middleware] group in the /etc/octavia/octavia.conf file.

Expand
Table 13.27. oslo_middleware
Configuration option = Default valueTypeDescription

enable_proxy_headers_parsing = False

boolean value

Whether the application is behind a proxy or not. This determines if the middleware should parse the headers or not.

13.1.29. oslo_policy

The following table outlines the options available under the [oslo_policy] group in the /etc/octavia/octavia.conf file.

Expand
Table 13.28. oslo_policy
Configuration option = Default valueTypeDescription

enforce_new_defaults = False

boolean value

This option controls whether or not to use old deprecated defaults when evaluating policies. If True, the old deprecated defaults are not going to be evaluated. This means if any existing token is allowed for old defaults but is disallowed for new defaults, it will be disallowed. It is encouraged to enable this flag along with the enforce_scope flag so that you can get the benefits of new defaults and scope_type together

enforce_scope = False

boolean value

This option controls whether or not to enforce scope when evaluating policies. If True, the scope of the token used in the request is compared to the scope_types of the policy being enforced. If the scopes do not match, an InvalidScope exception will be raised. If False, a message will be logged informing operators that policies are being invoked with mismatching scope.

policy_default_rule = default

string value

Default rule. Enforced when a requested rule is not found.

policy_dirs = ['policy.d']

multi valued

Directories where policy configuration files are stored. They can be relative to any directory in the search path defined by the config_dir option, or absolute paths. The file defined by policy_file must exist for these directories to be searched. Missing or empty directories are ignored.

policy_file = policy.yaml

string value

The relative or absolute path of a file that maps roles to permissions for a given service. Relative paths must be specified in relation to the configuration file setting this option.

remote_content_type = application/x-www-form-urlencoded

string value

Content Type to send and receive data for REST based policy check

remote_ssl_ca_crt_file = None

string value

Absolute path to ca cert file for REST based policy check

remote_ssl_client_crt_file = None

string value

Absolute path to client cert for REST based policy check

remote_ssl_client_key_file = None

string value

Absolute path client key file REST based policy check

remote_ssl_verify_server_crt = False

boolean value

server identity verification for REST based policy check

13.1.30. quotas

The following table outlines the options available under the [quotas] group in the /etc/octavia/octavia.conf file.

Expand
Table 13.29. quotas
Configuration option = Default valueTypeDescription

default_health_monitor_quota = -1

integer value

Default per project health monitor quota.

default_l7policy_quota = -1

integer value

Default per project l7policy quota.

default_l7rule_quota = -1

integer value

Default per project l7rule quota.

default_listener_quota = -1

integer value

Default per project listener quota.

default_load_balancer_quota = -1

integer value

Default per project load balancer quota.

default_member_quota = -1

integer value

Default per project member quota.

default_pool_quota = -1

integer value

Default per project pool quota.

13.1.31. service_auth

The following table outlines the options available under the [service_auth] group in the /etc/octavia/octavia.conf file.

Expand
Table 13.30. service_auth
Configuration option = Default valueTypeDescription

auth-url = None

string value

Authentication URL

auth_type = None

string value

Authentication type to load

cafile = None

string value

PEM encoded Certificate Authority to use when verifying HTTPs connections.

certfile = None

string value

PEM encoded client certificate cert file

collect-timing = False

boolean value

Collect per-API call timing information.

default-domain-id = None

string value

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 = None

string value

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 = None

string value

Domain ID to scope to

domain-name = None

string value

Domain name to scope to

insecure = False

boolean value

Verify HTTPS connections.

keyfile = None

string value

PEM encoded client certificate key file

password = None

string value

User’s password

project-domain-id = None

string value

Domain ID containing project

project-domain-name = None

string value

Domain name containing project

project-id = None

string value

Project ID to scope to

project-name = None

string value

Project name to scope to

split-loggers = False

boolean value

Log requests to multiple loggers.

system-scope = None

string value

Scope for system operations

tenant-id = None

string value

Tenant ID

tenant-name = None

string value

Tenant Name

timeout = None

integer value

Timeout value for http requests

trust-id = None

string value

Trust ID

user-domain-id = None

string value

User’s domain id

user-domain-name = None

string value

User’s domain name

user-id = None

string value

User id

username = None

string value

Username

13.1.32. task_flow

The following table outlines the options available under the [task_flow] group in the /etc/octavia/octavia.conf file.

Expand
Table 13.31. task_flow
Configuration option = Default valueTypeDescription

disable_revert = False

boolean value

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.

engine = parallel

string value

TaskFlow engine to use. serial - Runs all tasks on a single thread. parallel - Schedules tasks onto different threads to allow for running non-dependent tasks simultaneously

jobboard_backend_driver = redis_taskflow_driver

string value

Jobboard backend driver that will monitor job state.

jobboard_backend_hosts = ['127.0.0.1']

list value

Jobboard backend server host(s).

jobboard_backend_namespace = octavia_jobboard

string value

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

`jobboard_backend_password = `

string value

Jobboard backend server password

jobboard_backend_port = 6379

port value

Jobboard backend server port

jobboard_enabled = False

boolean value

If True, enables TaskFlow jobboard.

jobboard_expiration_time = 30

integer value

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

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

dict value

Redis jobboard backend ssl configuration options.

jobboard_redis_sentinel = None

string value

Sentinel name if it is used for Redis.

jobboard_save_logbook = False

boolean value

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

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

dict value

Zookeeper jobboard backend ssl configuration options.

max_workers = 5

integer value

The maximum number of workers

persistence_connection = sqlite://

string value

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

13.1.33. vault

The following table outlines the options available under the [vault] group in the /etc/octavia/octavia.conf file.

Expand
Table 13.32. vault
Configuration option = Default valueTypeDescription

approle_role_id = None

string value

AppRole role_id for authentication with vault

approle_secret_id = None

string value

AppRole secret_id for authentication with vault

kv_mountpoint = secret

string value

Mountpoint of KV store in Vault to use, for example: secret

kv_version = 2

integer value

Version of KV store in Vault to use, for example: 2

root_token_id = None

string value

root token for vault

ssl_ca_crt_file = None

string value

Absolute path to ca cert file

use_ssl = False

boolean value

SSL Enabled/Disabled

vault_url = http://127.0.0.1:8200

string value

Use this endpoint to connect to Vault, for example: "http://127.0.0.1:8200"

Back to top
Red Hat logoGithubredditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust. Explore our recent updates.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

Theme

© 2025 Red Hat