# Configuration options for the Acceleration service

The following options can be set in the `/etc/cyborg/cyborg.conf` config file A sample configuration file is also available.

## DEFAULT

fatal_exception_format_errors
  Type:

    boolean

  Default:

    `False`

  Used if there is a formatting error when generating an exception message (a programming error). If True, raise an exception; if False, use the unformatted message.

host
  Type:

    host address

  Default:

    `localhost`

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

  Name of this node. This can be an opaque identifier. It is not necessarily a hostname, FQDN, or IP address. However, the node name must be valid within an AMQP key, and if using ZeroMQ, a valid hostname, FQDN, or IP address.

periodic_interval
  Type:

    integer

  Default:

    `60`

  Default interval (in seconds) for running periodic tasks.

thread_pool_size
  Type:

    integer

  Default:

    `10`

  This option specifies the size of the pool of threads used by API to do async jobs.It is possible to limit the number of concurrent connections using this option.

bind_timeout
  Type:

    integer

  Default:

    `60`

  This option specifies the timeout of async job for ARQ bind.

pybasedir
  Type:

    string

  Default:

    `/usr/lib/python/site-packages/cyborg/cyborg`

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

  Directory where the cyborg python module is installed.

bindir
  Type:

    string

  Default:

    `$pybasedir/bin`

  Directory where cyborg binaries are installed.

state_path
  Type:

    string

  Default:

    `$pybasedir`

  Top-level directory for maintaining cyborg’s state.

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:

    `openstack`

  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

run_external_periodic_tasks
  Type:

    boolean

  Default:

    `True`

  Some periodic tasks can be run in a separate process. Should we run them here?

backdoor_port
  Type:

    string

  Default:

    `<None>`

  Enable eventlet backdoor. Acceptable values are 0, <port>, and <start>:<end>, where 0 results in listening on a random tcp port number; <port> results in listening on the specified port number (and not enabling backdoor if that port is in use); and <start>:<end> results in listening on the smallest unused port number within the specified range of port numbers. The chosen port is displayed in the service’s log file.

  Warning

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

  Reason:

    The ‘backdoor_port’ option is deprecated and will be removed in a future release.

backdoor_socket
  Type:

    string

  Default:

    `<None>`

  Enable eventlet backdoor, using the provided path as a unix socket that can receive connections. This option is mutually exclusive with ‘backdoor_port’ in that only one should be provided. If both are provided then the existence of this option overrides the usage of that option. Inside the path {pid} will be replaced with the PID of the current process.

  Warning

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

  Reason:

    The ‘backdoor_socket’ option is deprecated and will be removed in a future release.

log_options
  Type:

    boolean

  Default:

    `True`

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

graceful_shutdown_timeout
  Type:

    integer

  Default:

    `60`

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

## agent

enabled_drivers
  Type:

    list

  Default:

    `['fake_driver']`

  The accelerator drivers enabled on this agent. Such as intel_fpga_driver, inspur_fpga_driver,nvidia_gpu_driver, intel_qat_driver,inspur_nvme_ssd_driver, xilinx_fpga_driver, etc.

## api

host_ip
  Type:

    host address

  Default:

    `127.0.0.1`

  The IP address on which cyborg-api listens.

port
  Type:

    port number

  Default:

    `6666`

  Minimum Value:

    0

  Maximum Value:

    65535

  The TCP port on which cyborg-api listens.

api_workers
  Type:

    integer

  Default:

    `<None>`

  Number of workers for OpenStack Cyborg API service. The default is equal to the number of CPUs available if that can be determined, else a default worker count of 1 is returned.

enable_ssl_api
  Type:

    boolean

  Default:

    `False`

  Enable the integrated stand-alone API to service requests via HTTPS instead of HTTP. If there is a front-end service performing HTTPS offloading from the service, this option should be False; note, you will want to change public API endpoint to represent SSL termination URL with ‘public_endpoint’ option.

