# API Configuration options

## Configuration

The Identity service is configured in the `/etc/keystone/keystone.conf` file.

The following tables provide a comprehensive list of the Identity service options.

For a sample configuration file, refer to keystone.conf.

### DEFAULT

rpc_conn_pool_size
  Type

    integer

  Default

    `30`

  Minimum Value

    1

  Size of RPC connection pool.

  Deprecated Variations
  Group | Name
  --- | ---
  DEFAULT | rpc_conn_pool_size

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

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

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.

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.

use_eventlog
  Type

    boolean

  Default

    `False`

  Log output to Windows Event Log.

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 [%(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 %(tenant)s %(domain)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`

  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.

fatal_deprecations
  Type

    boolean

  Default

    `False`

  Enables or disables fatal status of deprecations.

### cache

config_prefix
  Type

    string

  Default

    `cache.oslo`

  Prefix for building the configuration dictionary for the cache region. This should not need to be changed unless there is another dogpile.cache region with the same configuration name.

expiration_time
  Type

    integer

  Default

    `600`

  Default TTL, in seconds, for any cached item in the dogpile.cache region. This applies to any cached method that doesn’t have an explicit cache expiration time defined for it.

backend
  Type

    string

  Default

    `dogpile.cache.null`

  Valid Values

    oslo_cache.memcache_pool, oslo_cache.dict, oslo_cache.mongo, oslo_cache.etcd3gw, dogpile.cache.pymemcache, dogpile.cache.memcached, dogpile.cache.pylibmc, dogpile.cache.bmemcached, dogpile.cache.dbm, dogpile.cache.redis, dogpile.cache.memory, dogpile.cache.memory_pickle, dogpile.cache.null

  Cache backend module. For eventlet-based or environments with hundreds of threaded servers, Memcache with pooling (oslo_cache.memcache_pool) is recommended. For environments with less than 100 threaded servers, Memcached (dogpile.cache.memcached) or Redis (dogpile.cache.redis) is recommended. Test environments with a single instance of the server can use the dogpile.cache.memory backend.

backend_argument
  Type

    multi-valued

  Default

    `''`

  Arguments supplied to the backend module. Specify this option once per argument to be passed to the dogpile.cache backend. Example format: “<argname>:<value>”.

proxies
  Type

    list

  Default

    `[]`

  Proxy classes to import that will affect the way the dogpile.cache backend functions. See the dogpile.cache documentation on changing-backend-behavior.

enabled
  Type

    boolean

  Default

    `False`

  Global toggle for caching.

debug_cache_backend
  Type

    boolean

  Default

    `False`

  Extra debugging from the cache backend (cache keys, get/set/delete/etc calls). This is only really useful if you need to see the specific cache-backend get/set/delete calls with the keys/values. Typically this should be left set to false.

memcache_servers
  Type

    list

  Default

    `['localhost:11211']`

  Memcache servers in the format of “host:port”. (dogpile.cache.memcached and oslo_cache.memcache_pool backends only). If a given host refer to an IPv6 or a given domain refer to IPv6 then you should prefix the given address with the address family (`inet6`) (e.g `inet6[::1]:11211`, `inet6:[fd12:3456:789a:1::1]:11211`, `inet6:[controller-0.internalapi]:11211`). If the address family is not given then default address family used will be `inet` which correspond to IPv4

memcache_dead_retry
  Type

    integer

  Default

    `300`

  Number of seconds memcached server is considered dead before it is tried again. (dogpile.cache.memcache and oslo_cache.memcache_pool backends only).

memcache_socket_timeout
  Type

    floating point

  Default

    `1.0`

  Timeout in seconds for every call to a server. (dogpile.cache.memcache and oslo_cache.memcache_pool backends only).

memcache_pool_maxsize
  Type

    integer

  Default

    `10`

  Max total number of open connections to every memcached server. (oslo_cache.memcache_pool backend only).

memcache_pool_unused_timeout
  Type

    integer

  Default

    `60`

  Number of seconds a connection to memcached is held unused in the pool before it is closed. (oslo_cache.memcache_pool backend only).

memcache_pool_connection_get_timeout
  Type

    integer

  Default

    `10`

  Number of seconds that an operation will wait to get a memcache client connection.

memcache_pool_flush_on_reconnect
  Type

    boolean

  Default

    `False`

  Global toggle if memcache will be flushed on reconnect. (oslo_cache.memcache_pool backend only).

tls_enabled
  Type

    boolean

  Default

    `False`

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

tls_cafile
  Type

    string

  Default

    `<None>`

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

tls_certfile
  Type

    string

  Default

    `<None>`

  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.

tls_keyfile
  Type

    string

  Default

    `<None>`

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

tls_allowed_ciphers
  Type

    string

  Default

    `<None>`

  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.

### cors

allowed_origin
  Type

    list

  Default

    `<None>`

  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

allow_credentials
  Type

    boolean

  Default

    `True`

  Indicate that the actual request can include user credentials

expose_headers
  Type

    list

  Default

    `[]`

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

max_age
  Type

    integer

  Default

    `3600`

  Maximum cache age of CORS preflight requests.

allow_methods
  Type

    list

  Default

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

  Indicate which methods can be used during the actual request.

allow_headers
  Type

    list

  Default

    `[]`

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

### database

sqlite_synchronous
  Type

    boolean

  Default

    `True`

  If True, SQLite uses synchronous mode.

  Deprecated Variations
  Group | Name
  --- | ---
  DEFAULT | sqlite_synchronous

backend
  Type

    string

  Default

    `sqlalchemy`

  The back end to use for the database.

  Deprecated Variations
  Group | Name
  --- | ---
  DEFAULT | db_backend

connection
  Type

    string

  Default

    `<None>`

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

  Deprecated Variations
  Group | Name
  --- | ---
  DEFAULT | sql_connection
  DATABASE | sql_connection
  sql | connection

slave_connection
  Type

    string

  Default

    `<None>`

  The SQLAlchemy 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_enable_ndb
  Type

    boolean

  Default

    `False`

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

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.

  Deprecated Variations
  Group | Name
  --- | ---
  DEFAULT | sql_max_retries
  DATABASE | sql_max_retries

retry_interval
  Type

    integer

  Default

    `10`

  Interval between retries of opening a SQL connection.

  Deprecated Variations
  Group | Name
  --- | ---
  DEFAULT | sql_retry_interval
  DATABASE | reconnect_interval

max_overflow
  Type

    integer

  Default

    `50`

  If set, use this value for max_overflow with SQLAlchemy.

  Deprecated Variations
  Group | Name
  --- | ---
  DEFAULT | sql_max_overflow
  DATABASE | sqlalchemy_max_overflow

connection_debug
  Type

    integer

  Default

    `0`

  Minimum Value

    0

  Maximum Value

    100

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

  Deprecated Variations
  Group | Name
  --- | ---
  DEFAULT | sql_connection_debug

connection_trace
  Type

    boolean

  Default

    `False`

  Add Python stack traces to SQL as comment strings.

  Deprecated Variations
  Group | Name
  --- | ---
  DEFAULT | sql_connection_trace

pool_timeout
  Type

    integer

  Default

    `<None>`

  If set, use this value for pool_timeout with SQLAlchemy.

  Deprecated Variations
  Group | Name
  --- | ---
  DATABASE | sqlalchemy_pool_timeout

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

### healthcheck

path
  Type

    string

  Default

    `/healthcheck`

  The path to respond to healtcheck requests on.

  Warning

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

detailed
  Type

    boolean

  Default

    `False`

  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.

backends
  Type

    list

  Default

    `[]`

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

disable_by_file_path
  Type

    string

  Default

    `<None>`

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

disable_by_file_paths
  Type

    list

  Default

    `[]`

  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.

### oslo_messaging_amqp

container_name
  Type

    string

  Default

    `<None>`

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

  Deprecated Variations
  Group | Name
  --- | ---
  amqp1 | container_name

idle_timeout
  Type

    integer

  Default

    `0`

  Timeout for inactive connections (in seconds)

  Deprecated Variations
  Group | Name
  --- | ---
  amqp1 | idle_timeout

trace
  Type

    boolean

  Default

    `False`

  Debug: dump AMQP frames to stdout

  Deprecated Variations
  Group | Name
  --- | ---
  amqp1 | trace

ssl
  Type

    boolean

  Default

    `False`

  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
  Type

    string

  Default

    `''`

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

  Deprecated Variations
  Group | Name
  --- | ---
  amqp1 | ssl_ca_file

ssl_cert_file
  Type

    string

  Default

    `''`

  Self-identifying certificate PEM file for client authentication

  Deprecated Variations
  Group | Name
  --- | ---
  amqp1 | ssl_cert_file

ssl_key_file
  Type

    string

  Default

    `''`

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

  Deprecated Variations
  Group | Name
  --- | ---
  amqp1 | ssl_key_file

ssl_key_password
  Type

    string

  Default

    `<None>`

  Password for decrypting ssl_key_file (if encrypted)

  Deprecated Variations
  Group | Name
  --- | ---
  amqp1 | ssl_key_password

ssl_verify_vhost
  Type

    boolean

  Default

    `False`

  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.

sasl_mechanisms
  Type

    string

  Default

    `''`

  Space separated list of acceptable SASL mechanisms

  Deprecated Variations
  Group | Name
  --- | ---
  amqp1 | sasl_mechanisms

sasl_config_dir
  Type

    string

  Default

    `''`

  Path to directory that contains the SASL configuration

  Deprecated Variations
  Group | Name
  --- | ---
  amqp1 | sasl_config_dir

sasl_config_name
  Type

    string

  Default

    `''`

  Name of configuration file (without .conf suffix)

  Deprecated Variations
  Group | Name
  --- | ---
  amqp1 | sasl_config_name

sasl_default_realm
  Type

    string

  Default

    `''`

  SASL realm to use if no realm present in username

connection_retry_interval
  Type

    integer

  Default

    `1`

  Minimum Value

    1

  Seconds to pause before attempting to re-connect.

connection_retry_backoff
  Type

    integer

  Default

    `2`

  Minimum Value

    0

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

connection_retry_interval_max
  Type

    integer

  Default

    `30`

  Minimum Value

    1

  Maximum limit for connection_retry_interval + connection_retry_backoff

link_retry_delay
  Type

    integer

  Default

    `10`

  Minimum Value

    1

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

default_reply_retry
  Type

    integer

  Default

    `0`

  Minimum Value

    -1

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

default_reply_timeout
  Type

    integer

  Default

    `30`

  Minimum Value

    5

  The deadline for an rpc reply message delivery.

default_send_timeout
  Type

    integer

  Default

    `30`

  Minimum Value

    5

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

default_notify_timeout
  Type

    integer

  Default

    `30`

  Minimum Value

    5

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

default_sender_link_timeout
  Type

    integer

  Default

    `600`

  Minimum Value

    1

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

addressing_mode
  Type

    string

  Default

    `dynamic`

  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

pseudo_vhost
  Type

    boolean

  Default

    `True`

  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.

server_request_prefix
  Type

    string

  Default

    `exclusive`

  address prefix used when sending to a specific server

  Deprecated Variations
  Group | Name
  --- | ---
  amqp1 | server_request_prefix

broadcast_prefix
  Type

    string

  Default

    `broadcast`

  address prefix used when broadcasting to all servers

  Deprecated Variations
  Group | Name
  --- | ---
  amqp1 | broadcast_prefix

group_request_prefix
  Type

    string

  Default

    `unicast`

  address prefix when sending to any server in group

  Deprecated Variations
  Group | Name
  --- | ---
  amqp1 | group_request_prefix

rpc_address_prefix
  Type

    string

  Default

    `openstack.org/om/rpc`

  Address prefix for all generated RPC addresses

notify_address_prefix
  Type

    string

  Default

    `openstack.org/om/notify`

  Address prefix for all generated Notification addresses

multicast_address
  Type

    string

  Default

    `multicast`

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

unicast_address
  Type

    string

  Default

    `unicast`

  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.

anycast_address
  Type

    string

  Default

    `anycast`

  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.

default_notification_exchange
  Type

    string

  Default

    `<None>`

  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_rpc_exchange
  Type

    string

  Default

    `<None>`

  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’

reply_link_credit
  Type

    integer

  Default

    `200`

  Minimum Value

    1

  Window size for incoming RPC Reply messages.

rpc_server_credit
  Type

    integer

  Default

    `100`

  Minimum Value

    1

  Window size for incoming RPC Request messages

notify_server_credit
  Type

    integer

  Default

    `100`

  Minimum Value

    1

  Window size for incoming Notification messages

pre_settled
  Type

    multi-valued

  Default

    `rpc-cast`

  Default

    `rpc-reply`

  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

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

pool_size
  Type

    integer

  Default

    `10`

  Pool Size for Kafka Consumers

  Warning

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

  Reason

    Driver no longer uses connection pool.

conn_pool_min_size
  Type

    integer

  Default

    `2`

  The pool size limit for connections expiration policy

  Warning

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

  Reason

    Driver no longer uses connection pool.

conn_pool_ttl
  Type

    integer

  Default

    `1200`

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

  Warning

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

  Reason

    Driver no longer uses connection pool.

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

  Deprecated Variations
  Group | Name
  --- | ---
  DEFAULT | notification_driver

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.

  Deprecated Variations
  Group | Name
  --- | ---
  DEFAULT | notification_transport_url

topics
  Type

    list

  Default

    `['notifications']`

  AMQP topic used for OpenStack notifications.

  Deprecated Variations
  Group | Name
  --- | ---
  rpc_notifier2 | topics
  DEFAULT | notification_topics

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.

  Deprecated Variations
  Group | Name
  --- | ---
  DEFAULT | amqp_auto_delete

ssl
  Type

    boolean

  Default

    `False`

  Connect over SSL.

  Deprecated Variations
  Group | Name
  --- | ---
  oslo_messaging_rabbit | rabbit_use_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.

  Deprecated Variations
  Group | Name
  --- | ---
  oslo_messaging_rabbit | kombu_ssl_version

ssl_key_file
  Type

    string

  Default

    `''`

  SSL key file (valid only if SSL enabled).

  Deprecated Variations
  Group | Name
  --- | ---
  oslo_messaging_rabbit | kombu_ssl_keyfile

ssl_cert_file
  Type

    string

  Default

    `''`

  SSL cert file (valid only if SSL enabled).

  Deprecated Variations
  Group | Name
  --- | ---
  oslo_messaging_rabbit | kombu_ssl_certfile

ssl_ca_file
  Type

    string

  Default

    `''`

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

  Deprecated Variations
  Group | Name
  --- | ---
  oslo_messaging_rabbit | kombu_ssl_ca_certs

heartbeat_in_pthread
  Type

    boolean

  Default

    `True`

  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.

kombu_reconnect_delay
  Type

    floating point

  Default

    `1.0`

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

  Deprecated Variations
  Group | Name
  --- | ---
  DEFAULT | kombu_reconnect_delay

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, RABBIT-CR-DEMO

  The RabbitMQ login method.

  Deprecated Variations
  Group | Name
  --- | ---
  DEFAULT | rabbit_login_method

rabbit_retry_interval
  Type

    integer

  Default

    `1`

  How frequently to retry connecting with RabbitMQ.

rabbit_retry_backoff
  Type

    integer

  Default

    `2`

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

  Deprecated Variations
  Group | Name
  --- | ---
  DEFAULT | rabbit_retry_backoff

rabbit_interval_max
  Type

    integer

  Default

    `30`

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

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”}’ “

  Deprecated Variations
  Group | Name
  --- | ---
  DEFAULT | rabbit_ha_queues

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 durable by default so the amqp_durable_queues opion is ignored when this option enabled.

rabbit_transient_queues_ttl
  Type

    integer

  Default

    `1800`

  Minimum Value

    1

  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.

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

    `2`

  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

### oslo_middleware

max_request_body_size
  Type

    integer

  Default

    `114688`

  The maximum body size for each request, in bytes.

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

secure_proxy_ssl_header
  Type

    string

  Default

    `X-Forwarded-Proto`

  The HTTP Header that will be used to determine what the original request protocol scheme was, even if it was hidden by a SSL termination proxy.

  Warning

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

enable_proxy_headers_parsing
  Type

    boolean

  Default

    `False`

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

http_basic_auth_user_file
  Type

    string

  Default

    `/etc/htpasswd`

  HTTP basic auth password file.

### oslo_policy

enforce_scope
  Type

    boolean

  Default

    `False`

  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.

enforce_new_defaults
  Type

    boolean

  Default

    `False`

  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.json`

  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.

  Deprecated Variations
  Group | Name
  --- | ---
  DEFAULT | policy_file

policy_default_rule
  Type

    string

  Default

    `default`

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

  Deprecated Variations
  Group | Name
  --- | ---
  DEFAULT | policy_default_rule

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.

  Deprecated Variations
  Group | Name
  --- | ---
  DEFAULT | policy_dirs

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

### profiler

enabled
  Type

    boolean

  Default

    `False`

  Enable the profiling for all services on this node.

  Default value is False (fully disable the profiling feature).

  Possible values:

  - True: Enables the feature

  - False: Disables the feature. The profiling cannot be started via this project operations. If the profiling is triggered by another project, this project part will be empty.

  Deprecated Variations
  Group | Name
  --- | ---
  profiler | profiler_enabled

trace_sqlalchemy
  Type

    boolean

  Default

    `False`

  Enable SQL requests profiling in services.

  Default value is False (SQL requests won’t be traced).

  Possible values:

  - True: Enables SQL requests profiling. Each SQL query will be part of the trace and can the be analyzed by how much time was spent for that.

  - False: Disables SQL requests profiling. The spent time is only shown on a higher level of operations. Single SQL queries cannot be analyzed this way.

hmac_keys
  Type

    string

  Default

    `SECRET_KEY`

  Secret key(s) to use for encrypting context data for performance profiling.

  This string value should have the following format: <key1>[,<key2>,…<keyn>], where each key is some random string. A user who triggers the profiling via the REST API has to set one of these keys in the headers of the REST API call to include profiling results of this node for this particular project.

  Both “enabled” flag and “hmac_keys” config options should be set to enable profiling. Also, to generate correct profiling information across all services at least one key needs to be consistent between OpenStack projects. This ensures it can be used from client side to generate the trace, containing information from all possible resources.

connection_string
  Type

    string

  Default

    `messaging://`

  Connection string for a notifier backend.

  Default value is `messaging://` which sets the notifier to oslo_messaging.

  Examples of possible values:

  - `messaging://` - use oslo_messaging driver for sending spans.

  - `redis://127.0.0.1:6379` - use redis driver for sending spans.

  - `mongodb://127.0.0.1:27017` - use mongodb driver for sending spans.

  - `elasticsearch://127.0.0.1:9200` - use elasticsearch driver for sending spans.

  - `jaeger://127.0.0.1:6831` - use jaeger tracing as driver for sending spans.

es_doc_type
  Type

    string

  Default

    `notification`

  Document type for notification indexing in elasticsearch.

es_scroll_time
  Type

    string

  Default

    `2m`

  This parameter is a time value parameter (for example: es_scroll_time=2m), indicating for how long the nodes that participate in the search will maintain relevant resources in order to continue and support it.

es_scroll_size
  Type

    integer

  Default

    `10000`

  Elasticsearch splits large requests in batches. This parameter defines maximum size of each batch (for example: es_scroll_size=10000).

socket_timeout
  Type

    floating point

  Default

    `0.1`

  Redissentinel provides a timeout option on the connections. This parameter defines that timeout (for example: socket_timeout=0.1).

sentinel_service_name
  Type

    string

  Default

    `mymaster`

  Redissentinel uses a service name to identify a master redis service. This parameter defines the name (for example: `sentinal_service_name=mymaster`).

filter_error_trace
  Type

    boolean

  Default

    `False`

  Enable filter traces that contain error/exception to a separated place.

  Default value is set to False.

  Possible values:

  - True: Enable filter traces that contain error/exception.

  - False: Disable the filter.

## Domain-specific Identity drivers

The Identity service supports domain-specific Identity drivers installed on an SQL or LDAP back end, and supports domain-specific Identity configuration options, which are stored in domain-specific configuration files. See Domain-specific configuration for more information.

this page last updated: 2026-06-11 21:45:03

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