Identity service configuration file

Identity service configuration file

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

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

Description of API configuration options
Configuration option = Default value Description
[DEFAULT]  
admin_endpoint = None (String) The base admin endpoint URL for Keystone that is advertised to clients (NOTE: this does NOT affect how Keystone listens for connections). Defaults to the base host URL of the request. E.g. a request to http://server:35357/v3/users will default to http://server:35357. You should only need to set this value if the base URL contains a path (e.g. /prefix/v3) or the endpoint should be found on a different server.
admin_token = None (String) A “shared secret” that can be used to bootstrap Keystone. This “token” does not represent a user, and carries no explicit authorization. If set to None, the value is ignored and the admin_token log in mechanism is effectively disabled. To completely disable admin_token in production (highly recommended), remove AdminTokenAuthMiddleware from your paste application pipelines (for example, in keystone-paste.ini).
domain_id_immutable = True (Boolean) DEPRECATED: Set this to false if you want to enable the ability for user, group and project entities to be moved between domains by updating their domain_id. Allowing such movement is not recommended if the scope of a domain admin is being restricted by use of an appropriate policy file (see policy.v3cloudsample as an example). This ability is deprecated and will be removed in a future release.
list_limit = None (Integer) The maximum number of entities that will be returned in a collection, with no limit set by default. This global limit may be then overridden for a specific driver, by specifying a list_limit in the appropriate section (e.g. [assignment]).
max_param_size = 64 (Integer) Limit the sizes of user & project ID/names.
max_project_tree_depth = 5 (Integer) Maximum depth of the project hierarchy, excluding the project acting as a domain at the top of the hierarchy. WARNING: setting it to a large value may adversely impact performance.
max_token_size = 8192 (Integer) Similar to max_param_size, but provides an exception for token values.
member_role_id = 9fe2ff9ee4384b1894a90878d3e92bab (String) Similar to the member_role_name option, this represents the default role ID used to associate users with their default projects in the v2 API. This will be used as the explicit role where one is not specified by the v2 API.
member_role_name = _member_ (String) This is the role name used in combination with the member_role_id option; see that option for more detail.
public_endpoint = None (String) The base public endpoint URL for Keystone that is advertised to clients (NOTE: this does NOT affect how Keystone listens for connections). Defaults to the base host URL of the request. E.g. a request to http://server:5000/v3/users will default to http://server:5000. You should only need to set this value if the base URL contains a path (e.g. /prefix/v3) or the endpoint should be found on a different server.
secure_proxy_ssl_header = HTTP_X_FORWARDED_PROTO (String) The HTTP header used to determine the scheme for the original request, even if it was removed by an SSL terminating proxy.
strict_password_check = False (Boolean) If set to true, strict password length checking is performed for password manipulation. If a password exceeds the maximum length, the operation will fail with an HTTP 403 Forbidden error. If set to false, passwords are automatically truncated to the maximum length.
[endpoint_filter]  
driver = sql (String) Entrypoint for the endpoint filter backend driver in the keystone.endpoint_filter namespace.
return_all_endpoints_if_no_filter = True (Boolean) Toggle to return all active endpoints if no filter exists.
[endpoint_policy]  
driver = sql (String) Entrypoint for the endpoint policy backend driver in the keystone.endpoint_policy namespace.
enabled = True (Boolean) DEPRECATED: Enable endpoint_policy functionality. The option to enable the OS-ENDPOINT-POLICY extension has been deprecated in the M release and will be removed in the O release. The OS-ENDPOINT-POLICY extension will be enabled by default.
[eventlet_server]  
admin_bind_host = 0.0.0.0 (String) DEPRECATED: The IP address of the network interface for the admin service to listen on.
admin_port = 35357 (Port number) DEPRECATED: The port number which the admin service listens on.
admin_workers = None (Integer) DEPRECATED: The number of worker processes to serve the admin eventlet application. Defaults to number of CPUs (minimum of 2).
client_socket_timeout = 900 (Integer) Timeout for socket operations on a client connection. If an incoming connection is idle for this number of seconds it will be closed. A value of “0” means wait forever.
public_bind_host = 0.0.0.0 (String) DEPRECATED: The IP address of the network interface for the public service to listen on.
public_port = 5000 (Port number) DEPRECATED: The port number which the public service listens on.
public_workers = None (Integer) DEPRECATED: The number of worker processes to serve the public eventlet application. Defaults to number of CPUs (minimum of 2).
tcp_keepalive = False (Boolean) DEPRECATED: Set this to true if you want to enable TCP_KEEPALIVE on server sockets, i.e. sockets used by the Keystone wsgi server for client connections.
tcp_keepidle = 600 (Integer) DEPRECATED: Sets the value of TCP_KEEPIDLE in seconds for each server socket. Only applies if tcp_keepalive is true. Ignored if system does not support it.
wsgi_keep_alive = True (Boolean) If set to false, disables keepalives on the server; all connections will be closed after serving one request.
[oslo_middleware]  
max_request_body_size = 114688 (Integer) The maximum body size for each request, in bytes.
secure_proxy_ssl_header = X-Forwarded-Proto (String) DEPRECATED: The HTTP Header that will be used to determine what the original request protocol scheme was, even if it was hidden by an SSL termination proxy.
[paste_deploy]  
config_file = keystone-paste.ini (String) Name of the paste configuration file that defines the available pipelines.
[resource]  
admin_project_domain_name = None (String) Name of the domain that owns the admin_project_name. Defaults to None.
admin_project_name = None (String) Special project for performing administrative operations on remote services. Tokens scoped to this project will contain the key/value is_admin_project=true. Defaults to None.
cache_time = None (Integer) TTL (in seconds) to cache resource data. This has no effect unless global caching is enabled.
caching = True (Boolean) Toggle for resource caching. This has no effect unless global caching is enabled.
domain_name_url_safe = off (String) Whether the names of domains are restricted from containing url reserved characters. If set to new, attempts to create or update a domain with a url unsafe name will return an error. In addition, if set to strict, attempts to scope a token using a domain name which is unsafe will return an error.
driver = None (String) Entrypoint for the resource backend driver in the keystone.resource namespace. Only an SQL driver is supplied. If a resource driver is not specified, the assignment driver will choose the resource driver.
list_limit = None (Integer) Maximum number of entities that will be returned in a resource collection.
project_name_url_safe = off (String) Whether the names of projects are restricted from containing url reserved characters. If set to new, attempts to create or update a project with a url unsafe name will return an error. In addition, if set to strict, attempts to scope a token using an unsafe project name will return an error.
[shadow_users]  
driver = sql (String) Entrypoint for the shadow users backend driver in the keystone.identity.shadow_users namespace.
Description of assignment configuration options
Configuration option = Default value Description
[assignment]  
driver = None (String) Entrypoint for the assignment backend driver in the keystone.assignment namespace. Only an SQL driver is supplied. If an assignment driver is not specified, the identity driver will choose the assignment driver (driver selection based on [identity]/driver option is deprecated and will be removed in the “O” release).
prohibited_implied_role = admin (List) A list of role names which are prohibited from being an implied role.
Description of authorization configuration options
Configuration option = Default value Description
[auth]  
external = None (String) Entrypoint for the external (REMOTE_USER) auth plugin module in the keystone.auth.external namespace. Supplied drivers are DefaultDomain and Domain. The default driver is DefaultDomain.
methods = external, password, token, oauth1 (List) Allowed authentication methods.
oauth1 = None (String) Entrypoint for the oAuth1.0 auth plugin module in the keystone.auth.oauth1 namespace.
password = None (String) Entrypoint for the password auth plugin module in the keystone.auth.password namespace.
token = None (String) Entrypoint for the token auth plugin module in the keystone.auth.token namespace.
Description of authorization token configuration options
Configuration option = Default value Description
[keystone_authtoken]  
admin_password = None (String) Service user password.
admin_tenant_name = admin (String) Service tenant name.
admin_token = None (String) This option is deprecated and may be removed in a future release. Single shared secret with the Keystone configuration used for bootstrapping a Keystone installation, or otherwise bypassing the normal authentication process. This option should not be used, use admin_user and admin_password instead.
admin_user = None (String) Service username.
auth_admin_prefix = (String) Prefix to prepend at the beginning of the path. Deprecated, use identity_uri.
auth_host = 127.0.0.1 (String) Host providing the admin Identity API endpoint. Deprecated, use identity_uri.
auth_port = 35357 (Integer) Port of the admin Identity API endpoint. Deprecated, use identity_uri.
auth_protocol = https (String) Protocol of the admin Identity API endpoint. Deprecated, use identity_uri.
auth_section = None (Unknown) Config Section from which to load plugin specific options
auth_type = None (Unknown) Authentication type to load
auth_uri = None (String) Complete public Identity API endpoint.
auth_version = None (String) API version of the admin Identity API endpoint.
cache = None (String) Env key for the swift cache.
cafile = None (String) A PEM encoded Certificate Authority to use when verifying HTTPs connections. Defaults to system CAs.
certfile = None (String) Required if identity server requires client certificate
check_revocations_for_cached = False (Boolean) If true, the revocation list will be checked for cached tokens. This requires that PKI tokens are configured on the identity server.
delay_auth_decision = False (Boolean) Do not handle authorization requests within the middleware, but delegate the authorization decision to downstream WSGI components.
enforce_token_bind = permissive (String) 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.
hash_algorithms = md5 (List) Hash algorithms to use for hashing PKI tokens. This may be a single algorithm or multiple. The algorithms are those supported by Python standard hashlib.new(). The hashes will be tried in the order given, so put the preferred one first for performance. The result of the first hash will be stored in the cache. This will typically be set to multiple values only while migrating from a less secure algorithm to a more secure one. Once all the old tokens are expired this option should be set to a single value for better performance.
http_connect_timeout = None (Integer) Request timeout value for communicating with Identity API server.
http_request_max_retries = 3 (Integer) How many times are we trying to reconnect when communicating with Identity API Server.
identity_uri = None (String) Complete admin Identity API endpoint. This should specify the unversioned root endpoint e.g. https://localhost:35357/
include_service_catalog = True (Boolean) (Optional) Indicate whether to set the X-Service-Catalog header. If False, middleware will not ask for service catalog on token validation and will not set the X-Service-Catalog header.
insecure = False (Boolean) Verify HTTPS connections.
keyfile = None (String) Required if identity server requires client certificate
memcache_pool_conn_get_timeout = 10 (Integer) (Optional) Number of seconds that an operation will wait to get a memcached client connection from the pool.
memcache_pool_dead_retry = 300 (Integer) (Optional) Number of seconds memcached server is considered dead before it is tried again.
memcache_pool_maxsize = 10 (Integer) (Optional) Maximum total number of open connections to every memcached server.
memcache_pool_socket_timeout = 3 (Integer) (Optional) Socket timeout in seconds for communicating with a memcached server.
memcache_pool_unused_timeout = 60 (Integer) (Optional) Number of seconds a connection to memcached is held unused in the pool before it is closed.
memcache_secret_key = None (String) (Optional, mandatory if memcache_security_strategy is defined) This string is used for key derivation.
memcache_security_strategy = None (String) (Optional) If defined, indicate whether token data should be authenticated or authenticated and encrypted. If MAC, token data is authenticated (with HMAC) in the cache. If ENCRYPT, token data is encrypted and authenticated in the cache. If the value is not one of these options or empty, auth_token will raise an exception on initialization.
memcache_use_advanced_pool = False (Boolean) (Optional) Use the advanced (eventlet safe) memcached client pool. The advanced pool will only work under python 2.x.
region_name = None (String) The region in which the identity server can be found.
revocation_cache_time = 10 (Integer) Determines the frequency at which the list of revoked tokens is retrieved from the Identity service (in seconds). A high number of revocation events combined with a low cache duration may significantly reduce performance.
signing_dir = None (String) Directory used to cache files related to PKI tokens.
token_cache_time = 300 (Integer) 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.
Description of CA and SSL configuration options
Configuration option = Default value Description
[eventlet_server_ssl]  
ca_certs = /etc/keystone/ssl/certs/ca.pem (String) DEPRECATED: Path of the CA cert file for SSL.
cert_required = False (Boolean) DEPRECATED: Require client certificate.
certfile = /etc/keystone/ssl/certs/keystone.pem (String) DEPRECATED: Path of the certfile for SSL. For non-production environments, you may be interested in using keystone-manage ssl_setup to generate self-signed certificates.
enable = False (Boolean) DEPRECATED: Toggle for SSL support on the Keystone eventlet servers.
keyfile = /etc/keystone/ssl/private/keystonekey.pem (String) DEPRECATED: Path of the keyfile for SSL.
[signing]  
ca_certs = /etc/keystone/ssl/certs/ca.pem (String) DEPRECATED: Path of the CA for token signing. PKI token support has been deprecated in the M release and will be removed in the O release. Fernet or UUID tokens are recommended.
ca_key = /etc/keystone/ssl/private/cakey.pem (String) DEPRECATED: Path of the CA key for token signing. PKI token support has been deprecated in the M release and will be removed in the O release. Fernet or UUID tokens are recommended.
cert_subject = /C=US/ST=Unset/L=Unset/O=Unset/CN=www.example.com (String) DEPRECATED: Certificate subject (auto generated certificate) for token signing. PKI token support has been deprecated in the M release and will be removed in the O release. Fernet or UUID tokens are recommended.
certfile = /etc/keystone/ssl/certs/signing_cert.pem (String) DEPRECATED: Path of the certfile for token signing. For non-production environments, you may be interested in using keystone-manage pki_setup to generate self-signed certificates. PKI token support has been deprecated in the M release and will be removed in the O release. Fernet or UUID tokens are recommended.
key_size = 2048 (Integer) DEPRECATED: Key size (in bits) for token signing cert (auto generated certificate). PKI token support has been deprecated in the M release and will be removed in the O release. Fernet or UUID tokens are recommended.
keyfile = /etc/keystone/ssl/private/signing_key.pem (String) DEPRECATED: Path of the keyfile for token signing. PKI token support has been deprecated in the M release and will be removed in the O release. Fernet or UUID tokens are recommended.
valid_days = 3650 (Integer) DEPRECATED: Days the token signing cert is valid for (auto generated certificate). PKI token support has been deprecated in the M release and will be removed in the O release. Fernet or UUID tokens are recommended.
[ssl]  
ca_key = /etc/keystone/ssl/private/cakey.pem (String) Path of the CA key file for SSL.
cert_subject = /C=US/ST=Unset/L=Unset/O=Unset/CN=localhost (String) SSL certificate subject (auto generated certificate).
key_size = 1024 (Integer) SSL key length (in bits) (auto generated certificate).
valid_days = 3650 (Integer) Days the certificate is valid for once signed (auto generated certificate).
Description of catalog configuration options
Configuration option = Default value Description
[catalog]  
cache_time = None (Integer) Time to cache catalog data (in seconds). This has no effect unless global and catalog caching are enabled.
caching = True (Boolean) Toggle for catalog caching. This has no effect unless global caching is enabled.
driver = sql (String) Entrypoint for the catalog backend driver in the keystone.catalog namespace. Supplied drivers are kvs, sql, templated, and endpoint_filter.sql
list_limit = None (Integer) Maximum number of entities that will be returned in a catalog collection.
template_file = default_catalog.templates (String) Catalog template file name for use with the template catalog backend.
Description of common configuration options
Configuration option = Default value Description
[DEFAULT]  
executor_thread_pool_size = 64 (Integer) Size of executor thread pool.
memcached_servers = None (List) Memcached servers or None for in process cache.
[keystone_authtoken]  
memcached_servers = None (List) Optionally specify a list of memcached server(s) to use for caching. If left undefined, tokens will instead be cached in-process.
[oslo_concurrency]  
disable_process_locking = False (Boolean) Enables or disables inter-process locks.
lock_path = None (String) Directory to use for lock files. For security, the specified directory should only be writable by the user running the processes that need locking. Defaults to environment variable OSLO_LOCK_PATH. If external locks are used, a lock path must be set.
Description of CORS configuration options
Configuration option = Default value Description
[cors]  
allow_credentials = True (Boolean) Indicate that the actual request can include user credentials
allow_headers = Content-Type, Cache-Control, Content-Language, Expires, Last-Modified, Pragma (List) Indicate which header field names may be used during the actual request.
allow_methods = GET, POST, PUT, DELETE, OPTIONS (List) Indicate which methods can be used during the actual request.
allowed_origin = None (List) Indicate whether this resource may be shared with the domain received in the requests “origin” header.
expose_headers = Content-Type, Cache-Control, Content-Language, Expires, Last-Modified, Pragma (List) Indicate which headers are safe to expose to the API. Defaults to HTTP Simple Headers.
max_age = 3600 (Integer) Maximum cache age of CORS preflight requests.
[cors.subdomain]  
allow_credentials = True (Boolean) Indicate that the actual request can include user credentials
allow_headers = Content-Type, Cache-Control, Content-Language, Expires, Last-Modified, Pragma (List) Indicate which header field names may be used during the actual request.
allow_methods = GET, POST, PUT, DELETE, OPTIONS (List) Indicate which methods can be used during the actual request.
allowed_origin = None (List) Indicate whether this resource may be shared with the domain received in the requests “origin” header.
expose_headers = Content-Type, Cache-Control, Content-Language, Expires, Last-Modified, Pragma (List) Indicate which headers are safe to expose to the API. Defaults to HTTP Simple Headers.
max_age = 3600 (Integer) Maximum cache age of CORS preflight requests.
Description of credential configuration options
Configuration option = Default value Description
[credential]  
driver = sql (String) Entrypoint for the credential backend driver in the keystone.credential namespace.
Description of database configuration options
Configuration option = Default value Description
[database]  
backend = sqlalchemy (String) The back end to use for the database.
connection = None (String) The SQLAlchemy connection string to use to connect to the database.
connection_debug = 0 (Integer) Verbosity of SQL debugging information: 0=None, 100=Everything.
connection_trace = False (Boolean) Add Python stack traces to SQL as comment strings.
db_inc_retry_interval = True (Boolean) If True, increases the interval between retries of a database operation up to db_max_retry_interval.
db_max_retries = 20 (Integer) Maximum retries in case of connection error or deadlock error before error is raised. Set to -1 to specify an infinite retry count.
db_max_retry_interval = 10 (Integer) If db_inc_retry_interval is set, the maximum seconds between retries of a database operation.
db_retry_interval = 1 (Integer) Seconds between retries of a database transaction.
idle_timeout = 3600 (Integer) Timeout before idle SQL connections are reaped.
max_overflow = 50 (Integer) If set, use this value for max_overflow with SQLAlchemy.
max_pool_size = None (Integer) Maximum number of SQL connections to keep open in a pool.
max_retries = 10 (Integer) Maximum number of database connection retries during startup. Set to -1 to specify an infinite retry count.
min_pool_size = 1 (Integer) Minimum number of SQL connections to keep open in a pool.
mysql_sql_mode = TRADITIONAL (String) The SQL mode to be used for MySQL sessions. This option, including the default, overrides any server-set SQL mode. To use whatever SQL mode is set by the server configuration, set this to no value. Example: mysql_sql_mode=
pool_timeout = None (Integer) If set, use this value for pool_timeout with SQLAlchemy.
retry_interval = 10 (Integer) Interval between retries of opening a SQL connection.
slave_connection = None (String) The SQLAlchemy connection string to use to connect to the slave database.
sqlite_db = oslo.sqlite (String) The file name to use with SQLite.
sqlite_synchronous = True (Boolean) If True, SQLite uses synchronous mode.
use_db_reconnect = False (Boolean) Enable the experimental use of database reconnect on connection lost.
Description of logging configuration options
Configuration option = Default value Description
[DEFAULT]  
pydev_debug_host = None (String) Host to connect to for remote debugger.
pydev_debug_port = None (Port number) Port to connect to for remote debugger.
standard_threads = False (Boolean) Do not monkey-patch threading system modules.
[audit]  
namespace = openstack (String) namespace prefix for generated id
Description of domain configuration options
Configuration option = Default value Description
[domain_config]  
cache_time = 300 (Integer) TTL (in seconds) to cache domain config data. This has no effect unless domain config caching is enabled.
caching = True (Boolean) Toggle for domain config caching. This has no effect unless global caching is enabled.
driver = sql (String) Entrypoint for the domain config backend driver in the keystone.resource.domain_config namespace.
Description of federation configuration options
Configuration option = Default value Description
[federation]  
assertion_prefix = (String) Value to be used when filtering assertion parameters from the environment.
driver = sql (String) Entrypoint for the federation backend driver in the keystone.federation namespace.
federated_domain_name = Federated (String) A domain name that is reserved to allow federated ephemeral users to have a domain concept. Note that an admin will not be able to create a domain with this name or update an existing domain to this name. You are not advised to change this value unless you really have to.
remote_id_attribute = None (String) Value to be used to obtain the entity ID of the Identity Provider from the environment (e.g. if using the mod_shib plugin this value is Shib-Identity-Provider).
sso_callback_template = /etc/keystone/sso_callback_template.html (String) Location of Single Sign-On callback handler, will return a token to a trusted dashboard host.
trusted_dashboard = [] (Multi-valued) A list of trusted dashboard hosts. Before accepting a Single Sign-On request to return a token, the origin host must be a member of the trusted_dashboard list. This configuration option may be repeated for multiple values. For example: trusted_dashboard=http://acme.com/auth/websso trusted_dashboard=http://beta.com/auth/websso
Description of Fernet tokens configuration options
Configuration option = Default value Description
[fernet_tokens]  
key_repository = /etc/keystone/fernet-keys/ (String) Directory containing Fernet token keys.
max_active_keys = 3 (Integer) This controls how many keys are held in rotation by keystone-manage fernet_rotate before they are discarded. The default value of 3 means that keystone will maintain one staged key, one primary key, and one secondary key. Increasing this value means that additional secondary keys will be kept in the rotation.
Description of identity configuration options
Configuration option = Default value Description
[identity]  
cache_time = 600 (Integer) Time to cache identity data (in seconds). This has no effect unless global and identity caching are enabled.
caching = True (Boolean) Toggle for identity caching. This has no effect unless global caching is enabled.
default_domain_id = default (String) This references the domain to use for all Identity API v2 requests (which are not aware of domains). A domain with this ID will be created for you by keystone-manage db_sync in migration 008. The domain referenced by this ID cannot be deleted on the v3 API, to prevent accidentally breaking the v2 API. There is nothing special about this domain, other than the fact that it must exist to order to maintain support for your v2 clients.
domain_config_dir = /etc/keystone/domains (String) Path for Keystone to locate the domain specific identity configuration files if domain_specific_drivers_enabled is set to true.
domain_configurations_from_database = False (Boolean) Extract the domain specific configuration options from the resource backend where they have been stored with the domain data. This feature is disabled by default (in which case the domain specific options will be loaded from files in the domain configuration directory); set to true to enable.
domain_specific_drivers_enabled = False (Boolean) A subset (or all) of domains can have their own identity driver, each with their own partial configuration options, stored in either the resource backend or in a file in a domain configuration directory (depending on the setting of domain_configurations_from_database). Only values specific to the domain need to be specified in this manner. This feature is disabled by default; set to true to enable.
driver = sql (String) Entrypoint for the identity backend driver in the keystone.identity namespace. Supplied drivers are ldap and sql.
list_limit = None (Integer) Maximum number of entities that will be returned in an identity collection.
max_password_length = 4096 (Integer) Maximum supported length for user passwords; decrease to improve performance.
Description of KVS configuration options
Configuration option = Default value Description
[kvs]  
backends = (List) Extra dogpile.cache backend modules to register with the dogpile.cache library.
config_prefix = keystone.kvs (String) Prefix for building the configuration dictionary for the KVS region. This should not need to be changed unless there is another dogpile.cache region with the same configuration name.
default_lock_timeout = 5 (Integer) Default lock timeout (in seconds) for distributed locking.
enable_key_mangler = True (Boolean) Toggle to disable using a key-mangling function to ensure fixed length keys. This is toggle-able for debugging purposes, it is highly recommended to always leave this set to true.
Description of LDAP configuration options
Configuration option = Default value Description
[ldap]  
alias_dereferencing = default (String) The LDAP dereferencing option for queries. The “default” option falls back to using default dereferencing configured by your ldap.conf.
allow_subtree_delete = False (Boolean) Delete subtrees using the subtree delete control. Only enable this option if your LDAP server supports subtree deletion.
auth_pool_connection_lifetime = 60 (Integer) End user auth connection lifetime in seconds.
auth_pool_size = 100 (Integer) End user auth connection pool size.
chase_referrals = None (Boolean) Override the system’s default referral chasing behavior for queries.
debug_level = None (Integer) Sets the LDAP debugging level for LDAP calls. A value of 0 means that debugging is not enabled. This value is a bitmask, consult your LDAP documentation for possible values.
dumb_member = cn=dumb,dc=nonexistent (String) DN of the “dummy member” to use when “use_dumb_member” is enabled.
group_additional_attribute_mapping = (List) Additional attribute mappings for groups. Attribute mapping format is <ldap_attr>:<user_attr>, where ldap_attr is the attribute in the LDAP entry and user_attr is the Identity API attribute.
group_allow_create = True (Boolean) DEPRECATED: Allow group creation in LDAP backend. Write support for Identity LDAP backends has been deprecated in the M release and will be removed in the O release.
group_allow_delete = True (Boolean) DEPRECATED: Allow group deletion in LDAP backend. Write support for Identity LDAP backends has been deprecated in the M release and will be removed in the O release.
group_allow_update = True (Boolean) DEPRECATED: Allow group update in LDAP backend. Write support for Identity LDAP backends has been deprecated in the M release and will be removed in the O release.
group_attribute_ignore = (List) List of attributes stripped off the group on update.
group_desc_attribute = description (String) LDAP attribute mapped to group description.
group_filter = None (String) LDAP search filter for groups.
group_id_attribute = cn (String) LDAP attribute mapped to group id.
group_member_attribute = member (String) LDAP attribute mapped to show group membership.
group_members_are_ids = False (Boolean) If the members of the group objectclass are user IDs rather than DNs, set this to true. This is the case when using posixGroup as the group objectclass and OpenDirectory.
group_name_attribute = ou (String) LDAP attribute mapped to group name.
group_objectclass = groupOfNames (String) LDAP objectclass for groups.
group_tree_dn = None (String) Search base for groups. Defaults to the suffix value.
page_size = 0 (Integer) Maximum results per page; a value of zero (“0”) disables paging.
password = None (String) Password for the BindDN to query the LDAP server.
pool_connection_lifetime = 600 (Integer) Connection lifetime in seconds.
pool_connection_timeout = -1 (Integer) Connector timeout in seconds. Value -1 indicates indefinite wait for response.
pool_retry_delay = 0.1 (Floating point) Time span in seconds to wait between two reconnect trials.
pool_retry_max = 3 (Integer) Maximum count of reconnect trials.
pool_size = 10 (Integer) Connection pool size.
query_scope = one (String) The LDAP scope for queries, “one” represents oneLevel/singleLevel and “sub” represents subtree/wholeSubtree options.
suffix = cn=example,cn=com (String) LDAP server suffix
tls_cacertdir = None (String) CA certificate directory path for communicating with LDAP servers.
tls_cacertfile = None (String) CA certificate file path for communicating with LDAP servers.
tls_req_cert = demand (String) Specifies what checks to perform on client certificates in an incoming TLS session.
url = ldap://localhost (String) URL(s) for connecting to the LDAP server. Multiple LDAP URLs may be specified as a comma separated string. The first URL to successfully bind is used for the connection.
use_auth_pool = True (Boolean) Enable LDAP connection pooling for end user authentication. If use_pool is disabled, then this setting is meaningless and is not used at all.
use_dumb_member = False (Boolean) If true, will add a dummy member to groups. This is required if the objectclass for groups requires the “member” attribute.
use_pool = True (Boolean) Enable LDAP connection pooling.
use_tls = False (Boolean) Enable TLS for communicating with LDAP servers.
user = None (String) User BindDN to query the LDAP server.
user_additional_attribute_mapping = (List) List of additional LDAP attributes used for mapping additional attribute mappings for users. Attribute mapping format is <ldap_attr>:<user_attr>, where ldap_attr is the attribute in the LDAP entry and user_attr is the Identity API attribute.
user_allow_create = True (Boolean) DEPRECATED: Allow user creation in LDAP backend. Write support for Identity LDAP backends has been deprecated in the M release and will be removed in the O release.
user_allow_delete = True (Boolean) DEPRECATED: Allow user deletion in LDAP backend. Write support for Identity LDAP backends has been deprecated in the M release and will be removed in the O release.
user_allow_update = True (Boolean) DEPRECATED: Allow user updates in LDAP backend. Write support for Identity LDAP backends has been deprecated in the M release and will be removed in the O release.
user_attribute_ignore = default_project_id (List) List of attributes stripped off the user on update.
user_default_project_id_attribute = None (String) LDAP attribute mapped to default_project_id for users.
user_description_attribute = description (String) LDAP attribute mapped to user description.
user_enabled_attribute = enabled (String) LDAP attribute mapped to user enabled flag.
user_enabled_default = True (String) Default value to enable users. This should match an appropriate int value if the LDAP server uses non-boolean (bitmask) values to indicate if a user is enabled or disabled. If this is not set to “True” the typical value is “512”. This is typically used when “user_enabled_attribute = userAccountControl”.
user_enabled_emulation = False (Boolean) If true, Keystone uses an alternative method to determine if a user is enabled or not by checking if they are a member of the “user_enabled_emulation_dn” group.
user_enabled_emulation_dn = None (String) DN of the group entry to hold enabled users when using enabled emulation.
user_enabled_emulation_use_group_config = False (Boolean) Use the “group_member_attribute” and “group_objectclass” settings to determine membership in the emulated enabled group.
user_enabled_invert = False (Boolean) Invert the meaning of the boolean enabled values. Some LDAP servers use a boolean lock attribute where “true” means an account is disabled. Setting “user_enabled_invert = true” will allow these lock attributes to be used. This setting will have no effect if “user_enabled_mask” or “user_enabled_emulation” settings are in use.
user_enabled_mask = 0 (Integer) Bitmask integer to indicate the bit that the enabled value is stored in if the LDAP server represents “enabled” as a bit on an integer rather than a boolean. A value of “0” indicates the mask is not used. If this is not set to “0” the typical value is “2”. This is typically used when “user_enabled_attribute = userAccountControl”.
user_filter = None (String) LDAP search filter for users.
user_id_attribute = cn (String) LDAP attribute mapped to user id. WARNING: must not be a multivalued attribute.
user_mail_attribute = mail (String) LDAP attribute mapped to user email.
user_name_attribute = sn (String) LDAP attribute mapped to user name.
user_objectclass = inetOrgPerson (String) LDAP objectclass for users.
user_pass_attribute = userPassword (String) LDAP attribute mapped to password.
user_tree_dn = None (String) Search base for users. Defaults to the suffix value.
Description of logging configuration options
Configuration option = Default value Description
[DEFAULT]  
debug = False (Boolean) If set to true, the logging level will be set to DEBUG instead of the default INFO level.
default_log_levels = amqp=WARN, amqplib=WARN, boto=WARN, qpid=WARN, sqlalchemy=WARN, suds=INFO, oslo.messaging=INFO, 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, dogpile.core.dogpile=INFO (List) List of package logging levels in logger=LEVEL pairs. This option is ignored if log_config_append is set.
fatal_deprecations = False (Boolean) Enables or disables fatal status of deprecations.
insecure_debug = False (Boolean) If set to true the server will return information in the response that may allow an unauthenticated or authenticated user to get more information than normal, such as why authentication failed. This may be useful for debugging but is insecure.
instance_format = "[instance: %(uuid)s] " (String) The format for an instance that is passed with the log message.
instance_uuid_format = "[instance: %(uuid)s] " (String) The format for an instance UUID that is passed with the log message.
log_config_append = None (String) 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, logging_context_format_string).
log_date_format = %Y-%m-%d %H:%M:%S (String) Defines the format string for %%(asctime)s in log records. Default: %(default)s . This option is ignored if log_config_append is set.
log_dir = None (String) (Optional) The base directory used for relative log_file paths. This option is ignored if log_config_append is set.
log_file = None (String) (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.
logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s (String) Format string to use for log messages with context.
logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d (String) Additional data to append to log message when logging level for the message is DEBUG.
logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s (String) Format string to use for log messages when context is undefined.
logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s (String) Prefix each line of exception output with this format.
logging_user_identity_format = %(user)s %(tenant)s %(domain)s %(user_domain)s %(project_domain)s (String) Defines the format string for %(user_identity)s that is used in logging_context_format_string.
publish_errors = False (Boolean) Enables or disables publication of error events.
syslog_log_facility = LOG_USER (String) Syslog facility to receive log lines. This option is ignored if log_config_append is set.
use_stderr = True (Boolean) Log output to standard error. This option is ignored if log_config_append is set.
use_syslog = False (Boolean) 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.
verbose = True (Boolean) DEPRECATED: If set to false, the logging level will be set to WARNING instead of the default INFO level.
watch_log_file = False (Boolean) 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.
Description of mapping configuration options
Configuration option = Default value Description
[identity_mapping]  
backward_compatible_ids = True (Boolean) The format of user and group IDs changed in Juno for backends that do not generate UUIDs (e.g. LDAP), with keystone providing a hash mapping to the underlying attribute in LDAP. By default this mapping is disabled, which ensures that existing IDs will not change. Even when the mapping is enabled by using domain specific drivers, any users and groups from the default domain being handled by LDAP will still not be mapped to ensure their IDs remain backward compatible. Setting this value to False will enable the mapping for even the default LDAP driver. It is only safe to do this if you do not already have assignments for users and groups from the default LDAP domain, and it is acceptable for Keystone to provide the different IDs to clients than it did previously. Typically this means that the only time you can set this value to False is when configuring a fresh installation.
driver = sql (String) Entrypoint for the identity mapping backend driver in the keystone.identity.id_mapping namespace.
generator = sha256 (String) Entrypoint for the public ID generator for user and group entities in the keystone.identity.id_generator namespace. The Keystone identity mapper only supports generators that produce no more than 64 characters.
Description of memcache configuration options
Configuration option = Default value Description
[memcache]  
servers = localhost:11211 (List) Memcache servers in the format of “host:port”.
socket_timeout = 3 (Integer) Timeout in seconds for every call to a server. This is used by the key value store system (e.g. token pooled memcached persistence backend).
Description of OAuth configuration options
Configuration option = Default value Description
[oauth1]  
access_token_duration = 86400 (Integer) Duration (in seconds) for the OAuth Access Token.
driver = sql (String) Entrypoint for the OAuth backend driver in the keystone.oauth1 namespace.
request_token_duration = 28800 (Integer) Duration (in seconds) for the OAuth Request Token.
Description of os_inherit configuration options
Configuration option = Default value Description
[os_inherit]  
enabled = True (Boolean) DEPRECATED: role-assignment inheritance to projects from owning domain or from projects higher in the hierarchy can be optionally disabled. In the future, this option will be removed and the hierarchy will be always enabled. The option to enable the OS-INHERIT extension has been deprecated in the M release and will be removed in the O release. The OS-INHERIT extension will be enabled by default.
Description of policy configuration options
Configuration option = Default value Description
[oslo_policy]  
policy_default_rule = default (String) Default rule. Enforced when a requested rule is not found.
policy_dirs = ['policy.d'] (Multi-valued) Directories where policy configuration files are stored. They can be relative to any directory in the search path defined by the config_dir option, or absolute paths. The file defined by policy_file must exist for these directories to be searched. Missing or empty directories are ignored.
policy_file = policy.json (String) The JSON file that defines policies.
[policy]  
driver = sql (String) Entrypoint for the policy backend driver in the keystone.policy namespace. Supplied drivers are rules and sql.
list_limit = None (Integer) Maximum number of entities that will be returned in a policy collection.
Description of revoke configuration options
Configuration option = Default value Description
[revoke]  
cache_time = 3600 (Integer) Time to cache the revocation list and the revocation events (in seconds). This has no effect unless global and token caching are enabled.
caching = True (Boolean) Toggle for revocation event caching. This has no effect unless global caching is enabled.
driver = sql (String) Entrypoint for an implementation of the backend for persisting revocation events in the keystone.revoke namespace. Supplied drivers are kvs and sql.
expiration_buffer = 1800 (Integer) This value (calculated in seconds) is added to token expiration before a revocation event may be removed from the backend.
Description of role configuration options
Configuration option = Default value Description
[role]  
cache_time = None (Integer) TTL (in seconds) to cache role data. This has no effect unless global caching is enabled.
caching = True (Boolean) Toggle for role caching. This has no effect unless global caching is enabled.
driver = None (String) Entrypoint for the role backend driver in the keystone.role namespace. Supplied drivers are ldap and sql.
list_limit = None (Integer) Maximum number of entities that will be returned in a role collection.
Description of SAML configuration options
Configuration option = Default value Description
[saml]  
assertion_expiration_time = 3600 (Integer) Default TTL, in seconds, for any generated SAML assertion created by Keystone.
certfile = /etc/keystone/ssl/certs/signing_cert.pem (String) Path of the certfile for SAML signing. For non-production environments, you may be interested in using keystone-manage pki_setup to generate self-signed certificates. Note, the path cannot contain a comma.
idp_contact_company = None (String) Company of contact person.
idp_contact_email = None (String) Email address of contact person.
idp_contact_name = None (String) Given name of contact person
idp_contact_surname = None (String) Surname of contact person.
idp_contact_telephone = None (String) Telephone number of contact person.
idp_contact_type = other (String) The contact type describing the main point of contact for the identity provider.
idp_entity_id = None (String) Entity ID value for unique Identity Provider identification. Usually FQDN is set with a suffix. A value is required to generate IDP Metadata. For example: https://keystone.example.com/v3/OS-FEDERATION/saml2/idp
idp_lang = en (String) Language used by the organization.
idp_metadata_path = /etc/keystone/saml2_idp_metadata.xml (String) Path to the Identity Provider Metadata file. This file should be generated with the keystone-manage saml_idp_metadata command.
idp_organization_display_name = None (String) Organization name to be displayed.
idp_organization_name = None (String) Organization name the installation belongs to.
idp_organization_url = None (String) URL of the organization.
idp_sso_endpoint = None (String) Identity Provider Single-Sign-On service value, required in the Identity Provider’s metadata. A value is required to generate IDP Metadata. For example: https://keystone.example.com/v3/OS-FEDERATION/saml2/sso
keyfile = /etc/keystone/ssl/private/signing_key.pem (String) Path of the keyfile for SAML signing. Note, the path cannot contain a comma.
relay_state_prefix = ss:mem: (String) The prefix to use for the RelayState SAML attribute, used when generating ECP wrapped assertions.
xmlsec1_binary = xmlsec1 (String) Binary to be called for XML signing. Install the appropriate package, specify absolute path or adjust your PATH environment variable if the binary cannot be found.
Description of security configuration options
Configuration option = Default value Description
[DEFAULT]  
crypt_strength = 10000 (Integer) The value passed as the keyword “rounds” to passlib’s encrypt method.
Description of token configuration options
Configuration option = Default value Description
[token]  
allow_rescope_scoped_token = True (Boolean) Allow rescoping of scoped token. Setting allow_rescoped_scoped_token to false prevents a user from exchanging a scoped token for any other token.
bind = (List) External auth mechanisms that should add bind information to token, e.g., kerberos,x509.
cache_time = None (Integer) Time to cache tokens (in seconds). This has no effect unless global and token caching are enabled.
caching = True (Boolean) Toggle for token system caching. This has no effect unless global caching is enabled.
driver = sql (String) Entrypoint for the token persistence backend driver in the keystone.token.persistence namespace. Supplied drivers are kvs, memcache, memcache_pool, and sql.
enforce_token_bind = permissive (String) Enforcement policy on tokens presented to Keystone with bind information. One of disabled, permissive, strict, required or a specifically required bind mode, e.g., kerberos or x509 to require binding to that authentication.
expiration = 3600 (Integer) Amount of time a token should remain valid (in seconds).
hash_algorithm = md5 (String) DEPRECATED: The hash algorithm to use for PKI tokens. This can be set to any algorithm that hashlib supports. WARNING: Before changing this value, the auth_token middleware must be configured with the hash_algorithms, otherwise token revocation will not be processed correctly. PKI token support has been deprecated in the M release and will be removed in the O release. Fernet or UUID tokens are recommended.
infer_roles = True (Boolean) Add roles to token that are not explicitly added, but that are linked implicitly to other roles.
provider = uuid (String) Controls the token construction, validation, and revocation operations. Entrypoint in the keystone.token.provider namespace. Core providers are [fernet|pkiz|pki|uuid].
revoke_by_id = True (Boolean) Revoke token by token identifier. Setting revoke_by_id to true enables various forms of enumerating tokens, e.g. list tokens for user. These enumerations are processed to determine the list of tokens to revoke. Only disable if you are switching to using the Revoke extension with a backend other than KVS, which stores events in memory.
Description of Tokenless Authorization configuration options
Configuration option = Default value Description
[tokenless_auth]  
issuer_attribute = SSL_CLIENT_I_DN (String) The issuer attribute that is served as an IdP ID for the X.509 tokenless authorization along with the protocol to look up its corresponding mapping. It is the environment variable in the WSGI environment that references to the issuer of the client certificate.
protocol = x509 (String) The protocol name for the X.509 tokenless authorization along with the option issuer_attribute below can look up its corresponding mapping.
trusted_issuer = [] (Multi-valued) The list of trusted issuers to further filter the certificates that are allowed to participate in the X.509 tokenless authorization. If the option is absent then no certificates will be allowed. The naming format for the attributes of a Distinguished Name(DN) must be separated by a comma and contain no spaces. This configuration option may be repeated for multiple values. For example: trusted_issuer=CN=john,OU=keystone,O=openstack trusted_issuer=CN=mary,OU=eng,O=abc
Description of trust configuration options
Configuration option = Default value Description
[trust]  
allow_redelegation = False (Boolean) Enable redelegation feature.
driver = sql (String) Entrypoint for the trust backend driver in the keystone.trust namespace.
enabled = True (Boolean) Delegation and impersonation features can be optionally disabled.
max_redelegation_count = 3 (Integer) Maximum depth of trust redelegation.
Description of RPC configuration options
Configuration option = Default value Description
[DEFAULT]  
rpc_backend = rabbit (String) The messaging driver to use, defaults to rabbit. Other drivers include amqp and zmq.
rpc_cast_timeout = -1 (Integer) Seconds to wait before a cast expires (TTL). The default value of -1 specifies an infinite linger period. The value of 0 specifies no linger period. Pending messages shall be discarded immediately when the socket is closed. Only supported by impl_zmq.
rpc_conn_pool_size = 30 (Integer) Size of RPC connection pool.
rpc_poll_timeout = 1 (Integer) The default number of seconds that poll should wait. Poll raises timeout exception when timeout expired.
rpc_response_timeout = 60 (Integer) Seconds to wait for a response from a call.
[oslo_messaging_amqp]  
allow_insecure_clients = False (Boolean) Accept clients using either SSL or plain TCP
broadcast_prefix = broadcast (String) address prefix used when broadcasting to all servers
container_name = None (String) Name for the AMQP container
group_request_prefix = unicast (String) address prefix when sending to any server in group
idle_timeout = 0 (Integer) Timeout for inactive connections (in seconds)
password = (String) Password for message broker authentication
sasl_config_dir = (String) Path to directory that contains the SASL configuration
sasl_config_name = (String) Name of configuration file (without .conf suffix)
sasl_mechanisms = (String) Space separated list of acceptable SASL mechanisms
server_request_prefix = exclusive (String) address prefix used when sending to a specific server
ssl_ca_file = (String) CA certificate PEM file to verify server certificate
ssl_cert_file = (String) Identifying certificate PEM file to present to clients
ssl_key_file = (String) Private key PEM file used to sign cert_file certificate
ssl_key_password = None (String) Password for decrypting ssl_key_file (if encrypted)
trace = False (Boolean) Debug: dump AMQP frames to stdout
username = (String) User name for message broker authentication
[oslo_messaging_notifications]  
driver = [] (Multi-valued) The Drivers(s) to handle sending notifications. Possible values are messaging, messagingv2, routing, log, test, noop
topics = notifications (List) AMQP topic used for OpenStack notifications.
transport_url = None (String) A URL representing the messaging driver to use for notifications. If not set, we fall back to the same configuration used for RPC.
Description of AMQP configuration options
Configuration option = Default value Description
[DEFAULT]  
control_exchange = keystone (String) The default exchange under which topics are scoped. May be overridden by an exchange name specified in the transport_url option.
default_publisher_id = None (String) Default publisher_id for outgoing notifications
notification_format = basic (String) Define the notification format for Identity Service events. A “basic” notification has information about the resource being operated on. A “cadf” notification has the same information, as well as information about the initiator of the event.
notification_opt_out = [] (Multi-valued) Define the notification options to opt-out from. The value expected is: identity.<resource_type>.<operation>. This field can be set multiple times in order to add more notifications to opt-out from. For example: notification_opt_out=identity.user.created notification_opt_out=identity.authenticate.success
transport_url = None (String) A URL representing the messaging driver to use and its full configuration. If not set, we fall back to the rpc_backend option and driver specific configuration.
Description of RabbitMQ configuration options
Configuration option = Default value Description
[oslo_messaging_rabbit]  
amqp_auto_delete = False (Boolean) Auto-delete queues in AMQP.
amqp_durable_queues = False (Boolean) Use durable queues in AMQP.
channel_max = None (Integer) Maximum number of channels to allow
default_notification_exchange = ${control_exchange}_notification (String) Exchange name for for sending notifications
default_notification_retry_attempts = -1 (Integer) Reconnecting retry count in case of connectivity problem during sending notification, -1 means infinite retry.
default_rpc_exchange = ${control_exchange}_rpc (String) Exchange name for sending RPC messages
default_rpc_retry_attempts = -1 (Integer) Reconnecting retry count in case of connectivity problem during sending RPC message, -1 means infinite retry. If actual retry attempts in not 0 the rpc request could be processed more then one time
fake_rabbit = False (Boolean) Deprecated, use rpc_backend=kombu+memory or rpc_backend=fake
frame_max = None (Integer) The maximum byte size for an AMQP frame
heartbeat_interval = 1 (Integer) How often to send heartbeats for consumer’s connections
heartbeat_rate = 2 (Integer) How often times during the heartbeat_timeout_threshold we check the heartbeat.
heartbeat_timeout_threshold = 60 (Integer) Number of seconds after which the Rabbit broker is considered down if heartbeat’s keep-alive fails (0 disable the heartbeat). EXPERIMENTAL
host_connection_reconnect_delay = 0.25 (Floating point) Set delay for reconnection to some host which has connection error
kombu_compression = None (String) EXPERIMENTAL: Possible values are: gzip, bz2. If not set compression will not be used. This option may notbe available in future versions.
kombu_failover_strategy = round-robin (String) Determines how the next RabbitMQ node is chosen in case the one we are currently connected to becomes unavailable. Takes effect only if more than one RabbitMQ node is provided in config.
kombu_missing_consumer_retry_timeout = 60 (Integer) How long to wait a missing client beforce abandoning to send it its replies. This value should not be longer than rpc_response_timeout.
kombu_reconnect_delay = 1.0 (Floating point) How long to wait before reconnecting in response to an AMQP consumer cancel notification.
kombu_ssl_ca_certs = (String) SSL certification authority file (valid only if SSL enabled).
kombu_ssl_certfile = (String) SSL cert file (valid only if SSL enabled).
kombu_ssl_keyfile = (String) SSL key file (valid only if SSL enabled).
kombu_ssl_version = (String) 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.
notification_listener_prefetch_count = 100 (Integer) Max number of not acknowledged message which RabbitMQ can send to notification listener.
notification_persistence = False (Boolean) Persist notification messages.
notification_retry_delay = 0.25 (Floating point) Reconnecting retry delay in case of connectivity problem during sending notification message
pool_max_overflow = 0 (Integer) Maximum number of connections to create above pool_max_size.
pool_max_size = 10 (Integer) Maximum number of connections to keep queued.
pool_recycle = 600 (Integer) Lifetime of a connection (since creation) in seconds or None for no recycling. Expired connections are closed on acquire.
pool_stale = 60 (Integer) Threshold at which inactive (since release) connections are considered stale in seconds or None for no staleness. Stale connections are closed on acquire.
pool_timeout = 30 (Integer) Default number of seconds to wait for a connections to available
rabbit_ha_queues = False (Boolean) 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_host = localhost (String) The RabbitMQ broker address where a single node is used.
rabbit_hosts = $rabbit_host:$rabbit_port (List) RabbitMQ HA cluster host:port pairs.
rabbit_interval_max = 30 (Integer) Maximum interval of RabbitMQ connection retries. Default is 30 seconds.
rabbit_login_method = AMQPLAIN (String) The RabbitMQ login method.
rabbit_max_retries = 0 (Integer) Maximum number of RabbitMQ connection retries. Default is 0 (infinite retry count).
rabbit_password = guest (String) The RabbitMQ password.
rabbit_port = 5672 (Port number) The RabbitMQ broker port where a single node is used.
rabbit_qos_prefetch_count = 0 (Integer) Specifies the number of messages to prefetch. Setting to zero allows unlimited messages.
rabbit_retry_backoff = 2 (Integer) How long to backoff for between retries when connecting to RabbitMQ.
rabbit_retry_interval = 1 (Integer) How frequently to retry connecting with RabbitMQ.
rabbit_transient_queues_ttl = 1800 (Integer) 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_use_ssl = False (Boolean) Connect over SSL for RabbitMQ.
rabbit_userid = guest (String) The RabbitMQ userid.
rabbit_virtual_host = / (String) The RabbitMQ virtual host.
rpc_listener_prefetch_count = 100 (Integer) Max number of not acknowledged message which RabbitMQ can send to rpc listener.
rpc_queue_expiration = 60 (Integer) Time to live for rpc queues without consumers in seconds.
rpc_reply_exchange = ${control_exchange}_rpc_reply (String) Exchange name for receiving RPC replies
rpc_reply_listener_prefetch_count = 100 (Integer) Max number of not acknowledged message which RabbitMQ can send to rpc reply listener.
rpc_reply_retry_attempts = -1 (Integer) Reconnecting retry count in case of connectivity problem during sending reply. -1 means infinite retry during rpc_timeout
rpc_reply_retry_delay = 0.25 (Floating point) Reconnecting retry delay in case of connectivity problem during sending reply.
rpc_retry_delay = 0.25 (Floating point) Reconnecting retry delay in case of connectivity problem during sending RPC message
socket_timeout = 0.25 (Floating point) Set socket timeout in seconds for connection’s socket
ssl = None (Boolean) Enable SSL
ssl_options = None (Dict) Arguments passed to ssl.wrap_socket
tcp_user_timeout = 0.25 (Floating point) Set TCP_USER_TIMEOUT in seconds for connection’s socket
Description of ZeroMQ configuration options
Configuration option = Default value Description
[DEFAULT]  
rpc_zmq_bind_address = * (String) ZeroMQ bind address. Should be a wildcard (*), an ethernet interface, or IP. The “host” option should point or resolve to this address.
rpc_zmq_bind_port_retries = 100 (Integer) Number of retries to find free port number before fail with ZMQBindError.
rpc_zmq_concurrency = eventlet (String) Type of concurrency used. Either “native” or “eventlet”
rpc_zmq_contexts = 1 (Integer) Number of ZeroMQ contexts, defaults to 1.
rpc_zmq_host = localhost (String) Name of this node. Must be a valid hostname, FQDN, or IP address. Must match “host” option, if running Nova.
rpc_zmq_ipc_dir = /var/run/openstack (String) Directory for holding IPC sockets.
rpc_zmq_matchmaker = redis (String) MatchMaker driver.
rpc_zmq_max_port = 65536 (Integer) Maximal port number for random ports range.
rpc_zmq_min_port = 49152 (Port number) Minimal port number for random ports range.
rpc_zmq_topic_backlog = None (Integer) Maximum number of ingress messages to locally buffer per topic. Default is unlimited.
use_pub_sub = True (Boolean) Use PUB/SUB pattern for fanout methods. PUB/SUB always uses proxy.
zmq_target_expire = 120 (Integer) Expiration timeout in seconds of a name service record about existing target ( < 0 means no timeout).
Description of Redis configuration options
Configuration option = Default value Description
[matchmaker_redis]  
check_timeout = 20000 (Integer) Time in ms to wait before the transaction is killed.
host = 127.0.0.1 (String) Host to locate redis.
password = (String) Password for Redis server (optional).
port = 6379 (Port number) Use this port to connect to redis host.
sentinel_group_name = oslo-messaging-zeromq (String) Redis replica set name.
sentinel_hosts = (List) List of Redis Sentinel hosts (fault tolerance mode) e.g. [host:port, host1:port ... ]
socket_timeout = 1000 (Integer) Timeout in ms on blocking socket operations
wait_timeout = 500 (Integer) Time in ms to wait between connection attempts.

Domain-specific configuration

The Identity service supports domain-specific Identity drivers which allow a domain to have its own LDAP or SQL back end. By default, domain-specific drivers are disabled.

Domain-specific Identity configuration options can be stored in domain-specific configuration files, or in the Identity SQL database using API REST calls.

Note

Storing and managing configuration options in an SQL database is experimental in Kilo.

Enable drivers for domain-specific configuration files

To enable domain-specific drivers, set these options in the /etc/keystone/keystone.conf file:

[identity]
domain_specific_drivers_enabled = True
domain_config_dir = /etc/keystone/domains

When you enable domain-specific drivers, Identity looks in the domain_config_dir directory for configuration files that are named as keystone.DOMAIN_NAME.conf. A domain without a domain-specific configuration file uses options in the primary configuration file.

Enable drivers for storing configuration options in SQL database

To enable domain-specific drivers, set these options in the /etc/keystone/keystone.conf file:

[identity]
domain_specific_drivers_enabled = True
domain_configurations_from_database = True

Any domain-specific configuration options specified through the Identity v3 API will override domain-specific configuration files in the /etc/keystone/domains directory.

Migrate domain-specific configuration files to the SQL database

You can use the keystone-manage command to migrate configuration options in domain-specific configuration files to the SQL database:

# keystone-manage domain_config_upload --all

To upload options from a specific domain-configuration file, specify the domain name:

# keystone-manage domain_config_upload --domain-name DOMAIN_NAME
Creative Commons Attribution 3.0 License

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