public_endpoint
  Type:

    string

  Default:

    `<None>`

  Public URL to use when building the links to the API resources (for example, “https://cyborg.rocks:6666”). If None the links will be built using the request’s host URL. If the API is operating behind a proxy, you will want to change this to represent the proxy’s URL. Defaults to None.

api_paste_config
  Type:

    string

  Default:

    `api-paste.ini`

  Configuration file for WSGI definition of API.

## database

mysql_engine
  Type:

    string

  Default:

    `InnoDB`

  MySQL engine to use.

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&…

## glance

Configuration options for the Image service

num_retries
  Type:

    integer

  Default:

    `0`

  Minimum Value:

    0

  Enable glance operation retries.

  Specifies the number of retries when uploading / downloading an image to / from glance. 0 means no retries.

verify_glance_signatures
  Type:

    boolean

  Default:

    `False`

  Enable image signature verification.

  cyborg uses the image signature metadata from glance and verifies the signature of a signed image while downloading that image. If the image signature cannot be verified or if the image signature metadata is either incomplete or unavailable, then cyborg will not boot the image and instead will place the instance into an error state. This provides end users with stronger assurances of the integrity of the image data they are using to create servers.

  Related options:

  - The options in the key_manager group, as the key_manager is used for the signature validation.

  - Both enable_certificate_validation and default_trusted_certificate_ids below depend on this option being enabled.

enable_certificate_validation
  Type:

    boolean

  Default:

    `False`

  Enable certificate validation for image signature verification.

  During image signature verification cyborg will first verify the validity of the image’s signing certificate using the set of trusted certificates associated with the instance. If certificate validation fails, signature verification will not be performed and the instance will be placed into an error state. This provides end users with stronger assurances that the image data is unmodified and trustworthy. If left disabled, image signature verification can still occur but the end user will not have any assurance that the signing certificate used to generate the image signature is still trustworthy.

  Related options:

  - This option only takes effect if verify_glance_signatures is enabled.

  - The value of default_trusted_certificate_ids may be used when this option is enabled.

  Warning

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

  Reason:

    This option is intended to ease the transition for deployments leveraging image signature verification. The intended state long-term is for signature verification and certificate validation to always happen together.

default_trusted_certificate_ids
  Type:

    list

  Default:

    `[]`

  List of certificate IDs for certificates that should be trusted.

  May be used as a default list of trusted certificate IDs for certificate validation. The value of this option will be ignored if the user provides a list of trusted certificate IDs with an instance API request. The value of this option will be persisted with the instance data if signature verification and certificate validation are enabled and if the user did not provide an alternative list. If left empty when certificate validation is enabled the user must provide a list of trusted certificate IDs otherwise certificate validation will fail.

  Related options:

  - The value of this option may be used if both verify_glance_signatures and enable_certificate_validation are enabled.

debug
  Type:

    boolean

  Default:

    `False`

  Enable or disable debug logging with glanceclient.

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

keyfile
  Type:

    string

  Default:

    `<None>`

  PEM encoded client certificate key file

insecure
  Type:

    boolean

  Default:

    `False`

  Verify HTTPS connections.

timeout
  Type:

    integer

  Default:

    `<None>`

  Timeout value for http requests

collect_timing
  Type:

    boolean

  Default:

    `False`

  Collect per-API call timing information.

split_loggers
  Type:

    boolean

  Default:

    `False`

  Log requests to multiple loggers.

service_type
  Type:

    string

  Default:

    `image`

  The default service_type for endpoint URL discovery.

service_name
  Type:

    string

  Default:

    `<None>`

  The default service_name for endpoint URL discovery.

valid_interfaces
  Type:

    list

  Default:

    `['internal', 'public']`

  List of interfaces, in order of preference, for endpoint URL.

region_name
  Type:

    string

  Default:

    `<None>`

  The default region_name for endpoint URL discovery.

endpoint_override
  Type:

    string

  Default:

    `<None>`

  Always use this endpoint URL for requests for this client. NOTE: The unversioned endpoint should be specified here; to request a particular API version, use the version, min-version, and/or max-version options.

connect_retries
  Type:

    integer

  Default:

    `<None>`

  The maximum number of retries that should be attempted for connection errors.

connect_retry_delay
  Type:

    floating point

  Default:

    `<None>`

  Delay (in seconds) between two retries for connection errors. If not set, exponential retry starting with 0.5 seconds up to a maximum of 60 seconds is used.

status_code_retries
  Type:

    integer

  Default:

    `<None>`

  The maximum number of retries that should be attempted for retriable HTTP status codes.

status_code_retry_delay
  Type:

    floating point

  Default:

    `<None>`

  Delay (in seconds) between two retries for retriable status codes. If not set, exponential retry starting with 0.5 seconds up to a maximum of 60 seconds is used.

retriable_status_codes
  Type:

    list

  Default:

    `<None>`

  List of retriable HTTP status codes that should be retried. If not set default to [503]

## gpu_devices

This is used to config vGPU types for nvidia GPU devices.

enabled_vgpu_types
  Type:

    list

  Default:

    `[]`

  The vGPU types enabled in the compute node.

  Cyborg supports multiple vGPU types in one host. Usually, a single physical GPU can only set one vgpu type. Some pGPUs (e.g. NVIDIA GRID K1) support multiple vGPU types.

  If more than one single vGPU type are provided, then for each vGPU type, you must add an additional section `[vgpu_$(VGPU_TYPE)]` with a single configuration option `device_addresses` to assign this type to the target physical GPU(s). PGPUs should be configured explictly now, we will improve this after we implement the enable/disable interface.

  If the same PCI address is provided for two different types, cyborg-agent will return an InvalidGPUConfig exception at restart.

  An example is as the following:

      [gpu_devices]
      enabled_vgpu_types = nvidia-35, nvidia-36

      [vgpu_nvidia-35]
      device_addresses = 0000:84:00.0,0000:85:00.0

      [vgpu_nvidia-36]
      device_addresses = 0000:86:00.0

## keystone

Configuration options for the identity service

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

keyfile
  Type:

    string

  Default:

    `<None>`

  PEM encoded client certificate key file

insecure
  Type:

    boolean

  Default:

    `False`

  Verify HTTPS connections.

timeout
  Type:

    integer

  Default:

    `<None>`

  Timeout value for http requests

collect_timing
  Type:

    boolean

  Default:

    `False`

  Collect per-API call timing information.

split_loggers
  Type:

    boolean

  Default:

    `False`

  Log requests to multiple loggers.

service_type
  Type:

    string

  Default:

    `identity`

  The default service_type for endpoint URL discovery.

service_name
  Type:

    string

  Default:

    `<None>`

  The default service_name for endpoint URL discovery.

valid_interfaces
  Type:

    list

  Default:

    `['internal', 'public']`

  List of interfaces, in order of preference, for endpoint URL.

region_name
  Type:

    string

  Default:

    `<None>`

  The default region_name for endpoint URL discovery.

endpoint_override
  Type:

    string

  Default:

    `<None>`

  Always use this endpoint URL for requests for this client. NOTE: The unversioned endpoint should be specified here; to request a particular API version, use the version, min-version, and/or max-version options.

connect_retries
  Type:

    integer

  Default:

    `<None>`

  The maximum number of retries that should be attempted for connection errors.

connect_retry_delay
  Type:

    floating point

  Default:

    `<None>`

  Delay (in seconds) between two retries for connection errors. If not set, exponential retry starting with 0.5 seconds up to a maximum of 60 seconds is used.

status_code_retries
  Type:

    integer

  Default:

    `<None>`

  The maximum number of retries that should be attempted for retriable HTTP status codes.

status_code_retry_delay
  Type:

    floating point

  Default:

    `<None>`

  Delay (in seconds) between two retries for retriable status codes. If not set, exponential retry starting with 0.5 seconds up to a maximum of 60 seconds is used.

retriable_status_codes
  Type:

    list

  Default:

    `<None>`

  List of retriable HTTP status codes that should be retried. If not set default to [503]

## 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_tls_enabled
  Type:

    boolean

  Default:

    `False`

  (Optional) Global toggle for TLS usage when comunicating with the caching servers.

memcache_tls_cafile
  Type:

    string

  Default:

    `<None>`

  (Optional) Path to a file of concatenated CA certificates in PEM format necessary to establish the caching server’s authenticity. If tls_enabled is False, this option is ignored.

memcache_tls_certfile
  Type:

    string

  Default:

    `<None>`

  (Optional) Path to a single file in PEM format containing the client’s certificate as well as any number of CA certificates needed to establish the certificate’s authenticity. This file is only required when client side authentication is necessary. If tls_enabled is False, this option is ignored.

memcache_tls_keyfile
  Type:

    string

  Default:

    `<None>`

  (Optional) Path to a single file containing the client’s private key in. Otherwhise the private key will be taken from the file specified in tls_certfile. If tls_enabled is False, this option is ignored.

memcache_tls_allowed_ciphers
  Type:

    string

  Default:

    `<None>`

  (Optional) Set the available ciphers for sockets created with the TLS context. It should be a string in the OpenSSL cipher list format. If not specified, all OpenSSL enabled ciphers will be available.

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

## nic_devices

This is used to config specific nic devices.

enabled_nic_types
  Type:

    list

  Default:

    `[]`

## nova

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

keyfile
  Type:

    string

  Default:

    `<None>`

  PEM encoded client certificate key file

insecure
  Type:

    boolean

  Default:

    `False`

  Verify HTTPS connections.

timeout
  Type:

    integer

  Default:

    `<None>`

  Timeout value for http requests

collect_timing
  Type:

    boolean

  Default:

    `False`

  Collect per-API call timing information.

split_loggers
  Type:

    boolean

  Default:

    `False`

  Log requests to multiple loggers.

auth_type
  Type:

    unknown type

  Default:

    `<None>`

  Authentication type to load

  Deprecated Variations
  Group | Name
  --- | ---
  nova | auth_plugin

auth_section
  Type:

    unknown type

  Default:

    `<None>`

  Config Section from which to load plugin specific options

auth_url
  Type:

    unknown type

  Default:

    `<None>`

  Authentication URL

system_scope
  Type:

    unknown type

  Default:

    `<None>`

  Scope for system operations

domain_id
  Type:

    unknown type

  Default:

    `<None>`

  Domain ID to scope to

domain_name
  Type:

    unknown type

  Default:

    `<None>`

  Domain name to scope to

project_id
  Type:

    unknown type

  Default:

    `<None>`

  Project ID to scope to

project_name
  Type:

    unknown type

  Default:

    `<None>`

  Project name to scope to

project_domain_id
  Type:

    unknown type

  Default:

    `<None>`

  Domain ID containing project

project_domain_name
  Type:

    unknown type

  Default:

    `<None>`

  Domain name containing project

trust_id
  Type:

    unknown type

  Default:

    `<None>`

  ID of the trust to use as a trustee use

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.

user_id
  Type:

    unknown type

  Default:

    `<None>`

  User’s user ID

username
  Type:

    unknown type

  Default:

    `<None>`

  User’s username

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

user_domain_id
  Type:

    unknown type

  Default:

    `<None>`

  User’s domain ID

user_domain_name
  Type:

    unknown type

  Default:

    `<None>`

  User’s domain name

password
  Type:

    unknown type

  Default:

    `<None>`

  User’s password

tenant_id
  Type:

    unknown type

  Default:

    `<None>`

  Tenant ID

tenant_name
  Type:

    unknown type

  Default:

    `<None>`

  Tenant Name

service_type
  Type:

    string

  Default:

    `compute`

  The default service_type for endpoint URL discovery.

service_name
  Type:

    string

  Default:

    `<None>`

  The default service_name for endpoint URL discovery.

valid_interfaces
  Type:

    list

  Default:

    `['internal', 'public']`

  List of interfaces, in order of preference, for endpoint URL.

region_name
  Type:

    string

  Default:

    `<None>`

  The default region_name for endpoint URL discovery.

endpoint_override
  Type:

    string

  Default:

    `<None>`

  Always use this endpoint URL for requests for this client. NOTE: The unversioned endpoint should be specified here; to request a particular API version, use the version, min-version, and/or max-version options.

connect_retries
  Type:

    integer

  Default:

    `<None>`

  The maximum number of retries that should be attempted for connection errors.

connect_retry_delay
  Type:

    floating point

  Default:

    `<None>`

  Delay (in seconds) between two retries for connection errors. If not set, exponential retry starting with 0.5 seconds up to a maximum of 60 seconds is used.

status_code_retries
  Type:

    integer

  Default:

    `<None>`

  The maximum number of retries that should be attempted for retriable HTTP status codes.

status_code_retry_delay
  Type:

    floating point

  Default:

    `<None>`

  Delay (in seconds) between two retries for retriable status codes. If not set, exponential retry starting with 0.5 seconds up to a maximum of 60 seconds is used.

retriable_status_codes
  Type:

    list

  Default:

    `<None>`

  List of retriable HTTP status codes that should be retried. If not set default to [503]

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

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.

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_policy

enforce_scope
  Type:

    boolean

  Default:

    `True`

  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.

  Warning

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

  Reason:

    This configuration was added temporarily to facilitate a smooth transition to the new RBAC. OpenStack will always enforce scope checks. This configuration option is deprecated and will be removed in the 2025.2 cycle.

enforce_new_defaults
  Type:

    boolean

  Default:

    `True`

  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. If `False`, the deprecated policy check string is logically OR’d with the new policy check string, allowing for a graceful upgrade experience between releases with new policies, which is the default behavior.

policy_file
  Type:

    string

  Default:

    `policy.yaml`

  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.

policy_default_rule
  Type:

    string

  Default:

    `default`

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

policy_dirs
  Type:

    multi-valued

  Default:

    `policy.d`

  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.

remote_content_type
  Type:

    string

  Default:

    `application/x-www-form-urlencoded`

  Valid Values:

    application/x-www-form-urlencoded, application/json

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

remote_ssl_verify_server_crt
  Type:

    boolean

  Default:

    `False`

  server identity verification for REST based policy check

remote_ssl_ca_crt_file
  Type:

    string

  Default:

    `<None>`

  Absolute path to ca cert file for REST based policy check

remote_ssl_client_crt_file
  Type:

    string

  Default:

    `<None>`

  Absolute path to client cert for REST based policy check

remote_ssl_client_key_file
  Type:

    string

  Default:

    `<None>`

  Absolute path client key file REST based policy check

remote_timeout
  Type:

    floating point

  Default:

    `60`

  Minimum Value:

    0

  Timeout in seconds for REST based policy check

## placement

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

keyfile
  Type:

    string

  Default:

    `<None>`

  PEM encoded client certificate key file

insecure
  Type:

    boolean

  Default:

    `False`

  Verify HTTPS connections.

timeout
  Type:

    integer

  Default:

    `<None>`

  Timeout value for http requests

collect_timing
  Type:

    boolean

  Default:

    `False`

  Collect per-API call timing information.

split_loggers
  Type:

    boolean

  Default:

    `False`

  Log requests to multiple loggers.

auth_type
  Type:

    unknown type

  Default:

    `<None>`

  Authentication type to load

  Deprecated Variations
  Group | Name
  --- | ---
  placement | auth_plugin

auth_section
  Type:

    unknown type

  Default:

    `<None>`

  Config Section from which to load plugin specific options

auth_url
  Type:

    unknown type

  Default:

    `<None>`

  Authentication URL

system_scope
  Type:

    unknown type

  Default:

    `<None>`

  Scope for system operations

domain_id
  Type:

    unknown type

  Default:

    `<None>`

  Domain ID to scope to

domain_name
  Type:

    unknown type

  Default:

    `<None>`

  Domain name to scope to

project_id
  Type:

    unknown type

  Default:

    `<None>`

  Project ID to scope to

project_name
  Type:

    unknown type

  Default:

    `<None>`

  Project name to scope to

project_domain_id
  Type:

    unknown type

  Default:

    `<None>`

  Domain ID containing project

project_domain_name
  Type:

    unknown type

  Default:

    `<None>`

  Domain name containing project

trust_id
  Type:

    unknown type

  Default:

    `<None>`

  ID of the trust to use as a trustee use

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.

user_id
  Type:

    unknown type

  Default:

    `<None>`

  User’s user ID

username
  Type:

    unknown type

  Default:

    `<None>`

  User’s username

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

user_domain_id
  Type:

    unknown type

  Default:

    `<None>`

  User’s domain ID

user_domain_name
  Type:

    unknown type

  Default:

    `<None>`

  User’s domain name

password
  Type:

    unknown type

  Default:

    `<None>`

  User’s password

tenant_id
  Type:

    unknown type

  Default:

    `<None>`

  Tenant ID

tenant_name
  Type:

    unknown type

  Default:

    `<None>`

  Tenant Name

service_type
  Type:

    string

  Default:

    `placement`

  The default service_type for endpoint URL discovery.

service_name
  Type:

    string

  Default:

    `<None>`

  The default service_name for endpoint URL discovery.

valid_interfaces
  Type:

    list

  Default:

    `['internal', 'public']`

  List of interfaces, in order of preference, for endpoint URL.

region_name
  Type:

    string

  Default:

    `<None>`

  The default region_name for endpoint URL discovery.

endpoint_override
  Type:

    string

  Default:

    `<None>`

  Always use this endpoint URL for requests for this client. NOTE: The unversioned endpoint should be specified here; to request a particular API version, use the version, min-version, and/or max-version options.

connect_retries
  Type:

    integer

  Default:

    `<None>`

  The maximum number of retries that should be attempted for connection errors.

connect_retry_delay
  Type:

    floating point

  Default:

    `<None>`

  Delay (in seconds) between two retries for connection errors. If not set, exponential retry starting with 0.5 seconds up to a maximum of 60 seconds is used.

status_code_retries
  Type:

    integer

  Default:

    `<None>`

  The maximum number of retries that should be attempted for retriable HTTP status codes.

status_code_retry_delay
  Type:

    floating point

  Default:

    `<None>`

  Delay (in seconds) between two retries for retriable status codes. If not set, exponential retry starting with 0.5 seconds up to a maximum of 60 seconds is used.

retriable_status_codes
  Type:

    list

  Default:

    `<None>`

  List of retriable HTTP status codes that should be retried. If not set default to [503]

## service_user

Configuration options for service to service authentication using a service token. These options allow sending a service token along with the user’s token when contacting external REST APIs.

send_service_user_token
  Type:

    boolean

  Default:

    `False`

  When True, if sending a user token to a REST API, also send a service token.

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

keyfile
  Type:

    string

  Default:

    `<None>`

  PEM encoded client certificate key file

insecure
  Type:

    boolean

  Default:

    `False`

  Verify HTTPS connections.

timeout
  Type:

    integer

  Default:

    `<None>`

  Timeout value for http requests

collect_timing
  Type:

    boolean

  Default:

    `False`

  Collect per-API call timing information.

split_loggers
  Type:

    boolean

  Default:

    `False`

  Log requests to multiple loggers.

auth_type
  Type:

    unknown type

  Default:

    `<None>`

  Authentication type to load

  Deprecated Variations
  Group | Name
  --- | ---
  service_user | auth_plugin

auth_section
  Type:

    unknown type

  Default:

    `<None>`

  Config Section from which to load plugin specific options

auth_url
  Type:

    unknown type

  Default:

    `<None>`

  Authentication URL

system_scope
  Type:

    unknown type

  Default:

    `<None>`

  Scope for system operations

domain_id
  Type:

    unknown type

  Default:

    `<None>`

  Domain ID to scope to

domain_name
  Type:

    unknown type

  Default:

    `<None>`

  Domain name to scope to

project_id
  Type:

    unknown type

  Default:

    `<None>`

  Project ID to scope to

project_name
  Type:

    unknown type

  Default:

    `<None>`

  Project name to scope to

project_domain_id
  Type:

    unknown type

  Default:

    `<None>`

  Domain ID containing project

project_domain_name
  Type:

    unknown type

  Default:

    `<None>`

  Domain name containing project

trust_id
  Type:

    unknown type

  Default:

    `<None>`

  ID of the trust to use as a trustee use

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.

user_id
  Type:

    unknown type

  Default:

    `<None>`

  User’s user ID

username
  Type:

    unknown type

  Default:

    `<None>`

  User’s username

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

user_domain_id
  Type:

    unknown type

  Default:

    `<None>`

  User’s domain ID

user_domain_name
  Type:

    unknown type

  Default:

    `<None>`

  User’s domain name

password
  Type:

    unknown type

  Default:

    `<None>`

  User’s password

tenant_id
  Type:

    unknown type

  Default:

    `<None>`

  Tenant ID

tenant_name
  Type:

    unknown type

  Default:

    `<None>`

  Tenant Name

## ssl

ca_file
  Type:

    string

  Default:

    `<None>`

  CA certificate file to use to verify connecting clients.

  Warning

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

  Reason:

    The ‘ca_file’ option is deprecated and will be removed in a future release.

cert_file
  Type:

    string

  Default:

    `<None>`

  Certificate file to use when starting the server securely.

  Warning

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

  Reason:

    The ‘cert_file’ option is deprecated and will be removed in a future release.

key_file
  Type:

    string

  Default:

    `<None>`

  Private key file to use when starting the server securely.

  Warning

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

  Reason:

    The ‘key_file’ option is deprecated and will be removed in a future release.

version
  Type:

    string

  Default:

    `<None>`

  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.

  Warning

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

  Reason:

    The ‘version’ option is deprecated and will be removed in a future release.

ciphers
  Type:

    string

  Default:

    `<None>`

  Sets the list of available ciphers. value should be a string in the OpenSSL cipher list format.

  Warning

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

  Reason:

    The ‘ciphers’ option is deprecated and will be removed in a future release.

this page last updated: 2026-06-04 00:46:15

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