Ce contenu n'est pas disponible dans la langue sélectionnée.

Configuration Reference


Red Hat OpenStack Platform 11

Configuring Red Hat OpenStack Platform environments

OpenStack Documentation Team

Abstract

This document is for system administrators who want to look up configuration options. It contains lists of configuration options available with OpenStack and uses auto-generation to generate options and the descriptions from the code for each project.

Chapter 1. Common Configurations

This chapter describes the common configurations for shared service and libraries.

1.1. Common Configuration Options

1.1.1. Description of Configuration Options

The following tables provide a comprehensive list of the common configuration options.

Expand
Table 1.1. Description of AMQP configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

control_exchange = openstack

(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

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.

Expand
Table 1.2. Description of authentication configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

auth_strategy = keystone

(String) This determines the strategy to use for authentication: keystone or noauth2. 'noauth2' is designed for testing only, as it does no actual credential checking. 'noauth2' provides administrative credentials only if 'admin' is specified as the username.

Expand
Table 1.3. Description of authorization token configuration options
Configuration option = Default valueDescription

[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. This endpoint should not be an "admin" endpoint, as it should be accessible by all end users. Unauthenticated clients are redirected to this endpoint to authenticate. Although this endpoint should ideally be unversioned, client support in the wild varies. If you’re using a versioned v2 endpoint here, then this should not be the same endpoint the service user utilizes for validating tokens, because normal end users may not be able to reach that endpoint.

auth_version = None

(String) API version of the admin Identity API endpoint.

cache = None

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

cafile = None

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

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.

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. Only valid for PKI tokens.

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.

Expand
Table 1.4. Description of database configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

db_driver = SERVICE.db

(String) DEPRECATED: The driver to use for database access

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

use_tpool = False

(Boolean) Enable the experimental use of thread pooling for all DB API calls

Expand
Table 1.5. Description of common logging configuration options
Configuration option = Default valueDescription

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

fatal_exception_format_errors = False

(Boolean) Make exception message format errors fatal

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.

Expand
Table 1.6. Description of policy configuration options
Configuration option = Default valueDescription

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

Expand
Table 1.7. Description of RPC configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

notification_format = both

(String) Specifies which notification format shall be used by nova.

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.

[cells]

 

rpc_driver_queue_base = cells.intercell

(String) RPC driver queue base When sending a message to another cell by JSON-ifying the message and making an RPC cast to 'process_message', a base queue is used. This option defines the base queue name to be used when communicating between cells. Various topics by message type will be appended to this.

Possible values: * The base queue name to be used when communicating between cells. Services which consume this: * nova-cells

Related options: * None

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

[oslo_messaging]

 

event_stream_topic = neutron_lbaas_event

(String) topic name for receiving events from a queue

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

[upgrade_levels]

 

baseapi = None

(String) Set a version cap for messages sent to the base api in any service

Chapter 2. Bare Metal

The Bare metal service is capable of managing and provisioning physical machines. The configuration file of this module is /etc/ironic/ironic.conf.

2.1. Bare Metal Configuration Options

Note

The common configurations for shared services and libraries, such as database connections and RPC messaging, are described at Common configurations.

2.1.1. Description of Configuration Options

The following tables provide a comprehensive list of the Bare metal service configuration options.

Expand
Table 2.1. Description of agent configuration options
Configuration option = Default valueDescription

[agent]

 

agent_api_version = v1

(String) API version to use for communicating with the ramdisk agent.

deploy_logs_collect = on_failure

(String) Whether Ironic should collect the deployment logs on deployment failure (on_failure), always or never.

deploy_logs_local_path = /var/log/ironic/deploy

(String) The path to the directory where the logs should be stored, used when the deploy_logs_storage_backend is configured to "local".

deploy_logs_storage_backend = local

(String) The name of the storage backend where the logs will be stored.

deploy_logs_swift_container = ironic_deploy_logs_container

(String) The name of the Swift container to store the logs, used when the deploy_logs_storage_backend is configured to "swift".

deploy_logs_swift_days_to_expire = 30

(Integer) Number of days before a log object is marked as expired in Swift. If None, the logs will be kept forever or until manually deleted. Used when the deploy_logs_storage_backend is configured to "swift".

manage_agent_boot = True

(Boolean) Whether Ironic will manage booting of the agent ramdisk. If set to False, you will need to configure your mechanism to allow booting the agent ramdisk.

memory_consumed_by_agent = 0

(Integer) The memory size in MiB consumed by agent when it is booted on a bare metal node. This is used for checking if the image can be downloaded and deployed on the bare metal node after booting agent ramdisk. This may be set according to the memory consumed by the agent ramdisk image.

post_deploy_get_power_state_retries = 6

(Integer) Number of times to retry getting power state to check if bare metal node has been powered off after a soft power off.

post_deploy_get_power_state_retry_interval = 5

(Integer) Amount of time (in seconds) to wait between polling power state after trigger soft poweroff.

stream_raw_images = True

(Boolean) Whether the agent ramdisk should stream raw images directly onto the disk or not. By streaming raw images directly onto the disk the agent ramdisk will not spend time copying the image to a tmpfs partition (therefore consuming less memory) prior to writing it to the disk. Unless the disk where the image will be copied to is really slow, this option should be set to True. Defaults to True.

Expand
Table 2.2. Description of AMT configuration options
Configuration option = Default valueDescription

[amt]

 

action_wait = 10

(Integer) Amount of time (in seconds) to wait, before retrying an AMT operation

awake_interval = 60

(Integer) Time interval (in seconds) for successive awake call to AMT interface, this depends on the IdleTimeout setting on AMT interface. AMT Interface will go to sleep after 60 seconds of inactivity by default. IdleTimeout=0 means AMT will not go to sleep at all. Setting awake_interval=0 will disable awake call.

max_attempts = 3

(Integer) Maximum number of times to attempt an AMT operation, before failing

protocol = http

(String) Protocol used for AMT endpoint

Expand
Table 2.3. Description of API configuration options
Configuration option = Default valueDescription

[api]

 

api_workers = None

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

enable_ssl_api = False

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

host_ip = 0.0.0.0

(String) The IP address on which ironic-api listens.

max_limit = 1000

(Integer) The maximum number of items returned in a single response from a collection resource.

port = 6385

(Port number) The TCP port on which ironic-api listens.

public_endpoint = None

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

ramdisk_heartbeat_timeout = 300

(Integer) Maximum interval (in seconds) for agent heartbeats.

restrict_lookup = True

(Boolean) Whether to restrict the lookup API to only nodes in certain states.

[oslo_middleware]

 

enable_proxy_headers_parsing = False

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

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 a SSL termination proxy.

[oslo_versionedobjects]

 

fatal_exception_format_errors = False

(Boolean) Make exception message format errors fatal

Expand
Table 2.4. Description of audit configuration options
Configuration option = Default valueDescription

[audit]

 

audit_map_file = /etc/ironic/api_audit_map.conf

(String) Path to audit map file for ironic-api service. Used only when API audit is enabled.

enabled = False

(Boolean) Enable auditing of API requests (for ironic-api service).

ignore_req_list =

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

namespace = openstack

(String) namespace prefix for generated id

[audit_middleware_notifications]

 

driver = None

(String) The Driver to handle sending notifications. Possible values are messaging, messagingv2, routing, log, test, noop. If not specified, then value from oslo_messaging_notifications conf section is used.

topics = None

(List) List of AMQP topics used for OpenStack notifications. If not specified, then value from oslo_messaging_notifications conf section is used.

transport_url = None

(String) A URL representing messaging driver to use for notification. If not specified, we fall back to the same configuration used for RPC.

Expand
Table 2.5. Description of Cisco UCS configuration options
Configuration option = Default valueDescription

[cimc]

 

action_interval = 10

(Integer) Amount of time in seconds to wait in between power operations

max_retry = 6

(Integer) Number of times a power operation needs to be retried

[cisco_ucs]

 

action_interval = 5

(Integer) Amount of time in seconds to wait in between power operations

max_retry = 6

(Integer) Number of times a power operation needs to be retried

Expand
Table 2.6. Description of common configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

bindir = /usr/local/bin

(String) Directory where ironic binaries are installed.

debug_tracebacks_in_api = False

(Boolean) Return server tracebacks in the API response for any error responses. WARNING: this is insecure and should not be used in a production environment.

default_boot_interface = None

(String) Default boot interface to be used for nodes that do not have boot_interface field set. A complete list of boot interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.boot" entrypoint.

default_console_interface = None

(String) Default console interface to be used for nodes that do not have console_interface field set. A complete list of console interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.console" entrypoint.

default_deploy_interface = None

(String) Default deploy interface to be used for nodes that do not have deploy_interface field set. A complete list of deploy interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.deploy" entrypoint.

default_inspect_interface = None

(String) Default inspect interface to be used for nodes that do not have inspect_interface field set. A complete list of inspect interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.inspect" entrypoint.

default_management_interface = None

(String) Default management interface to be used for nodes that do not have management_interface field set. A complete list of management interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.management" entrypoint.

default_network_interface = None

(String) Default network interface to be used for nodes that do not have network_interface field set. A complete list of network interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.network" entrypoint.

default_portgroup_mode = active-backup

(String) Default mode for portgroups. Allowed values can be found in the linux kernel documentation on bonding: https://www.kernel.org/doc/Documentation/networking/bonding.txt.

default_power_interface = None

(String) Default power interface to be used for nodes that do not have power_interface field set. A complete list of power interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.power" entrypoint.

default_raid_interface = None

(String) Default raid interface to be used for nodes that do not have raid_interface field set. A complete list of raid interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.raid" entrypoint.

default_vendor_interface = None

(String) Default vendor interface to be used for nodes that do not have vendor_interface field set. A complete list of vendor interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.vendor" entrypoint.

enabled_boot_interfaces = pxe

(List) Specify the list of boot interfaces to load during service initialization. Missing boot interfaces, or boot interfaces which fail to initialize, will prevent the ironic-conductor service from starting. At least one boot interface that is supported by each enabled hardware type must be enabled here, or the ironic-conductor service will not start. Must not be an empty list. The default value is a recommended set of production-oriented boot interfaces. A complete list of boot interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.boot" entrypoint. When setting this value, please make sure that every enabled hardware type will have the same set of enabled boot interfaces on every ironic-conductor service.

enabled_console_interfaces = no-console

(List) Specify the list of console interfaces to load during service initialization. Missing console interfaces, or console interfaces which fail to initialize, will prevent the ironic-conductor service from starting. At least one console interface that is supported by each enabled hardware type must be enabled here, or the ironic-conductor service will not start. Must not be an empty list. The default value is a recommended set of production-oriented console interfaces. A complete list of console interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.console" entrypoint. When setting this value, please make sure that every enabled hardware type will have the same set of enabled console interfaces on every ironic-conductor service.

enabled_deploy_interfaces = iscsi, direct

(List) Specify the list of deploy interfaces to load during service initialization. Missing deploy interfaces, or deploy interfaces which fail to initialize, will prevent the ironic-conductor service from starting. At least one deploy interface that is supported by each enabled hardware type must be enabled here, or the ironic-conductor service will not start. Must not be an empty list. The default value is a recommended set of production-oriented deploy interfaces. A complete list of deploy interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.deploy" entrypoint. When setting this value, please make sure that every enabled hardware type will have the same set of enabled deploy interfaces on every ironic-conductor service.

enabled_drivers = pxe_ipmitool

(List) Specify the list of drivers to load during service initialization. Missing drivers, or drivers which fail to initialize, will prevent the conductor service from starting. The option default is a recommended set of production-oriented drivers. A complete list of drivers present on your system may be found by enumerating the "ironic.drivers" entrypoint. An example may be found in the developer documentation online.

enabled_hardware_types = ipmi

(List) Specify the list of hardware types to load during service initialization. Missing hardware types, or hardware types which fail to initialize, will prevent the conductor service from starting. This option defaults to a recommended set of production-oriented hardware types. A complete list of hardware types present on your system may be found by enumerating the "ironic.hardware.types" entrypoint.

enabled_inspect_interfaces = no-inspect

(List) Specify the list of inspect interfaces to load during service initialization. Missing inspect interfaces, or inspect interfaces which fail to initialize, will prevent the ironic-conductor service from starting. At least one inspect interface that is supported by each enabled hardware type must be enabled here, or the ironic-conductor service will not start. Must not be an empty list. The default value is a recommended set of production-oriented inspect interfaces. A complete list of inspect interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.inspect" entrypoint. When setting this value, please make sure that every enabled hardware type will have the same set of enabled inspect interfaces on every ironic-conductor service.

enabled_management_interfaces = ipmitool

(List) Specify the list of management interfaces to load during service initialization. Missing management interfaces, or management interfaces which fail to initialize, will prevent the ironic-conductor service from starting. At least one management interface that is supported by each enabled hardware type must be enabled here, or the ironic-conductor service will not start. Must not be an empty list. The default value is a recommended set of production-oriented management interfaces. A complete list of management interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.management" entrypoint. When setting this value, please make sure that every enabled hardware type will have the same set of enabled management interfaces on every ironic-conductor service.

enabled_network_interfaces = flat, noop

(List) Specify the list of network interfaces to load during service initialization. Missing network interfaces, or network interfaces which fail to initialize, will prevent the ironic-conductor service from starting. At least one network interface that is supported by each enabled hardware type must be enabled here, or the ironic-conductor service will not start. Must not be an empty list. The default value is a recommended set of production-oriented network interfaces. A complete list of network interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.network" entrypoint. When setting this value, please make sure that every enabled hardware type will have the same set of enabled network interfaces on every ironic-conductor service.

enabled_power_interfaces = ipmitool

(List) Specify the list of power interfaces to load during service initialization. Missing power interfaces, or power interfaces which fail to initialize, will prevent the ironic-conductor service from starting. At least one power interface that is supported by each enabled hardware type must be enabled here, or the ironic-conductor service will not start. Must not be an empty list. The default value is a recommended set of production-oriented power interfaces. A complete list of power interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.power" entrypoint. When setting this value, please make sure that every enabled hardware type will have the same set of enabled power interfaces on every ironic-conductor service.

enabled_raid_interfaces = agent, no-raid

(List) Specify the list of raid interfaces to load during service initialization. Missing raid interfaces, or raid interfaces which fail to initialize, will prevent the ironic-conductor service from starting. At least one raid interface that is supported by each enabled hardware type must be enabled here, or the ironic-conductor service will not start. Must not be an empty list. The default value is a recommended set of production-oriented raid interfaces. A complete list of raid interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.raid" entrypoint. When setting this value, please make sure that every enabled hardware type will have the same set of enabled raid interfaces on every ironic-conductor service.

enabled_storage_interfaces = noop

(List) Specify the list of storage interfaces to load during service initialization. Missing storage interfaces, or storage interfaces which fail to initialize, will prevent the ironic-conductor service from starting. At least one storage interface that is supported by each enabled hardware type must be enabled here, or the ironic-conductor service will not start. Must not be an empty list. The default value is a recommended set of production-oriented storage interfaces. A complete list of storage interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.storage" entrypoint. When setting this value, please make sure that every enabled hardware type will have the same set of enabled storage interfaces on every ironic-conductor service.

enabled_vendor_interfaces = no-vendor

(List) Specify the list of vendor interfaces to load during service initialization. Missing vendor interfaces, or vendor interfaces which fail to initialize, will prevent the ironic-conductor service from starting. At least one vendor interface that is supported by each enabled hardware type must be enabled here, or the ironic-conductor service will not start. Must not be an empty list. The default value is a recommended set of production-oriented vendor interfaces. A complete list of vendor interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.vendor" entrypoint. When setting this value, please make sure that every enabled hardware type will have the same set of enabled vendor interfaces on every ironic-conductor service.

executor_thread_pool_size = 64

(Integer) Size of executor thread pool.

fatal_exception_format_errors = False

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

force_raw_images = True

(Boolean) If True, convert backing images to "raw" disk image format.

grub_config_template = $pybasedir/common/grub_conf.template

(String) Template file for grub configuration file.

hash_distribution_replicas = 1

(Integer) [Experimental Feature] Number of hosts to map onto each hash partition. Setting this to more than one will cause additional conductor services to prepare deployment environments and potentially allow the Ironic cluster to recover more quickly if a conductor instance is terminated.

hash_partition_exponent = 5

(Integer) Exponent to determine number of hash partitions to use when distributing load across conductors. Larger values will result in more even distribution of load and less load when rebalancing the ring, but more memory usage. Number of partitions per conductor is (2^hash_partition_exponent). This determines the granularity of rebalancing: given 10 hosts, and an exponent of the 2, there are 40 partitions in the ring.A few thousand partitions should make rebalancing smooth in most cases. The default is suitable for up to a few hundred conductors. Configuring for too many partitions has a negative impact on CPU usage.

hash_ring_reset_interval = 180

(Integer) Interval (in seconds) between hash ring resets.

host = localhost

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

isolinux_bin = /usr/lib/syslinux/isolinux.bin

(String) Path to isolinux binary file.

isolinux_config_template = $pybasedir/common/isolinux_config.template

(String) Template file for isolinux configuration file.

my_ip = 127.0.0.1

(String) IP address of this host. If unset, will determine the IP programmatically. If unable to do so, will use "127.0.0.1".

notification_level = None

(String) Specifies the minimum level for which to send notifications. If not set, no notifications will be sent. The default is for this option to be unset.

parallel_image_downloads = False

(Boolean) Run image downloads and raw format conversions in parallel.

pybasedir = /usr/lib/python/site-packages/ironic/ironic

(String) Directory where the ironic python module is installed.

rootwrap_config = /etc/ironic/rootwrap.conf

(String) Path to the rootwrap configuration file to use for running commands as root.

state_path = $pybasedir

(String) Top-level directory for maintaining ironic’s state.

tempdir = /tmp

(String) Temporary working directory, default is Python temp dir.

[healthcheck]

 

backends =

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

detailed = False

(Boolean) Show more detailed information as part of the response

disable_by_file_path = None

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

disable_by_file_paths =

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

path = /healthcheck

(String) DEPRECATED: The path to respond to healtcheck requests on.

[ironic_lib]

 

fatal_exception_format_errors = False

(Boolean) Make exception message format errors fatal.

root_helper = sudo ironic-rootwrap /etc/ironic/rootwrap.conf

(String) Command that is prefixed to commands that are run as root. If not specified, no commands are run as root.

Expand
Table 2.7. Description of conductor configuration options
Configuration option = Default valueDescription

[conductor]

 

api_url = None

(String) URL of Ironic API service. If not set ironic can get the current value from the keystone service catalog. If set, the value must start with either http:// or https://.

automated_clean = True

(Boolean) Enables or disables automated cleaning. Automated cleaning is a configurable set of steps, such as erasing disk drives, that are performed on the node to ensure it is in a baseline state and ready to be deployed to. This is done after instance deletion as well as during the transition from a "manageable" to "available" state. When enabled, the particular steps performed to clean a node depend on which driver that node is managed by; see the individual driver’s documentation for details. NOTE: The introduction of the cleaning operation causes instance deletion to take significantly longer. In an environment where all tenants are trusted (eg, because there is only one tenant), this option could be safely disabled.

check_provision_state_interval = 60

(Integer) Interval between checks of provision timeouts, in seconds.

clean_callback_timeout = 1800

(Integer) Timeout (seconds) to wait for a callback from the ramdisk doing the cleaning. If the timeout is reached the node will be put in the "clean failed" provision state. Set to 0 to disable timeout.

configdrive_swift_container = ironic_configdrive_container

(String) Name of the Swift container to store config drive data. Used when configdrive_use_swift is True.

configdrive_use_swift = False

(Boolean) Whether to upload the config drive to Swift.

deploy_callback_timeout = 1800

(Integer) Timeout (seconds) to wait for a callback from a deploy ramdisk. Set to 0 to disable timeout.

force_power_state_during_sync = True

(Boolean) During sync_power_state, should the hardware power state be set to the state recorded in the database (True) or should the database be updated based on the hardware state (False).

heartbeat_interval = 10

(Integer) Seconds between conductor heart beats.

heartbeat_timeout = 60

(Integer) Maximum time (in seconds) since the last check-in of a conductor. A conductor is considered inactive when this time has been exceeded.

inspect_timeout = 1800

(Integer) Timeout (seconds) for waiting for node inspection. 0 - unlimited.

node_locked_retry_attempts = 3

(Integer) Number of attempts to grab a node lock.

node_locked_retry_interval = 1

(Integer) Seconds to sleep between node lock attempts.

periodic_max_workers = 8

(Integer) Maximum number of worker threads that can be started simultaneously by a periodic task. Should be less than RPC thread pool size.

power_state_sync_max_retries = 3

(Integer) During sync_power_state failures, limit the number of times Ironic should try syncing the hardware node power state with the node power state in DB

send_sensor_data = False

(Boolean) Enable sending sensor data message via the notification bus

send_sensor_data_interval = 600

(Integer) Seconds between conductor sending sensor data message to ceilometer via the notification bus.

send_sensor_data_types = ALL

(List) List of comma separated meter types which need to be sent to Ceilometer. The default value, "ALL", is a special value meaning send all the sensor data.

send_sensor_data_wait_timeout = 300

(Integer) The time in seconds to wait for send sensors data periodic task to be finished before allowing periodic call to happen again. Should be less than send_sensor_data_interval value.

send_sensor_data_workers = 4

(Integer) The maximum number of workers that can be started simultaneously for send data from sensors periodic task.

soft_power_off_timeout = 600

(Integer) Timeout (in seconds) of soft reboot and soft power off operation. This value always has to be positive.

sync_local_state_interval = 180

(Integer) When conductors join or leave the cluster, existing conductors may need to update any persistent local state as nodes are moved around the cluster. This option controls how often, in seconds, each conductor will check for nodes that it should "take over". Set it to a negative value to disable the check entirely.

sync_power_state_interval = 60

(Integer) Interval between syncing the node power state to the database, in seconds.

workers_pool_size = 100

(Integer) The size of the workers greenthread pool. Note that 2 threads will be reserved by the conductor itself for handling heart beats and periodic tasks.

Expand
Table 2.8. Description of console configuration options
Configuration option = Default valueDescription

[console]

 

subprocess_checking_interval = 1

(Integer) Time interval (in seconds) for checking the status of console subprocess.

subprocess_timeout = 10

(Integer) Time (in seconds) to wait for the console subprocess to start.

terminal = shellinaboxd

(String) Path to serial console terminal program. Used only by Shell In A Box console.

terminal_cert_dir = None

(String) Directory containing the terminal SSL cert (PEM) for serial console access. Used only by Shell In A Box console.

terminal_pid_dir = None

(String) Directory for holding terminal pid files. If not specified, the temporary directory will be used.

Expand
Table 2.9. Description of logging configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

pecan_debug = False

(Boolean) Enable pecan debug mode. WARNING: this is insecure and should not be used in a production environment.

Expand
Table 2.10. Description of deploy configuration options
Configuration option = Default valueDescription

[deploy]

 

continue_if_disk_secure_erase_fails = False

(Boolean) Defines what to do if an ATA secure erase operation fails during cleaning in the Ironic Python Agent. If False, the cleaning operation will fail and the node will be put in clean failed state. If True, shred will be invoked and cleaning will continue.

default_boot_option = None

(String) Default boot option to use when no boot option is requested in node’s driver_info. Currently the default is "netboot", but it will be changed to "local" in the future. It is recommended to set an explicit value for this option.

erase_devices_metadata_priority = None

(Integer) Priority to run in-band clean step that erases metadata from devices, via the Ironic Python Agent ramdisk. If unset, will use the priority set in the ramdisk (defaults to 99 for the GenericHardwareManager). If set to 0, will not run during cleaning.

erase_devices_priority = None

(Integer) Priority to run in-band erase devices via the Ironic Python Agent ramdisk. If unset, will use the priority set in the ramdisk (defaults to 10 for the GenericHardwareManager). If set to 0, will not run during cleaning.

http_root = /httpboot

(String) ironic-conductor node’s HTTP root path.

http_url = None

(String) ironic-conductor node’s HTTP server URL. Example: http://192.1.2.3:8080

power_off_after_deploy_failure = True

(Boolean) Whether to power off a node after deploy failure. Defaults to True.

shred_final_overwrite_with_zeros = True

(Boolean) Whether to write zeros to a node’s block devices after writing random data. This will write zeros to the device even when deploy.shred_random_overwrite_iterations is 0. This option is only used if a device could not be ATA Secure Erased. Defaults to True.

shred_random_overwrite_iterations = 1

(Integer) During shred, overwrite all block devices N times with random data. This is only used if a device could not be ATA Secure Erased. Defaults to 1.

Expand
Table 2.11. Description of DHCP configuration options
Configuration option = Default valueDescription

[dhcp]

 

dhcp_provider = neutron

(String) DHCP provider to use. "neutron" uses Neutron, and "none" uses a no-op provider.

Expand
Table 2.12. Description of disk partitioner configuration options
Configuration option = Default valueDescription

[disk_partitioner]

 

check_device_interval = 1

(Integer) After Ironic has completed creating the partition table, it continues to check for activity on the attached iSCSI device status at this interval prior to copying the image to the node, in seconds

check_device_max_retries = 20

(Integer) The maximum number of times to check that the device is not accessed by another process. If the device is still busy after that, the disk partitioning will be treated as having failed.

[disk_utils]

 

bios_boot_partition_size = 1

(Integer) Size of BIOS Boot partition in MiB when configuring GPT partitioned systems for local boot in BIOS.

dd_block_size = 1M

(String) Block size to use when writing to the nodes disk.

efi_system_partition_size = 200

(Integer) Size of EFI system partition in MiB when configuring UEFI systems for local boot.

iscsi_verify_attempts = 3

(Integer) Maximum attempts to verify an iSCSI connection is active, sleeping 1 second between attempts.

Expand
Table 2.13. Description of DRAC configuration options
Configuration option = Default valueDescription

[drac]

 

query_raid_config_job_status_interval = 120

(Integer) Interval (in seconds) between periodic RAID job status checks to determine whether the asynchronous RAID configuration was successfully finished or not.

Expand
Table 2.14. Description of glance configuration options
Configuration option = Default valueDescription

[glance]

 

allowed_direct_url_schemes =

(List) A list of URL schemes that can be downloaded directly via the direct_url. Currently supported schemes: [file].

auth_section = None

(Unknown) Config Section from which to load plugin specific options

auth_strategy = keystone

(String) Authentication strategy to use when connecting to glance.

auth_type = None

(Unknown) Authentication type to load

cafile = None

(String) PEM encoded Certificate Authority to use when verifying HTTPs connections.

certfile = None

(String) PEM encoded client certificate cert file

glance_api_insecure = False

(Boolean) Allow to perform insecure SSL (https) requests to glance.

glance_api_servers = None

(List) A list of the glance api servers available to ironic. Prefix with https:// for SSL-based glance API servers. Format is [hostname|IP]:port.

glance_api_version = 2

(Integer) Glance API version to use. Only version 2 is supported.

glance_cafile = None

(String) Optional path to a CA certificate bundle to be used to validate the SSL certificate served by glance. It is used when glance_api_insecure is set to False.

glance_host = $my_ip

(String) Default glance hostname or IP address.

glance_num_retries = 0

(Integer) Number of retries when downloading an image from glance.

glance_port = 9292

(Port number) Default glance port.

glance_protocol = http

(String) Default protocol to use when connecting to glance. Set to https for SSL.

insecure = False

(Boolean) Verify HTTPS connections.

keyfile = None

(String) PEM encoded client certificate key file

swift_account = None

(String) The account that Glance uses to communicate with Swift. The format is "AUTH_uuid". "uuid" is the UUID for the account configured in the glance-api.conf. Required for temporary URLs when Glance backend is Swift. For example: "AUTH_a422b2-91f3-2f46-74b7-d7c9e8958f5d30". Swift temporary URL format: "endpoint_url/api_version/[account/]container/object_id"

swift_api_version = v1

(String) The Swift API version to create a temporary URL for. Defaults to "v1". Swift temporary URL format: "endpoint_url/api_version/[account/]container/object_id"

swift_container = glance

(String) The Swift container Glance is configured to store its images in. Defaults to "glance", which is the default in glance-api.conf. Swift temporary URL format: "endpoint_url/api_version/[account/]container/object_id"

swift_endpoint_url = None

(String) The "endpoint" (scheme, hostname, optional port) for the Swift URL of the form "endpoint_url/api_version/[account/]container/object_id". Do not include trailing "/". For example, use "https://swift.example.com". If using RADOS Gateway, endpoint may also contain /swift path; if it does not, it will be appended. Required for temporary URLs.

swift_store_multiple_containers_seed = 0

(Integer) This should match a config by the same name in the Glance configuration file. When set to 0, a single-tenant store will only use one container to store all images. When set to an integer value between 1 and 32, a single-tenant store will use multiple containers to store images, and this value will determine how many containers are created.

swift_temp_url_cache_enabled = False

(Boolean) Whether to cache generated Swift temporary URLs. Setting it to true is only useful when an image caching proxy is used. Defaults to False.

swift_temp_url_duration = 1200

(Integer) The length of time in seconds that the temporary URL will be valid for. Defaults to 20 minutes. If some deploys get a 401 response code when trying to download from the temporary URL, try raising this duration. This value must be greater than or equal to the value for swift_temp_url_expected_download_start_delay

swift_temp_url_expected_download_start_delay = 0

(Integer) This is the delay (in seconds) from the time of the deploy request (when the Swift temporary URL is generated) to when the IPA ramdisk starts up and URL is used for the image download. This value is used to check if the Swift temporary URL duration is large enough to let the image download begin. Also if temporary URL caching is enabled this will determine if a cached entry will still be valid when the download starts. swift_temp_url_duration value must be greater than or equal to this option’s value. Defaults to 0.

swift_temp_url_key = None

(String) The secret token given to Swift to allow temporary URL downloads. Required for temporary URLs.

temp_url_endpoint_type = swift

(String) Type of endpoint to use for temporary URLs. If the Glance backend is Swift, use "swift"; if it is CEPH with RADOS gateway, use "radosgw".

timeout = None

(Integer) Timeout value for http requests

Expand
Table 2.15. Description of iBoot Web Power Switch configuration options
Configuration option = Default valueDescription

[iboot]

 

max_retry = 3

(Integer) Maximum retries for iBoot operations

reboot_delay = 5

(Integer) Time (in seconds) to sleep between when rebooting (powering off and on again).

retry_interval = 1

(Integer) Time (in seconds) between retry attempts for iBoot operations

Expand
Table 2.16. Description of iLO configuration options
Configuration option = Default valueDescription

[ilo]

 

ca_file = None

(String) CA certificate file to validate iLO.

clean_priority_clear_secure_boot_keys = 0

(Integer) Priority for clear_secure_boot_keys clean step. This step is not enabled by default. It can be enabled to clear all secure boot keys enrolled with iLO.

clean_priority_erase_devices = None

(Integer) DEPRECATED: Priority for erase devices clean step. If unset, it defaults to 10. If set to 0, the step will be disabled and will not run during cleaning. This configuration option is duplicated by [deploy] erase_devices_priority, please use that instead.

clean_priority_reset_bios_to_default = 10

(Integer) Priority for reset_bios_to_default clean step.

clean_priority_reset_ilo = 0

(Integer) Priority for reset_ilo clean step.

clean_priority_reset_ilo_credential = 30

(Integer) Priority for reset_ilo_credential clean step. This step requires "ilo_change_password" parameter to be updated in nodes’s driver_info with the new password.

clean_priority_reset_secure_boot_keys_to_default = 20

(Integer) Priority for reset_secure_boot_keys clean step. This step will reset the secure boot keys to manufacturing defaults.

client_port = 443

(Port number) Port to be used for iLO operations

client_timeout = 60

(Integer) Timeout (in seconds) for iLO operations

default_boot_mode = auto

(String) Default boot mode to be used in provisioning when "boot_mode" capability is not provided in the "properties/capabilities" of the node. The default is "auto" for backward compatibility. When "auto" is specified, default boot mode will be selected based on boot mode settings on the system.

power_retry = 6

(Integer) Number of times a power operation needs to be retried

power_wait = 2

(Integer) Amount of time in seconds to wait in between power operations

swift_ilo_container = ironic_ilo_container

(String) The Swift iLO container to store data.

swift_object_expiry_timeout = 900

(Integer) Amount of time in seconds for Swift objects to auto-expire.

use_web_server_for_images = False

(Boolean) Set this to True to use http web server to host floppy images and generated boot ISO. This requires http_root and http_url to be configured in the [deploy] section of the config file. If this is set to False, then Ironic will use Swift to host the floppy images and generated boot_iso.

Expand
Table 2.17. Description of inspector configuration options
Configuration option = Default valueDescription

[inspector]

 

auth_section = None

(Unknown) Config Section from which to load plugin specific options

auth_type = None

(Unknown) Authentication type to load

cafile = None

(String) PEM encoded Certificate Authority to use when verifying HTTPs connections.

certfile = None

(String) PEM encoded client certificate cert file

enabled = False

(Boolean) whether to enable inspection using ironic-inspector. This option does not affect new-style dynamic drivers and the fake_inspector driver.

insecure = False

(Boolean) Verify HTTPS connections.

keyfile = None

(String) PEM encoded client certificate key file

service_url = None

(String) ironic-inspector HTTP endpoint. If this is not set, the service catalog will be used.

status_check_period = 60

(Integer) period (in seconds) to check status of nodes on inspection

timeout = None

(Integer) Timeout value for http requests

Expand
Table 2.18. Description of IPMI configuration options
Configuration option = Default valueDescription

[ipmi]

 

min_command_interval = 5

(Integer) Minimum time, in seconds, between IPMI operations sent to a server. There is a risk with some hardware that setting this too low may cause the BMC to crash. Recommended setting is 5 seconds.

retry_timeout = 60

(Integer) Maximum time in seconds to retry IPMI operations. There is a tradeoff when setting this value. Setting this too low may cause older BMCs to crash and require a hard reset. However, setting too high can cause the sync power state periodic task to hang when there are slow or unresponsive BMCs.

Expand
Table 2.19. Description of iRMC configuration options
Configuration option = Default valueDescription

[irmc]

 

auth_method = basic

(String) Authentication method to be used for iRMC operations

client_timeout = 60

(Integer) Timeout (in seconds) for iRMC operations

port = 443

(Port number) Port to be used for iRMC operations

remote_image_server = None

(String) IP of remote image server

remote_image_share_name = share

(String) share name of remote_image_server

remote_image_share_root = /remote_image_share_root

(String) Ironic conductor node’s "NFS" or "CIFS" root path

remote_image_share_type = CIFS

(String) Share type of virtual media

remote_image_user_domain =

(String) Domain name of remote_image_user_name

remote_image_user_name = None

(String) User name of remote_image_server

remote_image_user_password = None

(String) Password of remote_image_user_name

sensor_method = ipmitool

(String) Sensor data retrieval method.

snmp_community = public

(String) SNMP community. Required for versions "v1" and "v2c"

snmp_polling_interval = 10

(Integer) SNMP polling interval in seconds

snmp_port = 161

(Port number) SNMP port

snmp_security = None

(String) SNMP security name. Required for version "v3"

snmp_version = v2c

(String) SNMP protocol version

Expand
Table 2.20. Description of iSCSI configuration options
Configuration option = Default valueDescription

[iscsi]

 

portal_port = 3260

(Port number) The port number on which the iSCSI portal listens for incoming connections.

Expand
Table 2.21. Description of keystone configuration options
Configuration option = Default valueDescription

[keystone]

 

region_name = None

(String) The region used for getting endpoints of OpenStack services.

Expand
Table 2.22. Description of metrics configuration options
Configuration option = Default valueDescription

[metrics]

 

agent_backend = noop

(String) Backend for the agent ramdisk to use for metrics. Default possible backends are "noop" and "statsd".

agent_global_prefix = None

(String) Prefix all metric names sent by the agent ramdisk with this value. The format of metric names is [global_prefix.][uuid.][host_name.]prefix.metric_name.

agent_prepend_host = False

(Boolean) Prepend the hostname to all metric names sent by the agent ramdisk. The format of metric names is [global_prefix.][uuid.][host_name.]prefix.metric_name.

agent_prepend_host_reverse = True

(Boolean) Split the prepended host value by "." and reverse it for metrics sent by the agent ramdisk (to better match the reverse hierarchical form of domain names).

agent_prepend_uuid = False

(Boolean) Prepend the node’s Ironic uuid to all metric names sent by the agent ramdisk. The format of metric names is [global_prefix.][uuid.][host_name.]prefix.metric_name.

backend = noop

(String) Backend to use for the metrics system.

global_prefix = None

(String) Prefix all metric names with this value. By default, there is no global prefix. The format of metric names is [global_prefix.][host_name.]prefix.metric_name.

prepend_host = False

(Boolean) Prepend the hostname to all metric names. The format of metric names is [global_prefix.][host_name.]prefix.metric_name.

prepend_host_reverse = True

(Boolean) Split the prepended host value by "." and reverse it (to better match the reverse hierarchical form of domain names).

Expand
Table 2.23. Description of metrics configuration options specific to statsd backend
Configuration option = Default valueDescription

[metrics_statsd]

 

agent_statsd_host = localhost

(String) Host for the agent ramdisk to use with the statsd backend. This must be accessible from networks the agent is booted on.

agent_statsd_port = 8125

(Port number) Port for the agent ramdisk to use with the statsd backend.

statsd_host = localhost

(String) Host for use with the statsd backend.

statsd_port = 8125

(Port number) Port to use with the statsd backend.

Expand
Table 2.24. Description of neutron configuration options
Configuration option = Default valueDescription

[neutron]

 

auth_section = None

(Unknown) Config Section from which to load plugin specific options

auth_strategy = keystone

(String) Authentication strategy to use when connecting to neutron. Running neutron in noauth mode (related to but not affected by this setting) is insecure and should only be used for testing.

auth_type = None

(Unknown) Authentication type to load

cafile = None

(String) PEM encoded Certificate Authority to use when verifying HTTPs connections.

certfile = None

(String) PEM encoded client certificate cert file

cleaning_network = None

(String) Neutron network UUID or name for the ramdisk to be booted into for cleaning nodes. Required for "neutron" network interface. It is also required if cleaning nodes when using "flat" network interface or "neutron" DHCP provider. If a name is provided, it must be unique among all networks or cleaning will fail.

cleaning_network_security_groups =

(List) List of Neutron Security Group UUIDs to be applied during cleaning of the nodes. Optional for the "neutron" network interface and not used for the "flat" or "noop" network interfaces. If not specified, default security group is used.

insecure = False

(Boolean) Verify HTTPS connections.

keyfile = None

(String) PEM encoded client certificate key file

port_setup_delay = 0

(Integer) Delay value to wait for Neutron agents to setup sufficient DHCP configuration for port.

provisioning_network = None

(String) Neutron network UUID or name for the ramdisk to be booted into for provisioning nodes. Required for "neutron" network interface. If a name is provided, it must be unique among all networks or deploy will fail.

provisioning_network_security_groups =

(List) List of Neutron Security Group UUIDs to be applied during provisioning of the nodes. Optional for the "neutron" network interface and not used for the "flat" or "noop" network interfaces. If not specified, default security group is used.

retries = 3

(Integer) Client retries in the case of a failed request.

timeout = None

(Integer) Timeout value for http requests

url = None

(String) URL for connecting to neutron. Default value translates to 'http://$my_ip:9696' when auth_strategy is 'noauth', and to discovery from Keystone catalog when auth_strategy is 'keystone'.

url_timeout = 30

(Integer) Timeout value for connecting to neutron in seconds.

Expand
Table 2.25. Description of OneView configuration options
Configuration option = Default valueDescription

[oneview]

 

allow_insecure_connections = False

(Boolean) Option to allow insecure connection with OneView.

enable_periodic_tasks = True

(Boolean) Whether to enable the periodic tasks for OneView driver be aware when OneView hardware resources are taken and released by Ironic or OneView users and proactively manage nodes in clean fail state according to Dynamic Allocation model of hardware resources allocation in OneView.

manager_url = None

(String) URL where OneView is available.

max_polling_attempts = 12

(Integer) Max connection retries to check changes on OneView.

password = None

(String) OneView password to be used.

periodic_check_interval = 300

(Integer) Period (in seconds) for periodic tasks to be executed when enable_periodic_tasks=True.

tls_cacert_file = None

(String) Path to CA certificate.

username = None

(String) OneView username to be used.

Expand
Table 2.26. Description of PXE configuration options
Configuration option = Default valueDescription

[pxe]

 

default_ephemeral_format = ext4

(String) Default file system format for ephemeral partition, if one is created.

image_cache_size = 20480

(Integer) Maximum size (in MiB) of cache for master images, including those in use.

image_cache_ttl = 10080

(Integer) Maximum TTL (in minutes) for old master images in cache.

images_path = /var/lib/ironic/images/

(String) On the ironic-conductor node, directory where images are stored on disk.

instance_master_path = /var/lib/ironic/master_images

(String) On the ironic-conductor node, directory where master instance images are stored on disk. Setting to <None> disables image caching.

ip_version = 4

(String) The IP version that will be used for PXE booting. Defaults to 4. EXPERIMENTAL

ipxe_boot_script = $pybasedir/drivers/modules/boot.ipxe

(String) On ironic-conductor node, the path to the main iPXE script file.

ipxe_enabled = False

(Boolean) Enable iPXE boot.

ipxe_timeout = 0

(Integer) Timeout value (in seconds) for downloading an image via iPXE. Defaults to 0 (no timeout)

ipxe_use_swift = False

(Boolean) Download deploy images directly from swift using temporary URLs. If set to false (default), images are downloaded to the ironic-conductor node and served over its local HTTP server. Applicable only when 'ipxe_enabled' option is set to true.

pxe_append_params = nofb nomodeset vga=normal

(String) Additional append parameters for baremetal PXE boot.

pxe_bootfile_name = pxelinux.0

(String) Bootfile DHCP parameter.

pxe_bootfile_name_by_arch = {}

(Dict) Bootfile DHCP parameter per node architecture. For example: aarch64:grubaa64.efi

pxe_config_template = $pybasedir/drivers/modules/pxe_config.template

(String) On ironic-conductor node, template file for PXE configuration.

pxe_config_template_by_arch = {}

(Dict) On ironic-conductor node, template file for PXE configuration per node architecture. For example: aarch64:/opt/share/grubaa64_pxe_config.template

tftp_master_path = /tftpboot/master_images

(String) On ironic-conductor node, directory where master TFTP images are stored on disk. Setting to <None> disables image caching.

tftp_root = /tftpboot

(String) ironic-conductor node’s TFTP root path. The ironic-conductor must have read/write access to this path.

tftp_server = $my_ip

(String) IP address of ironic-conductor node’s TFTP server.

uefi_pxe_bootfile_name = bootx64.efi

(String) Bootfile DHCP parameter for UEFI boot mode.

uefi_pxe_config_template = $pybasedir/drivers/modules/pxe_grub_config.template

(String) On ironic-conductor node, template file for PXE configuration for UEFI boot loader.

Expand
Table 2.27. Description of Redis configuration options
Configuration option = Default valueDescription

[matchmaker_redis]

 

check_timeout = 20000

(Integer) Time in ms to wait before the transaction is killed.

host = 127.0.0.1

(String) DEPRECATED: Host to locate redis. Replaced by [DEFAULT]/transport_url

password =

(String) DEPRECATED: Password for Redis server (optional). Replaced by [DEFAULT]/transport_url

port = 6379

(Port number) DEPRECATED: Use this port to connect to redis host. Replaced by [DEFAULT]/transport_url

sentinel_group_name = oslo-messaging-zeromq

(String) Redis replica set name.

sentinel_hosts =

(List) DEPRECATED: List of Redis Sentinel hosts (fault tolerance mode), e.g., [host:port, host1:port …​ ] Replaced by [DEFAULT]/transport_url

socket_timeout = 10000

(Integer) Timeout in ms on blocking socket operations.

wait_timeout = 2000

(Integer) Time in ms to wait between connection attempts.

Expand
Table 2.28. Description of SeaMicro configuration options
Configuration option = Default valueDescription

[seamicro]

 

action_timeout = 10

(Integer) Seconds to wait for power action to be completed

max_retry = 3

(Integer) Maximum retries for SeaMicro operations

Expand
Table 2.29. Description of service catalog configuration options
Configuration option = Default valueDescription

[service_catalog]

 

auth_section = None

(Unknown) Config Section from which to load plugin specific options

auth_type = None

(Unknown) Authentication type to load

cafile = None

(String) PEM encoded Certificate Authority to use when verifying HTTPs connections.

certfile = None

(String) PEM encoded client certificate cert file

insecure = False

(Boolean) Verify HTTPS connections.

keyfile = None

(String) PEM encoded client certificate key file

timeout = None

(Integer) Timeout value for http requests

Expand
Table 2.30. Description of SNMP configuration options
Configuration option = Default valueDescription

[snmp]

 

power_timeout = 10

(Integer) Seconds to wait for power action to be completed

reboot_delay = 0

(Integer) Time (in seconds) to sleep between when rebooting (powering off and on again)

Expand
Table 2.31. Description of SSH configuration options
Configuration option = Default valueDescription

[ssh]

 

get_vm_name_attempts = 3

(Integer) Number of attempts to try to get VM name used by the host that corresponds to a node’s MAC address.

get_vm_name_retry_interval = 3

(Integer) Number of seconds to wait between attempts to get VM name used by the host that corresponds to a node’s MAC address.

libvirt_uri = qemu:///system

(String) libvirt URI.

Expand
Table 2.32. Description of swift configuration options
Configuration option = Default valueDescription

[swift]

 

auth_section = None

(Unknown) Config Section from which to load plugin specific options

auth_type = None

(Unknown) Authentication type to load

cafile = None

(String) PEM encoded Certificate Authority to use when verifying HTTPs connections.

certfile = None

(String) PEM encoded client certificate cert file

insecure = False

(Boolean) Verify HTTPS connections.

keyfile = None

(String) PEM encoded client certificate key file

swift_max_retries = 2

(Integer) Maximum number of times to retry a Swift request, before failing.

timeout = None

(Integer) Timeout value for http requests

Expand
Table 2.33. Description of VirtualBox configuration options
Configuration option = Default valueDescription

[virtualbox]

 

port = 18083

(Port number) Port on which VirtualBox web service is listening.

Expand
Table 2.34. New options
Option = default value(Type) Help string

[DEFAULT] default_boot_interface = None

(StrOpt) Default boot interface to be used for nodes that do not have boot_interface field set. A complete list of boot interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.boot" entrypoint.

[DEFAULT] default_console_interface = None

(StrOpt) Default console interface to be used for nodes that do not have console_interface field set. A complete list of console interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.console" entrypoint.

[DEFAULT] default_deploy_interface = None

(StrOpt) Default deploy interface to be used for nodes that do not have deploy_interface field set. A complete list of deploy interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.deploy" entrypoint.

[DEFAULT] default_inspect_interface = None

(StrOpt) Default inspect interface to be used for nodes that do not have inspect_interface field set. A complete list of inspect interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.inspect" entrypoint.

[DEFAULT] default_management_interface = None

(StrOpt) Default management interface to be used for nodes that do not have management_interface field set. A complete list of management interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.management" entrypoint.

[DEFAULT] default_portgroup_mode = active-backup

(StrOpt) Default mode for portgroups. Allowed values can be found in the linux kernel documentation on bonding: https://www.kernel.org/doc/Documentation/networking/bonding.txt.

[DEFAULT] default_power_interface = None

(StrOpt) Default power interface to be used for nodes that do not have power_interface field set. A complete list of power interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.power" entrypoint.

[DEFAULT] default_raid_interface = None

(StrOpt) Default raid interface to be used for nodes that do not have raid_interface field set. A complete list of raid interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.raid" entrypoint.

[DEFAULT] default_vendor_interface = None

(StrOpt) Default vendor interface to be used for nodes that do not have vendor_interface field set. A complete list of vendor interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.vendor" entrypoint.

[DEFAULT] enabled_boot_interfaces = pxe

(ListOpt) Specify the list of boot interfaces to load during service initialization. Missing boot interfaces, or boot interfaces which fail to initialize, will prevent the ironic-conductor service from starting. At least one boot interface that is supported by each enabled hardware type must be enabled here, or the ironic-conductor service will not start. Must not be an empty list. The default value is a recommended set of production-oriented boot interfaces. A complete list of boot interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.boot" entrypoint. When setting this value, please make sure that every enabled hardware type will have the same set of enabled boot interfaces on every ironic-conductor service.

[DEFAULT] enabled_console_interfaces = no-console

(ListOpt) Specify the list of console interfaces to load during service initialization. Missing console interfaces, or console interfaces which fail to initialize, will prevent the ironic-conductor service from starting. At least one console interface that is supported by each enabled hardware type must be enabled here, or the ironic-conductor service will not start. Must not be an empty list. The default value is a recommended set of production-oriented console interfaces. A complete list of console interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.console" entrypoint. When setting this value, please make sure that every enabled hardware type will have the same set of enabled console interfaces on every ironic-conductor service.

[DEFAULT] enabled_deploy_interfaces = iscsi, direct

(ListOpt) Specify the list of deploy interfaces to load during service initialization. Missing deploy interfaces, or deploy interfaces which fail to initialize, will prevent the ironic-conductor service from starting. At least one deploy interface that is supported by each enabled hardware type must be enabled here, or the ironic-conductor service will not start. Must not be an empty list. The default value is a recommended set of production-oriented deploy interfaces. A complete list of deploy interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.deploy" entrypoint. When setting this value, please make sure that every enabled hardware type will have the same set of enabled deploy interfaces on every ironic-conductor service.

[DEFAULT] enabled_hardware_types = ipmi

(ListOpt) Specify the list of hardware types to load during service initialization. Missing hardware types, or hardware types which fail to initialize, will prevent the conductor service from starting. This option defaults to a recommended set of production-oriented hardware types. A complete list of hardware types present on your system may be found by enumerating the "ironic.hardware.types" entrypoint.

[DEFAULT] enabled_inspect_interfaces = no-inspect

(ListOpt) Specify the list of inspect interfaces to load during service initialization. Missing inspect interfaces, or inspect interfaces which fail to initialize, will prevent the ironic-conductor service from starting. At least one inspect interface that is supported by each enabled hardware type must be enabled here, or the ironic-conductor service will not start. Must not be an empty list. The default value is a recommended set of production-oriented inspect interfaces. A complete list of inspect interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.inspect" entrypoint. When setting this value, please make sure that every enabled hardware type will have the same set of enabled inspect interfaces on every ironic-conductor service.

[DEFAULT] enabled_management_interfaces = ipmitool

(ListOpt) Specify the list of management interfaces to load during service initialization. Missing management interfaces, or management interfaces which fail to initialize, will prevent the ironic-conductor service from starting. At least one management interface that is supported by each enabled hardware type must be enabled here, or the ironic-conductor service will not start. Must not be an empty list. The default value is a recommended set of production-oriented management interfaces. A complete list of management interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.management" entrypoint. When setting this value, please make sure that every enabled hardware type will have the same set of enabled management interfaces on every ironic-conductor service.

[DEFAULT] enabled_power_interfaces = ipmitool

(ListOpt) Specify the list of power interfaces to load during service initialization. Missing power interfaces, or power interfaces which fail to initialize, will prevent the ironic-conductor service from starting. At least one power interface that is supported by each enabled hardware type must be enabled here, or the ironic-conductor service will not start. Must not be an empty list. The default value is a recommended set of production-oriented power interfaces. A complete list of power interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.power" entrypoint. When setting this value, please make sure that every enabled hardware type will have the same set of enabled power interfaces on every ironic-conductor service.

[DEFAULT] enabled_raid_interfaces = agent, no-raid

(ListOpt) Specify the list of raid interfaces to load during service initialization. Missing raid interfaces, or raid interfaces which fail to initialize, will prevent the ironic-conductor service from starting. At least one raid interface that is supported by each enabled hardware type must be enabled here, or the ironic-conductor service will not start. Must not be an empty list. The default value is a recommended set of production-oriented raid interfaces. A complete list of raid interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.raid" entrypoint. When setting this value, please make sure that every enabled hardware type will have the same set of enabled raid interfaces on every ironic-conductor service.

[DEFAULT] enabled_storage_interfaces = noop

(ListOpt) Specify the list of storage interfaces to load during service initialization. Missing storage interfaces, or storage interfaces which fail to initialize, will prevent the ironic-conductor service from starting. At least one storage interface that is supported by each enabled hardware type must be enabled here, or the ironic-conductor service will not start. Must not be an empty list. The default value is a recommended set of production-oriented storage interfaces. A complete list of storage interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.storage" entrypoint. When setting this value, please make sure that every enabled hardware type will have the same set of enabled storage interfaces on every ironic-conductor service.

[DEFAULT] enabled_vendor_interfaces = no-vendor

(ListOpt) Specify the list of vendor interfaces to load during service initialization. Missing vendor interfaces, or vendor interfaces which fail to initialize, will prevent the ironic-conductor service from starting. At least one vendor interface that is supported by each enabled hardware type must be enabled here, or the ironic-conductor service will not start. Must not be an empty list. The default value is a recommended set of production-oriented vendor interfaces. A complete list of vendor interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.vendor" entrypoint. When setting this value, please make sure that every enabled hardware type will have the same set of enabled vendor interfaces on every ironic-conductor service.

[conductor] send_sensor_data_wait_timeout = 300

(IntOpt) The time in seconds to wait for send sensors data periodic task to be finished before allowing periodic call to happen again. Should be less than send_sensor_data_interval value.

[conductor] send_sensor_data_workers = 4

(IntOpt) The maximum number of workers that can be started simultaneously for send data from sensors periodic task.

[conductor] soft_power_off_timeout = 600

(IntOpt) Timeout (in seconds) of soft reboot and soft power off operation. This value always has to be positive.

[deploy] default_boot_option = None

(StrOpt) Default boot option to use when no boot option is requested in node’s driver_info. Currently the default is "netboot", but it will be changed to "local" in the future. It is recommended to set an explicit value for this option.

[glance] glance_api_version = 2

(IntOpt) Glance API version to use. Only version 2 is supported.

[irmc] snmp_polling_interval = 10

(IntOpt) SNMP polling interval in seconds

[neutron] cleaning_network = None

(StrOpt) Neutron network UUID or name for the ramdisk to be booted into for cleaning nodes. Required for "neutron" network interface. It is also required if cleaning nodes when using "flat" network interface or "neutron" DHCP provider. If a name is provided, it must be unique among all networks or cleaning will fail.

[neutron] cleaning_network_security_groups =

(ListOpt) List of Neutron Security Group UUIDs to be applied during cleaning of the nodes. Optional for the "neutron" network interface and not used for the "flat" or "noop" network interfaces. If not specified, default security group is used.

[neutron] provisioning_network = None

(StrOpt) Neutron network UUID or name for the ramdisk to be booted into for provisioning nodes. Required for "neutron" network interface. If a name is provided, it must be unique among all networks or deploy will fail.

[neutron] provisioning_network_security_groups =

(ListOpt) List of Neutron Security Group UUIDs to be applied during provisioning of the nodes. Optional for the "neutron" network interface and not used for the "flat" or "noop" network interfaces. If not specified, default security group is used.

[pxe] pxe_bootfile_name_by_arch = {}

(DictOpt) Bootfile DHCP parameter per node architecture. For example: aarch64:grubaa64.efi

[pxe] pxe_config_template_by_arch = {}

(DictOpt) On ironic-conductor node, template file for PXE configuration per node architecture. For example: aarch64:/opt/share/grubaa64_pxe_config.template

Expand
Table 2.35. New default values
OptionPrevious default valueNew default value

[audit] audit_map_file

/etc/ironic/ironic_api_audit_map.conf

/etc/ironic/api_audit_map.conf

[audit] ignore_req_list

None

 
Expand
Table 2.36. Deprecated options
Deprecated optionNew Option

[DEFAULT] rpc_thread_pool_size

[DEFAULT] executor_thread_pool_size

[DEFAULT] use_syslog

None

[keystone_authtoken] cafile

[glance] cafile

[keystone_authtoken] cafile

[swift] cafile

[keystone_authtoken] cafile

[neutron] cafile

[keystone_authtoken] cafile

[service_catalog] cafile

[keystone_authtoken] cafile

[inspector] cafile

[keystone_authtoken] certfile

[service_catalog] certfile

[keystone_authtoken] certfile

[neutron] certfile

[keystone_authtoken] certfile

[glance] certfile

[keystone_authtoken] certfile

[inspector] certfile

[keystone_authtoken] certfile

[swift] certfile

[keystone_authtoken] insecure

[glance] insecure

[keystone_authtoken] insecure

[inspector] insecure

[keystone_authtoken] insecure

[swift] insecure

[keystone_authtoken] insecure

[service_catalog] insecure

[keystone_authtoken] insecure

[neutron] insecure

[keystone_authtoken] keyfile

[inspector] keyfile

[keystone_authtoken] keyfile

[swift] keyfile

[keystone_authtoken] keyfile

[neutron] keyfile

[keystone_authtoken] keyfile

[glance] keyfile

[keystone_authtoken] keyfile

[service_catalog] keyfile

[neutron] cleaning_network_uuid

[neutron] cleaning_network

[neutron] provisioning_network_uuid

[neutron] provisioning_network

Chapter 3. Block Storage

The OpenStack Block Storage service provides persistent storage for Compute instances, working with many different storage drivers that you can configure.

3.1. Block Storage Configuration Options

Note

The common configurations for shared services and libraries, such as database connections and RPC messaging, are described at Common configurations.

3.1.1. Description of Configuration Options

The following tables provide a comprehensive list of the Block Storage configuration options.

Expand
Table 3.1. Description of API configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

api_rate_limit = True

(Boolean) Enables or disables rate limit of the API.

az_cache_duration = 3600

(Integer) Cache volume availability zones in memory for the provided duration in seconds

backend_host = None

(String) Backend override of host value.

default_timeout = 31536000

(Integer) Default timeout for CLI operations in minutes. For example, LUN migration is a typical long running operation, which depends on the LUN size and the load of the array. An upper bound in the specific deployment can be set to avoid unnecessary long wait. By default, it is 365 days long.

enable_v1_api = False

(Boolean) DEPRECATED: Deploy v1 of the Cinder API.

enable_v2_api = True

(Boolean) DEPRECATED: Deploy v2 of the Cinder API.

enable_v3_api = True

(Boolean) Deploy v3 of the Cinder API.

extra_capabilities = {}

(String) User defined capabilities, a JSON formatted string specifying key/value pairs. The key/value pairs can be used by the CapabilitiesFilter to select between backends when requests specify volume types. For example, specifying a service level or the geographical location of a backend, then creating a volume type to allow the user to select by these different properties.

ignore_pool_full_threshold = False

(Boolean) Force LUN creation even if the full threshold of pool is reached. By default, the value is False.

management_ips =

(String) List of Management IP addresses (separated by commas)

message_ttl = 2592000

(Integer) message minimum life in seconds.

osapi_max_limit = 1000

(Integer) The maximum number of items that a collection resource returns in a single response

osapi_volume_base_URL = None

(String) Base URL that will be presented to users in links to the OpenStack Volume API

osapi_volume_ext_list =

(List) Specify list of extensions to load when using osapi_volume_extension option with cinder.api.contrib.select_extensions

osapi_volume_extension = ['cinder.api.contrib.standard_extensions']

(Multi-valued) osapi volume extension to load

osapi_volume_listen = 0.0.0.0

(String) IP address on which OpenStack Volume API listens

osapi_volume_listen_port = 8776

(Port number) Port on which OpenStack Volume API listens

osapi_volume_use_ssl = False

(Boolean) Wraps the socket in a SSL context if True is set. A certificate file and key file must be specified.

osapi_volume_workers = None

(Integer) Number of workers for OpenStack Volume API service. The default is equal to the number of CPUs available.

per_volume_size_limit = -1

(Integer) Max size allowed per volume, in gigabytes

public_endpoint = None

(String) Public url to use for versions endpoint. The default is None, which will use the request’s host_url attribute to populate the URL base. If Cinder is operating behind a proxy, you will want to change this to represent the proxy’s URL.

query_volume_filters = name, status, metadata, availability_zone, bootable, group_id

(List) Volume filter options which non-admin user could use to query volumes. Default values are: ['name', 'status', 'metadata', 'availability_zone' ,'bootable', 'group_id']

transfer_api_class = cinder.transfer.api.API

(String) The full class name of the volume transfer API class

volume_api_class = cinder.volume.api.API

(String) The full class name of the volume API class to use

volume_name_prefix = openstack-

(String) Prefix before volume name to differentiate DISCO volume created through openstack and the other ones

volume_name_template = volume-%s

(String) Template string to be used to generate volume names

volume_number_multiplier = -1.0

(Floating point) Multiplier used for weighing volume number. Negative numbers mean to spread vs stack.

volume_transfer_key_length = 16

(Integer) The number of characters in the autogenerated auth key.

volume_transfer_salt_length = 8

(Integer) The number of characters in the salt.

[oslo_middleware]

 

enable_proxy_headers_parsing = False

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

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 a SSL termination proxy.

[oslo_versionedobjects]

 

fatal_exception_format_errors = False

(Boolean) Make exception message format errors fatal

Expand
Table 3.2. Description of authorization configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

auth_strategy = keystone

(String) The strategy to use for auth. Supports noauth or keystone.

Expand
Table 3.3. Description of Ceph backup driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

backup_ceph_chunk_size = 134217728

(Integer) The chunk size, in bytes, that a backup is broken into before transfer to the Ceph object store.

backup_ceph_conf = /etc/ceph/ceph.conf

(String) Ceph configuration file to use.

backup_ceph_pool = backups

(String) The Ceph pool where volume backups are stored.

backup_ceph_stripe_count = 0

(Integer) RBD stripe count to use when creating a backup image.

backup_ceph_stripe_unit = 0

(Integer) RBD stripe unit to use when creating a backup image.

backup_ceph_user = cinder

(String) The Ceph user to connect with. Default here is to use the same user as for Cinder volumes. If not using cephx this should be set to None.

restore_discard_excess_bytes = True

(Boolean) If True, always discard excess bytes when restoring volumes i.e. pad with zeroes.

Expand
Table 3.4. Description of GCS backup driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

backup_gcs_block_size = 32768

(Integer) The size in bytes that changes are tracked for incremental backups. backup_gcs_object_size has to be multiple of backup_gcs_block_size.

backup_gcs_bucket = None

(String) The GCS bucket to use.

backup_gcs_bucket_location = US

(String) Location of GCS bucket.

backup_gcs_credential_file = None

(String) Absolute path of GCS service account credential file.

backup_gcs_enable_progress_timer = True

(Boolean) Enable or Disable the timer to send the periodic progress notifications to Ceilometer when backing up the volume to the GCS backend storage. The default value is True to enable the timer.

backup_gcs_num_retries = 3

(Integer) Number of times to retry.

backup_gcs_object_size = 52428800

(Integer) The size in bytes of GCS backup objects.

backup_gcs_project_id = None

(String) Owner project id for GCS bucket.

backup_gcs_proxy_url = None

(URI) URL for http proxy access.

backup_gcs_reader_chunk_size = 2097152

(Integer) GCS object will be downloaded in chunks of bytes.

backup_gcs_retry_error_codes = 429

(List) List of GCS error codes.

backup_gcs_storage_class = NEARLINE

(String) Storage class of GCS bucket.

backup_gcs_user_agent = gcscinder

(String) Http user-agent string for gcs api.

backup_gcs_writer_chunk_size = 2097152

(Integer) GCS object will be uploaded in chunks of bytes. Pass in a value of -1 if the file is to be uploaded as a single chunk.

Expand
Table 3.5. Description of NFS backup driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

backup_container = None

(String) Custom directory to use for backups.

backup_enable_progress_timer = True

(Boolean) Enable or Disable the timer to send the periodic progress notifications to Ceilometer when backing up the volume to the backend storage. The default value is True to enable the timer.

backup_file_size = 1999994880

(Integer) The maximum size in bytes of the files used to hold backups. If the volume being backed up exceeds this size, then it will be backed up into multiple files.backup_file_size must be a multiple of backup_sha_block_size_bytes.

backup_mount_options = None

(String) Mount options passed to the NFS client. See NFS man page for details.

backup_mount_point_base = $state_path/backup_mount

(String) Base dir containing mount point for NFS share.

backup_sha_block_size_bytes = 32768

(Integer) The size in bytes that changes are tracked for incremental backups. backup_file_size has to be multiple of backup_sha_block_size_bytes.

backup_share = None

(String) NFS share in hostname:path, ipv4addr:path, or "[ipv6addr]:path" format.

Expand
Table 3.6. Description of POSIX backup driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

backup_container = None

(String) Custom directory to use for backups.

backup_enable_progress_timer = True

(Boolean) Enable or Disable the timer to send the periodic progress notifications to Ceilometer when backing up the volume to the backend storage. The default value is True to enable the timer.

backup_file_size = 1999994880

(Integer) The maximum size in bytes of the files used to hold backups. If the volume being backed up exceeds this size, then it will be backed up into multiple files.backup_file_size must be a multiple of backup_sha_block_size_bytes.

backup_posix_path = $state_path/backup

(String) Path specifying where to store backups.

backup_sha_block_size_bytes = 32768

(Integer) The size in bytes that changes are tracked for incremental backups. backup_file_size has to be multiple of backup_sha_block_size_bytes.

Expand
Table 3.7. Description of backups configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

backup_api_class = cinder.backup.api.API

(String) The full class name of the volume backup API class

backup_compression_algorithm = zlib

(String) Compression algorithm (None to disable)

backup_driver = cinder.backup.drivers.swift

(String) Driver to use for backups.

backup_manager = cinder.backup.manager.BackupManager

(String) Full class name for the Manager for volume backup

backup_metadata_version = 2

(Integer) Backup metadata version to be used when backing up volume metadata. If this number is bumped, make sure the service doing the restore supports the new version.

backup_name_template = backup-%s

(String) Template string to be used to generate backup names

backup_object_number_per_notification = 10

(Integer) The number of chunks or objects, for which one Ceilometer notification will be sent

backup_service_inithost_offload = True

(Boolean) Offload pending backup delete during backup service startup. If false, the backup service will remain down until all pending backups are deleted.

backup_timer_interval = 120

(Integer) Interval, in seconds, between two progress notifications reporting the backup status

backup_use_same_host = False

(Boolean) Backup services use same backend.

backup_use_temp_snapshot = False

(Boolean) If this is set to True, the backup_use_temp_snapshot path will be used during the backup. Otherwise, it will use backup_use_temp_volume path.

snapshot_check_timeout = 3600

(Integer) How long we check whether a snapshot is finished before we give up

snapshot_name_template = snapshot-%s

(String) Template string to be used to generate snapshot names

snapshot_same_host = True

(Boolean) Create volume from snapshot at the host where snapshot resides

Expand
Table 3.8. Description of Swift backup driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

backup_swift_auth = per_user

(String) Swift authentication mechanism

backup_swift_auth_version = 1

(String) Swift authentication version. Specify "1" for auth 1.0, or "2" for auth 2.0 or "3" for auth 3.0

backup_swift_block_size = 32768

(Integer) The size in bytes that changes are tracked for incremental backups. backup_swift_object_size has to be multiple of backup_swift_block_size.

backup_swift_ca_cert_file = None

(String) Location of the CA certificate file to use for swift client requests.

backup_swift_container = volumebackups

(String) The default Swift container to use

backup_swift_enable_progress_timer = True

(Boolean) Enable or Disable the timer to send the periodic progress notifications to Ceilometer when backing up the volume to the Swift backend storage. The default value is True to enable the timer.

backup_swift_key = None

(String) Swift key for authentication

backup_swift_object_size = 52428800

(Integer) The size in bytes of Swift backup objects

backup_swift_project = None

(String) Swift project/account name. Required when connecting to an auth 3.0 system

backup_swift_project_domain = None

(String) Swift project domain name. Required when connecting to an auth 3.0 system

backup_swift_retry_attempts = 3

(Integer) The number of retries to make for Swift operations

backup_swift_retry_backoff = 2

(Integer) The backoff time in seconds between Swift retries

backup_swift_tenant = None

(String) Swift tenant/account name. Required when connecting to an auth 2.0 system

backup_swift_url = None

(URI) The URL of the Swift endpoint

backup_swift_user = None

(String) Swift user name

backup_swift_user_domain = None

(String) Swift user domain name. Required when connecting to an auth 3.0 system

keystone_catalog_info = identity:Identity Service:publicURL

(String) Info to match when looking for keystone in the service catalog. Format is: separated values of the form: <service_type>:<service_name>:<endpoint_type> - Only used if backup_swift_auth_url is unset

swift_catalog_info = object-store:swift:publicURL

(String) Info to match when looking for swift in the service catalog. Format is: separated values of the form: <service_type>:<service_name>:<endpoint_type> - Only used if backup_swift_url is unset

Expand
Table 3.9. Description of IBM Tivoli Storage Manager backup driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

backup_tsm_compression = True

(Boolean) Enable or Disable compression for backups

backup_tsm_password = password

(String) TSM password for the running username

backup_tsm_volume_prefix = backup

(String) Volume prefix for the backup id when backing up to TSM

Expand
Table 3.10. Description of block device configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

available_devices =

(List) List of all available devices

Expand
Table 3.11. Description of CloudByte volume driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

cb_account_name = None

(String) CloudByte storage specific account name. This maps to a project name in OpenStack.

cb_add_qosgroup = {'latency': '15', 'iops': '10', 'graceallowed': 'false', 'iopscontrol': 'true', 'memlimit': '0', 'throughput': '0', 'tpcontrol': 'false', 'networkspeed': '0'}

(Dict) These values will be used for CloudByte storage’s addQos API call.

cb_apikey = None

(String) Driver will use this API key to authenticate against the CloudByte storage’s management interface.

cb_auth_group = None

(String) This corresponds to the discovery authentication group in CloudByte storage. Chap users are added to this group. Driver uses the first user found for this group. Default value is None.

cb_confirm_volume_create_retries = 3

(Integer) Will confirm a successful volume creation in CloudByte storage by making this many number of attempts.

cb_confirm_volume_create_retry_interval = 5

(Integer) A retry value in seconds. Will be used by the driver to check if volume creation was successful in CloudByte storage.

cb_confirm_volume_delete_retries = 3

(Integer) Will confirm a successful volume deletion in CloudByte storage by making this many number of attempts.

cb_confirm_volume_delete_retry_interval = 5

(Integer) A retry value in seconds. Will be used by the driver to check if volume deletion was successful in CloudByte storage.

cb_create_volume = {'compression': 'off', 'deduplication': 'off', 'blocklength': '512B', 'sync': 'always', 'protocoltype': 'ISCSI', 'recordsize': '16k'}

(Dict) These values will be used for CloudByte storage’s createVolume API call.

cb_tsm_name = None

(String) This corresponds to the name of Tenant Storage Machine (TSM) in CloudByte storage. A volume will be created in this TSM.

cb_update_file_system = compression, sync, noofcopies, readonly

(List) These values will be used for CloudByte storage’s updateFileSystem API call.

cb_update_qos_group = iops, latency, graceallowed

(List) These values will be used for CloudByte storage’s updateQosGroup API call.

Expand
Table 3.12. Description of Coho volume driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

coho_rpc_port = 2049

(Integer) RPC port to connect to Coho Data MicroArray

Expand
Table 3.13. Description of common configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

allow_availability_zone_fallback = False

(Boolean) If the requested Cinder availability zone is unavailable, fall back to the value of default_availability_zone, then storage_availability_zone, instead of failing.

chap = disabled

(String) CHAP authentication mode, effective only for iscsi (disabled|enabled)

chap_password =

(String) Password for specified CHAP account name.

chap_username =

(String) CHAP user name.

chiscsi_conf = /etc/chelsio-iscsi/chiscsi.conf

(String) Chiscsi (CXT) global defaults configuration file

cinder_internal_tenant_project_id = None

(String) ID of the project which will be used as the Cinder internal tenant.

cinder_internal_tenant_user_id = None

(String) ID of the user to be used in volume operations as the Cinder internal tenant.

cluster = None

(String) Name of this cluster. Used to group volume hosts that share the same backend configurations to work in HA Active-Active mode. Active-Active is not yet supported.

compute_api_class = cinder.compute.nova.API

(String) The full class name of the compute API class to use

connection_type = iscsi

(String) Connection type to the IBM Storage Array

consistencygroup_api_class = cinder.consistencygroup.api.API

(String) The full class name of the consistencygroup API class

default_availability_zone = None

(String) Default availability zone for new volumes. If not set, the storage_availability_zone option value is used as the default for new volumes.

default_group_type = None

(String) Default group type to use

default_volume_type = None

(String) Default volume type to use

driver_client_cert = None

(String) The path to the client certificate for verification, if the driver supports it.

driver_client_cert_key = None

(String) The path to the client certificate key for verification, if the driver supports it.

driver_data_namespace = None

(String) Namespace for driver private data values to be saved in.

driver_ssl_cert_path = None

(String) Can be used to specify a non default path to a CA_BUNDLE file or directory with certificates of trusted CAs, which will be used to validate the backend

driver_ssl_cert_verify = False

(Boolean) If set to True the http client will validate the SSL certificate of the backend endpoint.

enable_force_upload = False

(Boolean) Enables the Force option on upload_to_image. This enables running upload_volume on in-use volumes for backends that support it.

enable_new_services = True

(Boolean) Services to be added to the available pool on create

enable_unsupported_driver = False

(Boolean) Set this to True when you want to allow an unsupported driver to start. Drivers that haven’t maintained a working CI system and testing are marked as unsupported until CI is working again. This also marks a driver as deprecated and may be removed in the next release.

end_time = None

(String) If this option is specified then the end time specified is used instead of the end time of the last completed audit period.

enforce_multipath_for_image_xfer = False

(Boolean) If this is set to True, attachment of volumes for image transfer will be aborted when multipathd is not running. Otherwise, it will fallback to single path.

executor_thread_pool_size = 64

(Integer) Size of executor thread pool.

fatal_exception_format_errors = False

(Boolean) Make exception message format errors fatal.

group_api_class = cinder.group.api.API

(String) The full class name of the group API class

host = localhost

(String) Name of this node. This can be an opaque identifier. It is not necessarily a host name, FQDN, or IP address.

iet_conf = /etc/iet/ietd.conf

(String) IET configuration file

iscsi_secondary_ip_addresses =

(List) The list of secondary IP addresses of the iSCSI daemon

max_over_subscription_ratio = 20.0

(Floating point) Float representation of the over subscription ratio when thin provisioning is involved. Default ratio is 20.0, meaning provisioned capacity can be 20 times of the total physical capacity. If the ratio is 10.5, it means provisioned capacity can be 10.5 times of the total physical capacity. A ratio of 1.0 means provisioned capacity cannot exceed the total physical capacity. The ratio has to be a minimum of 1.0.

monkey_patch = False

(Boolean) Enable monkey patching

monkey_patch_modules =

(List) List of modules/decorators to monkey patch

my_ip = 10.0.0.1

(String) IP address of this host

no_snapshot_gb_quota = False

(Boolean) Whether snapshots count against gigabyte quota

num_shell_tries = 3

(Integer) Number of times to attempt to run flakey shell commands

os_privileged_user_auth_url = None

(URI) Auth URL associated with the OpenStack privileged account.

os_privileged_user_name = None

(String) OpenStack privileged account username. Used for requests to other services (such as Nova) that require an account with special rights.

os_privileged_user_password = None

(String) Password associated with the OpenStack privileged account.

os_privileged_user_tenant = None

(String) Tenant name associated with the OpenStack privileged account.

periodic_fuzzy_delay = 60

(Integer) Range, in seconds, to randomly delay when starting the periodic task scheduler to reduce stampeding. (Disable by setting to 0)

periodic_interval = 60

(Integer) Interval, in seconds, between running periodic tasks

replication_device = None

(Unknown) Multi opt of dictionaries to represent a replication target device. This option may be specified multiple times in a single config section to specify multiple replication target devices. Each entry takes the standard dict config form: replication_device = target_device_id:<required>,key1:value1,key2:value2…​

report_discard_supported = False

(Boolean) Report to clients of Cinder that the backend supports discard (aka. trim/unmap). This will not actually change the behavior of the backend or the client directly, it will only notify that it can be used.

report_interval = 10

(Integer) Interval, in seconds, between nodes reporting state to datastore

reserved_percentage = 0

(Integer) The percentage of backend capacity is reserved

rootwrap_config = /etc/cinder/rootwrap.conf

(String) Path to the rootwrap configuration file to use for running commands as root

send_actions = False

(Boolean) Send the volume and snapshot create and delete notifications generated in the specified period.

service_down_time = 60

(Integer) Maximum time since last check-in for a service to be considered up

ssh_hosts_key_file = $state_path/ssh_known_hosts

(String) File containing SSH host keys for the systems with which Cinder needs to communicate. OPTIONAL: Default=$state_path/ssh_known_hosts

start_time = None

(String) If this option is specified then the start time specified is used instead of the start time of the last completed audit period.

state_path = /var/lib/cinder

(String) Top-level directory for maintaining cinder’s state

storage_availability_zone = nova

(String) Availability zone of this node

storage_protocol = iscsi

(String) Protocol for transferring data between host and storage back-end.

strict_ssh_host_key_policy = False

(Boolean) Option to enable strict host key checking. When set to "True" Cinder will only connect to systems with a host key present in the configured "ssh_hosts_key_file". When set to "False" the host key will be saved upon first connection and used for subsequent connections. Default=False

suppress_requests_ssl_warnings = False

(Boolean) Suppress requests library SSL certificate warnings.

tcp_keepalive = True

(Boolean) Sets the value of TCP_KEEPALIVE (True/False) for each server socket.

tcp_keepalive_count = None

(Integer) Sets the value of TCP_KEEPCNT for each server socket. Not supported on OS X.

tcp_keepalive_interval = None

(Integer) Sets the value of TCP_KEEPINTVL in seconds for each server socket. Not supported on OS X.

until_refresh = 0

(Integer) Count of reservations until usage is refreshed

use_chap_auth = False

(Boolean) Option to enable/disable CHAP authentication for targets.

use_forwarded_for = False

(Boolean) Treat X-Forwarded-For as the canonical remote address. Only enable this if you have a sanitizing proxy.

[healthcheck]

 

backends =

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

detailed = False

(Boolean) Show more detailed information as part of the response

disable_by_file_path = None

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

disable_by_file_paths =

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

path = /healthcheck

(String) DEPRECATED: The path to respond to healtcheck requests on.

[key_manager]

 

api_class = castellan.key_manager.barbican_key_manager.BarbicanKeyManager

(String) The full class name of the key manager API class

fixed_key = None

(String) Fixed key returned by key manager, specified in hex

Expand
Table 3.14. Description of Compute configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

nova_api_insecure = False

(Boolean) Allow to perform insecure SSL requests to nova

nova_ca_certificates_file = None

(String) Location of ca certificates file to use for nova client requests.

nova_catalog_admin_info = compute:Compute Service:adminURL

(String) Same as nova_catalog_info, but for admin endpoint.

nova_catalog_info = compute:Compute Service:publicURL

(String) Match this value when searching for nova in the service catalog. Format is: separated values of the form: <service_type>:<service_name>:<endpoint_type>

nova_endpoint_admin_template = None

(String) Same as nova_endpoint_template, but for admin endpoint.

nova_endpoint_template = None

(String) Override service catalog lookup with template for nova endpoint e.g. http://localhost:8774/v2/%(project_id)s

os_region_name = None

(String) Region name of this node

Expand
Table 3.15. Description of Coordination configuration options
Configuration option = Default valueDescription

[coordination]

 

backend_url = file://$state_path

(String) The backend URL to use for distributed coordination.

heartbeat = 1.0

(Floating point) Number of seconds between heartbeats for distributed coordination.

initial_reconnect_backoff = 0.1

(Floating point) Initial number of seconds to wait after failed reconnection.

max_reconnect_backoff = 60.0

(Floating point) Maximum number of seconds between sequential reconnection retries.

Expand
Table 3.16. Description of logging configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

trace_flags = None

(List) List of options that control which trace info is written to the DEBUG log level to assist developers. Valid values are method and api.

Expand
Table 3.17. Description of Dell Storage Center volume driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

dell_sc_api_port = 3033

(Port number) Dell API port

dell_sc_server_folder = openstack

(String) Name of the server folder to use on the Storage Center

dell_sc_ssn = 64702

(Integer) Storage Center System Serial Number

dell_sc_verify_cert = False

(Boolean) Enable HTTPS SC certificate verification

dell_sc_volume_folder = openstack

(String) Name of the volume folder to use on the Storage Center

dell_server_os = Red Hat Linux 6.x

(String) Server OS type to use when creating a new server on the Storage Center.

excluded_domain_ip = None

(Unknown) Domain IP to be excluded from iSCSI returns.

secondary_san_ip =

(String) IP address of secondary DSM controller

secondary_san_login = Admin

(String) Secondary DSM user name

secondary_san_password =

(String) Secondary DSM user password name

secondary_sc_api_port = 3033

(Port number) Secondary Dell API port

Expand
Table 3.18. Description of EMC configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

check_max_pool_luns_threshold = False

(Boolean) Report free_capacity_gb as 0 when the limit to maximum number of pool LUNs is reached. By default, the value is False.

cinder_emc_config_file = /etc/cinder/cinder_emc_config.xml

(String) Use this file for cinder emc plugin config data

destroy_empty_storage_group = False

(Boolean) To destroy storage group when the last LUN is removed from it. By default, the value is False.

force_delete_lun_in_storagegroup = False

(Boolean) Delete a LUN even if it is in Storage Groups. By default, the value is False.

initiator_auto_deregistration = False

(Boolean) Automatically deregister initiators after the related storage group is destroyed. By default, the value is False.

initiator_auto_registration = False

(Boolean) Automatically register initiators. By default, the value is False.

io_port_list = None

(List) Comma separated iSCSI or FC ports to be used in Nova or Cinder.

iscsi_initiators = None

(String) Mapping between hostname and its iSCSI initiator IP addresses.

max_luns_per_storage_group = 255

(Integer) Default max number of LUNs in a storage group. By default, the value is 255.

multi_pool_support = False

(String) Use this value to specify multi-pool support for VMAX3

naviseccli_path = None

(String) Naviseccli Path.

storage_vnx_authentication_type = global

(String) VNX authentication scope type. By default, the value is global.

storage_vnx_pool_names = None

(List) Comma-separated list of storage pool names to be used.

storage_vnx_security_file_dir = None

(String) Directory path that contains the VNX security file. Make sure the security file is generated first.

Expand
Table 3.19. Description of EMC SIO volume driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

sio_max_over_subscription_ratio = 10.0

(Floating point) max_over_subscription_ratio setting for the ScaleIO driver. This replaces the general max_over_subscription_ratio which has no effect in this driver.Maximum value allowed for ScaleIO is 10.0.

sio_protection_domain_id = None

(String) Protection Domain ID.

sio_protection_domain_name = None

(String) Protection Domain name.

sio_rest_server_port = 443

(String) REST server port.

sio_round_volume_capacity = True

(Boolean) Round up volume capacity.

sio_server_certificate_path = None

(String) Server certificate path.

sio_storage_pool_id = None

(String) Storage Pool ID.

sio_storage_pool_name = None

(String) Storage Pool name.

sio_storage_pools = None

(String) Storage Pools.

sio_unmap_volume_before_deletion = False

(Boolean) Unmap volume before deletion.

sio_verify_server_certificate = False

(Boolean) Verify server certificate.

Expand
Table 3.20. Description of EMC XtremIO volume driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

xtremio_array_busy_retry_count = 5

(Integer) Number of retries in case array is busy

xtremio_array_busy_retry_interval = 5

(Integer) Interval between retries in case array is busy

xtremio_cluster_name =

(String) XMS cluster id in multi-cluster environment

xtremio_volumes_per_glance_cache = 100

(Integer) Number of volumes created from each cached glance image

Expand
Table 3.21. Description of Dell EqualLogic volume driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

eqlx_cli_max_retries = 5

(Integer) Maximum retry count for reconnection. Default is 5.

eqlx_group_name = group-0

(String) Group name to use for creating volumes. Defaults to "group-0".

eqlx_pool = default

(String) Pool in which volumes will be created. Defaults to "default".

Expand
Table 3.22. Description of Eternus volume driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

cinder_eternus_config_file = /etc/cinder/cinder_fujitsu_eternus_dx.xml

(String) config file for cinder eternus_dx volume driver

Expand
Table 3.23. Description of IBM FlashSystem volume driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

flashsystem_connection_protocol = FC

(String) Connection protocol should be FC. (Default is FC.)

flashsystem_iscsi_portid = 0

(Integer) Default iSCSI Port ID of FlashSystem. (Default port is 0.)

flashsystem_multihostmap_enabled = True

(Boolean) Allows vdisk to multi host mapping. (Default is True)

flashsystem_multipath_enabled = False

(Boolean) DEPRECATED: This option no longer has any affect. It is deprecated and will be removed in the next release.

Expand
Table 3.24. Description of Hitachi storage volume driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

hitachi_add_chap_user = False

(Boolean) Add CHAP user

hitachi_async_copy_check_interval = 10

(Integer) Interval to check copy asynchronously

hitachi_auth_method = None

(String) iSCSI authentication method

hitachi_auth_password = HBSD-CHAP-password

(String) iSCSI authentication password

hitachi_auth_user = HBSD-CHAP-user

(String) iSCSI authentication username

hitachi_copy_check_interval = 3

(Integer) Interval to check copy

hitachi_copy_speed = 3

(Integer) Copy speed of storage system

hitachi_default_copy_method = FULL

(String) Default copy method of storage system

hitachi_group_range = None

(String) Range of group number

hitachi_group_request = False

(Boolean) Request for creating HostGroup or iSCSI Target

hitachi_horcm_add_conf = True

(Boolean) Add to HORCM configuration

hitachi_horcm_numbers = 200,201

(String) Instance numbers for HORCM

hitachi_horcm_password = None

(String) Password of storage system for HORCM

hitachi_horcm_resource_lock_timeout = 600

(Integer) Timeout until a resource lock is released, in seconds. The value must be between 0 and 7200.

hitachi_horcm_user = None

(String) Username of storage system for HORCM

hitachi_ldev_range = None

(String) Range of logical device of storage system

hitachi_pool_id = None

(Integer) Pool ID of storage system

hitachi_serial_number = None

(String) Serial number of storage system

hitachi_target_ports = None

(String) Control port names for HostGroup or iSCSI Target

hitachi_thin_pool_id = None

(Integer) Thin pool ID of storage system

hitachi_unit_name = None

(String) Name of an array unit

hitachi_zoning_request = False

(Boolean) Request for FC Zone creating HostGroup

Expand
Table 3.25. Description of Hitachi HNAS iSCSI and NFS driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

hds_hnas_iscsi_config_file = /opt/hds/hnas/cinder_iscsi_conf.xml

(String) DEPRECATED: Legacy configuration file for HNAS iSCSI Cinder plugin. This is not needed if you fill all configuration on cinder.conf

hds_hnas_nfs_config_file = /opt/hds/hnas/cinder_nfs_conf.xml

(String) DEPRECATED: Legacy configuration file for HNAS NFS Cinder plugin. This is not needed if you fill all configuration on cinder.conf

hnas_chap_enabled = True

(Boolean) Whether the chap authentication is enabled in the iSCSI target or not.

hnas_cluster_admin_ip0 = None

(String) The IP of the HNAS cluster admin. Required only for HNAS multi-cluster setups.

hnas_mgmt_ip0 = None

(IP) Management IP address of HNAS. This can be any IP in the admin address on HNAS or the SMU IP.

hnas_password = None

(String) HNAS password.

hnas_ssc_cmd = ssc

(String) Command to communicate to HNAS.

hnas_ssh_port = 22

(Port number) Port to be used for SSH authentication.

hnas_ssh_private_key = None

(String) Path to the SSH private key used to authenticate in HNAS SMU.

hnas_svc0_hdp = None

(String) Service 0 HDP

hnas_svc0_iscsi_ip = None

(IP) Service 0 iSCSI IP

hnas_svc0_pool_name = None

(String) Service 0 pool name

hnas_svc1_hdp = None

(String) Service 1 HDP

hnas_svc1_iscsi_ip = None

(IP) Service 1 iSCSI IP

hnas_svc1_pool_name = None

(String) Service 1 pool name

hnas_svc2_hdp = None

(String) Service 2 HDP

hnas_svc2_iscsi_ip = None

(IP) Service 2 iSCSI IP

hnas_svc2_pool_name = None

(String) Service 2 pool name

hnas_svc3_hdp = None

(String) Service 3 HDP

hnas_svc3_iscsi_ip = None

(IP) Service 3 iSCSI IP

hnas_svc3_pool_name = None

(String) Service 3 pool name:

hnas_username = None

(String) HNAS username.

Expand
Table 3.26. Description of HORCM interface module for Hitachi VSP driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

vsp_async_copy_check_interval = 10

(Integer) Interval in seconds at which volume pair synchronization status is checked when volume pairs are deleted.

vsp_auth_password = None

(String) Password corresponding to vsp_auth_user.

vsp_auth_user = None

(String) Name of the user used for CHAP authentication performed in communication between hosts and iSCSI targets on the storage ports.

vsp_compute_target_ports = None

(List) IDs of the storage ports used to attach volumes to compute nodes. To specify multiple ports, connect them by commas (e.g. CL1-A,CL2-A).

vsp_copy_check_interval = 3

(Integer) Interval in seconds at which volume pair synchronization status is checked when volume pairs are created.

vsp_copy_speed = 3

(Integer) Speed at which data is copied by Shadow Image. 1 or 2 indicates low speed, 3 indicates middle speed, and a value between 4 and 15 indicates high speed.

vsp_default_copy_method = FULL

(String) Method of volume copy. FULL indicates full data copy by Shadow Image and THIN indicates differential data copy by Thin Image.

vsp_group_request = False

(Boolean) If True, the driver will create host groups or iSCSI targets on storage ports as needed.

vsp_horcm_add_conf = True

(Boolean) If True, the driver will create or update the Command Control Interface configuration file as needed.

vsp_horcm_numbers = 200, 201

(List) Command Control Interface instance numbers in the format of 'xxx,yyy'. The second one is for Shadow Image operation and the first one is for other purposes.

vsp_horcm_pair_target_ports = None

(List) IDs of the storage ports used to copy volumes by Shadow Image or Thin Image. To specify multiple ports, connect them by commas (e.g. CL1-A,CL2-A).

vsp_horcm_password = None

(String) Password corresponding to vsp_horcm_user.

vsp_horcm_user = None

(String) Name of the user on the storage system.

vsp_ldev_range = None

(String) Range of the LDEV numbers in the format of 'xxxx-yyyy' that can be used by the driver. Values can be in decimal format (e.g. 1000) or in colon-separated hexadecimal format (e.g. 00:03:E8).

vsp_pool = None

(String) Pool number or pool name of the DP pool.

vsp_storage_id = None

(String) Product number of the storage system.

vsp_target_ports = None

(List) IDs of the storage ports used to attach volumes to the controller node. To specify multiple ports, connect them by commas (e.g. CL1-A,CL2-A).

vsp_thin_pool = None

(String) Pool number or pool name of the Thin Image pool.

vsp_use_chap_auth = False

(Boolean) If True, CHAP authentication will be applied to communication between hosts and any of the iSCSI targets on the storage ports.

vsp_zoning_request = False

(Boolean) If True, the driver will configure FC zoning between the server and the storage system provided that FC zoning manager is enabled.

Expand
Table 3.27. Description of HPE 3PAR Fibre Channel and iSCSI drivers configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

hpe3par_api_url =

(String) 3PAR WSAPI Server Url like https://<3par ip>:8080/api/v1

hpe3par_cpg = OpenStack

(List) List of the CPG(s) to use for volume creation

hpe3par_cpg_snap =

(String) The CPG to use for Snapshots for volumes. If empty the userCPG will be used.

hpe3par_debug = False

(Boolean) Enable HTTP debugging to 3PAR

hpe3par_iscsi_chap_enabled = False

(Boolean) Enable CHAP authentication for iSCSI connections.

hpe3par_iscsi_ips =

(List) List of target iSCSI addresses to use.

hpe3par_password =

(String) 3PAR password for the user specified in hpe3par_username

hpe3par_snapshot_expiration =

(String) The time in hours when a snapshot expires and is deleted. This must be larger than expiration

hpe3par_snapshot_retention =

(String) The time in hours to retain a snapshot. You can’t delete it before this expires.

hpe3par_username =

(String) 3PAR username with the 'edit' role

Expand
Table 3.28. Description of HPE LeftHand/StoreVirtual driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

hpelefthand_api_url = None

(URI) HPE LeftHand WSAPI Server Url like https://<LeftHand ip>:8081/lhos

hpelefthand_clustername = None

(String) HPE LeftHand cluster name

hpelefthand_debug = False

(Boolean) Enable HTTP debugging to LeftHand

hpelefthand_iscsi_chap_enabled = False

(Boolean) Configure CHAP authentication for iSCSI connections (Default: Disabled)

hpelefthand_password = None

(String) HPE LeftHand Super user password

hpelefthand_ssh_port = 16022

(Port number) Port number of SSH service.

hpelefthand_username = None

(String) HPE LeftHand Super user username

Expand
Table 3.29. Description of Huawei storage driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

cinder_huawei_conf_file = /etc/cinder/cinder_huawei_conf.xml

(String) The configuration file for the Cinder Huawei driver.

hypermetro_devices = None

(String) The remote device hypermetro will use.

metro_domain_name = None

(String) The remote metro device domain name.

metro_san_address = None

(String) The remote metro device request url.

metro_san_password = None

(String) The remote metro device san password.

metro_san_user = None

(String) The remote metro device san user.

metro_storage_pools = None

(String) The remote metro device pool names.

Expand
Table 3.30. Description of IBM Storage driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

ds8k_devadd_unitadd_mapping =

(String) Mapping between IODevice address and unit address.

ds8k_host_type = auto

(String) Set to zLinux if your OpenStack version is prior to Liberty and you’re connecting to zLinux systems. Otherwise set to auto. Valid values for this parameter are: 'auto', 'AMDLinuxRHEL', 'AMDLinuxSuse', 'AppleOSX', 'Fujitsu', 'Hp', 'HpTru64', 'HpVms', 'LinuxDT', 'LinuxRF', 'LinuxRHEL', 'LinuxSuse', 'Novell', 'SGI', 'SVC', 'SanFsAIX', 'SanFsLinux', 'Sun', 'VMWare', 'Win2000', 'Win2003', 'Win2008', 'Win2012', 'iLinux', 'nSeries', 'pLinux', 'pSeries', 'pSeriesPowerswap', 'zLinux', 'iSeries'.

ds8k_ssid_prefix = FF

(String) Set the first two digits of SSID

proxy = cinder.volume.drivers.ibm.ibm_storage.proxy.IBMStorageProxy

(String) Proxy driver that connects to the IBM Storage Array

san_clustername =

(String) Cluster name to use for creating volumes

san_ip =

(String) IP address of SAN controller

san_login = admin

(String) Username for SAN controller

san_password =

(String) Password for SAN controller

Expand
Table 3.31. Description of images configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

allowed_direct_url_schemes =

(List) A list of url schemes that can be downloaded directly via the direct_url. Currently supported schemes: [file, cinder].

glance_api_insecure = False

(Boolean) Allow to perform insecure SSL (https) requests to glance (https will be used but cert validation will not be performed).

glance_api_servers = None

(List) A list of the URLs of glance API servers available to cinder ([http[s]://][hostname|ip]:port). If protocol is not specified it defaults to http.

glance_api_ssl_compression = False

(Boolean) Enables or disables negotiation of SSL layer compression. In some cases disabling compression can improve data throughput, such as when high network bandwidth is available and you use compressed image formats like qcow2.

glance_api_version = 2

(Integer) Version of the glance API to use

glance_ca_certificates_file = None

(String) Location of ca certificates file to use for glance client requests.

glance_catalog_info = image:glance:publicURL

(String) Info to match when looking for glance in the service catalog. Format is: separated values of the form: <service_type>:<service_name>:<endpoint_type> - Only used if glance_api_servers are not provided.

glance_core_properties = checksum, container_format, disk_format, image_name, image_id, min_disk, min_ram, name, size

(List) Default core properties of image

glance_num_retries = 0

(Integer) Number retries when downloading an image from glance

glance_request_timeout = None

(Integer) http/https timeout value for glance operations. If no value (None) is supplied here, the glanceclient default value is used.

image_conversion_dir = $state_path/conversion

(String) Directory used for temporary storage during image conversion

image_upload_use_cinder_backend = False

(Boolean) If set to True, upload-to-image in raw format will create a cloned volume and register its location to the image service, instead of uploading the volume content. The cinder backend and locations support must be enabled in the image service, and glance_api_version must be set to 2.

image_upload_use_internal_tenant = False

(Boolean) If set to True, the image volume created by upload-to-image will be placed in the internal tenant. Otherwise, the image volume is created in the current context’s tenant.

image_volume_cache_enabled = False

(Boolean) Enable the image volume cache for this backend.

image_volume_cache_max_count = 0

(Integer) Max number of entries allowed in the image volume cache. 0 ⇒ unlimited.

image_volume_cache_max_size_gb = 0

(Integer) Max size of the image volume cache for this backend in GB. 0 ⇒ unlimited.

use_multipath_for_image_xfer = False

(Boolean) Do we attach/detach volumes in cinder using multipath for volume to image and image to volume transfers?

Expand
Table 3.32. Description of INFINIDAT InfiniBox volume driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

infinidat_pool_name = None

(String) Name of the pool from which volumes are allocated

Expand
Table 3.33. Description of Kaminario volume driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

auto_calc_max_oversubscription_ratio = False

(Boolean) K2 driver will calculate max_oversubscription_ratio on setting this option as True.

Expand
Table 3.34. Description of LVM configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

lvm_conf_file = /etc/cinder/lvm.conf

(String) LVM conf file to use for the LVM driver in Cinder; this setting is ignored if the specified file does not exist (You can also specify 'None' to not use a conf file even if one exists).

lvm_max_over_subscription_ratio = 1.0

(Floating point) max_over_subscription_ratio setting for the LVM driver. If set, this takes precedence over the general max_over_subscription_ratio option. If None, the general option is used.

lvm_mirrors = 0

(Integer) If >0, create LVs with multiple mirrors. Note that this requires lvm_mirrors + 2 PVs with available space

lvm_suppress_fd_warnings = False

(Boolean) Suppress leaked file descriptor warnings in LVM commands.

lvm_type = default

(String) Type of LVM volumes to deploy; (default, thin, or auto). Auto defaults to thin if thin is supported.

volume_group = cinder-volumes

(String) Name for the VG that will contain exported volumes

Expand
Table 3.35. Description of NAS configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

nas_host =

(String) IP address or Hostname of NAS system.

nas_login = admin

(String) User name to connect to NAS system.

nas_mount_options = None

(String) Options used to mount the storage backend file system where Cinder volumes are stored.

nas_password =

(String) Password to connect to NAS system.

nas_private_key =

(String) Filename of private key to use for SSH authentication.

nas_secure_file_operations = auto

(String) Allow network-attached storage systems to operate in a secure environment where root level access is not permitted. If set to False, access is as the root user and insecure. If set to True, access is not as root. If set to auto, a check is done to determine if this is a new installation: True is used if so, otherwise False. Default is auto.

nas_secure_file_permissions = auto

(String) Set more secure file permissions on network-attached storage volume files to restrict broad other/world access. If set to False, volumes are created with open permissions. If set to True, volumes are created with permissions for the cinder user and group (660). If set to auto, a check is done to determine if this is a new installation: True is used if so, otherwise False. Default is auto.

nas_share_path =

(String) Path to the share to use for storing Cinder volumes. For example: "/srv/export1" for an NFS server export available at 10.0.5.10:/srv/export1 .

nas_ssh_port = 22

(Port number) SSH port to use to connect to NAS system.

Expand
Table 3.36. Description of NEC Storage M series driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

nec_actual_free_capacity = False

(Boolean) Return actual free capacity.

nec_backend_max_ld_count = 1024

(Integer) Maximum number of managing sessions.

nec_backup_ldname_format = LX:%s

(String) M-Series Storage LD name format for snapshots.

nec_backup_pools =

(List) M-Series Storage backup pool number to be used.

nec_diskarray_name =

(String) Diskarray name of M-Series Storage.

nec_iscsi_portals_per_cont = 1

(Integer) Number of iSCSI portals.

nec_ismcli_fip = None

(IP) FIP address of M-Series Storage iSMCLI.

nec_ismcli_password =

(String) Password for M-Series Storage iSMCLI.

nec_ismcli_privkey =

(String) Filename of RSA private key for M-Series Storage iSMCLI.

nec_ismcli_user =

(String) User name for M-Series Storage iSMCLI.

nec_ismview_alloptimize = False

(Boolean) Use legacy iSMCLI command with optimization.

nec_ismview_dir = /tmp/nec/cinder

(String) Output path of iSMview file.

nec_ldname_format = LX:%s

(String) M-Series Storage LD name format for volumes.

nec_ldset =

(String) M-Series Storage LD Set name for Compute Node.

nec_ldset_for_controller_node =

(String) M-Series Storage LD Set name for Controller Node.

nec_pools =

(List) M-Series Storage pool numbers list to be used.

nec_queryconfig_view = False

(Boolean) Use legacy iSMCLI command.

nec_ssh_pool_port_number = 22

(Integer) Port number of ssh pool.

nec_unpairthread_timeout = 3600

(Integer) Timeout value of Unpairthread.

Expand
Table 3.37. Description of NetApp 7-Mode iSCSI driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

netapp_login = None

(String) Administrative user account name used to access the storage system or proxy server.

netapp_partner_backend_name = None

(String) The name of the config.conf stanza for a Data ONTAP (7-mode) HA partner. This option is only used by the driver when connecting to an instance with a storage family of Data ONTAP operating in 7-Mode, and it is required if the storage protocol selected is FC.

netapp_password = None

(String) Password for the administrative user account specified in the netapp_login option.

netapp_pool_name_search_pattern = (.+)

(String) This option is used to restrict provisioning to the specified pools. Specify the value of this option to be a regular expression which will be applied to the names of objects from the storage backend which represent pools in Cinder. This option is only utilized when the storage protocol is configured to use iSCSI or FC.

netapp_replication_aggregate_map = None

(Unknown) Multi opt of dictionaries to represent the aggregate mapping between source and destination back ends when using whole back end replication. For every source aggregate associated with a cinder pool (NetApp FlexVol), you would need to specify the destination aggregate on the replication target device. A replication target device is configured with the configuration option replication_device. Specify this option as many times as you have replication devices. Each entry takes the standard dict config form: netapp_replication_aggregate_map = backend_id:<name_of_replication_device_section>,src_aggr_name1:dest_aggr_name1,src_aggr_name2:dest_aggr_name2,…​

netapp_server_hostname = None

(String) The hostname (or IP address) for the storage system or proxy server.

netapp_server_port = None

(Integer) The TCP port to use for communication with the storage system or proxy server. If not specified, Data ONTAP drivers will use 80 for HTTP and 443 for HTTPS; E-Series will use 8080 for HTTP and 8443 for HTTPS.

netapp_size_multiplier = 1.2

(Floating point) The quantity to be multiplied by the requested volume size to ensure enough space is available on the virtual storage server (Vserver) to fulfill the volume creation request. Note: this option is deprecated and will be removed in favor of "reserved_percentage" in the Mitaka release.

netapp_snapmirror_quiesce_timeout = 3600

(Integer) The maximum time in seconds to wait for existing SnapMirror transfers to complete before aborting during a failover.

netapp_storage_family = ontap_cluster

(String) The storage family type used on the storage system; valid values are ontap_7mode for using Data ONTAP operating in 7-Mode, ontap_cluster for using clustered Data ONTAP, or eseries for using E-Series.

netapp_storage_protocol = None

(String) The storage protocol to be used on the data path with the storage system.

netapp_transport_type = http

(String) The transport protocol used when communicating with the storage system or proxy server.

netapp_vfiler = None

(String) The vFiler unit on which provisioning of block storage volumes will be done. This option is only used by the driver when connecting to an instance with a storage family of Data ONTAP operating in 7-Mode. Only use this option when utilizing the MultiStore feature on the NetApp storage system.

Expand
Table 3.38. Description of NetApp 7-Mode NFS driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

expiry_thres_minutes = 720

(Integer) This option specifies the threshold for last access time for images in the NFS image cache. When a cache cleaning cycle begins, images in the cache that have not been accessed in the last M minutes, where M is the value of this parameter, will be deleted from the cache to create free space on the NFS share.

netapp_login = None

(String) Administrative user account name used to access the storage system or proxy server.

netapp_partner_backend_name = None

(String) The name of the config.conf stanza for a Data ONTAP (7-mode) HA partner. This option is only used by the driver when connecting to an instance with a storage family of Data ONTAP operating in 7-Mode, and it is required if the storage protocol selected is FC.

netapp_password = None

(String) Password for the administrative user account specified in the netapp_login option.

netapp_pool_name_search_pattern = (.+)

(String) This option is used to restrict provisioning to the specified pools. Specify the value of this option to be a regular expression which will be applied to the names of objects from the storage backend which represent pools in Cinder. This option is only utilized when the storage protocol is configured to use iSCSI or FC.

netapp_replication_aggregate_map = None

(Unknown) Multi opt of dictionaries to represent the aggregate mapping between source and destination back ends when using whole back end replication. For every source aggregate associated with a cinder pool (NetApp FlexVol), you would need to specify the destination aggregate on the replication target device. A replication target device is configured with the configuration option replication_device. Specify this option as many times as you have replication devices. Each entry takes the standard dict config form: netapp_replication_aggregate_map = backend_id:<name_of_replication_device_section>,src_aggr_name1:dest_aggr_name1,src_aggr_name2:dest_aggr_name2,…​

netapp_server_hostname = None

(String) The hostname (or IP address) for the storage system or proxy server.

netapp_server_port = None

(Integer) The TCP port to use for communication with the storage system or proxy server. If not specified, Data ONTAP drivers will use 80 for HTTP and 443 for HTTPS; E-Series will use 8080 for HTTP and 8443 for HTTPS.

netapp_snapmirror_quiesce_timeout = 3600

(Integer) The maximum time in seconds to wait for existing SnapMirror transfers to complete before aborting during a failover.

netapp_storage_family = ontap_cluster

(String) The storage family type used on the storage system; valid values are ontap_7mode for using Data ONTAP operating in 7-Mode, ontap_cluster for using clustered Data ONTAP, or eseries for using E-Series.

netapp_storage_protocol = None

(String) The storage protocol to be used on the data path with the storage system.

netapp_transport_type = http

(String) The transport protocol used when communicating with the storage system or proxy server.

netapp_vfiler = None

(String) The vFiler unit on which provisioning of block storage volumes will be done. This option is only used by the driver when connecting to an instance with a storage family of Data ONTAP operating in 7-Mode. Only use this option when utilizing the MultiStore feature on the NetApp storage system.

thres_avl_size_perc_start = 20

(Integer) If the percentage of available space for an NFS share has dropped below the value specified by this option, the NFS image cache will be cleaned.

thres_avl_size_perc_stop = 60

(Integer) When the percentage of available space on an NFS share has reached the percentage specified by this option, the driver will stop clearing files from the NFS image cache that have not been accessed in the last M minutes, where M is the value of the expiry_thres_minutes configuration option.

Expand
Table 3.39. Description of NetApp cDOT iSCSI driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

netapp_login = None

(String) Administrative user account name used to access the storage system or proxy server.

netapp_lun_ostype = None

(String) This option defines the type of operating system that will access a LUN exported from Data ONTAP; it is assigned to the LUN at the time it is created.

netapp_lun_space_reservation = enabled

(String) This option determines if storage space is reserved for LUN allocation. If enabled, LUNs are thick provisioned. If space reservation is disabled, storage space is allocated on demand.

netapp_partner_backend_name = None

(String) The name of the config.conf stanza for a Data ONTAP (7-mode) HA partner. This option is only used by the driver when connecting to an instance with a storage family of Data ONTAP operating in 7-Mode, and it is required if the storage protocol selected is FC.

netapp_password = None

(String) Password for the administrative user account specified in the netapp_login option.

netapp_pool_name_search_pattern = (.+)

(String) This option is used to restrict provisioning to the specified pools. Specify the value of this option to be a regular expression which will be applied to the names of objects from the storage backend which represent pools in Cinder. This option is only utilized when the storage protocol is configured to use iSCSI or FC.

netapp_replication_aggregate_map = None

(Unknown) Multi opt of dictionaries to represent the aggregate mapping between source and destination back ends when using whole back end replication. For every source aggregate associated with a cinder pool (NetApp FlexVol), you would need to specify the destination aggregate on the replication target device. A replication target device is configured with the configuration option replication_device. Specify this option as many times as you have replication devices. Each entry takes the standard dict config form: netapp_replication_aggregate_map = backend_id:<name_of_replication_device_section>,src_aggr_name1:dest_aggr_name1,src_aggr_name2:dest_aggr_name2,…​

netapp_server_hostname = None

(String) The hostname (or IP address) for the storage system or proxy server.

netapp_server_port = None

(Integer) The TCP port to use for communication with the storage system or proxy server. If not specified, Data ONTAP drivers will use 80 for HTTP and 443 for HTTPS; E-Series will use 8080 for HTTP and 8443 for HTTPS.

netapp_size_multiplier = 1.2

(Floating point) The quantity to be multiplied by the requested volume size to ensure enough space is available on the virtual storage server (Vserver) to fulfill the volume creation request. Note: this option is deprecated and will be removed in favor of "reserved_percentage" in the Mitaka release.

netapp_snapmirror_quiesce_timeout = 3600

(Integer) The maximum time in seconds to wait for existing SnapMirror transfers to complete before aborting during a failover.

netapp_storage_family = ontap_cluster

(String) The storage family type used on the storage system; valid values are ontap_7mode for using Data ONTAP operating in 7-Mode, ontap_cluster for using clustered Data ONTAP, or eseries for using E-Series.

netapp_storage_protocol = None

(String) The storage protocol to be used on the data path with the storage system.

netapp_transport_type = http

(String) The transport protocol used when communicating with the storage system or proxy server.

netapp_vserver = None

(String) This option specifies the virtual storage server (Vserver) name on the storage cluster on which provisioning of block storage volumes should occur.

Expand
Table 3.40. Description of NetApp cDOT NFS driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

expiry_thres_minutes = 720

(Integer) This option specifies the threshold for last access time for images in the NFS image cache. When a cache cleaning cycle begins, images in the cache that have not been accessed in the last M minutes, where M is the value of this parameter, will be deleted from the cache to create free space on the NFS share.

netapp_copyoffload_tool_path = None

(String) This option specifies the path of the NetApp copy offload tool binary. Ensure that the binary has execute permissions set which allow the effective user of the cinder-volume process to execute the file.

netapp_host_type = None

(String) This option defines the type of operating system for all initiators that can access a LUN. This information is used when mapping LUNs to individual hosts or groups of hosts.

netapp_host_type = None

(String) This option defines the type of operating system for all initiators that can access a LUN. This information is used when mapping LUNs to individual hosts or groups of hosts.

netapp_login = None

(String) Administrative user account name used to access the storage system or proxy server.

netapp_lun_ostype = None

(String) This option defines the type of operating system that will access a LUN exported from Data ONTAP; it is assigned to the LUN at the time it is created.

netapp_partner_backend_name = None

(String) The name of the config.conf stanza for a Data ONTAP (7-mode) HA partner. This option is only used by the driver when connecting to an instance with a storage family of Data ONTAP operating in 7-Mode, and it is required if the storage protocol selected is FC.

netapp_password = None

(String) Password for the administrative user account specified in the netapp_login option.

netapp_pool_name_search_pattern = (.+)

(String) This option is used to restrict provisioning to the specified pools. Specify the value of this option to be a regular expression which will be applied to the names of objects from the storage backend which represent pools in Cinder. This option is only utilized when the storage protocol is configured to use iSCSI or FC.

netapp_replication_aggregate_map = None

(Unknown) Multi opt of dictionaries to represent the aggregate mapping between source and destination back ends when using whole back end replication. For every source aggregate associated with a cinder pool (NetApp FlexVol), you would need to specify the destination aggregate on the replication target device. A replication target device is configured with the configuration option replication_device. Specify this option as many times as you have replication devices. Each entry takes the standard dict config form: netapp_replication_aggregate_map = backend_id:<name_of_replication_device_section>,src_aggr_name1:dest_aggr_name1,src_aggr_name2:dest_aggr_name2,…​

netapp_server_hostname = None

(String) The hostname (or IP address) for the storage system or proxy server.

netapp_server_port = None

(Integer) The TCP port to use for communication with the storage system or proxy server. If not specified, Data ONTAP drivers will use 80 for HTTP and 443 for HTTPS; E-Series will use 8080 for HTTP and 8443 for HTTPS.

netapp_snapmirror_quiesce_timeout = 3600

(Integer) The maximum time in seconds to wait for existing SnapMirror transfers to complete before aborting during a failover.

netapp_storage_family = ontap_cluster

(String) The storage family type used on the storage system; valid values are ontap_7mode for using Data ONTAP operating in 7-Mode, ontap_cluster for using clustered Data ONTAP, or eseries for using E-Series.

netapp_storage_protocol = None

(String) The storage protocol to be used on the data path with the storage system.

netapp_transport_type = http

(String) The transport protocol used when communicating with the storage system or proxy server.

netapp_vserver = None

(String) This option specifies the virtual storage server (Vserver) name on the storage cluster on which provisioning of block storage volumes should occur.

thres_avl_size_perc_start = 20

(Integer) If the percentage of available space for an NFS share has dropped below the value specified by this option, the NFS image cache will be cleaned.

thres_avl_size_perc_stop = 60

(Integer) When the percentage of available space on an NFS share has reached the percentage specified by this option, the driver will stop clearing files from the NFS image cache that have not been accessed in the last M minutes, where M is the value of the expiry_thres_minutes configuration option.

Expand
Table 3.41. Description of NetApp E-Series driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

netapp_controller_ips = None

(String) This option is only utilized when the storage family is configured to eseries. This option is used to restrict provisioning to the specified controllers. Specify the value of this option to be a comma separated list of controller hostnames or IP addresses to be used for provisioning.

netapp_enable_multiattach = False

(Boolean) This option specifies whether the driver should allow operations that require multiple attachments to a volume. An example would be live migration of servers that have volumes attached. When enabled, this backend is limited to 256 total volumes in order to guarantee volumes can be accessed by more than one host.

netapp_host_type = None

(String) This option defines the type of operating system for all initiators that can access a LUN. This information is used when mapping LUNs to individual hosts or groups of hosts.

netapp_login = None

(String) Administrative user account name used to access the storage system or proxy server.

netapp_partner_backend_name = None

(String) The name of the config.conf stanza for a Data ONTAP (7-mode) HA partner. This option is only used by the driver when connecting to an instance with a storage family of Data ONTAP operating in 7-Mode, and it is required if the storage protocol selected is FC.

netapp_password = None

(String) Password for the administrative user account specified in the netapp_login option.

netapp_pool_name_search_pattern = (.+)

(String) This option is used to restrict provisioning to the specified pools. Specify the value of this option to be a regular expression which will be applied to the names of objects from the storage backend which represent pools in Cinder. This option is only utilized when the storage protocol is configured to use iSCSI or FC.

netapp_replication_aggregate_map = None

(Unknown) Multi opt of dictionaries to represent the aggregate mapping between source and destination back ends when using whole back end replication. For every source aggregate associated with a cinder pool (NetApp FlexVol), you would need to specify the destination aggregate on the replication target device. A replication target device is configured with the configuration option replication_device. Specify this option as many times as you have replication devices. Each entry takes the standard dict config form: netapp_replication_aggregate_map = backend_id:<name_of_replication_device_section>,src_aggr_name1:dest_aggr_name1,src_aggr_name2:dest_aggr_name2,…​

netapp_sa_password = None

(String) Password for the NetApp E-Series storage array.

netapp_server_hostname = None

(String) The hostname (or IP address) for the storage system or proxy server.

netapp_server_port = None

(Integer) The TCP port to use for communication with the storage system or proxy server. If not specified, Data ONTAP drivers will use 80 for HTTP and 443 for HTTPS; E-Series will use 8080 for HTTP and 8443 for HTTPS.

netapp_snapmirror_quiesce_timeout = 3600

(Integer) The maximum time in seconds to wait for existing SnapMirror transfers to complete before aborting during a failover.

netapp_storage_family = ontap_cluster

(String) The storage family type used on the storage system; valid values are ontap_7mode for using Data ONTAP operating in 7-Mode, ontap_cluster for using clustered Data ONTAP, or eseries for using E-Series.

netapp_transport_type = http

(String) The transport protocol used when communicating with the storage system or proxy server.

netapp_webservice_path = /devmgr/v2

(String) This option is used to specify the path to the E-Series proxy application on a proxy server. The value is combined with the value of the netapp_transport_type, netapp_server_hostname, and netapp_server_port options to create the URL used by the driver to connect to the proxy application.

Expand
Table 3.42. Description of os-brick configuration options
Configuration option = Default valueDescription

[privsep_osbrick]

 

capabilities = []

(Unknown) List of Linux capabilities retained by the privsep daemon.

group = None

(String) Group that the privsep daemon should run as.

helper_command = None

(String) Command to invoke to start the privsep daemon if not using the "fork" method. If not specified, a default is generated using "sudo privsep-helper" and arguments designed to recreate the current configuration. This command must accept suitable --privsep_context and --privsep_sock_path arguments.

user = None

(String) User that the privsep daemon should run as.

Expand
Table 3.43. Description of profiler configuration options
Configuration option = Default valueDescription

[profiler]

 

connection_string = messaging://

(String) 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 notifications.
  • mongodb://127.0.0.1:27017 : use mongodb driver for sending notifications.
  • elasticsearch://127.0.0.1:9200 : use elasticsearch driver for sending notifications.

enabled = False

(Boolean) Enables 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.

es_doc_type = notification

(String) Document type for notification indexing in elasticsearch.

es_scroll_size = 10000

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

es_scroll_time = 2m

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

hmac_keys = SECRET_KEY

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

sentinel_service_name = mymaster

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

socket_timeout = 0.1

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

trace_sqlalchemy = False

(Boolean) Enables 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.
Expand
Table 3.44. Description of Pure Storage driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

pure_api_token = None

(String) REST API authorization token.

pure_automatic_max_oversubscription_ratio = True

(Boolean) Automatically determine an oversubscription ratio based on the current total data reduction values. If used this calculated value will override the max_over_subscription_ratio config option.

pure_eradicate_on_delete = False

(Boolean) When enabled, all Pure volumes, snapshots, and protection groups will be eradicated at the time of deletion in Cinder. Data will NOT be recoverable after a delete with this set to True! When disabled, volumes and snapshots will go into pending eradication state and can be recovered.

pure_replica_interval_default = 900

(Integer) Snapshot replication interval in seconds.

pure_replica_retention_long_term_default = 7

(Integer) Retain snapshots per day on target for this time (in days.)

pure_replica_retention_long_term_per_day_default = 3

(Integer) Retain how many snapshots for each day.

pure_replica_retention_short_term_default = 14400

(Integer) Retain all snapshots on target for this time (in seconds.)

Expand
Table 3.45. Description of Quobyte USP volume driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

quobyte_client_cfg = None

(String) Path to a Quobyte Client configuration file.

quobyte_mount_point_base = $state_path/mnt

(String) Base dir containing the mount point for the Quobyte volume.

quobyte_qcow2_volumes = True

(Boolean) Create volumes as QCOW2 files rather than raw files.

quobyte_sparsed_volumes = True

(Boolean) Create volumes as sparse files which take no space. If set to False, volume is created as regular file.In such case volume creation takes a lot of time.

quobyte_volume_url = None

(URI) URL to the Quobyte volume e.g., quobyte://<DIR host>/<volume name>

Expand
Table 3.46. Description of quota configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

max_age = 0

(Integer) Number of seconds between subsequent usage refreshes

quota_backup_gigabytes = 1000

(Integer) Total amount of storage, in gigabytes, allowed for backups per project

quota_backups = 10

(Integer) Number of volume backups allowed per project

quota_consistencygroups = 10

(Integer) Number of consistencygroups allowed per project

quota_driver = cinder.quota.DbQuotaDriver

(String) Default driver to use for quota checks

quota_gigabytes = 1000

(Integer) Total amount of storage, in gigabytes, allowed for volumes and snapshots per project

quota_groups = 10

(Integer) Number of groups allowed per project

quota_snapshots = 10

(Integer) Number of volume snapshots allowed per project

quota_volumes = 10

(Integer) Number of volumes allowed per project

reservation_expire = 86400

(Integer) Number of seconds until a reservation expires

use_default_quota_class = True

(Boolean) Enables or disables use of default quota class with default quota.

Expand
Table 3.47. Description of Redis configuration options
Configuration option = Default valueDescription

[matchmaker_redis]

 

check_timeout = 20000

(Integer) Time in ms to wait before the transaction is killed.

host = 127.0.0.1

(String) DEPRECATED: Host to locate redis. Replaced by [DEFAULT]/transport_url

password =

(String) DEPRECATED: Password for Redis server (optional). Replaced by [DEFAULT]/transport_url

port = 6379

(Port number) DEPRECATED: Use this port to connect to redis host. Replaced by [DEFAULT]/transport_url

sentinel_group_name = oslo-messaging-zeromq

(String) Redis replica set name.

sentinel_hosts =

(List) DEPRECATED: List of Redis Sentinel hosts (fault tolerance mode), e.g., [host:port, host1:port …​ ] Replaced by [DEFAULT]/transport_url

socket_timeout = 10000

(Integer) Timeout in ms on blocking socket operations.

wait_timeout = 2000

(Integer) Time in ms to wait between connection attempts.

Expand
Table 3.48. Description of SAN configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

san_clustername =

(String) Cluster name to use for creating volumes

san_ip =

(String) IP address of SAN controller

san_is_local = False

(Boolean) Execute commands locally instead of over SSH; use if the volume service is running on the SAN device

san_login = admin

(String) Username for SAN controller

san_password =

(String) Password for SAN controller

san_private_key =

(String) Filename of private key to use for SSH authentication

san_ssh_port = 22

(Port number) SSH port to use with SAN

san_thin_provision = True

(Boolean) Use thin provisioning for SAN volumes?

ssh_conn_timeout = 30

(Integer) SSH connection timeout in seconds

ssh_max_pool_conn = 5

(Integer) Maximum ssh connections in the pool

ssh_min_pool_conn = 1

(Integer) Minimum ssh connections in the pool

Expand
Table 3.49. Description of Scality SOFS volume driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

scality_sofs_config = None

(String) Path or URL to Scality SOFS configuration file

scality_sofs_mount_point = $state_path/scality

(String) Base dir where Scality SOFS shall be mounted

scality_sofs_volume_dir = cinder/volumes

(String) Path from Scality SOFS root to volume dir

Expand
Table 3.50. Description of scheduler configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

filter_function = None

(String) String representation for an equation that will be used to filter hosts. Only used when the driver filter is set to be used by the Cinder scheduler.

goodness_function = None

(String) String representation for an equation that will be used to determine the goodness of a host. Only used when using the goodness weigher is set to be used by the Cinder scheduler.

scheduler_default_filters = AvailabilityZoneFilter, CapacityFilter, CapabilitiesFilter

(List) Which filter class names to use for filtering hosts when not specified in the request.

scheduler_default_weighers = CapacityWeigher

(List) Which weigher class names to use for weighing hosts.

scheduler_driver = cinder.scheduler.filter_scheduler.FilterScheduler

(String) Default scheduler driver to use

scheduler_host_manager = cinder.scheduler.host_manager.HostManager

(String) The scheduler host manager class to use

scheduler_json_config_location =

(String) Absolute path to scheduler configuration JSON file.

scheduler_manager = cinder.scheduler.manager.SchedulerManager

(String) Full class name for the Manager for scheduler

scheduler_max_attempts = 3

(Integer) Maximum number of attempts to schedule a volume

scheduler_weight_handler = cinder.scheduler.weights.OrderedHostWeightHandler

(String) Which handler to use for selecting the host/pool after weighing

Expand
Table 3.51. Description of SCST volume driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

scst_target_driver = iscsi

(String) SCST target implementation can choose from multiple SCST target drivers.

scst_target_iqn_name = None

(String) Certain ISCSI targets have predefined target names, SCST target driver uses this name.

Expand
Table 3.52. Description of Sheepdog driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

sheepdog_store_address = 127.0.0.1

(String) IP address of sheep daemon.

sheepdog_store_port = 7000

(Port number) Port of sheep daemon.

Expand
Table 3.53. Description of Samba volume driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

smbfs_allocation_info_file_path = $state_path/allocation_data

(String) The path of the automatically generated file containing information about volume disk space allocation.

smbfs_default_volume_format = qcow2

(String) Default format that will be used when creating volumes if no volume format is specified.

smbfs_mount_options = noperm,file_mode=0775,dir_mode=0775

(String) Mount options passed to the smbfs client. See mount.cifs man page for details.

smbfs_mount_point_base = $state_path/mnt

(String) Base dir containing mount points for smbfs shares.

smbfs_oversub_ratio = 1.0

(Floating point) This will compare the allocated to available space on the volume destination. If the ratio exceeds this number, the destination will no longer be valid.

smbfs_shares_config = /etc/cinder/smbfs_shares

(String) File with the list of available smbfs shares.

smbfs_sparsed_volumes = True

(Boolean) Create volumes as sparsed files which take no space rather than regular files when using raw format, in which case volume creation takes lot of time.

smbfs_used_ratio = 0.95

(Floating point) Percent of ACTUAL usage of the underlying volume before no new volumes can be allocated to the volume destination.

Expand
Table 3.54. Description of SolidFire driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

sf_account_prefix = None

(String) Create SolidFire accounts with this prefix. Any string can be used here, but the string "hostname" is special and will create a prefix using the cinder node hostname (previous default behavior). The default is NO prefix.

sf_allow_template_caching = True

(Boolean) Create an internal cache of copy of images when a bootable volume is created to eliminate fetch from glance and qemu-conversion on subsequent calls.

sf_allow_tenant_qos = False

(Boolean) Allow tenants to specify QOS on create

sf_api_port = 443

(Port number) SolidFire API port. Useful if the device api is behind a proxy on a different port.

sf_emulate_512 = True

(Boolean) Set 512 byte emulation on volume creation;

sf_enable_vag = False

(Boolean) Utilize volume access groups on a per-tenant basis.

sf_enable_volume_mapping = True

(Boolean) Create an internal mapping of volume IDs and account. Optimizes lookups and performance at the expense of memory, very large deployments may want to consider setting to False.

sf_svip = None

(String) Overrides default cluster SVIP with the one specified. This is required or deployments that have implemented the use of VLANs for iSCSI networks in their cloud.

sf_template_account_name = openstack-vtemplate

(String) Account name on the SolidFire Cluster to use as owner of template/cache volumes (created if does not exist).

sf_volume_prefix = UUID-

(String) Create SolidFire volumes with this prefix. Volume names are of the form <sf_volume_prefix><cinder-volume-id>. The default is to use a prefix of 'UUID-'.

Expand
Table 3.55. Description of Ceph storage configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

rados_connect_timeout = -1

(Integer) Timeout value (in seconds) used when connecting to ceph cluster. If value < 0, no timeout is set and default librados value is used.

rados_connection_interval = 5

(Integer) Interval value (in seconds) between connection retries to ceph cluster.

rados_connection_retries = 3

(Integer) Number of retries if connection to ceph cluster failed.

rbd_ceph_conf =

(String) Path to the ceph configuration file

rbd_cluster_name = ceph

(String) The name of ceph cluster

rbd_flatten_volume_from_snapshot = False

(Boolean) Flatten volumes created from snapshots to remove dependency from volume to snapshot

rbd_max_clone_depth = 5

(Integer) Maximum number of nested volume clones that are taken before a flatten occurs. Set to 0 to disable cloning.

rbd_pool = rbd

(String) The RADOS pool where rbd volumes are stored

rbd_secret_uuid = None

(String) The libvirt uuid of the secret for the rbd_user volumes

rbd_store_chunk_size = 4

(Integer) Volumes will be chunked into objects of this size (in megabytes).

rbd_user = None

(String) The RADOS client name for accessing rbd volumes - only set when using cephx authentication

replication_connect_timeout = 5

(Integer) Timeout value (in seconds) used when connecting to ceph cluster to do a demotion/promotion of volumes. If value < 0, no timeout is set and default librados value is used.

Expand
Table 3.56. Description of GPFS storage configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

gpfs_images_dir = None

(String) Specifies the path of the Image service repository in GPFS. Leave undefined if not storing images in GPFS.

gpfs_images_share_mode = None

(String) Specifies the type of image copy to be used. Set this when the Image service repository also uses GPFS so that image files can be transferred efficiently from the Image service to the Block Storage service. There are two valid values: "copy" specifies that a full copy of the image is made; "copy_on_write" specifies that copy-on-write optimization strategy is used and unmodified blocks of the image file are shared efficiently.

gpfs_max_clone_depth = 0

(Integer) Specifies an upper limit on the number of indirections required to reach a specific block due to snapshots or clones. A lengthy chain of copy-on-write snapshots or clones can have a negative impact on performance, but improves space utilization. 0 indicates unlimited clone depth.

gpfs_mount_point_base = None

(String) Specifies the path of the GPFS directory where Block Storage volume and snapshot files are stored.

gpfs_sparse_volumes = True

(Boolean) Specifies that volumes are created as sparse files which initially consume no space. If set to False, the volume is created as a fully allocated file, in which case, creation may take a significantly longer time.

gpfs_storage_pool = system

(String) Specifies the storage pool that volumes are assigned to. By default, the system storage pool is used.

nas_host =

(String) IP address or Hostname of NAS system.

nas_login = admin

(String) User name to connect to NAS system.

nas_password =

(String) Password to connect to NAS system.

nas_private_key =

(String) Filename of private key to use for SSH authentication.

nas_ssh_port = 22

(Port number) SSH port to use to connect to NAS system.

Expand
Table 3.57. Description of NFS storage configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

nfs_mount_attempts = 3

(Integer) The number of attempts to mount NFS shares before raising an error. At least one attempt will be made to mount an NFS share, regardless of the value specified.

nfs_mount_options = None

(String) Mount options passed to the NFS client. See section of the NFS man page for details.

nfs_mount_point_base = $state_path/mnt

(String) Base dir containing mount points for NFS shares.

nfs_qcow2_volumes = False

(Boolean) Create volumes as QCOW2 files rather than raw files.

nfs_shares_config = /etc/cinder/nfs_shares

(String) File with the list of available NFS shares.

nfs_snapshot_support = False

(Boolean) Enable support for snapshots on the NFS driver. Platforms using libvirt <1.2.7 will encounter issues with this feature.

nfs_sparsed_volumes = True

(Boolean) Create volumes as sparsed files which take no space. If set to False volume is created as regular file. In such case volume creation takes a lot of time.

Expand
Table 3.58. Description of storage configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

allocated_capacity_weight_multiplier = -1.0

(Floating point) Multiplier used for weighing allocated capacity. Positive numbers mean to stack vs spread.

capacity_weight_multiplier = 1.0

(Floating point) Multiplier used for weighing free capacity. Negative numbers mean to stack vs spread.

enabled_backends = None

(List) A list of backend names to use. These backend names should be backed by a unique [CONFIG] group with its options

iscsi_helper = tgtadm

(String) iSCSI target user-land tool to use. tgtadm is default, use lioadm for LIO iSCSI support, scstadmin for SCST target support, ietadm for iSCSI Enterprise Target, iscsictl for Chelsio iSCSI Target or fake for testing.

iscsi_iotype = fileio

(String) Sets the behavior of the iSCSI target to either perform blockio or fileio optionally, auto can be set and Cinder will autodetect type of backing device

iscsi_ip_address = $my_ip

(String) The IP address that the iSCSI daemon is listening on

iscsi_port = 3260

(Port number) The port that the iSCSI daemon is listening on

iscsi_protocol = iscsi

(String) Determines the iSCSI protocol for new iSCSI volumes, created with tgtadm or lioadm target helpers. In order to enable RDMA, this parameter should be set with the value "iser". The supported iSCSI protocol values are "iscsi" and "iser".

iscsi_target_flags =

(String) Sets the target-specific flags for the iSCSI target. Only used for tgtadm to specify backing device flags using bsoflags option. The specified string is passed as is to the underlying tool.

iscsi_target_prefix = iqn.2010-10.org.openstack:

(String) Prefix for iSCSI volumes

iscsi_write_cache = on

(String) Sets the behavior of the iSCSI target to either perform write-back(on) or write-through(off). This parameter is valid if iscsi_helper is set to tgtadm.

iser_helper = tgtadm

(String) The name of the iSER target user-land tool to use

iser_ip_address = $my_ip

(String) The IP address that the iSER daemon is listening on

iser_port = 3260

(Port number) The port that the iSER daemon is listening on

iser_target_prefix = iqn.2010-10.org.openstack:

(String) Prefix for iSER volumes

migration_create_volume_timeout_secs = 300

(Integer) Timeout for creating the volume to migrate to when performing volume migration (seconds)

num_iser_scan_tries = 3

(Integer) The maximum number of times to rescan iSER targetto find volume

num_volume_device_scan_tries = 3

(Integer) The maximum number of times to rescan targets to find volume

volume_backend_name = None

(String) The backend name for a given driver implementation

volume_clear = zero

(String) Method used to wipe old volumes

volume_clear_ionice = None

(String) The flag to pass to ionice to alter the i/o priority of the process used to zero a volume after deletion, for example "-c3" for idle only priority.

volume_clear_size = 0

(Integer) Size in MiB to wipe at start of old volumes. 1024 MiBat max. 0 ⇒ all

volume_copy_blkio_cgroup_name = cinder-volume-copy

(String) The blkio cgroup name to be used to limit bandwidth of volume copy

volume_copy_bps_limit = 0

(Integer) The upper limit of bandwidth of volume copy. 0 ⇒ unlimited

volume_dd_blocksize = 1M

(String) The default block size used when copying/clearing volumes

volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver

(String) Driver to use for volume creation

volume_manager = cinder.volume.manager.VolumeManager

(String) Full class name for the Manager for volume

volume_service_inithost_offload = False

(Boolean) Offload pending volume delete during volume service startup

volume_usage_audit_period = month

(String) Time period for which to generate volume usages. The options are hour, day, month, or year.

volumes_dir = $state_path/volumes

(String) Volume configuration file storage directory

Expand
Table 3.59. Description of IBM Storwise driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

san_ip =

(String) IP address of SAN controller

san_login = admin

(String) Username for SAN controller

san_password =

(String) Password for SAN controller

san_private_key =

(String) Filename of private key to use for SSH authentication

san_ssh_port = 22

(Port number) SSH port to use with SAN

storwize_san_secondary_ip = None

(String) Specifies secondary management IP or hostname to be used if san_ip is invalid or becomes inaccessible.

storwize_svc_allow_tenant_qos = False

(Boolean) Allow tenants to specify QOS on create

storwize_svc_flashcopy_rate = 50

(Integer) Specifies the Storwize FlashCopy copy rate to be used when creating a full volume copy. The default is rate is 50, and the valid rates are 1-100.

storwize_svc_flashcopy_timeout = 120

(Integer) Maximum number of seconds to wait for FlashCopy to be prepared.

storwize_svc_iscsi_chap_enabled = True

(Boolean) Configure CHAP authentication for iSCSI connections (Default: Enabled)

storwize_svc_multihostmap_enabled = True

(Boolean) DEPRECATED: This option no longer has any affect. It is deprecated and will be removed in the next release.

storwize_svc_multipath_enabled = False

(Boolean) Connect with multipath (FC only; iSCSI multipath is controlled by Nova)

storwize_svc_stretched_cluster_partner = None

(String) If operating in stretched cluster mode, specify the name of the pool in which mirrored copies are stored.Example: "pool2"

storwize_svc_vol_autoexpand = True

(Boolean) Storage system autoexpand parameter for volumes (True/False)

storwize_svc_vol_compression = False

(Boolean) Storage system compression option for volumes

storwize_svc_vol_easytier = True

(Boolean) Enable Easy Tier for volumes

storwize_svc_vol_grainsize = 256

(Integer) Storage system grain size parameter for volumes (32/64/128/256)

storwize_svc_vol_iogrp = 0

(Integer) The I/O group in which to allocate volumes

storwize_svc_vol_nofmtdisk = False

(Boolean) Specifies that the volume not be formatted during creation.

storwize_svc_vol_rsize = 2

(Integer) Storage system space-efficiency parameter for volumes (percentage)

storwize_svc_vol_warning = 0

(Integer) Storage system threshold for volume capacity warnings (percentage)

storwize_svc_volpool_name = volpool

(List) Comma separated list of storage system storage pools for volumes.

Expand
Table 3.60. Description of swift configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

backup_swift_auth_insecure = False

(Boolean) Bypass verification of server certificate when making SSL connection to Swift.

backup_swift_auth_url = None

(URI) The URL of the Keystone endpoint

Expand
Table 3.61. Description of Tintri volume driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

tintri_api_version = v310

(String) API version for the storage system

tintri_image_cache_expiry_days = 30

(Integer) Delete unused image snapshots older than mentioned days

tintri_image_shares_config = None

(String) Path to image nfs shares file

tintri_server_hostname = None

(String) The hostname (or IP address) for the storage system

tintri_server_password = None

(String) Password for the storage system

tintri_server_username = None

(String) User name for the storage system

Expand
Table 3.62. Description of Violin volume driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

violin_dedup_capable_pools =

(List) Storage pools capable of dedup and other luns.(Comma separated list)

violin_dedup_only_pools =

(List) Storage pools to be used to setup dedup luns only.(Comma separated list)

violin_iscsi_target_ips =

(List) Target iSCSI addresses to use.(Comma separated list)

violin_pool_allocation_method = random

(String) Method of choosing a storage pool for a lun.

violin_request_timeout = 300

(Integer) Global backend request timeout, in seconds.

Expand
Table 3.63. Description of Windows configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

windows_iscsi_lun_path = C:\iSCSIVirtualDisks

(String) Path to store VHD backed volumes

Expand
Table 3.64. Description of ZFS Storage Appliance NFS driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

zfssa_cache_directory = os-cinder-cache

(String) Name of directory inside zfssa_nfs_share where cache volumes are stored.

zfssa_cache_project = os-cinder-cache

(String) Name of ZFSSA project where cache volumes are stored.

zfssa_data_ip = None

(String) Data path IP address

zfssa_enable_local_cache = True

(Boolean) Flag to enable local caching: True, False.

zfssa_https_port = 443

(String) HTTPS port number

zfssa_manage_policy = loose

(String) Driver policy for volume manage.

zfssa_nfs_mount_options =

(String) Options to be passed while mounting share over nfs

zfssa_nfs_pool =

(String) Storage pool name.

zfssa_nfs_project = NFSProject

(String) Project name.

zfssa_nfs_share = nfs_share

(String) Share name.

zfssa_nfs_share_compression = off

(String) Data compression.

zfssa_nfs_share_logbias = latency

(String) Synchronous write bias-latency, throughput.

zfssa_rest_timeout = None

(Integer) REST connection timeout. (seconds)

Expand
Table 3.65. Description of zones configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

cloned_volume_same_az = True

(Boolean) Ensure that the new volumes are the same AZ as snapshot or source volume

Expand
Table 3.66. Description of brocade zoning fabrics configuration options
Configuration option = Default valueDescription

[BRCD_FABRIC_EXAMPLE]

 

fc_fabric_address =

(String) Management IP of fabric.

fc_fabric_password =

(String) Password for user.

fc_fabric_port = 22

(Port number) Connecting port

fc_fabric_ssh_cert_path =

(String) Local SSH certificate Path.

fc_fabric_user =

(String) Fabric user ID.

fc_southbound_protocol = HTTP

(String) South bound connector for the fabric.

fc_virtual_fabric_id = None

(String) Virtual Fabric ID.

principal_switch_wwn = None

(String) DEPRECATED: Principal switch WWN of the fabric. This option is not used anymore.

zone_activate = True

(Boolean) Overridden zoning activation state.

zone_name_prefix = openstack

(String) Overridden zone name prefix.

zoning_policy = initiator-target

(String) Overridden zoning policy.

Expand
Table 3.67. Description of cisco zoning fabrics configuration options
Configuration option = Default valueDescription

[CISCO_FABRIC_EXAMPLE]

 

cisco_fc_fabric_address =

(String) Management IP of fabric

cisco_fc_fabric_password =

(String) Password for user

cisco_fc_fabric_port = 22

(Port number) Connecting port

cisco_fc_fabric_user =

(String) Fabric user ID

cisco_zone_activate = True

(Boolean) overridden zoning activation state

cisco_zone_name_prefix = None

(String) overridden zone name prefix

cisco_zoning_policy = initiator-target

(String) overridden zoning policy

cisco_zoning_vsan = None

(String) VSAN of the Fabric

Expand
Table 3.68. Description of brocade zoning manager configuration options
Configuration option = Default valueDescription

[fc-zone-manager]

 

brcd_sb_connector = HTTP

(String) South bound connector for zoning operation

Expand
Table 3.69. Description of cisco zoning manager configuration options
Configuration option = Default valueDescription

[fc-zone-manager]

 

cisco_sb_connector = cinder.zonemanager.drivers.cisco.cisco_fc_zone_client_cli.CiscoFCZoneClientCLI

(String) Southbound connector for zoning operation

Expand
Table 3.70. Description of zoning configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

zoning_mode = None

(String) FC Zoning mode configured

[fc-zone-manager]

 

enable_unsupported_driver = False

(Boolean) Set this to True when you want to allow an unsupported zone manager driver to start. Drivers that haven’t maintained a working CI system and testing are marked as unsupported until CI is working again. This also marks a driver as deprecated and may be removed in the next release.

fc_fabric_names = None

(String) Comma separated list of Fibre Channel fabric names. This list of names is used to retrieve other SAN credentials for connecting to each SAN fabric

fc_san_lookup_service = cinder.zonemanager.drivers.brocade.brcd_fc_san_lookup_service.BrcdFCSanLookupService

(String) FC SAN Lookup Service

zone_driver = cinder.zonemanager.drivers.brocade.brcd_fc_zone_driver.BrcdFCZoneDriver

(String) FC Zone Driver responsible for zone management

zoning_policy = initiator-target

(String) Zoning policy configured by user; valid values include "initiator-target" or "initiator"

Expand
Table 3.71. New options
Option = default value(Type) Help string

[DEFAULT] auto_calc_max_oversubscription_ratio = False

(BoolOpt) K2 driver will calculate max_oversubscription_ratio on setting this option as True.

[DEFAULT] ds8k_devadd_unitadd_mapping =

(StrOpt) Mapping between IODevice address and unit address.

[DEFAULT] ds8k_host_type = auto

(StrOpt) Set to zLinux if your OpenStack version is prior to Liberty and you’re connecting to zLinux systems. Otherwise set to auto. Valid values for this parameter are: 'auto', 'AMDLinuxRHEL', 'AMDLinuxSuse', 'AppleOSX', 'Fujitsu', 'Hp', 'HpTru64', 'HpVms', 'LinuxDT', 'LinuxRF', 'LinuxRHEL', 'LinuxSuse', 'Novell', 'SGI', 'SVC', 'SanFsAIX', 'SanFsLinux', 'Sun', 'VMWare', 'Win2000', 'Win2003', 'Win2008', 'Win2012', 'iLinux', 'nSeries', 'pLinux', 'pSeries', 'pSeriesPowerswap', 'zLinux', 'iSeries'.

[DEFAULT] ds8k_ssid_prefix = FF

(StrOpt) Set the first two digits of SSID

[DEFAULT] fss_san_secondary_ip =

(StrOpt) Specifies FSS secondary management IP to be used if san_ip is invalid or becomes inaccessible.

[DEFAULT] hnas_svc0_pool_name = None

(StrOpt) Service 0 pool name

[DEFAULT] hnas_svc1_pool_name = None

(StrOpt) Service 1 pool name

[DEFAULT] hnas_svc2_pool_name = None

(StrOpt) Service 2 pool name

[DEFAULT] hnas_svc3_pool_name = None

(StrOpt) Service 3 pool name:

[DEFAULT] infinidat_pool_name = None

(StrOpt) Name of the pool from which volumes are allocated

[DEFAULT] multi_pool_support = False

(StrOpt) Use this value to specify multi-pool support for VMAX3

[DEFAULT] nec_actual_free_capacity = False

(BoolOpt) Return actual free capacity.

[DEFAULT] nec_backend_max_ld_count = 1024

(IntOpt) Maximum number of managing sessions.

[DEFAULT] nec_backup_ldname_format = LX:%s

(StrOpt) M-Series Storage LD name format for snapshots.

[DEFAULT] nec_backup_pools =

(ListOpt) M-Series Storage backup pool number to be used.

[DEFAULT] nec_diskarray_name =

(StrOpt) Diskarray name of M-Series Storage.

[DEFAULT] nec_iscsi_portals_per_cont = 1

(IntOpt) Number of iSCSI portals.

[DEFAULT] nec_ismcli_fip = None

(IPOpt) FIP address of M-Series Storage iSMCLI.

[DEFAULT] nec_ismcli_password =

(StrOpt) Password for M-Series Storage iSMCLI.

[DEFAULT] nec_ismcli_privkey =

(StrOpt) Filename of RSA private key for M-Series Storage iSMCLI.

[DEFAULT] nec_ismcli_user =

(StrOpt) User name for M-Series Storage iSMCLI.

[DEFAULT] nec_ismview_alloptimize = False

(BoolOpt) Use legacy iSMCLI command with optimization.

[DEFAULT] nec_ismview_dir = /tmp/nec/cinder

(StrOpt) Output path of iSMview file.

[DEFAULT] nec_ldname_format = LX:%s

(StrOpt) M-Series Storage LD name format for volumes.

[DEFAULT] nec_ldset =

(StrOpt) M-Series Storage LD Set name for Compute Node.

[DEFAULT] nec_ldset_for_controller_node =

(StrOpt) M-Series Storage LD Set name for Controller Node.

[DEFAULT] nec_pools =

(ListOpt) M-Series Storage pool numbers list to be used.

[DEFAULT] nec_queryconfig_view = False

(BoolOpt) Use legacy iSMCLI command.

[DEFAULT] nec_ssh_pool_port_number = 22

(IntOpt) Port number of ssh pool.

[DEFAULT] nec_unpairthread_timeout = 3600

(IntOpt) Timeout value of Unpairthread.

[DEFAULT] nfs_qcow2_volumes = False

(BoolOpt) Create volumes as QCOW2 files rather than raw files.

[DEFAULT] nfs_snapshot_support = False

(BoolOpt) Enable support for snapshots on the NFS driver. Platforms using libvirt <1.2.7 will encounter issues with this feature.

[DEFAULT] nova_api_insecure = False

(BoolOpt) Allow to perform insecure SSL requests to nova

[DEFAULT] nova_ca_certificates_file = None

(StrOpt) Location of ca certificates file to use for nova client requests.

[DEFAULT] nova_catalog_admin_info = compute:Compute Service:adminURL

(StrOpt) Same as nova_catalog_info, but for admin endpoint.

[DEFAULT] nova_catalog_info = compute:Compute Service:publicURL

(StrOpt) Match this value when searching for nova in the service catalog. Format is: separated values of the form: <service_type>:<service_name>:<endpoint_type>

[DEFAULT] nova_endpoint_admin_template = None

(StrOpt) Same as nova_endpoint_template, but for admin endpoint.

[DEFAULT] nova_endpoint_template = None

(StrOpt) Override service catalog lookup with template for nova endpoint e.g. http://localhost:8774/v2/%(project_id)s

[DEFAULT] os_region_name = None

(StrOpt) Region name of this node

[DEFAULT] replication_connect_timeout = 5

(IntOpt) Timeout value (in seconds) used when connecting to ceph cluster to do a demotion/promotion of volumes. If value < 0, no timeout is set and default librados value is used.

[DEFAULT] rest_ip = None

(IPOpt) The IP address of the REST server

[DEFAULT] unity_io_ports = None

(ListOpt) A comma-separated list of iSCSI or FC ports to be used. Each port can be Unix-style glob expressions.

[DEFAULT] unity_storage_pool_names = None

(ListOpt) A comma-separated list of storage pool names to be used.

[DEFAULT] vmware_connection_pool_size = 10

(IntOpt) Maximum number of connections in http connection pool.

[DEFAULT] vsp_async_copy_check_interval = 10

(IntOpt) Interval in seconds at which volume pair synchronization status is checked when volume pairs are deleted.

[DEFAULT] vsp_auth_password = None

(StrOpt) Password corresponding to vsp_auth_user.

[DEFAULT] vsp_auth_user = None

(StrOpt) Name of the user used for CHAP authentication performed in communication between hosts and iSCSI targets on the storage ports.

[DEFAULT] vsp_compute_target_ports = None

(ListOpt) IDs of the storage ports used to attach volumes to compute nodes. To specify multiple ports, connect them by commas (e.g. CL1-A,CL2-A).

[DEFAULT] vsp_copy_check_interval = 3

(IntOpt) Interval in seconds at which volume pair synchronization status is checked when volume pairs are created.

[DEFAULT] vsp_copy_speed = 3

(IntOpt) Speed at which data is copied by Shadow Image. 1 or 2 indicates low speed, 3 indicates middle speed, and a value between 4 and 15 indicates high speed.

[DEFAULT] vsp_default_copy_method = FULL

(StrOpt) Method of volume copy. FULL indicates full data copy by Shadow Image and THIN indicates differential data copy by Thin Image.

[DEFAULT] vsp_group_request = False

(BoolOpt) If True, the driver will create host groups or iSCSI targets on storage ports as needed.

[DEFAULT] vsp_horcm_add_conf = True

(BoolOpt) If True, the driver will create or update the Command Control Interface configuration file as needed.

[DEFAULT] vsp_horcm_numbers = 200, 201

(ListOpt) Command Control Interface instance numbers in the format of 'xxx,yyy'. The second one is for Shadow Image operation and the first one is for other purposes.

[DEFAULT] vsp_horcm_pair_target_ports = None

(ListOpt) IDs of the storage ports used to copy volumes by Shadow Image or Thin Image. To specify multiple ports, connect them by commas (e.g. CL1-A,CL2-A).

[DEFAULT] vsp_horcm_password = None

(StrOpt) Password corresponding to vsp_horcm_user.

[DEFAULT] vsp_horcm_user = None

(StrOpt) Name of the user on the storage system.

[DEFAULT] vsp_ldev_range = None

(StrOpt) Range of the LDEV numbers in the format of 'xxxx-yyyy' that can be used by the driver. Values can be in decimal format (e.g. 1000) or in colon-separated hexadecimal format (e.g. 00:03:E8).

[DEFAULT] vsp_pool = None

(StrOpt) Pool number or pool name of the DP pool.

[DEFAULT] vsp_storage_id = None

(StrOpt) Product number of the storage system.

[DEFAULT] vsp_target_ports = None

(ListOpt) IDs of the storage ports used to attach volumes to the controller node. To specify multiple ports, connect them by commas (e.g. CL1-A,CL2-A).

[DEFAULT] vsp_thin_pool = None

(StrOpt) Pool number or pool name of the Thin Image pool.

[DEFAULT] vsp_use_chap_auth = False

(BoolOpt) If True, CHAP authentication will be applied to communication between hosts and any of the iSCSI targets on the storage ports.

[DEFAULT] vsp_zoning_request = False

(BoolOpt) If True, the driver will configure FC zoning between the server and the storage system provided that FC zoning manager is enabled.

Expand
Table 3.72. New default values
OptionPrevious default valueNew default value

[DEFAULT] enable_v1_api

True

False

[DEFAULT] proxy

storage.proxy.IBMStorageProxy

cinder.volume.drivers.ibm.ibm_storage.proxy.IBMStorageProxy

Expand
Table 3.73. Deprecated options
Deprecated optionNew Option

[DEFAULT] enable_v1_api

None

[DEFAULT] enable_v2_api

None

[DEFAULT] hnas_svc0_volume_type

[DEFAULT] hnas_svc0_pool_name

[DEFAULT] hnas_svc1_volume_type

[DEFAULT] hnas_svc1_pool_name

[DEFAULT] hnas_svc2_volume_type

[DEFAULT] hnas_svc2_pool_name

[DEFAULT] hnas_svc3_volume_type

[DEFAULT] hnas_svc3_pool_name

[DEFAULT] host

[DEFAULT] backend_host

[DEFAULT] osapi_max_request_body_size

[oslo_middleware] max_request_body_size

[DEFAULT] rpc_thread_pool_size

[DEFAULT] executor_thread_pool_size

[DEFAULT] use_syslog

None

Chapter 4. Compute

The OpenStack Compute service is a cloud computing fabric controller, which is the main part of an IaaS system. You can use OpenStack Compute to host and manage cloud computing systems.

4.1. Compute Configuration Options

Note

The common configurations for shared services and libraries, such as database connections and RPC messaging, are described at Common configurations.

This section describes the OpenStack Compute configuration options.

To configure your Compute installation, you must define configuration options in these files:

  • nova.conf. Contains most of the Compute configuration options. Resides in the /etc/nova/ directory.
  • api-paste.ini. Defines Compute limits. Resides in the /etc/nova/ directory.
  • Related Image service and Identity service management configuration files.
Ephemeral Storage Discrepancy with Ceph

When using Red Hat Ceph as a back end for ephemeral storage, the Compute service does not calculate the amount of available storage correctly. Specifically, Compute simply adds up the amount of available storage without factoring in replication. This results in grossly overstated available storage, which in turn could cause unexpected storage oversubscription.

To determine the correct ephemeral storage capacity, query the Ceph service directly instead. For more information, see BZ#1236473.

4.1.1. Description of Configuration Options

The following tables provide a comprehensive list of the Compute configuration options.

Expand
Table 4.1. Description of api_database configuration options
Configuration option = Default valueDescription

max_retries = 10

(Integer) No help text available for this option.

max_pool_size = None

(Integer) No help text available for this option.

max_overflow = None

(Integer) No help text available for this option.

slave_connection = None

(String) No help text available for this option.

idle_timeout = 3600

(Integer) No help text available for this option.

retry_interval = 10

(Integer) No help text available for this option.

connection = None

(String) No help text available for this option.

pool_timeout = None

(Integer) No help text available for this option.

mysql_sql_mode = TRADITIONAL

(String) No help text available for this option.

connection_debug = 0

(Integer) No help text available for this option.

connection_trace = False

(Boolean) No help text available for this option.

sqlite_synchronous = True

(Boolean) No help text available for this option.

Expand
Table 4.2. Description of api configuration options
Configuration option = Default valueDescription

max_limit = 1000

(Integer) As a query can potentially return many thousands of items, you can limit the maximum number of items in a single response by setting this option.

vendordata_dynamic_read_timeout = 5

(Integer) Maximum wait time for an external REST service to return data once connected.

Possible values:

* Any integer. Note that instance start is blocked during this wait time, so this value should be kept small.

Related options:

* vendordata_providers

* vendordata_dynamic_targets

* vendordata_dynamic_ssl_certfile

* vendordata_dynamic_connect_timeout

* vendordata_dynamic_failure_fatal

vendordata_dynamic_ssl_certfile =

(String) Path to an optional certificate file or CA bundle to verify dynamic vendordata REST services ssl certificates against.

Possible values:

* An empty string, or a path to a valid certificate file

Related options:

* vendordata_providers

* vendordata_dynamic_targets

* vendordata_dynamic_connect_timeout

* vendordata_dynamic_read_timeout

* vendordata_dynamic_failure_fatal

neutron_default_tenant_id = default

(String) Tenant ID for getting the default network from Neutron API (also referred in some places as the 'project ID') to use.

Related options:

* use_neutron_default_nets

config_drive_skip_versions = 1.0 2007-01-19 2007-03-01 2007-08-29 2007-10-10 2007-12-15 2008-02-01 2008-09-01

(String) When gathering the existing metadata for a config drive, the EC2-style metadata is returned for all versions that don’t appear in this option. As of the Liberty release, the available versions are:

* 1.0

* 2007-01-19

* 2007-03-01

* 2007-08-29

* 2007-10-10

* 2007-12-15

* 2008-02-01

* 2008-09-01

* 2009-04-04

The option is in the format of a single string, with each version separated by a space.

Possible values:

* Any string that represents zero or more versions, separated by spaces.

hide_server_address_states = building

(List) This option is a list of all instance states for which network address information should not be returned from the API.

Possible values:

A list of strings, where each string is a valid VM state, as defined in nova/compute/vm_states.py. As of the Newton release, they are:

* "active"

* "building"

* "paused"

* "suspended"

* "stopped"

* "rescued"

* "resized"

* "soft-delete"

* "deleted"

* "error"

* "shelved"

* "shelved_offloaded"

vendordata_dynamic_connect_timeout = 5

(Integer) Maximum wait time for an external REST service to connect.

Possible values:

* Any integer with a value greater than three (the TCP packet retransmission timeout). Note that instance start may be blocked during this wait time, so this value should be kept small.

Related options:

* vendordata_providers

* vendordata_dynamic_targets

* vendordata_dynamic_ssl_certfile

* vendordata_dynamic_read_timeout

* vendordata_dynamic_failure_fatal

fping_path = /usr/sbin/fping

(String) The full path to the fping binary.

allow_instance_snapshots = True

(Boolean) Operators can turn off the ability for a user to take snapshots of their instances by setting this option to False. When disabled, any attempt to take a snapshot will result in a HTTP 400 response ("Bad Request").

* Deprecated

This option disables the createImage server action API in a non-discoverable way and is thus a barrier to interoperability. Also, it is not used for other APIs that create snapshots like shelve or createBackup. Disabling snapshots should be done via policy if so desired.

compute_link_prefix = None

(String) This string is prepended to the normal URL that is returned in links to the OpenStack Compute API. If it is empty (the default), the URLs are returned unchanged.

Possible values:

* Any string, including an empty string (the default).

vendordata_jsonfile_path = None

(String) Cloud providers may store custom data in vendor data file that will then be available to the instances via the metadata service, and to the rendering of config-drive. The default class for this, JsonFileVendorData, loads this information from a JSON file, whose path is configured by this option. If there is no path set by this option, the class returns an empty dictionary.

Possible values:

* Any string representing the path to the data file, or an empty string (default).

glance_link_prefix = None

(String) This string is prepended to the normal URL that is returned in links to Glance resources. If it is empty (the default), the URLs are returned unchanged.

Possible values:

* Any string, including an empty string (the default).

enable_instance_password = True

(Boolean) Enables returning of the instance password by the relevant server API calls such as create, rebuild, evacuate, or rescue. If the hypervisor does not support password injection, then the password returned will not be correct, so if your hypervisor does not support password injection, set this to False.

vendordata_dynamic_targets =

(List) A list of targets for the dynamic vendordata provider. These targets are of the form <name>@<url>.

The dynamic vendordata provider collects metadata by contacting external REST services and querying them for information about the instance. This behaviour is documented in the vendordata.rst file in the nova developer reference.

use_forwarded_for = False

(Boolean) When True, the 'X-Forwarded-For' header is treated as the canonical remote address. When False (the default), the 'remote_address' header is used.

You should only enable this if you have an HTML sanitizing proxy.

use_neutron_default_nets = False

(Boolean) When True, the TenantNetworkController will query the Neutron API to get the default networks to use.

Related options:

* neutron_default_tenant_id

vendordata_dynamic_failure_fatal = False

(Boolean) Should failures to fetch dynamic vendordata be fatal to instance boot?

Related options:

* vendordata_providers

* vendordata_dynamic_targets

* vendordata_dynamic_ssl_certfile

* vendordata_dynamic_connect_timeout

* vendordata_dynamic_read_timeout

vendordata_providers =

(List) A list of vendordata providers.

vendordata providers are how deployers can provide metadata via configdrive and metadata that is specific to their deployment. There are currently two supported providers: StaticJSON and DynamicJSON.

StaticJSON reads a JSON file configured by the flag vendordata_jsonfile_path and places the JSON from that file into vendor_data.json and vendor_data2.json.

DynamicJSON is configured via the vendordata_dynamic_targets flag, which is documented separately. For each of the endpoints specified in that flag, a section is added to the vendor_data2.json.

For more information on the requirements for implementing a vendordata dynamic endpoint, please see the vendordata.rst file in the nova developer reference.

Possible values:

* A list of vendordata providers, with StaticJSON and DynamicJSON being current options.

Related options:

* vendordata_dynamic_targets

* vendordata_dynamic_ssl_certfile

* vendordata_dynamic_connect_timeout

* vendordata_dynamic_read_timeout

* vendordata_dynamic_failure_fatal

metadata_cache_expiration = 15

(Integer) This option is the time (in seconds) to cache metadata. When set to 0, metadata caching is disabled entirely; this is generally not recommended for performance reasons. Increasing this setting should improve response times of the metadata API when under heavy load. Higher values may increase memory usage, and result in longer times for host metadata changes to take effect.

auth_strategy = keystone

(String) This determines the strategy to use for authentication: keystone or noauth2. 'noauth2' is designed for testing only, as it does no actual credential checking. 'noauth2' provides administrative credentials only if 'admin' is specified as the username.

Expand
Table 4.3. Description of barbican configuration options
Configuration option = Default valueDescription

barbican_endpoint = None

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

number_of_retries = 60

(Integer) Number of times to retry poll for key creation completion

barbican_api_version = None

(String) Version of the Barbican API, for example: "v1"

verify_ssl = True

(Boolean) Specifies if insecure TLS (https) requests. If False, the server’s certificate will not be validated

retry_delay = 1

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

auth_endpoint = http://localhost/identity/v3

(String) Use this endpoint to connect to Keystone

Expand
Table 4.4. Description of cache configuration options
Configuration option = Default valueDescription

config_prefix = cache.oslo

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

backend_argument = []

(Multi-valued) Arguments supplied to the backend module. Specify this option once per argument to be passed to the dogpile.cache backend. Example format: "<argname>:<value>".

memcache_dead_retry = 300

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

enabled = False

(Boolean) Global toggle for caching.

memcache_socket_timeout = 3

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

memcache_servers = localhost:11211

(List) Memcache servers in the format of "host:port". (dogpile.cache.memcache and oslo_cache.memcache_pool backends only).

memcache_pool_unused_timeout = 60

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

debug_cache_backend = False

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

expiration_time = 600

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

proxies =

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

memcache_pool_maxsize = 10

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

memcache_pool_connection_get_timeout = 10

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

backend = dogpile.cache.null

(String) Dogpile.cache backend module. It is recommended that Memcache or Redis (dogpile.cache.redis) be used in production deployments. For eventlet-based or highly threaded servers, Memcache with pooling (oslo_cache.memcache_pool) is recommended. For low thread servers, dogpile.cache.memcached is recommended. Test environments with a single instance of the server can use the dogpile.cache.memory backend.

Expand
Table 4.5. Description of cinder configuration options
Configuration option = Default valueDescription

certfile = None

(String) PEM encoded client certificate cert file

catalog_info = volumev3:cinderv3:publicURL

(String) Info to match when looking for cinder in the service catalog.

Possible values:

* Format is separated values of the form: <service_type>:<service_name>:<endpoint_type>

Note: Nova does not support the Cinder v1 API since the Nova 15.0.0 Ocata release.

Related options:

* endpoint_template - Setting this option will override catalog_info

cross_az_attach = True

(Boolean) Allow attach between instance and volume in different availability zones.

If False, volumes attached to an instance must be in the same availability zone in Cinder as the instance availability zone in Nova. This also means care should be taken when booting an instance from a volume where source is not "volume" because Nova will attempt to create a volume using the same availability zone as what is assigned to the instance. If that AZ is not in Cinder (or allow_availability_zone_fallback=False in cinder.conf), the volume create request will fail and the instance will fail the build request. By default there is no availability zone restriction on volume attach.

insecure = False

(Boolean) Verify HTTPS connections.

http_retries = 3

(Integer) Number of times cinderclient should retry on any failed http call. 0 means connection is attempted only once. Setting it to any positive integer means that on failure connection is retried that many times e.g. setting it to 3 means total attempts to connect will be 4.

Possible values:

* Any integer value. 0 means connection is attempted only once

endpoint_template = None

(String) If this option is set then it will override service catalog lookup with this template for cinder endpoint

Possible values:

* URL for cinder endpoint API e.g. http://localhost:8776/v2/%(project_id)s

Note: Nova does not support the Cinder v1 API since the Nova 15.0.0 Ocata release.

Related options:

* catalog_info - If endpoint_template is not set, catalog_info will be used.

timeout = None

(Integer) Timeout value for http requests

os_region_name = None

(String) Region name of this node. This is used when picking the URL in the service catalog.

Possible values:

* Any string representing region name

cafile = None

(String) PEM encoded Certificate Authority to use when verifying HTTPs connections.

keyfile = None

(String) PEM encoded client certificate key file

Expand
Table 4.6. Description of conductor configuration options
Configuration option = Default valueDescription

topic = conductor

(String) Topic exchange name on which conductor nodes listen.

* Deprecated

There is no need to let users choose the RPC topic for all services - there is little gain from this. Furthermore, it makes it really easy to break Nova by using this option.

workers = None

(Integer) Number of workers for OpenStack Conductor service. The default will be the number of CPUs available.

Expand
Table 4.7. Description of consoleauth configuration options
Configuration option = Default valueDescription

token_ttl = 600

(Integer) The lifetime of a console auth token.

A console auth token is used in authorizing console access for a user. Once the auth token time to live count has elapsed, the token is considered expired. Expired tokens are then deleted.

Expand
Table 4.8. Description of console configuration options
Configuration option = Default valueDescription

allowed_origins =

(List) Adds list of allowed origins to the console websocket proxy to allow connections from other origin hostnames. Websocket proxy matches the host header with the origin header to prevent cross-site requests. This list specifies if any there are values other than host are allowed in the origin header.

Possible values:

* A list where each element is an allowed origin hostnames, else an empty list

Expand
Table 4.9. Description of cors configuration options
Configuration option = Default valueDescription

allow_methods = OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, PATCH

(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. Format: "<protocol>://<host>[:<port>]", no trailing slash. Example: https://horizon.example.com

allow_headers =

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

max_age = 3600

(Integer) Maximum cache age of CORS preflight requests.

expose_headers =

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

allow_credentials = True

(Boolean) Indicate that the actual request can include user credentials

Expand
Table 4.10. Description of cors.subdomain configuration options
Configuration option = Default valueDescription

allowed_origin = None

(List) 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 = True

(Boolean) Indicate that the actual request can include user credentials

expose_headers =

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

allow_methods = OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, PATCH

(List) Indicate which methods can be used during the actual request.

allow_headers =

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

Expand
Table 4.11. Description of crypto configuration options
Configuration option = Default valueDescription

user_cert_subject = /C=US/ST=California/O=OpenStack/OU=NovaDev/CN=%.16s-%.16s-%s

(String) Subject for certificate for users, %s for project, user, timestamp

project_cert_subject = /C=US/ST=California/O=OpenStack/OU=NovaDev/CN=project-ca-%.16s-%s

(String) Subject for certificate for projects, %s for project, timestamp

crl_file = crl.pem

(String) Filename of root Certificate Revocation List (CRL). This is a list of certificates that have been revoked, and therefore, entities presenting those (revoked) certificates should no longer be trusted.

Related options:

* ca_path

ca_path = $state_path/CA

(String) Directory path where root CA is located.

Related options:

* ca_file

ca_file = cacert.pem

(String) Filename of root CA (Certificate Authority). This is a container format and includes root certificates.

Possible values:

* Any file name containing root CA, cacert.pem is default

Related options:

* ca_path

keys_path = $state_path/keys

(String) Directory path where keys are located.

Related options:

* key_file

key_file = private/cakey.pem

(String) Filename of a private key.

Related options:

* keys_path

use_project_ca = False

(Boolean) Option to enable/disable use of CA for each project.

Expand
Table 4.12. Description of database configuration options
Configuration option = Default valueDescription

max_retries = 10

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

db_inc_retry_interval = True

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

pool_timeout = None

(Integer) If set, use this value for pool_timeout with SQLAlchemy.

db_retry_interval = 1

(Integer) Seconds between retries of a database transaction.

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=

max_pool_size = 5

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

slave_connection = None

(String) The SQLAlchemy connection string to use to connect to the slave database.

idle_timeout = 3600

(Integer) Timeout before idle SQL connections are reaped.

retry_interval = 10

(Integer) Interval between retries of opening a SQL connection.

use_db_reconnect = False

(Boolean) Enable the experimental use of database reconnect on connection lost.

connection = None

(String) The SQLAlchemy connection string to use to connect to the database.

use_tpool = False

(Boolean) Enable the experimental use of thread pooling for all DB API calls

min_pool_size = 1

(Integer) Minimum number of SQL connections to keep open in a pool.

max_overflow = 50

(Integer) If set, use this value for max_overflow with SQLAlchemy.

connection_debug = 0

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

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.

connection_trace = False

(Boolean) Add Python stack traces to SQL as comment strings.

db_max_retry_interval = 10

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

sqlite_synchronous = True

(Boolean) If True, SQLite uses synchronous mode.

backend = sqlalchemy

(String) The back end to use for the database.

Expand
Table 4.13. Description of DEFAULT configuration options
Configuration option = Default valueDescription

bandwidth_poll_interval = 600

(Integer) Interval to pull network bandwidth usage info.

Not supported on all hypervisors. If a hypervisor doesn’t support bandwidth usage, it will not get the info in the usage events.

Possible values:

* 0: Will run at the default periodic interval.

* Any value < 0: Disables the option.

* Any positive integer in seconds.

default_floating_pool = nova

(String) Default pool for floating IPs.

This option specifies the default floating IP pool for allocating floating IPs.

While allocating a floating ip, users can optionally pass in the name of the pool they want to allocate from, otherwise it will be pulled from the default pool.

If this option is not set, then 'nova' is used as default floating pool.

Possible values:

* Any string representing a floating IP pool name

* Deprecated

This option was used for two purposes: to set the floating IP pool name for nova-network and to do the same for neutron. nova-network is deprecated, as are any related configuration options. Users of neutron, meanwhile, should use the 'default_floating_pool' option in the '[neutron]' group.

translation_lazy_load = True

(Boolean) Specifies whether to Lazy-Load Translation

compute_topic = compute

(String) This is the message queue topic that the compute service 'listens' on. It is used when the compute service is started up to configure the queue, and whenever an RPC call to the compute service is made.

Possible values:

* Any string, but there is almost never any reason to ever change this value from its default of 'compute'.

* Deprecated

There is no need to let users choose the RPC topic for all services - there is little gain from this. Furthermore, it makes it really easy to break Nova by using this option.

remove_unused_base_images = True

(Boolean) Should unused base images be removed?

live_migration_retry_count = 30

(Integer) Maximum number of 1 second retries in live_migration. It specifies number of retries to iptables when it complains. It happens when an user continuously sends live-migration request to same host leading to concurrent request to iptables.

Possible values:

* Any positive integer representing retry count.

flat_interface = None

(String) This option is the name of the virtual interface of the VM on which the bridge will be built. While it was originally designed to be used only by nova-network, it is also used by libvirt for the bridge interface name.

Possible values:

* Any valid virtual interface name, such as 'eth0'

* Deprecated

nova-network is deprecated, as are any related configuration options.

osapi_compute_listen_port = 8774

(Port number) Port on which the OpenStack API will listen.

The OpenStack API service listens on this port number for incoming requests.

ldap_dns_soa_expiry = 86400

(Integer) Expiry interval (in seconds) for LDAP DNS driver Start of Authority

Time interval, a secondary/slave DNS server holds the information before it is no longer considered authoritative.

* Deprecated

nova-network is deprecated, as are any related configuration options.

block_device_allocate_retries = 60

(Integer) Number of times to retry block device allocation on failures. Starting with Liberty, Cinder can use image volume cache. This may help with block device allocation performance. Look at the cinder image_volume_cache_enabled configuration option.

Possible values:

* 60 (default)

* If value is 0, then one attempt is made.

* Any negative value is treated as 0.

* For any value > 0, total attempts are (value + 1)

shutdown_timeout = 60

(Integer) Total time to wait in seconds for an instance toperform a clean shutdown.

It determines the overall period (in seconds) a VM is allowed to perform a clean shutdown. While performing stop, rescue and shelve, rebuild operations, configuring this option gives the VM a chance to perform a controlled shutdown before the instance is powered off. The default timeout is 60 seconds.

The timeout value can be overridden on a per image basis by means of os_shutdown_timeout that is an image metadata setting allowing different types of operating systems to specify how much time they need to shut down cleanly.

Possible values:

* Any positive integer in seconds (default value is 60).

sync_power_state_pool_size = 1000

(Integer) Number of greenthreads available for use to sync power states.

This option can be used to reduce the number of concurrent requests made to the hypervisor or system with real instance power states for performance reasons, for example, with Ironic.

Possible values:

* Any positive integer representing greenthreads count.

teardown_unused_network_gateway = False

(Boolean) Determines whether unused gateway devices, both VLAN and bridge, are deleted if the network is in nova-network VLAN mode and is multi-hosted.

Related options:

* use_neutron

* vpn_ip

* fake_network

* Deprecated

nova-network is deprecated, as are any related configuration options.

osapi_compute_listen = 0.0.0.0

(String) IP address on which the OpenStack API will listen.

The OpenStack API service listens on this IP address for incoming requests.

public_interface = eth0

(String) This is the name of the network interface for public IP addresses. The default is 'eth0'.

Possible values:

* Any string representing a network interface name

* Deprecated

nova-network is deprecated, as are any related configuration options.

ldap_dns_password = password

(String) Bind user’s password for LDAP server

* Deprecated

nova-network is deprecated, as are any related configuration options.

network_size = 256

(Integer) This option determines the number of addresses in each private subnet.

Please note that this option is only used when using nova-network instead of Neutron in your deployment.

Possible values:

* Any positive integer that is less than or equal to the available network size. Note that if you are creating multiple networks, they must all fit in the available IP address space. The default is 256.

Related options:

* use_neutron

* num_networks

* Deprecated

nova-network is deprecated, as are any related configuration options.

virt_mkfs = []

(Multi-valued) Name of the mkfs commands for ephemeral device.

The format is <os_type>=<mkfs command>

enable_new_services = True

(Boolean) Enable new services on this host automatically.

When a new service (for example "nova-compute") starts up, it gets registered in the database as an enabled service. Sometimes it can be useful to register new services in disabled state and then enabled them at a later point in time. This option can set this behavior for all services per host.

Possible values:

* True: Each new service is enabled as soon as it registers itself.

* False: Services must be enabled via a REST API call or with the CLI with nova service-enable <hostname> <binary>, otherwise they are not ready to use.

my_ip = 10.0.0.1

(String) The IP address which the host is using to connect to the management network.

Possible values:

* String with valid IP address. Default is IPv4 address of this host.

Related options:

* metadata_host

* my_block_storage_ip

* routing_source_ip

* vpn_ip

ldap_dns_soa_hostmaster = hostmaster@example.org

(String) Hostmaster for LDAP DNS driver Statement of Authority

Possible values:

* Any valid string representing LDAP DNS hostmaster.

* Deprecated

nova-network is deprecated, as are any related configuration options.

password_length = 12

(Integer) Length of generated instance admin passwords.

reserved_huge_pages = None

(Unknown) Number of huge/large memory pages to reserved per NUMA host cell.

Possible values:

* A list of valid key=value which reflect NUMA node ID, page size (Default unit is KiB) and number of pages to be reserved.

reserved_huge_pages = node:0,size:2048,count:64 reserved_huge_pages = node:1,size:1GB,count:1

In this example we are reserving on NUMA node 0 64 pages of 2MiB and on NUMA node 1 1 page of 1GiB.

default_schedule_zone = None

(String) Availability zone to use when user doesn’t specify one.

This option is used by the scheduler to determine which availability zone to place a new VM instance into if the user did not specify one at the time of VM boot request.

Possible values:

* Any string representing an availability zone name

* Default value is None.

use_neutron = True

(Boolean) Enable neutron as the backend for networking.

Determine whether to use Neutron or Nova Network as the back end. Set to true to use neutron.

* Deprecated

nova-network is deprecated, as are any related configuration options.

quota_networks = 3

(Integer) This option controls the number of private networks that can be created per project (or per tenant).

Related options:

* enable_network_quota

* Deprecated

CRUD operations on tenant networks are only available when using nova-network and nova-network is itself deprecated.

allow_resize_to_same_host = False

(Boolean) Allow destination machine to match source for resize. Useful when testing in single-host environments. By default it is not allowed to resize to the same host. Setting this option to true will add the same host to the destination options. Also set to true if you allow the ServerGroupAffinityFilter and need to resize.

reclaim_instance_interval = 0

(Integer) Interval for reclaiming deleted instances.

A value greater than 0 will enable SOFT_DELETE of instances. This option decides whether the server to be deleted will be put into the SOFT_DELETED state. If this value is greater than 0, the deleted server will not be deleted immediately, instead it will be put into a queue until it’s too old (deleted time greater than the value of reclaim_instance_interval). The server can be recovered from the delete queue by using the restore action. If the deleted server remains longer than the value of reclaim_instance_interval, it will be deleted by a periodic task in the compute service automatically.

Note that this option is read from both the API and compute nodes, and must be set globally otherwise servers could be put into a soft deleted state in the API and never actually reclaimed (deleted) on the compute node.

Possible values:

* Any positive integer(in seconds) greater than 0 will enable this option.

* Any value ⇐0 will disable the option.

rootwrap_config = /etc/nova/rootwrap.conf

(String) Path to the rootwrap configuration file.

Goal of the root wrapper is to allow a service-specific unprivileged user to run a number of actions as the root user in the safest manner possible. The configuration file used here must match the one defined in the sudoers entry.

reserved_host_cpus = 0

(Integer) Number of physical CPUs to reserve for the host. The host resources usage is reported back to the scheduler continuously from nova-compute running on the compute node. To prevent the host CPU from being considered as available, this option is used to reserve random pCPU(s) for the host.

Possible values:

* Any positive integer representing number of physical CPUs to reserve for the host.

metadata_listen = 0.0.0.0

(String) IP address on which the metadata API will listen.

The metadata API service listens on this IP address for incoming requests.

syslog_log_facility = LOG_USER

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

force_config_drive = False

(Boolean) Force injection to take place on a config drive

When this option is set to true configuration drive functionality will be forced enabled by default, otherwise user can still enable configuration drives via the REST API or image metadata properties.

Possible values:

* True: Force to use of configuration drive regardless the user’s input in the REST API call.

* False: Do not force use of configuration drive. Config drives can still be enabled via the REST API or image metadata properties.

Related options:

* Use the 'mkisofs_cmd' flag to set the path where you install the genisoimage program. If genisoimage is in same path as the nova-compute service, you do not need to set this flag.

fixed_range_v6 = fd00::/48

(String) This option determines the fixed IPv6 address block when creating a network.

Please note that this option is only used when using nova-network instead of Neutron in your deployment.

Possible values:

* Any valid IPv6 CIDR

Related options:

* use_neutron

* Deprecated

nova-network is deprecated, as are any related configuration options.

auto_assign_floating_ip = False

(Boolean) Autoassigning floating IP to VM

When set to True, floating IP is auto allocated and associated to the VM upon creation.

Related options:

* use_neutron: this options only works with nova-network.

* Deprecated

nova-network is deprecated, as are any related configuration options.

default_access_ip_network_name = None

(String) Name of the network to be used to set access IPs for instances. If there are multiple IPs to choose from, an arbitrary one will be chosen.

Possible values:

* None (default)

* Any string representing network name.

instance_dns_domain =

(String) If specified, Nova checks if the availability_zone of every instance matches what the database says the availability_zone should be for the specified dns_domain.

Related options:

* use_neutron: this options only works with nova-network.

* Deprecated

nova-network is deprecated, as are any related configuration options.

resume_guests_state_on_host_boot = False

(Boolean) This option specifies whether to start guests that were running before the host rebooted. It ensures that all of the instances on a Nova compute node resume their state each time the compute node boots or restarts.

dhcp_lease_time = 86400

(Integer) The lifetime of a DHCP lease, in seconds. The default is 86400 (one day).

Possible values:

* Any positive integer value.

* Deprecated

nova-network is deprecated, as are any related configuration options.

floating_ip_dns_manager = nova.network.noop_dns_driver.NoopDNSDriver

(String) Full class name for the DNS Manager for floating IPs.

This option specifies the class of the driver that provides functionality to manage DNS entries associated with floating IPs.

When a user adds a DNS entry for a specified domain to a floating IP, nova will add a DNS entry using the specified floating DNS driver. When a floating IP is deallocated, its DNS entry will automatically be deleted.

Possible values:

* Full Python path to the class to be used

Related options:

* use_neutron: this options only works with nova-network.

* Deprecated

nova-network is deprecated, as are any related configuration options.

state_path = $pybasedir

(String) The top-level directory for maintaining Nova’s state.

This directory is used to store Nova’s internal state. It is used by a variety of other config options which derive from this. In some scenarios (for example migrations) it makes sense to use a storage location which is shared between multiple compute hosts (for example via NFS). Unless the option instances_path gets overwritten, this directory can grow very large.

Possible values:

* The full path to a directory. Defaults to value provided in pybasedir.

injected_network_template = $pybasedir/nova/virt/interfaces.template

(String) Path to '/etc/network/interfaces' template.

The path to a template file for the '/etc/network/interfaces'-style file, which will be populated by nova and subsequently used by cloudinit. This provides a method to configure network connectivity in environments without a DHCP server.

The template will be rendered using Jinja2 template engine, and receive a top-level key called interfaces. This key will contain a list of dictionaries, one for each interface.

Refer to the cloudinit documentaion for more information:

https://cloudinit.readthedocs.io/en/latest/topics/datasources.html

Possible values:

* A path to a Jinja2-formatted template for a Debian '/etc/network/interfaces' file. This applies even if using a non Debian-derived guest.

Related options:

* flat_inject: This must be set to True to ensure nova embeds network configuration information in the metadata provided through the config drive.

daemon = False

(Boolean) Run as a background process.

rate_limit_except_level = CRITICAL

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

heal_instance_info_cache_interval = 60

(Integer) Interval between instance network information cache updates.

Number of seconds after which each compute node runs the task of querying Neutron for all of its instances networking information, then updates the Nova db with that information. Nova will never update it’s cache if this option is set to 0. If we don’t update the cache, the metadata service and nova-api endpoints will be proxying incorrect network data about the instance. So, it is not recommended to set this option to 0.

Possible values:

* Any positive integer in seconds.

* Any value ⇐0 will disable the sync. This is not recommended.

resize_confirm_window = 0

(Integer) Automatically confirm resizes after N seconds.

Resize functionality will save the existing server before resizing. After the resize completes, user is requested to confirm the resize. The user has the opportunity to either confirm or revert all changes. Confirm resize removes the original server and changes server status from resized to active. Setting this option to a time period (in seconds) will automatically confirm the resize if the server is in resized state longer than that time.

Possible values:

* 0: Disables the option (default)

* Any positive integer in seconds: Enables the option.

metadata_host = $my_ip

(String) This option determines the IP address for the network metadata API server.

This is really the client side of the metadata host equation that allows nova-network to find the metadata server when doing a default multi host networking.

Possible values:

* Any valid IP address. The default is the address of the Nova API server.

Related options:

* metadata_port

debug = False

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

* Mutable

This option can be changed without restarting.

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.

routing_source_ip = $my_ip

(String) The public IP address of the network host.

This is used when creating an SNAT rule.

Possible values:

* Any valid IP address

Related options:

* force_snat_range

* Deprecated

nova-network is deprecated, as are any related configuration options.

firewall_driver = nova.virt.firewall.NoopFirewallDriver

(String) Firewall driver to use with nova-network service.

This option only applies when using the nova-network service. When using another networking services, such as Neutron, this should be to set to the nova.virt.firewall.NoopFirewallDriver.

Possible values:

  • nova.virt.firewall.IptablesFirewallDriver
  • nova.virt.firewall.NoopFirewallDriver
  • nova.virt.libvirt.firewall.IptablesFirewallDriver
  • […​]

Related options:

  • use_neutron: This must be set to False to enable nova-network networking
  • Deprecated

    nova-network is deprecated, as are any related configuration options.

ldap_dns_user = uid=admin,ou=people,dc=example,dc=org

(String) Bind user for LDAP server

* Deprecated

nova-network is deprecated, as are any related configuration options.

config_drive_format = iso9660

(String) Configuration drive format

Configuration drive format that will contain metadata attached to the instance when it boots.

Possible values:

* iso9660: A file system image standard that is widely supported across operating systems. NOTE: Mind the libvirt bug (https://bugs.launchpad.net/nova/+bug/1246201) - If your hypervisor driver is libvirt, and you want live migrate to work without shared storage, then use VFAT.

* vfat: For legacy reasons, you can configure the configuration drive to use VFAT format instead of ISO 9660.

Related options:

* This option is meaningful when one of the following alternatives occur: 1. force_config_drive option set to 'true' 2. the REST API call to create the instance contains an enable flag for config drive option 3. the image used to create the instance requires a config drive, this is defined by img_config_drive property for that image.

block_device_allocate_retries_interval = 3

(Integer) Interval (in seconds) between block device allocation retries on failures.

This option allows the user to specify the time interval between consecutive retries. 'block_device_allocate_retries' option specifies the maximum number of retries.

Possible values:

* 0: Disables the option.

* Any positive integer in seconds enables the option.

Related options:

* block_device_allocate_retries in compute_manager_opts group.

shelved_offload_time = 0

(Integer) Time before a shelved instance is eligible for removal from a host.

By default this option is set to 0 and the shelved instance will be removed from the hypervisor immediately after shelve operation. Otherwise, the instance will be kept for the value of shelved_offload_time(in seconds) so that during the time period the unshelve action will be faster, then the periodic task will remove the instance from hypervisor after shelved_offload_time passes.

Possible values:

* 0: Instance will be immediately offloaded after being shelved.

* Any value < 0: An instance will never offload.

* Any positive integer in seconds: The instance will exist for the specified number of seconds before being offloaded.

instance_dns_manager = nova.network.noop_dns_driver.NoopDNSDriver

(String) Full class name for the DNS Manager for instance IPs.

This option specifies the class of the driver that provides functionality to manage DNS entries for instances.

On instance creation, nova will add DNS entries for the instance name and id, using the specified instance DNS driver and domain. On instance deletion, nova will remove the DNS entries.

Possible values:

* Full Python path to the class to be used

Related options:

* use_neutron: this options only works with nova-network.

* Deprecated

nova-network is deprecated, as are any related configuration options.

pointer_model = usbtablet

(String) Generic property to specify the pointer type.

Input devices allow interaction with a graphical framebuffer. For example to provide a graphic tablet for absolute cursor movement.

If set, the 'hw_pointer_model' image property takes precedence over this configuration option.

Possible values:

* None: Uses default behavior provided by drivers (mouse on PS2 for libvirt x86)

* ps2mouse: Uses relative movement. Mouse connected by PS2

* usbtablet: Uses absolute movement. Tablet connect by USB

Related options:

* usbtablet must be configured with VNC enabled or SPICE enabled and SPICE agent disabled. When used with libvirt the instance mode should be configured as HVM.

ebtables_retry_interval = 1.0

(Floating point) This option determines the time, in seconds, that the system will sleep in between ebtables retries. Note that each successive retry waits a multiple of this value, so for example, if this is set to the default of 1.0 seconds, and ebtables_exec_attempts is 4, after the first failure, the system will sleep for 1 * 1.0 seconds, after the second failure it will sleep 2 * 1.0 seconds, and after the third failure it will sleep 3 * 1.0 seconds.

Possible values:

* Any non-negative float or integer. Setting this to zero will result in no waiting between attempts.

Related options:

* ebtables_exec_attempts

* Deprecated

nova-network is deprecated, as are any related configuration options.

disk_allocation_ratio = 0.0

(Floating point) This option helps you specify virtual disk to physical disk allocation ratio.

From Ocata (15.0.0) this is used to influence the hosts selected by the Placement API. Note that when Placement is used, the DiskFilter is redundant, because the Placement API will have already filtered out hosts that would have failed the DiskFilter.

A ratio greater than 1.0 will result in over-subscription of the available physical disk, which can be useful for more efficiently packing instances created with images that do not use the entire virtual disk, such as sparse or compressed images. It can be set to a value between 0.0 and 1.0 in order to preserve a percentage of the disk for uses other than instances.

Note

This can be set per-compute, or if set to 0.0, the value set on the scheduler node(s) or compute node(s) will be used and defaulted to 1.0.

Note

As of the 16.0.0 Pike release, this configuration option is ignored for the ironic.IronicDriver compute driver and is hardcoded to 1.0.

Possible values:

* Any valid positive integer or float value

vif_plugging_timeout = 300

(Integer) Timeout for Neutron VIF plugging event message arrival.

Number of seconds to wait for Neutron vif plugging events to arrive before continuing or failing (see 'vif_plugging_is_fatal').

Related options:

* vif_plugging_is_fatal - If vif_plugging_timeout is set to zero and vif_plugging_is_fatal is False, events should not be expected to arrive at all.

flat_network_dns = 8.8.4.4

(String) This is the address of the DNS server for a simple network. If this option is not specified, the default of '8.8.4.4' is used.

Please note that this option is only used when using nova-network instead of Neutron in your deployment.

Possible values:

* Any valid IP address.

Related options:

* use_neutron

* Deprecated

nova-network is deprecated, as are any related configuration options.

use_journal = False

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

use_stderr = False

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

default_ephemeral_format = None

(String) The default format an ephemeral_volume will be formatted with on creation.

Possible values:

* ext2

* ext3

* ext4

* xfs

* ntfs (only for Windows guests)

remove_unused_original_minimum_age_seconds = 86400

(Integer) Unused unresized base images younger than this will not be removed.

ldap_dns_url = ldap://ldap.example.com:389

(URI) URL for LDAP server which will store DNS entries

Possible values:

* A valid LDAP URL representing the server

* Deprecated

nova-network is deprecated, as are any related configuration options.

metadata_listen_port = 8775

(Port number) Port on which the metadata API will listen.

The metadata API service listens on this port number for incoming requests.

periodic_enable = True

(Boolean) Enable periodic tasks.

If set to true, this option allows services to periodically run tasks on the manager.

In case of running multiple schedulers or conductors you may want to run periodic tasks on only one host - in this case disable this option for all hosts but one.

iptables_drop_action = DROP

(String) By default, packets that do not pass the firewall are DROPped. In many cases, though, an operator may find it more useful to change this from DROP to REJECT, so that the user issuing those packets may have a better idea as to what’s going on, or LOGDROP in order to record the blocked traffic before DROPping.

Possible values:

* A string representing an iptables chain. The default is DROP.

* Deprecated

nova-network is deprecated, as are any related configuration options.

gateway = None

(String) This is the default IPv4 gateway. It is used only in the testing suite.

Please note that this option is only used when using nova-network instead of Neutron in your deployment.

Possible values:

* Any valid IP address.

Related options:

* use_neutron

* gateway_v6

* Deprecated

nova-network is deprecated, as are any related configuration options.

instance_name_template = instance-%08x

(String) Template string to be used to generate instance names.

This template controls the creation of the database name of an instance. This is not the display name you enter when creating an instance (via Horizon or CLI). For a new deployment it is advisable to change the default value (which uses the database autoincrement) to another value which makes use of the attributes of an instance, like instance-%(uuid)s. If you already have instances in your deployment when you change this, your deployment will break.

Possible values:

* A string which either uses the instance database ID (like the default)

* A string with a list of named database columns, for example %(id)d or %(uuid)s or %(hostname)s.

Related options:

* not to be confused with: multi_instance_display_name_template

web = /usr/share/spice-html5

(String) Path to directory with content which will be served by a web server.

instance_usage_audit_period = month

(String) Time period to generate instance usages for. It is possible to define optional offset to given period by appending @ character followed by a number defining offset.

Possible values:

* period, example: hour, day, month or `year

* period with offset, example: month@15 will result in monthly audits starting on 15th day of month.

log_dir = None

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

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.

ldap_dns_base_dn = ou=hosts,dc=example,dc=org

(String) Base distinguished name for the LDAP search query

This option helps to decide where to look up the host in LDAP.

* Deprecated

nova-network is deprecated, as are any related configuration options.

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

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

running_deleted_instance_poll_interval = 1800

(Integer) Time interval in seconds to wait between runs for the clean up action. If set to 0, above check will be disabled. If "running_deleted_instance _action" is set to "log" or "reap", a value greater than 0 must be set.

Possible values:

* Any positive integer in seconds enables the option.

* 0: Disables the option.

* 1800: Default value.

Related options:

* running_deleted_instance_action

dhcp_domain = novalocal

(String) This option allows you to specify the domain for the DHCP server.

Possible values:

* Any string that is a valid domain name.

Related options:

* use_neutron

* Deprecated

nova-network is deprecated, as are any related configuration options.

forward_bridge_interface = ['all']

(Multi-valued) One or more interfaces that bridges can forward traffic to. If any of the items in this list is the special keyword 'all', then all traffic will be forwarded.

Possible values:

* A list of zero or more interface names, or the word 'all'.

* Deprecated

nova-network is deprecated, as are any related configuration options.

console_topic = console

(String) Represents the message queue topic name used by nova-console service when communicating via the AMQP server. The Nova API uses a message queue to communicate with nova-console to retrieve a console URL for that host.

Possible values:

* A string representing topic exchange name

* Deprecated

There is no need to let users choose the RPC topic for all services - there is little gain from this. Furthermore, it makes it really easy to break Nova by using this option.

instances_path = $state_path/instances

(String) Specifies where instances are stored on the hypervisor’s disk. It can point to locally attached storage or a directory on NFS.

Possible values:

* $state_path/instances where state_path is a config option that specifies the top-level directory for maintaining nova’s state. (default) or Any string representing directory path.

flat_injected = False

(Boolean) This option determines whether the network setup information is injected into the VM before it is booted. While it was originally designed to be used only by nova-network, it is also used by the vmware and xenapi virt drivers to control whether network information is injected into a VM.

host = localhost

(String) Hostname, FQDN or IP address of this host. Must be valid within AMQP key.

Possible values:

* String with hostname, FQDN or IP address. Default is hostname of this host.

instance_delete_interval = 300

(Integer) Interval for retrying failed instance file deletes.

This option depends on 'maximum_instance_delete_attempts'. This option specifies how often to retry deletes whereas 'maximum_instance_delete_attempts' specifies the maximum number of retry attempts that can be made.

Possible values:

* 0: Will run at the default periodic interval.

* Any value < 0: Disables the option.

* Any positive integer in seconds.

Related options:

* maximum_instance_delete_attempts from instance_cleaning_opts group.

vpn_ip = $my_ip

(String) This option is no longer used since the /os-cloudpipe API was removed in the 16.0.0 Pike release. This is the public IP address for the cloudpipe VPN servers. It defaults to the IP address of the host.

Please note that this option is only used when using nova-network instead of Neutron in your deployment. It also will be ignored if the configuration option for network_manager is not set to the default of 'nova.network.manager.VlanManager'.

Possible values:

* Any valid IP address. The default is $my_ip, the IP address of the VM.

Related options:

* network_manager

* use_neutron

* vpn_start

* Deprecated

nova-network is deprecated, as are any related configuration options.

non_inheritable_image_properties = cache_in_nova, bittorrent

(List) Image properties that should not be inherited from the instance when taking a snapshot.

This option gives an opportunity to select which image-properties should not be inherited by newly created snapshots.

Possible values:

* A list whose item is an image property. Usually only the image properties that are only needed by base images can be included here, since the snapshots that are created from the base images doesn’t need them.

* Default list: ['cache_in_nova', 'bittorrent']

fixed_ip_disassociate_timeout = 600

(Integer) This is the number of seconds to wait before disassociating a deallocated fixed IP address. This is only used with the nova-network service, and has no effect when using neutron for networking.

Possible values:

* Any integer, zero or greater.

Related options:

* use_neutron

* Deprecated

nova-network is deprecated, as are any related configuration options.

running_deleted_instance_action = reap

(String) The compute service periodically checks for instances that have been deleted in the database but remain running on the compute node. The above option enables action to be taken when such instances are identified.

Possible values:

* reap: Powers down the instances and deletes them(default)

* log: Logs warning message about deletion of the resource

* shutdown: Powers down instances and marks them as non- bootable which can be later used for debugging/analysis

* noop: Takes no action

Related options:

* running_deleted_instance_poll_interval

* running_deleted_instance_timeout

console_host = <current_hostname>

(String) Console proxy host to be used to connect to instances on this host. It is the publicly visible name for the console host.

Possible values:

* Current hostname (default) or any string representing hostname.

preallocate_images = none

(String) The image preallocation mode to use.

Image preallocation allows storage for instance images to be allocated up front when the instance is initially provisioned. This ensures immediate feedback is given if enough space isn’t available. In addition, it should significantly improve performance on writes to new blocks and may even improve I/O performance to prewritten blocks due to reduced fragmentation.

Possible values:

* "none" ⇒ no storage provisioning is done up front

* "space" ⇒ storage is fully allocated at instance start

reboot_timeout = 0

(Integer) Time interval after which an instance is hard rebooted automatically.

When doing a soft reboot, it is possible that a guest kernel is completely hung in a way that causes the soft reboot task to not ever finish. Setting this option to a time period in seconds will automatically hard reboot an instance if it has been stuck in a rebooting state longer than N seconds.

Possible values:

* 0: Disables the option (default).

* Any positive integer in seconds: Enables the option.

multi_host = False

(Boolean) Default value for multi_host in networks.

nova-network service can operate in a multi-host or single-host mode. In multi-host mode each compute node runs a copy of nova-network and the instances on that compute node use the compute node as a gateway to the Internet. Where as in single-host mode, a central server runs the nova-network service. All compute nodes forward traffic from the instances to the cloud controller which then forwards traffic to the Internet.

If this options is set to true, some rpc network calls will be sent directly to host.

Note that this option is only used when using nova-network instead of Neutron in your deployment.

Related options:

* use_neutron

* Deprecated

nova-network is deprecated, as are any related configuration options.

fake_network = False

(Boolean) This option is used mainly in testing to avoid calls to the underlying network utilities.

* Deprecated

nova-network is deprecated, as are any related configuration options.

vpn_start = 1000

(Port number) This is the port number to use as the first VPN port for private networks.

Please note that this option is only used when using nova-network instead of Neutron in your deployment. It also will be ignored if the configuration option for network_manager is not set to the default of 'nova.network.manager.VlanManager', or if you specify a value the 'vpn_start' parameter when creating a network.

Possible values:

* Any integer representing a valid port number. The default is 1000.

Related options:

* use_neutron

* vpn_ip

* network_manager

* Deprecated

nova-network is deprecated, as are any related configuration options.

networks_path = $state_path/networks

(String) The location where the network configuration files will be kept. The default is the 'networks' directory off of the location where nova’s Python module is installed.

Possible values

* A string containing the full path to the desired configuration directory

* Deprecated

nova-network is deprecated, as are any related configuration options.

rate_limit_burst = 0

(Integer) Maximum number of logged messages per rate_limit_interval.

dmz_cidr =

(List) This option is a list of zero or more IP address ranges in your network’s DMZ that should be accepted.

Possible values:

* A list of strings, each of which should be a valid CIDR.

* Deprecated

nova-network is deprecated, as are any related configuration options.

send_arp_for_ha_count = 3

(Integer) When arp messages are configured to be sent, they will be sent with the count set to the value of this option. Of course, if this is set to zero, no arp messages will be sent.

Possible values:

* Any integer greater than or equal to 0

Related options:

* send_arp_for_ha

migrate_max_retries = -1

(Integer) Number of times to retry live-migration before failing.

Possible values:

* If == -1, try until out of hosts (default)

* If == 0, only try once, no retries

* Integer greater than 0

servicegroup_driver = db

(String) This option specifies the driver to be used for the servicegroup service.

ServiceGroup API in nova enables checking status of a compute node. When a compute worker running the nova-compute daemon starts, it calls the join API to join the compute group. Services like nova scheduler can query the ServiceGroup API to check if a node is alive. Internally, the ServiceGroup client driver automatically updates the compute worker status. There are multiple backend implementations for this service: Database ServiceGroup driver and Memcache ServiceGroup driver.

Possible Values:

* db : Database ServiceGroup driver

* mc : Memcache ServiceGroup driver

Related Options:

* service_down_time (maximum time since last check-in for up service)

shelved_poll_interval = 3600

(Integer) Interval for polling shelved instances to offload.

The periodic task runs for every shelved_poll_interval number of seconds and checks if there are any shelved instances. If it finds a shelved instance, based on the 'shelved_offload_time' config value it offloads the shelved instances. Check 'shelved_offload_time' config option description for details.

Possible values:

* Any value ⇐ 0: Disables the option.

* Any positive integer in seconds.

Related options:

* shelved_offload_time

compute_monitors =

(List) A list of monitors that can be used for getting compute metrics. You can use the alias/name from the setuptools entry points for nova.compute.monitors.* namespaces. If no namespace is supplied, the "cpu." namespace is assumed for backwards-compatibility.

Possible values:

* An empty list will disable the feature(Default).

* An example value that would enable both the CPU and NUMA memory bandwidth monitors that used the virt driver variant: ["cpu.virt_driver", "numa_mem_bw.virt_driver"]

ssl_only = False

(Boolean) Disallow non-encrypted connections.

ram_allocation_ratio = 0.0

(Floating point) This option helps you specify virtual RAM to physical RAM allocation ratio.

From Ocata (15.0.0) this is used to influence the hosts selected by the Placement API. Note that when Placement is used, the RamFilter is redundant, because the Placement API will have already filtered out hosts that would have failed the RamFilter.

This configuration specifies ratio for RamFilter which can be set per compute node. For AggregateRamFilter, it will fall back to this configuration value if no per-aggregate setting found.

Note

This can be set per-compute, or if set to 0.0, the value set on the scheduler node(s) or compute node(s) will be used and defaulted to 1.5.

Note

As of the 16.0.0 Pike release, this configuration option is ignored for the ironic.IronicDriver compute driver and is hardcoded to 1.0.

Possible values:

* Any valid positive integer or float value

resize_fs_using_block_device = False

(Boolean) Enable resizing of filesystems via a block device.

If enabled, attempt to resize the filesystem by accessing the image over a block device. This is done by the host and may not be necessary if the image contains a recent version of cloud-init. Possible mechanisms require the nbd driver (for qcow and raw), or loop (for raw).

key = None

(String) SSL key file (if separate from cert).

vlan_interface = None

(String) This option is the name of the virtual interface of the VM on which the VLAN bridge will be built. While it was originally designed to be used only by nova-network, it is also used by libvirt and xenapi for the bridge interface name.

Please note that this setting will be ignored in nova-network if the configuration option for network_manager is not set to the default of 'nova.network.manager.VlanManager'.

Possible values:

* Any valid virtual interface name, such as 'eth0'

* Deprecated

nova-network is deprecated, as are any related configuration options. While this option has an effect when using neutron, it incorrectly override the value provided by neutron and should therefore not be used.

linuxnet_ovs_integration_bridge = br-int

(String) The name of the Open vSwitch bridge that is used with linuxnet when connecting with Open vSwitch."

Possible values:

* Any string representing a valid bridge name.

* Deprecated

nova-network is deprecated, as are any related configuration options.

scheduler_topic = scheduler

(String) Scheduler message queue topic.

This is the message queue topic that the scheduler 'listens' on. It is used when the scheduler service is started up to configure the queue, and whenever an RPC call to the scheduler is made. There is almost never any reason to ever change this value.

Possible values:

* A valid AMQP topic name

* Deprecated

There is no need to let users choose the RPC topic for all services - there is little gain from this. Furthermore, it makes it really easy to break Nova by using this option.

send_arp_for_ha = False

(Boolean) When True, when a device starts up, and upon binding floating IP addresses, arp messages will be sent to ensure that the arp caches on the compute hosts are up-to-date.

Related options:

* send_arp_for_ha_count

network_allocate_retries = 0

(Integer) Number of times to retry network allocation. It is required to attempt network allocation retries if the virtual interface plug fails.

Possible values:

* Any positive integer representing retry count.

use_rootwrap_daemon = False

(Boolean) Start and use a daemon that can run the commands that need to be run with root privileges. This option is usually enabled on nodes that run nova compute processes.

periodic_fuzzy_delay = 60

(Integer) Number of seconds to randomly delay when starting the periodic task scheduler to reduce stampeding.

When compute workers are restarted in unison across a cluster, they all end up running the periodic tasks at the same time causing problems for the external services. To mitigate this behavior, periodic_fuzzy_delay option allows you to introduce a random initial delay when starting the periodic task scheduler.

Possible Values:

* Any positive integer (in seconds)

* 0 : disable the random delay

metadata_workers = None

(Integer) Number of workers for metadata service. If not specified the number of available CPUs will be used.

The metadata service can be configured to run as multi-process (workers). This overcomes the problem of reduction in throughput when API request concurrency increases. The metadata service will run in the specified number of processes.

Possible Values:

* Any positive integer

* None (default value)

dnsmasq_config_file =

(String) The path to the custom dnsmasq configuration file, if any.

Possible values:

* The full path to the configuration file, or an empty string if there is no custom dnsmasq configuration file.

* Deprecated

nova-network is deprecated, as are any related configuration options.

pypowervm_update_collision_retries = 5

(Integer) Number of retries if an update operation failed due to collision

ebtables_exec_attempts = 3

(Integer) This option determines the number of times to retry ebtables commands before giving up. The minimum number of retries is 1.

Possible values:

* Any positive integer

Related options:

* ebtables_retry_interval

* Deprecated

nova-network is deprecated, as are any related configuration options.

null_kernel = nokernel

(String) This option is used to decide when an image should have no external ramdisk or kernel. By default this is set to 'nokernel', so when an image is booted with the property 'kernel_id' with the value 'nokernel', Nova assumes the image doesn’t require an external kernel and ramdisk.

* Deprecated

When an image is booted with the property 'kernel_id' with the value 'nokernel', Nova assumes the image doesn’t require an external kernel and ramdisk. This option allows user to change the API behaviour which should not be allowed and this value "nokernel" should be hard coded.

mkisofs_cmd = genisoimage

(String) Name or path of the tool used for ISO image creation

Use the mkisofs_cmd flag to set the path where you install the genisoimage program. If genisoimage is on the system path, you do not need to change the default value.

Possible values:

* Name of the ISO image creator program, in case it is in the same directory as the nova-compute service

* Path to ISO image creator program

Related options:

* This option is meaningful when config drives are enabled.

force_raw_images = True

(Boolean) Force conversion of backing images to raw format.

Possible values:

* True: Backing image files will be converted to raw image format

* False: Backing image files will not be converted

Related options:

* compute_driver: Only the libvirt driver uses this option.

cert = self.pem

(String) Path to SSL certificate file.

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

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

source_is_ipv6 = False

(Boolean) Set to True if source host is addressed with IPv6.

service_down_time = 60

(Integer) Maximum time in seconds since last check-in for up service

Each compute node periodically updates their database status based on the specified report interval. If the compute node hasn’t updated the status for more than service_down_time, then the compute node is considered down.

Related Options:

* report_interval (service_down_time should not be less than report_interval)

defer_iptables_apply = False

(Boolean) Whether to batch up the application of IPTables rules during a host restart and apply all at the end of the init phase.

publish_errors = False

(Boolean) Enables or disables publication of error events.

consoleauth_topic = consoleauth

(String) This option allows you to change the message topic used by nova-consoleauth service when communicating via the AMQP server. Nova Console Authentication server authenticates nova consoles. Users can then access their instances through VNC clients. The Nova API service uses a message queue to communicate with nova-consoleauth to get a VNC console.

Possible Values:

* 'consoleauth' (default) or Any string representing topic exchange name.

* Deprecated

There is no need to let users choose the RPC topic for all services - there is little gain from this. Furthermore, it makes it really easy to break Nova by using this option.

update_resources_interval = 0

(Integer) Interval for updating compute resources.

This option specifies how often the update_available_resources periodic task should run. A number less than 0 means to disable the task completely. Leaving this at the default of 0 will cause this to run at the default periodic interval. Setting it to any positive value will cause it to run at approximately that number of seconds.

Possible values:

* 0: Will run at the default periodic interval.

* Any value < 0: Disables the option.

* Any positive integer in seconds.

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

(String) Prefix each line of exception output with this format.

enabled_apis = osapi_compute, metadata

(List) List of APIs to be enabled by default.

report_interval = 10

(Integer) Number of seconds indicating how frequently the state of services on a given hypervisor is reported. Nova needs to know this to determine the overall health of the deployment.

Related Options:

* service_down_time report_interval should be less than service_down_time. If service_down_time is less than report_interval, services will routinely be considered down, because they report in too rarely.

monkey_patch_modules = nova.compute.api:nova.notifications.notify_decorator

(List) List of modules/decorators to monkey patch.

This option allows you to patch a decorator for all functions in specified modules.

Possible values:

* nova.compute.api:nova.notifications.notify_decorator

* nova.api.ec2.cloud:nova.notifications.notify_decorator

*

Related options:

* monkey_patch: This must be set to True for this option to have any effect

vif_plugging_is_fatal = True

(Boolean) Determine if instance should boot or fail on VIF plugging timeout.

Nova sends a port update to Neutron after an instance has been scheduled, providing Neutron with the necessary information to finish setup of the port. Once completed, Neutron notifies Nova that it has finished setting up the port, at which point Nova resumes the boot of the instance since network connectivity is now supposed to be present. A timeout will occur if the reply is not received after a given interval.

This option determines what Nova does when the VIF plugging timeout event happens. When enabled, the instance will error out. When disabled, the instance will continue to boot on the assumption that the port is ready.

Possible values:

* True: Instances should fail after VIF plugging timeout

* False: Instances should continue booting after VIF plugging timeout

iptables_bottom_regex =

(String) This expression, if defined, will select any matching iptables rules and place them at the bottom when applying metadata changes to the rules.

Possible values:

* Any string representing a valid regular expression, or an empty string

Related options:

* iptables_top_regex

* Deprecated

nova-network is deprecated, as are any related configuration options.

update_dns_entries = False

(Boolean) When this option is True, whenever a DNS entry must be updated, a fanout cast message is sent to all network hosts to update their DNS entries in multi-host mode.

Related options:

* use_neutron

* Deprecated

nova-network is deprecated, as are any related configuration options.

vendordata_driver = nova.api.metadata.vendordata_json.JsonFileVendorData

(String) When returning instance metadata, this is the class that is used for getting vendor metadata when that class isn’t specified in the individual request. The value should be the full dot-separated path to the class to use.

Possible values:

* Any valid dot-separated class path that can be imported.

* Deprecated

No deprecation reason provided for this option.

instance_usage_audit = False

(Boolean) This option enables periodic compute.instance.exists notifications. Each compute node must be configured to generate system usage data. These notifications are consumed by OpenStack Telemetry service.

maximum_instance_delete_attempts = 5

(Integer) The number of times to attempt to reap an instance’s files.

This option specifies the maximum number of retry attempts that can be made.

Possible values:

* Any positive integer defines how many attempts are made.

* Any value ⇐0 means no delete attempts occur, but you should use instance_delete_interval to disable the delete attempts.

Related options:

* instance_delete_interval in interval_opts group can be used to disable this option.

console_driver = nova.console.xvp.XVPConsoleProxy

(String) nova-console-proxy is used to set up multi-tenant VM console access. This option allows pluggable driver program for the console session and represents driver to use for the console proxy.

Possible values:

* A string representing fully classified class name of console driver.

* Deprecated

This option no longer does anything. Previously this option had only two valid, in-tree values: nova.console.xvp.XVPConsoleProxy and nova.console.fake.FakeConsoleProxy. The latter of these was only used in tests and has since been replaced.

dns_server = []

(Multi-valued) Despite the singular form of the name of this option, it is actually a list of zero or more server addresses that dnsmasq will use for DNS nameservers. If this is not empty, dnsmasq will not read /etc/resolv.conf, but will only use the servers specified in this option. If the option use_network_dns_servers is True, the dns1 and dns2 servers from the network will be appended to this list, and will be used as DNS servers, too.

Possible values:

* A list of strings, where each string is either an IP address or a FQDN.

Related options:

* use_network_dns_servers

* Deprecated

nova-network is deprecated, as are any related configuration options.

allow_same_net_traffic = True

(Boolean) Determine whether to allow network traffic from same network.

When set to true, hosts on the same subnet are not filtered and are allowed to pass all types of traffic between them. On a flat network, this allows all instances from all projects unfiltered communication. With VLAN networking, this allows access between instances within the same project.

This option only applies when using the nova-network service. When using another networking services, such as Neutron, security groups or other approaches should be used.

Possible values:

* True: Network traffic should be allowed pass between all instances on the same network, regardless of their tenant and security policies

* False: Network traffic should not be allowed pass between instances unless it is unblocked in a security group

Related options:

* use_neutron: This must be set to False to enable nova-network networking

* firewall_driver: This must be set to nova.virt.libvirt.firewall.IptablesFirewallDriver to ensure the libvirt firewall driver is enabled.

* Deprecated

nova-network is deprecated, as are any related configuration options.

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.

l3_lib = nova.network.l3.LinuxNetL3

(String) This option allows you to specify the L3 management library to be used.

Possible values:

* Any dot-separated string that represents the import path to an L3 networking library.

Related options:

* use_neutron

* Deprecated

nova-network is deprecated, as are any related configuration options.

force_snat_range = []

(Multi-valued) This is a list of zero or more IP ranges that traffic from the routing_source_ip will be SNATted to. If the list is empty, then no SNAT rules are created.

Possible values:

* A list of strings, each of which should be a valid CIDR.

Related options:

* routing_source_ip

* Deprecated

nova-network is deprecated, as are any related configuration options.

enable_network_quota = False

(Boolean) This option is used to enable or disable quota checking for tenant networks.

Related options:

* quota_networks

* Deprecated

CRUD operations on tenant networks are only available when using nova-network and nova-network is itself deprecated.

volume_usage_poll_interval = 0

(Integer) Interval for gathering volume usages.

This option updates the volume usage cache for every volume_usage_poll_interval number of seconds.

Possible values:

* Any positive integer(in seconds) greater than 0 will enable this option.

* Any value ⇐0 will disable the option.

record = None

(String) Filename that will be used for storing websocket frames received and sent by a proxy service (like VNC, spice, serial) running on this host. If this is not set, no recording will be done.

reserved_host_disk_mb = 0

(Integer) Amount of disk resources in MB to make them always available to host. The disk usage gets reported back to the scheduler from nova-compute running on the compute nodes. To prevent the disk resources from being considered as available, this option can be used to reserve disk space for that host.

Possible values:

* Any positive integer representing amount of disk in MB to reserve for the host.

use_ipv6 = False

(Boolean) Assign IPv6 and IPv4 addresses when creating instances.

Related options:

* use_neutron: this only works with nova-network.

* Deprecated

nova-network is deprecated, as are any related configuration options.

image_cache_subdirectory_name = _base

(String) Location of cached images.

This is NOT the full path - just a folder name relative to '$instances_path'. For per-compute-host cached images, set to 'base$my_ip'

image_cache_manager_interval = 2400

(Integer) Number of seconds to wait between runs of the image cache manager.

Possible values:

* 0: run at the default rate.

* -1: disable

* Any other value

my_block_storage_ip = $my_ip

(String) The IP address which is used to connect to the block storage network.

Possible values:

* String with valid IP address. Default is IP address of this host.

Related options:

* my_ip - if my_block_storage_ip is not set, then my_ip value is used.

metadata_port = 8775

(Port number) This option determines the port used for the metadata API server.

Related options:

* metadata_host

* Deprecated

nova-network is deprecated, as are any related configuration options.

dns_update_periodic_interval = -1

(Integer) This option determines the time, in seconds, to wait between refreshing DNS entries for the network.

Possible values:

* A positive integer

* -1 to disable updates

Related options:

* use_neutron

* Deprecated

nova-network is deprecated, as are any related configuration options.

force_dhcp_release = True

(Boolean) When this option is True, a call is made to release the DHCP for the instance when that instance is terminated.

Related options:

* use_neutron

* Deprecated

nova-network is deprecated, as are any related configuration options.

dhcpbridge_flagfile = ['/etc/nova/nova-dhcpbridge.conf']

(Multi-valued) This option is a list of full paths to one or more configuration files for dhcpbridge. In most cases the default path of '/etc/nova/nova-dhcpbridge.conf' should be sufficient, but if you have special needs for configuring dhcpbridge, you can change or add to this list.

Possible values

* A list of strings, where each string is the full path to a dhcpbridge configuration file.

* Deprecated

nova-network is deprecated, as are any related configuration options.

use_cow_images = True

(Boolean) Enable use of copy-on-write (cow) images.

QEMU/KVM allow the use of qcow2 as backing files. By disabling this, backing files will not be used.

dhcpbridge = $bindir/nova-dhcpbridge

(String) The location of the binary nova-dhcpbridge. By default it is the binary named 'nova-dhcpbridge' that is installed with all the other nova binaries.

Possible values:

* Any string representing the full path to the binary for dhcpbridge

* Deprecated

nova-network is deprecated, as are any related configuration options.

num_networks = 1

(Integer) This option represents the number of networks to create if not explicitly specified when the network is created. The only time this is used is if a CIDR is specified, but an explicit network_size is not. In that case, the subnets are created by diving the IP address space of the CIDR by num_networks. The resulting subnet sizes cannot be larger than the configuration option network_size; in that event, they are reduced to network_size, and a warning is logged.

Please note that this option is only used when using nova-network instead of Neutron in your deployment.

Possible values:

* Any positive integer is technically valid, although there are practical limits based upon available IP address space and virtual interfaces.

Related options:

* use_neutron

* network_size

* Deprecated

nova-network is deprecated, as are any related configuration options.

running_deleted_instance_timeout = 0

(Integer) Time interval in seconds to wait for the instances that have been marked as deleted in database to be eligible for cleanup.

Possible values:

* Any positive integer in seconds(default is 0).

Related options:

* "running_deleted_instance_action"

ldap_dns_soa_retry = 3600

(Integer) Retry interval (in seconds) for LDAP DNS driver Start of Authority

Time interval, a secondary/slave DNS server should wait, if an attempt to transfer zone failed during the previous refresh interval.

* Deprecated

nova-network is deprecated, as are any related configuration options.

network_manager = nova.network.manager.VlanManager

(String) Full class name for the Manager for network

reserved_host_memory_mb = 512

(Integer) Amount of memory in MB to reserve for the host so that it is always available to host processes. The host resources usage is reported back to the scheduler continuously from nova-compute running on the compute node. To prevent the host memory from being considered as available, this option is used to reserve memory for the host.

Possible values:

* Any positive integer representing amount of memory in MB to reserve for the host.

share_dhcp_address = False

(Boolean) THIS VALUE SHOULD BE SET WHEN CREATING THE NETWORK.

If True in multi_host mode, all compute hosts share the same dhcp address. The same IP address used for DHCP will be added on each nova-network node which is only visible to the VMs on the same host.

The use of this configuration has been deprecated and may be removed in any release after Mitaka. It is recommended that instead of relying on this option, an explicit value should be passed to 'create_networks()' as a keyword argument with the name 'share_address'.

* Deprecated

No deprecation reason provided for this option.

compute_driver = None

(String) Defines which driver to use for controlling virtualization.

Possible values:

* libvirt.LibvirtDriver

* xenapi.XenAPIDriver

* fake.FakeDriver

* ironic.IronicDriver

* vmwareapi.VMwareVCDriver

* hyperv.HyperVDriver

timeout_nbd = 10

(Integer) Amount of time, in seconds, to wait for NBD device start up.

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.

pybasedir = /usr/lib/python/site-packages/nova

(String) The directory where the Nova python modules are installed.

This directory is used to store template files for networking and remote console access. It is also the default path for other config options which need to persist Nova internal data. It is very unlikely that you need to change this option from its default value.

Possible values:

* The full path to a directory.

Related options:

* state_path

use_network_dns_servers = False

(Boolean) When this option is set to True, the dns1 and dns2 servers for the network specified by the user on boot will be used for DNS, as well as any specified in the dns_server option.

Related options:

* dns_server

* Deprecated

nova-network is deprecated, as are any related configuration options.

enabled_ssl_apis =

(List) List of APIs with enabled SSL.

Nova provides SSL support for the API servers. enabled_ssl_apis option allows configuring the SSL support.

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.

rate_limit_interval = 0

(Integer) Interval, number of seconds, of log rate limiting.

pypowervm_job_request_timeout = 1800

(Integer) Default timeout in seconds for PowerVM Job requests.

rescue_timeout = 0

(Integer) Interval to wait before un-rescuing an instance stuck in RESCUE.

Possible values:

* 0: Disables the option (default)

* Any positive integer in seconds: Enables the option.

max_local_block_devices = 3

(Integer) Maximum number of devices that will result in a local image being created on the hypervisor node.

A negative number means unlimited. Setting max_local_block_devices to 0 means that any request that attempts to create a local disk will fail. This option is meant to limit the number of local discs (so root local disc that is the result of --image being used, and any other ephemeral and swap disks). 0 does not mean that images will be automatically converted to volumes and boot instances from volumes - it just means that all requests that attempt to create a local disk will fail.

Possible values:

* 0: Creating a local disk is not allowed.

* Negative number: Allows unlimited number of local discs.

* Positive number: Allows only these many number of local discs. (Default value is 3).

ovs_vsctl_timeout = 120

(Integer) This option represents the period of time, in seconds, that the ovs_vsctl calls will wait for a response from the database before timing out. A setting of 0 means that the utility should wait forever for a response.

Possible values:

* Any positive integer if a limited timeout is desired, or zero if the calls should wait forever for a response.

* Deprecated

nova-network is deprecated, as are any related configuration options.

max_concurrent_live_migrations = 1

(Integer) Maximum number of live migrations to run concurrently. This limit is enforced to avoid outbound live migrations overwhelming the host/network and causing failures. It is not recommended that you change this unless you are very sure that doing so is safe and stable in your environment.

Possible values:

* 0 : treated as unlimited.

* Negative value defaults to 0.

* Any positive integer representing maximum number of live migrations to run concurrently.

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.

gateway_v6 = None

(String) This is the default IPv6 gateway. It is used only in the testing suite.

Please note that this option is only used when using nova-network instead of Neutron in your deployment.

Possible values:

* Any valid IP address.

Related options:

* use_neutron

* gateway

* Deprecated

nova-network is deprecated, as are any related configuration options.

osapi_compute_workers = None

(Integer) Number of workers for OpenStack API service. The default will be the number of CPUs available.

OpenStack API services can be configured to run as multi-process (workers). This overcomes the problem of reduction in throughput when API request concurrency increases. OpenStack API service will run in the specified number of processes.

Possible Values:

* Any positive integer

* None (default value)

max_concurrent_builds = 10

(Integer) Limits the maximum number of instance builds to run concurrently by nova-compute. Compute service can attempt to build an infinite number of instances, if asked to do so. This limit is enforced to avoid building unlimited instance concurrently on a compute node. This value can be set per compute node.

Possible Values:

* 0 : treated as unlimited.

* Any positive integer representing maximum concurrent builds.

tempdir = None

(String) Explicitly specify the temporary working directory.

monkey_patch = False

(Boolean) Determine if monkey patching should be applied.

Related options:

* monkey_patch_modules: This must have values set for this option to have any effect

linuxnet_interface_driver = nova.network.linux_net.LinuxBridgeInterfaceDriver

(String) This is the class used as the ethernet device driver for linuxnet bridge operations. The default value should be all you need for most cases, but if you wish to use a customized class, set this option to the full dot-separated import path for that class.

Possible values:

* Any string representing a dot-separated class path that Nova can import.

* Deprecated

nova-network is deprecated, as are any related configuration options.

bindir = /usr/local/bin

(String) The directory where the Nova binaries are installed.

This option is only relevant if the networking capabilities from Nova are used (see services below). Nova’s networking capabilities are targeted to be fully replaced by Neutron in the future. It is very unlikely that you need to change this option from its default value.

Possible values:

* The full path to a directory.

default_flavor = m1.small

(String) Default flavor to use for the EC2 API only. The Nova API does not support a default flavor.

* Deprecated

The EC2 API is deprecated.

vcpu_pin_set = None

(String) Defines which physical CPUs (pCPUs) can be used by instance virtual CPUs (vCPUs).

Possible values:

* A comma-separated list of physical CPU numbers that virtual CPUs can be allocated to by default. Each element should be either a single CPU number, a range of CPU numbers, or a caret followed by a CPU number to be excluded from a previous range. For example:

vcpu_pin_set = "4-12,^8,15"

cpu_allocation_ratio = 0.0

(Floating point) This option helps you specify virtual CPU to physical CPU allocation ratio.

From Ocata (15.0.0) this is used to influence the hosts selected by the Placement API. Note that when Placement is used, the CoreFilter is redundant, because the Placement API will have already filtered out hosts that would have failed the CoreFilter.

This configuration specifies ratio for CoreFilter which can be set per compute node. For AggregateCoreFilter, it will fall back to this configuration value if no per-aggregate setting is found.

Note

This can be set per-compute, or if set to 0.0, the value set on the scheduler node(s) or compute node(s) will be used and defaulted to 16.0.

Note

As of the 16.0.0 Pike release, this configuration option is ignored for the ironic.IronicDriver compute driver and is hardcoded to 1.0.

Possible values:

* Any valid positive integer or float value

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

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

db_driver = nova.db

(String) The driver to use for database access

* Deprecated

No deprecation reason provided for this option.

create_unique_mac_address_attempts = 5

(Integer) This option determines how many times nova-network will attempt to create a unique MAC address before giving up and raising a VirtualInterfaceMacAddressException error.

Possible values:

* Any positive integer. The default is 5.

Related options:

* use_neutron

* Deprecated

nova-network is deprecated, as are any related configuration options.

scheduler_instance_sync_interval = 120

(Integer) Interval between sending the scheduler a list of current instance UUIDs to verify that its view of instances is in sync with nova.

If the CONF option 'scheduler_tracks_instance_changes' is False, the sync calls will not be made. So, changing this option will have no effect.

If the out of sync situations are not very common, this interval can be increased to lower the number of RPC messages being sent. Likewise, if sync issues turn out to be a problem, the interval can be lowered to check more frequently.

Possible values:

* 0: Will run at the default periodic interval.

* Any value < 0: Disables the option.

* Any positive integer in seconds.

Related options:

* This option has no impact if scheduler_tracks_instance_changes is set to False.

iptables_top_regex =

(String) This expression, if defined, will select any matching iptables rules and place them at the top when applying metadata changes to the rules.

Possible values:

* Any string representing a valid regular expression, or an empty string

Related options:

* iptables_bottom_regex

* Deprecated

nova-network is deprecated, as are any related configuration options.

vlan_start = 100

(Integer) This is the VLAN number used for private networks. Note that the when creating the networks, if the specified number has already been assigned, nova-network will increment this number until it finds an available VLAN.

Please note that this option is only used when using nova-network instead of Neutron in your deployment. It also will be ignored if the configuration option for network_manager is not set to the default of 'nova.network.manager.VlanManager'.

Possible values:

* Any integer between 1 and 4094. Values outside of that range will raise a ValueError exception.

Related options:

* network_manager

* use_neutron

* Deprecated

nova-network is deprecated, as are any related configuration options.

osapi_compute_unique_server_name_scope =

(String) Sets the scope of the check for unique instance names.

The default doesn’t check for unique names. If a scope for the name check is set, a launch of a new instance or an update of an existing instance with a duplicate name will result in an ''InstanceExists'' error. The uniqueness is case-insensitive. Setting this option can increase the usability for end users as they don’t have to distinguish among instances with the same name by their IDs.

Possible values:

* '': An empty value means that no uniqueness check is done and duplicate names are possible.

* "project": The instance name check is done only for instances within the same project.

* "global": The instance name check is done for all instances regardless of the project.

ldap_dns_servers = ['dns.example.org']

(Multi-valued) DNS Servers for LDAP DNS driver

Possible values:

* A valid URL representing a DNS server

* Deprecated

nova-network is deprecated, as are any related configuration options.

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

* Mutable

This option can be changed without restarting.

internal_service_availability_zone = internal

(String) This option specifies the name of the availability zone for the internal services. Services like nova-scheduler, nova-network, nova-conductor are internal services. These services will appear in their own internal availability_zone.

Possible values:

* Any string representing an availability zone name

* 'internal' is the default value

ipv6_backend = rfc2462

(String) Abstracts out IPv6 address generation to pluggable backends.

nova-network can be put into dual-stack mode, so that it uses both IPv4 and IPv6 addresses. In dual-stack mode, by default, instances acquire IPv6 global unicast addresses with the help of stateless address auto-configuration mechanism.

Related options:

* use_neutron: this option only works with nova-network.

* use_ipv6: this option only works if ipv6 is enabled for nova-network.

* Deprecated

nova-network is deprecated, as are any related configuration options.

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.

ldap_dns_soa_minimum = 7200

(Integer) Minimum interval (in seconds) for LDAP DNS driver Start of Authority

It is Minimum time-to-live applies for all resource records in the zone file. This value is supplied to other servers how long they should keep the data in cache.

* Deprecated

nova-network is deprecated, as are any related configuration options.

network_driver = nova.network.linux_net

(String) Driver to use for network creation.

Network driver initializes (creates bridges and so on) only when the first VM lands on a host node. All network managers configure the network using network drivers. The driver is not tied to any particular network manager.

The default Linux driver implements vlans, bridges, and iptables rules using linux utilities.

Note that this option is only used when using nova-network instead of Neutron in your deployment.

Related options:

* use_neutron

* Deprecated

nova-network is deprecated, as are any related configuration options.

sync_power_state_interval = 600

(Integer) Interval to sync power states between the database and the hypervisor.

The interval that Nova checks the actual virtual machine power state and the power state that Nova has in its database. If a user powers down their VM, Nova updates the API to report the VM has been powered down. Should something turn on the VM unexpectedly, Nova will turn the VM back off to keep the system in the expected state.

Possible values:

* 0: Will run at the default periodic interval.

* Any value < 0: Disables the option.

* Any positive integer in seconds.

Related options:

* If handle_virt_lifecycle_events in workarounds_group is false and this option is negative, then instances that get out of sync between the hypervisor and the Nova database will have to be synchronized manually.

default_availability_zone = nova

(String) Default compute node availability_zone.

This option determines the availability zone to be used when it is not specified in the VM creation request. If this option is not set, the default availability zone 'nova' is used.

Possible values:

* Any string representing an availability zone name

* 'nova' is the default value

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.

use_single_default_gateway = False

(Boolean) When set to True, only the firt nic of a VM will get its default gateway from the DHCP server.

* Deprecated

nova-network is deprecated, as are any related configuration options.

cnt_vpn_clients = 0

(Integer) This option represents the number of IP addresses to reserve at the top of the address range for VPN clients. It also will be ignored if the configuration option for network_manager is not set to the default of 'nova.network.manager.VlanManager'.

Possible values:

* Any integer, 0 or greater.

Related options:

* use_neutron

* network_manager

* Deprecated

nova-network is deprecated, as are any related configuration options.

multi_instance_display_name_template = %(name)s-%(count)d

(String) When creating multiple instances with a single request using the os-multiple-create API extension, this template will be used to build the display name for each instance. The benefit is that the instances end up with different hostnames. Example display names when creating two VM’s: name-1, name-2.

Possible values:

* Valid keys for the template are: name, uuid, count.

* Deprecated

This config changes API behaviour. All changes in API behaviour should be discoverable.

ldap_dns_soa_refresh = 1800

(Integer) Refresh interval (in seconds) for LDAP DNS driver Start of Authority

Time interval, a secondary/slave DNS server waits before requesting for primary DNS server’s current SOA record. If the records are different, secondary DNS server will request a zone transfer from primary.

Note

Lower values would cause more traffic.

* Deprecated

nova-network is deprecated, as are any related configuration options.

instance_build_timeout = 0

(Integer) Maximum time in seconds that an instance can take to build.

If this timer expires, instance status will be changed to ERROR. Enabling this option will make sure an instance will not be stuck in BUILD state for a longer period.

Possible values:

* 0: Disables the option (default)

* Any positive integer in seconds: Enables the option.

network_topic = network

(String) The topic network nodes listen on

* Deprecated

There is no need to let users choose the RPC topic for all services - there is little gain from this. Furthermore, it makes it really easy to break Nova by using this option.

flat_network_bridge = None

(String) This option determines the bridge used for simple network interfaces when no bridge is specified in the VM creation request.

Please note that this option is only used when using nova-network instead of Neutron in your deployment.

Possible values:

* Any string representing a valid network bridge, such as 'br100'

Related options:

* use_neutron

* Deprecated

nova-network is deprecated, as are any related configuration options.

fatal_deprecations = False

(Boolean) Enables or disables fatal status of deprecations.

rpc_conn_pool_size = 30

(Integer) Size of RPC connection pool.

conn_pool_min_size = 2

(Integer) The pool size limit for connections expiration policy

conn_pool_ttl = 1200

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

rpc_poll_timeout = 1

(Integer) The default number of seconds that poll should wait. Poll raises timeout exception when timeout expired.

use_pub_sub = False

(Boolean) Use PUB/SUB pattern for fanout methods. PUB/SUB always uses proxy.

use_router_proxy = False

(Boolean) Use ROUTER remote proxy.

use_dynamic_connections = False

(Boolean) This option makes direct connections dynamic or static. It makes sense only with use_router_proxy=False which means to use direct connections for direct message types (ignored otherwise).

rpc_thread_pool_size = 100

(Integer) Maximum number of (green) threads to work concurrently.

rpc_message_ttl = 300

(Integer) Expiration timeout in seconds of a sent/received message after which it is not tracked anymore by a client/server.

rpc_use_acks = False

(Boolean) Wait for message acknowledgements from receivers. This mechanism works only via proxy without PUB/SUB.

rpc_ack_timeout_base = 15

(Integer) Number of seconds to wait for an ack from a cast/call. After each retry attempt this timeout is multiplied by some specified multiplier.

rpc_ack_timeout_multiplier = 2

(Integer) Number to multiply base ack timeout by after each retry attempt.

rpc_retry_attempts = 3

(Integer) Default number of message sending attempts in case of any problems occurred: positive value N means at most N retries, 0 means no retries, None or -1 (or any other negative values) mean to retry forever. This option is used only if acknowledgments are enabled.

subscribe_on =

(List) List of publisher hosts SubConsumer can subscribe on. This option has higher priority then the default publishers list taken from the matchmaker.

executor_thread_pool_size = 64

(Integer) Size of executor thread pool when executor is threading or eventlet.

rpc_response_timeout = 60

(Integer) Seconds to wait for a response from a call.

transport_url = None

(String) A URL representing the messaging driver to use and its full configuration.

rpc_backend = rabbit

(String) The messaging driver to use, defaults to rabbit. Another driver is amqp.

* Deprecated

Replaced by [DEFAULT]/transport_url

control_exchange = openstack

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

Expand
Table 4.14. Description of ephemeral_storage_encryption configuration options
Configuration option = Default valueDescription

cipher = aes-xts-plain64

(String) Cipher-mode string to be used.

The cipher and mode to be used to encrypt ephemeral storage. The set of cipher-mode combinations available depends on kernel support. According to the dm-crypt documentation, the cipher is expected to be in the format: "<cipher>-<chainmode>-<ivmode>".

Possible values:

* Any crypto option listed in /proc/crypto.

enabled = False

(Boolean) Enables/disables LVM ephemeral storage encryption.

key_size = 512

(Integer) Encryption key length in bits.

The bit length of the encryption key to be used to encrypt ephemeral storage. In XTS mode only half of the bits are used for encryption key.

Expand
Table 4.15. Description of filter_scheduler configuration options
Configuration option = Default valueDescription

restrict_isolated_hosts_to_isolated_images = True

(Boolean) Prevent non-isolated images from being built on isolated hosts.

This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect. Also note that this setting only affects scheduling if the 'IsolatedHostsFilter' filter is enabled. Even then, this option doesn’t affect the behavior of requests for isolated images, which will always be restricted to isolated hosts.

Related options:

* scheduler/isolated_images

* scheduler/isolated_hosts

soft_anti_affinity_weight_multiplier = 1.0

(Floating point) Multiplier used for weighing hosts for group soft-anti-affinity.

Possible values:

* An integer or float value, where the value corresponds to weight multiplier for hosts with group soft anti-affinity. Only a positive value are meaningful, as negative values would make this behave as a soft affinity weigher.

max_io_ops_per_host = 8

(Integer) The number of instances that can be actively performing IO on a host.

Instances performing IO includes those in the following states: build, resize, snapshot, migrate, rescue, unshelve.

This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect. Also note that this setting only affects scheduling if the 'io_ops_filter' filter is enabled.

Possible values:

* An integer, where the integer corresponds to the max number of instances that can be actively performing IO on any given host.

aggregate_image_properties_isolation_separator = .

(String) Separator character(s) for image property namespace and name.

When using the aggregate_image_properties_isolation filter, the relevant metadata keys are prefixed with the namespace defined in the aggregate_image_properties_isolation_namespace configuration option plus a separator. This option defines the separator to be used.

This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect. Also note that this setting only affects scheduling if the 'aggregate_image_properties_isolation' filter is enabled.

Possible values:

* A string, where the string corresponds to an image property namespace separator character

Related options:

* aggregate_image_properties_isolation_namespace

isolated_images =

(List) List of UUIDs for images that can only be run on certain hosts.

If there is a need to restrict some images to only run on certain designated hosts, list those image UUIDs here.

This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect. Also note that this setting only affects scheduling if the 'IsolatedHostsFilter' filter is enabled.

Possible values:

* A list of UUID strings, where each string corresponds to the UUID of an image

Related options:

* scheduler/isolated_hosts

* scheduler/restrict_isolated_hosts_to_isolated_images

host_subset_size = 1

(Integer) Size of subset of best hosts selected by scheduler.

New instances will be scheduled on a host chosen randomly from a subset of the N best hosts, where N is the value set by this option.

Setting this to a value greater than 1 will reduce the chance that multiple scheduler processes handling similar requests will select the same host, creating a potential race condition. By selecting a host randomly from the N hosts that best fit the request, the chance of a conflict is reduced. However, the higher you set this value, the less optimal the chosen host may be for a given request.

This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect.

Possible values:

* An integer, where the integer corresponds to the size of a host subset. Any integer is valid, although any value less than 1 will be treated as 1

max_instances_per_host = 50

(Integer) Maximum number of instances that be active on a host.

If you need to limit the number of instances on any given host, set this option to the maximum number of instances you want to allow. The num_instances_filter will reject any host that has at least as many instances as this option’s value.

This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect. Also note that this setting only affects scheduling if the 'num_instances_filter' filter is enabled.

Possible values:

* An integer, where the integer corresponds to the max instances that can be scheduled on a host.

weight_classes = nova.scheduler.weights.all_weighers

(List) Weighers that the scheduler will use.

Only hosts which pass the filters are weighed. The weight for any host starts at 0, and the weighers order these hosts by adding to or subtracting from the weight assigned by the previous weigher. Weights may become negative. An instance will be scheduled to one of the N most-weighted hosts, where N is 'scheduler_host_subset_size'.

By default, this is set to all weighers that are included with Nova.

This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect.

Possible values:

* A list of zero or more strings, where each string corresponds to the name of a weigher that will be used for selecting a host

io_ops_weight_multiplier = -1.0

(Floating point) IO operations weight multipler ratio.

This option determines how hosts with differing workloads are weighed. Negative values, such as the default, will result in the scheduler preferring hosts with lighter workloads whereas positive values will prefer hosts with heavier workloads. Another way to look at it is that positive values for this option will tend to schedule instances onto hosts that are already busy, while negative values will tend to distribute the workload across more hosts. The absolute value, whether positive or negative, controls how strong the io_ops weigher is relative to other weighers.

This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect. Also note that this setting only affects scheduling if the 'io_ops' weigher is enabled.

Possible values:

* An integer or float value, where the value corresponds to the multipler ratio for this weigher.

disk_weight_multiplier = 1.0

(Floating point) Disk weight multipler ratio.

Multiplier used for weighing free disk space. Negative numbers mean to stack vs spread.

This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect. Also note that this setting only affects scheduling if the 'disk' weigher is enabled.

Possible values:

* An integer or float value, where the value corresponds to the multipler ratio for this weigher.

isolated_hosts =

(List) List of hosts that can only run certain images.

If there is a need to restrict some images to only run on certain designated hosts, list those host names here.

This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect. Also note that this setting only affects scheduling if the 'IsolatedHostsFilter' filter is enabled.

Possible values:

* A list of strings, where each string corresponds to the name of a host

Related options:

* scheduler/isolated_images

* scheduler/restrict_isolated_hosts_to_isolated_images

track_instance_changes = True

(Boolean) Enable querying of individual hosts for instance information.

The scheduler may need information about the instances on a host in order to evaluate its filters and weighers. The most common need for this information is for the (anti-)affinity filters, which need to choose a host based on the instances already running on a host.

If the configured filters and weighers do not need this information, disabling this option will improve performance. It may also be disabled when the tracking overhead proves too heavy, although this will cause classes requiring host usage data to query the database on each request instead.

This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect.

Note

In a multi-cell (v2) setup where the cell MQ is separated from the top-level, computes cannot directly communicate with the scheduler. Thus, this option cannot be enabled in that scenario. See also the [workarounds]/disable_group_policy_check_upcall option.

ram_weight_multiplier = 1.0

(Floating point) Ram weight multipler ratio.

This option determines how hosts with more or less available RAM are weighed. A positive value will result in the scheduler preferring hosts with more available RAM, and a negative number will result in the scheduler preferring hosts with less available RAM. Another way to look at it is that positive values for this option will tend to spread instances across many hosts, while negative values will tend to fill up (stack) hosts as much as possible before scheduling to a less-used host. The absolute value, whether positive or negative, controls how strong the RAM weigher is relative to other weighers.

This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect. Also note that this setting only affects scheduling if the 'ram' weigher is enabled.

Possible values:

* An integer or float value, where the value corresponds to the multipler ratio for this weigher.

soft_affinity_weight_multiplier = 1.0

(Floating point) Multiplier used for weighing hosts for group soft-affinity.

Possible values:

* An integer or float value, where the value corresponds to weight multiplier for hosts with group soft affinity. Only a positive value are meaningful, as negative values would make this behave as a soft anti-affinity weigher.

use_baremetal_filters = False

(Boolean) Enable baremetal filters.

Set this to True to tell the nova scheduler that it should use the filters specified in the 'baremetal_scheduler_enabled_filters' option. If you are not scheduling baremetal nodes, leave this at the default setting of False.

This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect.

Related options:

* If this option is set to True, then the filters specified in the 'baremetal_scheduler_enabled_filters' are used instead of the filters specified in 'scheduler_enabled_filters'.

aggregate_image_properties_isolation_namespace = None

(String) Image property namespace for use in the host aggregate.

Images and hosts can be configured so that certain images can only be scheduled to hosts in a particular aggregate. This is done with metadata values set on the host aggregate that are identified by beginning with the value of this option. If the host is part of an aggregate with such a metadata key, the image in the request spec must have the value of that metadata in its properties in order for the scheduler to consider the host as acceptable.

This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect. Also note that this setting only affects scheduling if the 'aggregate_image_properties_isolation' filter is enabled.

Possible values:

* A string, where the string corresponds to an image property namespace

Related options:

* aggregate_image_properties_isolation_separator

enabled_filters = RetryFilter, AvailabilityZoneFilter, RamFilter, DiskFilter, ComputeFilter, ComputeCapabilitiesFilter, ImagePropertiesFilter, ServerGroupAntiAffinityFilter, ServerGroupAffinityFilter

(List) Filters that the scheduler will use.

An ordered list of filter class names that will be used for filtering hosts. Ignore the word 'default' in the name of this option: these filters will always be applied, and they will be applied in the order they are listed so place your most restrictive filters first to make the filtering process more efficient.

This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect.

Possible values:

* A list of zero or more strings, where each string corresponds to the name of a filter to be used for selecting a host

Related options:

* All of the filters in this option must be present in the 'scheduler_available_filters' option, or a SchedulerHostFilterNotFound exception will be raised.

available_filters = ['nova.scheduler.filters.all_filters']

(Multi-valued) Filters that the scheduler can use.

An unordered list of the filter classes the nova scheduler may apply. Only the filters specified in the 'scheduler_enabled_filters' option will be used, but any filter appearing in that option must also be included in this list.

By default, this is set to all filters that are included with nova.

This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect.

Possible values:

* A list of zero or more strings, where each string corresponds to the name of a filter that may be used for selecting a host

Related options:

* scheduler_enabled_filters

baremetal_enabled_filters = RetryFilter, AvailabilityZoneFilter, ComputeFilter, ComputeCapabilitiesFilter, ImagePropertiesFilter, ExactRamFilter, ExactDiskFilter, ExactCoreFilter

(List) Filters used for filtering baremetal hosts.

Filters are applied in order, so place your most restrictive filters first to make the filtering process more efficient.

This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect.

Possible values:

* A list of zero or more strings, where each string corresponds to the name of a filter to be used for selecting a baremetal host

Related options:

* If the 'scheduler_use_baremetal_filters' option is False, this option has no effect.

Expand
Table 4.16. Description of glance configuration options
Configuration option = Default valueDescription

num_retries = 0

(Integer) Enable glance operation retries.

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

api_insecure = False

(Boolean) Enable insecure SSL (https) requests to glance.

This setting can be used to turn off verification of the glance server certificate against the certificate authorities.

allowed_direct_url_schemes =

(List) List of url schemes that can be directly accessed.

This option specifies a list of url schemes that can be downloaded directly via the direct_url. This direct_URL can be fetched from Image metadata which can be used by nova to get the image more efficiently. nova-compute could benefit from this by invoking a copy when it has access to the same file system as glance.

Possible values:

* [file], Empty list (default)

api_servers = None

(List) List of glance api servers endpoints available to nova.

https is used for ssl-based glance api servers.

Possible values:

* A list of any fully qualified url of the form "scheme://hostname:port[/path]" (i.e. "http://10.0.1.0:9292" or "https://my.glance.server/image").

verify_glance_signatures = False

(Boolean) Enable image signature verification.

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

Related options:

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

debug = False

(Boolean) Enable or disable debug logging with glanceclient.

Expand
Table 4.17. Description of guestfs configuration options
Configuration option = Default valueDescription

debug = False

(Boolean) Enable/disables guestfs logging.

This configures guestfs to debug messages and push them to Openstack logging system. When set to True, it traces libguestfs API calls and enable verbose debug messages. In order to use the above feature, "libguestfs" package must be installed.

Related options: Since libguestfs access and modifies VM’s managed by libvirt, below options should be set to give access to those VM’s.

* libvirt.inject_key

* libvirt.inject_partition

* libvirt.inject_password

Expand
Table 4.18. Description of ironic configuration options
Configuration option = Default valueDescription

auth_type = None

(Unknown) Authentication type to load

serial_console_state_timeout = 10

(Integer) Timeout (seconds) to wait for node serial console state changed. Set to 0 to disable timeout.

certfile = None

(String) PEM encoded client certificate cert file

api_retry_interval = 2

(Integer) The number of seconds to wait before retrying the request.

Related options:

* api_max_retries

keyfile = None

(String) PEM encoded client certificate key file

insecure = False

(Boolean) Verify HTTPS connections.

api_max_retries = 60

(Integer) The number of times to retry when a request conflicts. If set to 0, only try once, no retries.

Related options:

* api_retry_interval

api_endpoint = http://ironic.example.org:6385/

(String) URL override for the Ironic API endpoint.

timeout = None

(Integer) Timeout value for http requests

cafile = None

(String) PEM encoded Certificate Authority to use when verifying HTTPs connections.

auth_section = None

(Unknown) Config Section from which to load plugin specific options

Expand
Table 4.19. Description of key_manager configuration options
Configuration option = Default valueDescription

fixed_key = None

(String) Fixed key returned by key manager, specified in hex.

Possible values:

* Empty string or a key in hex value

api_class = castellan.key_manager.barbican_key_manager.BarbicanKeyManager

(String) The full class name of the key manager API class

Expand
Table 4.20. Description of keystone_authtoken configuration options
Configuration option = Default valueDescription

memcache_pool_socket_timeout = 3

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

auth_type = None

(Unknown) Authentication type to load

cache = None

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

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.

signing_dir = None

(String) Directory used to cache files related to PKI tokens. This option has been deprecated in the Ocata release and will be removed in the P release.

* Deprecated

PKI token format is no longer supported.

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.

* Deprecated

PKI token format is no longer supported.

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

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

auth_version = None

(String) API version of the admin Identity API endpoint.

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.

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.

cafile = None

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

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.

* Deprecated

PKI token format is no longer supported.

certfile = None

(String) Required if identity server requires client certificate

memcache_pool_dead_retry = 300

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

admin_tenant_name = admin

(String) Service tenant name.

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.

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.

admin_password = None

(String) Service user password.

http_request_max_retries = 3

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

service_token_roles = service

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

memcache_secret_key = None

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

admin_user = None

(String) Service username.

region_name = None

(String) The region in which the identity server can be found.

auth_admin_prefix =

(String) Prefix to prepend at the beginning of the path. Deprecated, use identity_uri.

insecure = False

(Boolean) Verify HTTPS connections.

service_token_roles_required = False

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

delay_auth_decision = False

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

auth_host = 127.0.0.1

(String) Host providing the admin Identity API endpoint. Deprecated, use identity_uri.

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.

identity_uri = None

(String) Complete admin Identity API endpoint. This should specify the unversioned root endpoint e.g. https://localhost:35357/

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. Only valid for PKI tokens. This option has been deprecated in the Ocata release and will be removed in the P release.

* Deprecated

PKI token format is no longer supported.

memcache_pool_maxsize = 10

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

auth_section = None

(Unknown) Config Section from which to load plugin specific options

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.

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_pool_unused_timeout = 60

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

http_connect_timeout = None

(Integer) Request timeout value for communicating with Identity API server.

keyfile = None

(String) Required if identity server requires client certificate

Expand
Table 4.21. Description of libvirt configuration options
Configuration option = Default valueDescription

sysinfo_serial = auto

(String) The data source used to the populate the host "serial" UUID exposed to guest in the virtual BIOS.

images_rbd_pool = rbd

(String) The RADOS pool in which rbd volumes are stored

smbfs_mount_options =

(String) Mount options passed to the SMBFS client.

Provide SMBFS options as a single string containing all parameters. See mount.cifs man page for details. Note that the libvirt-qemu uid and gid must be specified.

enabled_perf_events =

(List) This is a performance event list which could be used as monitor. These events will be passed to libvirt domain xml while creating a new instances. Then event statistics data can be collected from libvirt. The minimum libvirt version is 2.0.0. For more information about Performance monitoring events, refer https://libvirt.org/formatdomain.html#elementsPerf .

Possible values:

* A string list. For example: enabled_perf_events = cmt, mbml, mbmt The supported events list can be found in https://libvirt.org/html/libvirt-libvirt-domain.html , which you may need to search key words VIR_PERF_PARAM_*

live_migration_uri = None

(String) Live migration target URI to use.

Override the default libvirt live migration target URI (which is dependent on virt_type). Any included "%s" is replaced with the migration target hostname.

If this option is set to None (which is the default), Nova will automatically generate the live_migration_uri value based on only 3 supported virt_type in following list:

* 'kvm': 'qemu+tcp://%s/system'

* 'qemu': 'qemu+tcp://%s/system'

* 'xen': 'xenmigr://%s/system'

Related options:

* live_migration_inbound_addr: If live_migration_inbound_addr value is not None, the ip/hostname address of target compute node is used instead of live_migration_uri as the uri for live migration.

* live_migration_scheme: If live_migration_uri is not set, the scheme used for live migration is taken from live_migration_scheme instead.

* Deprecated

live_migration_uri is deprecated for removal in favor of two other options that allow to change live migration scheme and target URI: live_migration_scheme and live_migration_inbound_addr respectively.

realtime_scheduler_priority = 1

(Integer) In a realtime host context vCPUs for guest will run in that scheduling priority. Priority depends on the host kernel (usually 1-99)

checksum_base_images = False

(Boolean) Write a checksum for files in _base to disk

* Deprecated

The image cache no longer periodically calculates checksums of stored images. Data integrity can be checked at the block or filesystem level.

live_migration_tunnelled = False

(Boolean) Enable tunnelled migration.

This option enables the tunnelled migration feature, where migration data is transported over the libvirtd connection. If enabled, we use the VIR_MIGRATE_TUNNELLED migration flag, avoiding the need to configure the network to allow direct hypervisor to hypervisor communication. If False, use the native transport. If not set, Nova will choose a sensible default based on, for example the availability of native encryption support in the hypervisor. Enable this option will definitely impact performance massively.

Note that this option is NOT compatible with use of block migration.

Possible values:

* Supersedes and (if set) overrides the deprecated 'live_migration_flag' and 'block_migration_flag' to enable tunneled migration.

checksum_interval_seconds = 3600

(Integer) How frequently to checksum base images

* Deprecated

The image cache no longer periodically calculates checksums of stored images. Data integrity can be checked at the block or filesystem level.

rescue_image_id = None

(String) The ID of the image to boot from to rescue data from a corrupted instance.

If the rescue REST API operation doesn’t provide an ID of an image to use, the image which is referenced by this ID is used. If this option is not set, the image from the instance is used.

Possible values:

* An ID of an image or nothing. If it points to an Amazon Machine Image (AMI), consider to set the config options rescue_kernel_id and rescue_ramdisk_id too. If nothing is set, the image of the instance is used.

Related options:

* rescue_kernel_id: If the chosen rescue image allows the separate definition of its kernel disk, the value of this option is used, if specified. This is the case when Amazon's AMI/AKI/ARI image format is used for the rescue image.

* rescue_ramdisk_id: If the chosen rescue image allows the separate definition of its RAM disk, the value of this option is used if, specified. This is the case when Amazon's AMI/AKI/ARI image format is used for the rescue image.

inject_key = False

(Boolean) Allow the injection of an SSH key at boot time.

There is no agent needed within the image to do this. If libguestfs is available on the host, it will be used. Otherwise nbd is used. The file system of the image will be mounted and the SSH key, which is provided in the REST API call will be injected as SSH key for the root user and appended to the authorized_keys of that user. The SELinux context will be set if necessary. Be aware that the injection is not possible when the instance gets launched from a volume.

This config option will enable directly modifying the instance disk and does not affect what cloud-init may do using data from config_drive option or the metadata service.

Related options:

* inject_partition: That option will decide about the discovery and usage of the file system. It also can disable the injection at all.

uid_maps =

(List) List of uid targets and ranges.Syntax is guest-uid:host-uid:countMaximum of 5 allowed.

hw_disk_discard = None

(String) Discard option for nova managed disks.

Requires:

* Libvirt >= 1.0.6

* Qemu >= 1.5 (raw format)

* Qemu >= 1.6 (qcow2 format)

live_migration_downtime = 500

(Integer) Maximum permitted downtime, in milliseconds, for live migration switchover.

Will be rounded up to a minimum of 100ms. You can increase this value if you want to allow live-migrations to complete faster, or avoid live-migration timeout errors by allowing the guest to be paused for longer during the live-migration switch over.

Related options:

* live_migration_completion_timeout

vzstorage_mount_group = qemu

(String) Mount owner group name.

This option defines the owner group of Vzstorage cluster mountpoint.

Related options:

* vzstorage_mount_* group of parameters

inject_partition = -2

(Integer) Determines the way how the file system is chosen to inject data into it.

_libguestfs_ will be used a first solution to inject data. If that's not available on the host, the image will be locally mounted on the host as a fallback solution. If libguestfs is not able to determine the root partition (because there are more or less than one root partition) or cannot mount the file system it will result in an error and the instance won't be boot.
Copy to Clipboard Toggle word wrap

Possible values:

* -2 ⇒ disable the injection of data.

* -1 ⇒ find the root partition with the file system to mount with libguestfs

* 0 ⇒ The image is not partitioned

* >0 ⇒ The number of the partition to use for the injection

Related options:

* inject_key: If this option allows the injection of a SSH key it depends on value greater or equal to -1 for inject_partition.

* inject_password: If this option allows the injection of an admin password it depends on value greater or equal to -1 for inject_partition.

* guestfs You can enable the debug log level of libguestfs with this config option. A more verbose output will help in debugging issues.

* virt_type: If you use lxc as virt_type it will be treated as a single partition image

connection_uri =

(String) Overrides the default libvirt URI of the chosen virtualization type.

If set, Nova will use this URI to connect to libvirt.

Possible values:

* An URI like qemu:///system or xen+ssh://oirase/ for example. This is only necessary if the URI differs to the commonly known URIs for the chosen virtualization type.

Related options:

* virt_type: Influences what is used as default value here.

num_aoe_discover_tries = 3

(Integer) Number of times to rediscover AoE target to find volume.

Nova provides support for block storage attaching to hosts via AOE (ATA over Ethernet). This option allows the user to specify the maximum number of retry attempts that can be made to discover the AoE device.

volume_clear = zero

(String) Method used to wipe ephemeral disks when they are deleted. Only takes effect if LVM is set as backing storage.

Possible values:

* none - do not wipe deleted volumes

* zero - overwrite volumes with zeroes

* shred - overwrite volume repeatedly

Related options:

* images_type - must be set to lvm

* volume_clear_size

snapshots_directory = $instances_path/snapshots

(String) Location where libvirt driver will store snapshots before uploading them to image service

wait_soft_reboot_seconds = 120

(Integer) Number of seconds to wait for instance to shut down after soft reboot request is made. We fall back to hard reboot if instance does not shutdown within this window.

inject_password = False

(Boolean) Allow the injection of an admin password for instance only at create and rebuild process.

There is no agent needed within the image to do this. If libguestfs is available on the host, it will be used. Otherwise nbd is used. The file system of the image will be mounted and the admin password, which is provided in the REST API call will be injected as password for the root user. If no root user is available, the instance won’t be launched and an error is thrown. Be aware that the injection is not possible when the instance gets launched from a volume.

Possible values:

* True: Allows the injection.

* False (default): Disallows the injection. Any via the REST API provided admin password will be silently ignored.

Related options:

* inject_partition: That option will decide about the discovery and usage of the file system. It also can disable the injection at all.

live_migration_permit_post_copy = False

(Boolean) This option allows nova to switch an on-going live migration to post-copy mode, i.e., switch the active VM to the one on the destination node before the migration is complete, therefore ensuring an upper bound on the memory that needs to be transferred. Post-copy requires libvirt>=1.3.3 and QEMU>=2.5.0.

When permitted, post-copy mode will be automatically activated if a live-migration memory copy iteration does not make percentage increase of at least 10% over the last iteration.

The live-migration force complete API also uses post-copy when permitted. If post-copy mode is not available, force complete falls back to pausing the VM to ensure the live-migration operation will complete.

When using post-copy mode, if the source and destination hosts loose network connectivity, the VM being live-migrated will need to be rebooted. For more details, please see the Administration guide.

Related options:

* live_migration_permit_auto_converge

quobyte_mount_point_base = $state_path/mnt

(String) Directory where the Quobyte volume is mounted on the compute node.

Nova supports Quobyte volume driver that enables storing Block Storage service volumes on a Quobyte storage back end. This Option sepcifies the path of the directory where Quobyte volume is mounted.

Possible values:

* A string representing absolute path of mount point.

cpu_mode = None

(String) Is used to set the CPU mode an instance should have.

If virt_type="kvm|qemu", it will default to "host-model", otherwise it will default to "none".

Possible values:

* host-model: Clones the host CPU feature flags.

* host-passthrough: Use the host CPU model exactly;

* custom: Use a named CPU model;

* none: Not set any CPU model.

Related options:

* cpu_model: If custom is used for cpu_mode, set this config option too, otherwise this would result in an error and the instance won’t be launched.

vzstorage_mount_opts =

(List) Extra mount options for pstorage-mount

For full description of them, see https://static.openvz.org/vz-man/man1/pstorage-mount.1.gz.html Format is a python string representation of arguments list, like: "['-v', '-R', '500']" Shouldn’t include -c, -l, -C, -u, -g and -m as those have explicit vzstorage_* options.

Related options:

* All other vzstorage_* options

glusterfs_mount_point_base = $state_path/mnt

(String) Absolute path to the directory where the glusterfs volume is mounted on the compute node.

volume_use_multipath = False

(Boolean) Use multipath connection of the iSCSI or FC volume

Volumes can be connected in the LibVirt as multipath devices. This will provide high availability and fault tolerance.

xen_hvmloader_path = /usr/lib/xen/boot/hvmloader

(String) Location where the Xen hvmloader is kept

live_migration_bandwidth = 0

(Integer) Maximum bandwidth(in MiB/s) to be used during migration.

If set to 0, the hypervisor will choose a suitable default. Some hypervisors do not support this feature and will return an error if bandwidth is not 0. Please refer to the libvirt documentation for further details.

snapshot_image_format = None

(String) Determine the snapshot image format when sending to the image service.

If set, this decides what format is used when sending the snapshot to the image service. If not set, defaults to same type as source image.

Possible values:

* raw: RAW disk format

* qcow2: KVM default disk format

* vmdk: VMWare default disk format

* vdi: VirtualBox default disk format

* If not set, defaults to same type as source image.

vzstorage_mount_user = stack

(String) Mount owner user name.

This option defines the owner user of Vzstorage cluster mountpoint.

Related options:

* vzstorage_mount_* group of parameters

live_migration_scheme = None

(String) Schema used for live migration.

Override the default libvirt live migration scheme (which is dependent on virt_type). If this option is set to None, nova will automatically choose a sensible default based on the hypervisor. It is not recommended that you change this unless you are very sure that hypervisor supports a particular scheme.

Related options:

* virt_type: This option is meaningful only when virt_type is set to kvm or qemu.

* live_migration_uri: If live_migration_uri value is not None, the scheme used for live migration is taken from live_migration_uri instead.

snapshot_compression = False

(Boolean) Enable snapshot compression for qcow2 images.

Note: you can set snapshot_image_format to qcow2 to force all snapshots to be in qcow2 format, independently from their original image type.

Related options:

* snapshot_image_format

vzstorage_cache_path = None

(String) Path to the SSD cache file.

You can attach an SSD drive to a client and configure the drive to store a local cache of frequently accessed data. By having a local cache on a client’s SSD drive, you can increase the overall cluster performance by up to 10 and more times. WARNING! There is a lot of SSD models which are not server grade and may loose arbitrary set of data changes on power loss. Such SSDs should not be used in Vstorage and are dangerous as may lead to data corruptions and inconsistencies. Please consult with the manual on which SSD models are known to be safe or verify it using vstorage-hwflush-check(1) utility.

This option defines the path which should include "%(cluster_name)s" template to separate caches from multiple shares.

Related options:

* vzstorage_mount_opts may include more detailed cache options.

gid_maps =

(List) List of guid targets and ranges.Syntax is guest-gid:host-gid:countMaximum of 5 allowed.

disk_cachemodes =

(List) Specific cache modes to use for different disk types.

For example: file=directsync,block=none,network=writeback

For local or direct-attached storage, it is recommended that you use writethrough (default) mode, as it ensures data integrity and has acceptable I/O performance for applications running in the guest, especially for read operations. However, caching mode none is recommended for remote NFS storage, because direct I/O operations (O_DIRECT) perform better than synchronous I/O operations (with O_SYNC). Caching mode none effectively turns all guest I/O operations into direct I/O operations on the host, which is the NFS client in this environment.

Possible cache modes:

* default: Same as writethrough.

* none: With caching mode set to none, the host page cache is disabled, but the disk write cache is enabled for the guest. In this mode, the write performance in the guest is optimal because write operations bypass the host page cache and go directly to the disk write cache. If the disk write cache is battery-backed, or if the applications or storage stack in the guest transfer data properly (either through fsync operations or file system barriers), then data integrity can be ensured. However, because the host page cache is disabled, the read performance in the guest would not be as good as in the modes where the host page cache is enabled, such as writethrough mode.

* writethrough: writethrough mode is the default caching mode. With caching set to writethrough mode, the host page cache is enabled, but the disk write cache is disabled for the guest. Consequently, this caching mode ensures data integrity even if the applications and storage stack in the guest do not transfer data to permanent storage properly (either through fsync operations or file system barriers). Because the host page cache is enabled in this mode, the read performance for applications running in the guest is generally better. However, the write performance might be reduced because the disk write cache is disabled.

* writeback: With caching set to writeback mode, both the host page cache and the disk write cache are enabled for the guest. Because of this, the I/O performance for applications running in the guest is good, but the data is not protected in a power failure. As a result, this caching mode is recommended only for temporary data where potential data loss is not a concern.

* directsync: Like "writethrough", but it bypasses the host page cache.

* unsafe: Caching mode of unsafe ignores cache transfer operations completely. As its name implies, this caching mode should be used only for temporary data where data loss is not a concern. This mode can be useful for speeding up guest installations, but you should switch to another caching mode in production environments.

live_migration_progress_timeout = 0

(Integer) Time to wait, in seconds, for migration to make forward progress in transferring data before aborting the operation.

Set to 0 to disable timeouts.

This is deprecated, and now disabled by default because we have found serious bugs in this feature that caused false live-migration timeout failures. This feature will be removed or replaced in a future release.

* Deprecated

Serious bugs found in this feature.

* Mutable

This option can be changed without restarting.

nfs_mount_point_base = $state_path/mnt

(String) Directory where the NFS volume is mounted on the compute node. The default is 'mnt' directory of the location where nova’s Python module is installed.

NFS provides shared storage for the OpenStack Block Storage service.

Possible values:

* A string representing absolute path of mount point.

live_migration_inbound_addr = None

(String) The IP address or hostname to be used as the target for live migration traffic.

If this option is set to None, the hostname of the migration target compute node will be used.

This option is useful in environments where the live-migration traffic can impact the network plane significantly. A separate network for live-migration traffic can then use this config option and avoids the impact on the management network.

Possible values:

* A valid IP address or hostname, else None.

use_usb_tablet = True

(Boolean) Enable a mouse cursor within a graphical VNC or SPICE sessions.

This will only be taken into account if the VM is fully virtualized and VNC and/or SPICE is enabled. If the node doesn’t support a graphical framebuffer, then it is valid to set this to False.

Related options:

* [vnc]enabled: If VNC is enabled, use_usb_tablet will have an effect.

* [spice]enabled + [spice].agent_enabled: If SPICE is enabled and the spice agent is disabled, the config value of use_usb_tablet will have an effect.

* Deprecated

This option is being replaced by the 'pointer_model' option.

virt_type = kvm

(String) Describes the virtualization type (or so called domain type) libvirt should use.

The choice of this type must match the underlying virtualization strategy you have chosen for this host.

Possible values:

* See the predefined set of case-sensitive values.

Related options:

* connection_uri: depends on this

* disk_prefix: depends on this

* cpu_mode: depends on this

* cpu_model: depends on this

rbd_user = None

(String) The RADOS client name for accessing rbd(RADOS Block Devices) volumes.

Libvirt will refer to this user when connecting and authenticating with the Ceph RBD server.

rescue_kernel_id = None

(String) The ID of the kernel (AKI) image to use with the rescue image.

If the chosen rescue image allows the separate definition of its kernel disk, the value of this option is used, if specified. This is the case when Amazon's AMI/AKI/ARI image format is used for the rescue image.

Possible values:

* An ID of an kernel image or nothing. If nothing is specified, the kernel disk from the instance is used if it was launched with one.

Related options:

* rescue_image_id: If that option points to an image in Amazon's AMI/AKI/ARI image format, it’s useful to use rescue_kernel_id too.

vzstorage_mount_point_base = $state_path/mnt

(String) Directory where the Virtuozzo Storage clusters are mounted on the compute node.

This option defines non-standard mountpoint for Vzstorage cluster.

Related options:

* vzstorage_mount_* group of parameters

cpu_model = None

(String) Set the name of the libvirt CPU model the instance should use.

Possible values:

* The names listed in /usr/share/libvirt/cpu_map.xml

Related options:

* cpu_mode: Don’t set this when cpu_mode is NOT set to custom. This would result in an error and the instance won’t be launched.

* virt_type: Only the virtualization types kvm and qemu use this.

quobyte_client_cfg = None

(String) Path to a Quobyte Client configuration file.

scality_sofs_config = None

(String) Path or URL to Scality SOFS(Scale-Out File Server) configuration file.

The Scality SOFS provides OpenStack users the option of storing their data on a high capacity, replicated, highly available Scality Ring object storage cluster.

remote_filesystem_transport = ssh

(String) libvirt’s transport method for remote file operations.

Because libvirt cannot use RPC to copy files over network to/from other compute nodes, other method must be used for:

* creating directory on remote host

* creating file on remote host

* removing file from remote host

* copying file to remote host

live_migration_downtime_delay = 75

(Integer) Time to wait, in seconds, between each step increase of the migration downtime.

Minimum delay is 3 seconds. Value is per GiB of guest RAM + disk to be transferred, with lower bound of a minimum of 2 GiB per device.

disk_prefix = None

(String) Override the default disk prefix for the devices attached to an instance.

If set, this is used to identify a free disk device name for a bus.

Possible values:

* Any prefix which will result in a valid disk device name like 'sda' or 'hda' for example. This is only necessary if the device names differ to the commonly known device name prefixes for a virtualization type such as: sd, xvd, uvd, vd.

Related options:

* virt_type: Influences which device type is used, which determines the default disk prefix.

images_type = default

(String) VM Images format.

If default is specified, then use_cow_images flag is used instead of this one.

Related options:

* virt.use_cow_images

* images_volume_group

iscsi_iface = None

(String) The iSCSI transport iface to use to connect to target in case offload support is desired.

Default format is of the form <transport_name>.<hwaddress> where <transport_name> is one of (be2iscsi, bnx2i, cxgb3i, cxgb4i, qla4xxx, ocs) and <hwaddress> is the MAC address of the interface and can be generated via the iscsiadm -m iface command. Do not confuse the iscsi_iface parameter to be provided here with the actual transport name.

vzstorage_mount_perms = 0770

(String) Mount access mode.

This option defines the access bits of Vzstorage cluster mountpoint, in the format similar to one of chmod(1) utility, like this: 0770. It consists of one to four digits ranging from 0 to 7, with missing lead digits assumed to be 0’s.

Related options:

* vzstorage_mount_* group of parameters

use_virtio_for_bridges = True

(Boolean) Use virtio for bridge interfaces with KVM/QEMU

nfs_mount_options = None

(String) Mount options passed to the NFS client. See section of the nfs man page for details.

Mount options controls the way the filesystem is mounted and how the NFS client behaves when accessing files on this mount point.

Possible values:

* Any string representing mount options separated by commas.

* Example string: vers=3,lookupcache=pos

image_info_filename_pattern = $instances_path/$image_cache_subdirectory_name/%(image)s.info

(String) Allows image information files to be stored in non-standard locations

* Deprecated

Image info files are no longer used by the image cache

vzstorage_log_path = /var/log/pstorage/%(cluster_name)s/nova.log.gz

(String) Path to vzstorage client log.

This option defines the log of cluster operations, it should include "%(cluster_name)s" template to separate logs from multiple shares.

Related options:

* vzstorage_mount_opts may include more detailed logging options.

rng_dev_path = None

(String) A path to a device that will be used as source of entropy on the host. Permitted options are: /dev/random or /dev/hwrng

images_volume_group = None

(String) LVM Volume Group that is used for VM images, when you specify images_type=lvm

Related options:

* images_type

hw_machine_type = None

(List) For qemu or KVM guests, set this option to specify a default machine type per host architecture. You can find a list of supported machine types in your environment by checking the output of the "virsh capabilities"command. The format of the value for this config option is host-arch=machine-type. For example: x86_64=machinetype1,armv7l=machinetype2

qemu_allowed_storage_drivers =

(List) Protocols listed here will be accessed directly from QEMU.

If gluster is present in qemu_allowed_storage_drivers, glusterfs’s backend will pass a disk configuration to QEMU. This allows QEMU to access the volume using libgfapi rather than mounting GlusterFS via fuse.

Possible values:

*

num_iser_scan_tries = 5

(Integer) Number of times to scan iSER target to find volume.

iSER is a server network protocol that extends iSCSI protocol to use Remote Direct Memory Access (RDMA). This option allows the user to specify the maximum number of scan attempts that can be made to find iSER volume.

iser_use_multipath = False

(Boolean) Use multipath connection of the iSER volume.

iSER volumes can be connected as multipath devices. This will provide high availability and fault tolerance.

rescue_ramdisk_id = None

(String) The ID of the RAM disk (ARI) image to use with the rescue image.

If the chosen rescue image allows the separate definition of its RAM disk, the value of this option is used, if specified. This is the case when Amazon's AMI/AKI/ARI image format is used for the rescue image.

Possible values:

* An ID of a RAM disk image or nothing. If nothing is specified, the RAM disk from the instance is used if it was launched with one.

Related options:

* rescue_image_id: If that option points to an image in Amazon's AMI/AKI/ARI image format, it’s useful to use rescue_ramdisk_id too.

live_migration_downtime_steps = 10

(Integer) Number of incremental steps to reach max downtime value.

Will be rounded up to a minimum of 3 steps.

rbd_secret_uuid = None

(String) The libvirt UUID of the secret for the rbd_user volumes.

remove_unused_resized_minimum_age_seconds = 3600

(Integer) Unused resized base images younger than this will not be removed

scality_sofs_mount_point = $state_path/scality

(String) Base dir where Scality SOFS shall be mounted.

The Scality volume driver in Nova mounts SOFS and lets the hypervisor access the volumes.

Possible values:

* $state_path/scality where state_path is a config option that specifies the top-level directory for maintaining nova’s state or Any string containing the full directory path.

volume_clear_size = 0

(Integer) Size of area in MiB, counting from the beginning of the allocated volume, that will be cleared using method set in volume_clear option.

Possible values:

* 0 - clear whole volume

* >0 - clear specified amount of MiB

Related options:

* images_type - must be set to lvm

* volume_clear - must be set and the value must be different than none for this option to have any impact

sparse_logical_volumes = False

(Boolean) Create sparse logical volumes (with virtualsize) if this flag is set to True.

images_rbd_ceph_conf =

(String) Path to the ceph configuration file to use

live_migration_completion_timeout = 800

(Integer) Time to wait, in seconds, for migration to successfully complete transferring data before aborting the operation.

Value is per GiB of guest RAM + disk to be transferred, with lower bound of a minimum of 2 GiB. Should usually be larger than downtime delay * downtime steps. Set to 0 to disable timeouts.

Related options:

* live_migration_downtime

* live_migration_downtime_steps

* live_migration_downtime_delay

* Mutable

This option can be changed without restarting.

live_migration_permit_auto_converge = False

(Boolean) This option allows nova to start live migration with auto converge on.

Auto converge throttles down CPU if a progress of on-going live migration is slow. Auto converge will only be used if this flag is set to True and post copy is not permitted or post copy is unavailable due to the version of libvirt and QEMU in use.

Related options:

* live_migration_permit_post_copy

num_volume_scan_tries = 5

(Integer) Number of times to scan given storage protocol to find volume.

mem_stats_period_seconds = 10

(Integer) A number of seconds to memory usage statistics period. Zero or negative value mean to disable memory usage statistics.

smbfs_mount_point_base = $state_path/mnt

(String) Directory where the SMBFS shares are mounted on the compute node.

Expand
Table 4.22. Description of matchmaker_redis configuration options
Configuration option = Default valueDescription

host = 127.0.0.1

(String) Host to locate redis.

* Deprecated

Replaced by [DEFAULT]/transport_url

port = 6379

(Port number) Use this port to connect to redis host.

* Deprecated

Replaced by [DEFAULT]/transport_url

password =

(String) Password for Redis server (optional).

* Deprecated

Replaced by [DEFAULT]/transport_url

sentinel_hosts =

(List) List of Redis Sentinel hosts (fault tolerance mode), e.g., [host:port, host1:port …​ ]

* Deprecated

Replaced by [DEFAULT]/transport_url

sentinel_group_name = oslo-messaging-zeromq

(String) Redis replica set name.

wait_timeout = 2000

(Integer) Time in ms to wait between connection attempts.

check_timeout = 20000

(Integer) Time in ms to wait before the transaction is killed.

socket_timeout = 10000

(Integer) Timeout in ms on blocking socket operations.

Expand
Table 4.23. Description of metrics configuration options
Configuration option = Default valueDescription

required = True

(Boolean) This setting determines how any unavailable metrics are treated. If this option is set to True, any hosts for which a metric is unavailable will raise an exception, so it is recommended to also use the MetricFilter to filter out those hosts before weighing.

This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect.

Possible values:

  • True or False, where False ensures any metric being unavailable for a host will set the host weight to 'weight_of_unavailable'.

Related options:

  • weight_of_unavailable

weight_multiplier = 1.0

(Floating point) When using metrics to weight the suitability of a host, you can use this option to change how the calculated weight influences the weight assigned to a host as follows:

* >1.0: increases the effect of the metric on overall weight

* 1.0: no change to the calculated weight

* >0.0,<1.0: reduces the effect of the metric on overall weight

* 0.0: the metric value is ignored, and the value of the 'weight_of_unavailable' option is returned instead

* >-1.0,<0.0: the effect is reduced and reversed

* -1.0: the effect is reversed

* ←1.0: the effect is increased proportionally and reversed

This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect.

Possible values:

* An integer or float value, where the value corresponds to the multipler ratio for this weigher.

Related options:

* weight_of_unavailable

weight_of_unavailable = -10000.0

(Floating point) When any of the following conditions are met, this value will be used in place of any actual metric value:

* One of the metrics named in 'weight_setting' is not available for a host, and the value of 'required' is False

* The ratio specified for a metric in 'weight_setting' is 0

* The 'weight_multiplier' option is set to 0

This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect.

Possible values:

* An integer or float value, where the value corresponds to the multipler ratio for this weigher.

Related options:

* weight_setting

* required

* weight_multiplier

weight_setting =

(List) This setting specifies the metrics to be weighed and the relative ratios for each metric. This should be a single string value, consisting of a series of one or more 'name=ratio' pairs, separated by commas, where 'name' is the name of the metric to be weighed, and 'ratio' is the relative weight for that metric.

Note that if the ratio is set to 0, the metric value is ignored, and instead the weight will be set to the value of the 'weight_of_unavailable' option.

As an example, let’s consider the case where this option is set to:

name1=1.0, name2=-1.3

The final weight will be:

(name1.value * 1.0) + (name2.value * -1.3)

This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect.

Possible values:

* A list of zero or more key/value pairs separated by commas, where the key is a string representing the name of a metric and the value is a numeric weight for that metric. If any value is set to 0, the value is ignored and the weight will be set to the value of the 'weight_of_unavailable' option.

Related options:

* weight_of_unavailable

Expand
Table 4.24. Description of neutron configuration options
Configuration option = Default valueDescription

default_floating_pool = nova

(String) Default name for the floating IP pool.

Specifies the name of floating IP pool used for allocating floating IPs. This option is only used if Neutron does not specify the floating IP pool name in port binding reponses.

auth_type = None

(Unknown) Authentication type to load

service_metadata_proxy = False

(Boolean) When set to True, this option indicates that Neutron will be used to proxy metadata requests and resolve instance ids. Otherwise, the instance ID must be passed to the metadata request in the 'X-Instance-ID' header.

Related options:

* metadata_proxy_shared_secret

region_name = RegionOne

(String) Region name for connecting to Neutron in admin context.

This option is used in multi-region setups. If there are two Neutron servers running in two regions in two different machines, then two services need to be created in Keystone with two different regions and associate corresponding endpoints to those services. When requests are made to Keystone, the Keystone service uses the region_name to determine the region the request is coming from.

url = http://127.0.0.1:9696

(URI) This option specifies the URL for connecting to Neutron.

Possible values:

* Any valid URL that points to the Neutron API service is appropriate here. This typically matches the URL returned for the 'network' service type from the Keystone service catalog.

cafile = None

(String) PEM encoded Certificate Authority to use when verifying HTTPs connections.

insecure = False

(Boolean) Verify HTTPS connections.

extension_sync_interval = 600

(Integer) Integer value representing the number of seconds to wait before querying Neutron for extensions. After this number of seconds the next time Nova needs to create a resource in Neutron it will requery Neutron for the extensions that it has loaded. Setting value to 0 will refresh the extensions with no wait.

timeout = None

(Integer) Timeout value for http requests

certfile = None

(String) PEM encoded client certificate cert file

ovs_bridge = br-int

(String) Default name for the Open vSwitch integration bridge.

Specifies the name of an integration bridge interface used by OpenvSwitch. This option is only used if Neutron does not specify the OVS bridge name in port binding responses.

keyfile = None

(String) PEM encoded client certificate key file

auth_section = None

(Unknown) Config Section from which to load plugin specific options

metadata_proxy_shared_secret =

(String) This option holds the shared secret string used to validate proxy requests to Neutron metadata requests. In order to be used, the 'X-Metadata-Provider-Signature' header must be supplied in the request.

Related options:

* service_metadata_proxy

Expand
Table 4.25. Description of notifications configuration options
Configuration option = Default valueDescription

default_level = INFO

(String) Default notification level for outgoing notifications.

notification_format = both

(String) Specifies which notification format shall be used by nova.

The default value is fine for most deployments and rarely needs to be changed. This value can be set to 'versioned' once the infrastructure moves closer to consuming the newer format of notifications. After this occurs, this option will be removed (possibly in the "P" release).

Possible values:

* unversioned: Only the legacy unversioned notifications are emitted.

* versioned: Only the new versioned notifications are emitted.

* both: Both the legacy unversioned and the new versioned notifications are emitted. (Default)

The list of versioned notifications is visible in http://docs.openstack.org/developer/nova/notifications.html

notify_on_state_change = None

(String) If set, send compute.instance.update notifications on instance state changes.

Please refer to https://wiki.openstack.org/wiki/SystemUsageData for additional information on notifications.

Possible values:

* None - no notifications

* "vm_state" - notifications on VM state changes

* "vm_and_task_state" - notifications on VM and task state changes

notify_on_api_faults = False

(Boolean) If enabled, send api.fault notifications on caught exceptions in the API service.

default_publisher_id = $my_ip

(String) Default publisher_id for outgoing notifications. If you consider routing notifications using different publisher, change this value accordingly.

Possible values:

* Defaults to the IPv4 address of this host, but it can be any valid oslo.messaging publisher_id

Related options:

* my_ip - IP address of this host

versioned_notifications_topics = versioned_notifications

(List) Specifies the topics for the versioned notifications issued by nova.

The default value is fine for most deployments and rarely needs to be changed. However, if you have a third-party service that consumes versioned notifications, it might be worth getting a topic for that service. Nova will send a message containing a versioned notification payload to each topic queue in this list.

The list of versioned notifications is visible in http://docs.openstack.org/developer/nova/notifications.html

Expand
Table 4.26. Description of osapi_v21 configuration options
Configuration option = Default valueDescription

project_id_regex = None

(String) This option is a string representing a regular expression (regex) that matches the project_id as contained in URLs. If not set, it will match normal UUIDs created by keystone.

Possible values:

* A string representing any legal regular expression

* Deprecated

Recent versions of nova constrain project IDs to hexadecimal characters and dashes. If your installation uses IDs outside of this range, you should use this option to provide your own regex and give you time to migrate offending projects to valid IDs before the next release.

Expand
Table 4.27. Description of oslo_concurrency configuration options
Configuration option = Default valueDescription

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.

Expand
Table 4.28. Description of oslo_messaging_amqp configuration options
Configuration option = Default valueDescription

container_name = None

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

idle_timeout = 0

(Integer) Timeout for inactive connections (in seconds)

trace = False

(Boolean) Debug: dump AMQP frames to stdout

ssl = False

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

ssl_ca_file =

(String) CA certificate PEM file used to verify the server’s certificate

ssl_cert_file =

(String) Self-identifying certificate PEM file for client authentication

ssl_key_file =

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

ssl_key_password = None

(String) Password for decrypting ssl_key_file (if encrypted)

allow_insecure_clients = False

(Boolean) Accept clients using either SSL or plain TCP

* Deprecated

Not applicable - not a SSL server

sasl_mechanisms =

(String) Space separated list of acceptable SASL mechanisms

sasl_config_dir =

(String) Path to directory that contains the SASL configuration

sasl_config_name =

(String) Name of configuration file (without .conf suffix)

sasl_default_realm =

(String) SASL realm to use if no realm present in username

username =

(String) User name for message broker authentication

* Deprecated

Should use configuration option transport_url to provide the username.

password =

(String) Password for message broker authentication

* Deprecated

Should use configuration option transport_url to provide the password.

connection_retry_interval = 1

(Integer) Seconds to pause before attempting to re-connect.

connection_retry_backoff = 2

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

connection_retry_interval_max = 30

(Integer) Maximum limit for connection_retry_interval + connection_retry_backoff

link_retry_delay = 10

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

default_reply_retry = 0

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

default_reply_timeout = 30

(Integer) The deadline for an rpc reply message delivery.

default_send_timeout = 30

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

default_notify_timeout = 30

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

default_sender_link_timeout = 600

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

addressing_mode = dynamic

(String) 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

server_request_prefix = exclusive

(String) address prefix used when sending to a specific server

broadcast_prefix = broadcast

(String) address prefix used when broadcasting to all servers

group_request_prefix = unicast

(String) address prefix when sending to any server in group

rpc_address_prefix = openstack.org/om/rpc

(String) Address prefix for all generated RPC addresses

notify_address_prefix = openstack.org/om/notify

(String) Address prefix for all generated Notification addresses

multicast_address = multicast

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

unicast_address = unicast

(String) 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 = anycast

(String) 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 = None

(String) 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 = None

(String) 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 = 200

(Integer) Window size for incoming RPC Reply messages.

rpc_server_credit = 100

(Integer) Window size for incoming RPC Request messages

notify_server_credit = 100

(Integer) Window size for incoming Notification messages

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

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

Expand
Table 4.29. Description of oslo_messaging_notifications configuration options
Configuration option = Default valueDescription

driver = []

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

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.

topics = notifications

(List) AMQP topic used for OpenStack notifications.

retry = -1

(Integer) 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

Expand
Table 4.30. Description of oslo_messaging_rabbit configuration options
Configuration option = Default valueDescription

amqp_durable_queues = False

(Boolean) Use durable queues in AMQP.

amqp_auto_delete = False

(Boolean) Auto-delete queues in AMQP.

ssl = False

(Boolean) Connect over SSL.

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.

ssl_key_file =

(String) SSL key file (valid only if SSL enabled).

ssl_cert_file =

(String) SSL cert file (valid only if SSL enabled).

ssl_ca_file =

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

kombu_reconnect_delay = 1.0

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

kombu_compression = None

(String) 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 = 60

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

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

rabbit_host = localhost

(String) The RabbitMQ broker address where a single node is used.

* Deprecated

Replaced by [DEFAULT]/transport_url

rabbit_port = 5672

(Port number) The RabbitMQ broker port where a single node is used.

* Deprecated

Replaced by [DEFAULT]/transport_url

rabbit_hosts = $rabbit_host:$rabbit_port

(List) RabbitMQ HA cluster host:port pairs.

* Deprecated

Replaced by [DEFAULT]/transport_url

rabbit_userid = guest

(String) The RabbitMQ userid.

* Deprecated

Replaced by [DEFAULT]/transport_url

rabbit_password = guest

(String) The RabbitMQ password.

* Deprecated

Replaced by [DEFAULT]/transport_url

rabbit_login_method = AMQPLAIN

(String) The RabbitMQ login method.

rabbit_virtual_host = /

(String) The RabbitMQ virtual host.

* Deprecated

Replaced by [DEFAULT]/transport_url

rabbit_retry_interval = 1

(Integer) How frequently to retry connecting with RabbitMQ.

rabbit_retry_backoff = 2

(Integer) How long to backoff for between retries when connecting to RabbitMQ.

rabbit_interval_max = 30

(Integer) Maximum interval of RabbitMQ connection retries. Default is 30 seconds.

rabbit_max_retries = 0

(Integer) Maximum number of RabbitMQ connection retries. Default is 0 (infinite retry count).

* Deprecated

No deprecation reason provided for this option.

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

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

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

heartbeat_rate = 2

(Integer) How often times during the heartbeat_timeout_threshold we check the heartbeat.

fake_rabbit = False

(Boolean) Deprecated, use rpc_backend=kombu+memory or rpc_backend=fake

channel_max = None

(Integer) Maximum number of channels to allow

frame_max = None

(Integer) The maximum byte size for an AMQP frame

heartbeat_interval = 3

(Integer) How often to send heartbeats for consumer’s connections

ssl_options = None

(Dict) Arguments passed to ssl.wrap_socket

socket_timeout = 0.25

(Floating point) Set socket timeout in seconds for connection’s socket

tcp_user_timeout = 0.25

(Floating point) Set TCP_USER_TIMEOUT in seconds for connection’s socket

host_connection_reconnect_delay = 0.25

(Floating point) Set delay for reconnection to some host which has connection error

connection_factory = single

(String) Connection factory implementation

pool_max_size = 30

(Integer) Maximum number of connections to keep queued.

pool_max_overflow = 0

(Integer) Maximum number of connections to create above pool_max_size.

pool_timeout = 30

(Integer) Default number of seconds to wait for a connections to available

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.

default_serializer_type = json

(String) Default serialization mechanism for serializing/deserializing outgoing/incoming messages

notification_persistence = False

(Boolean) Persist notification messages.

default_notification_exchange = ${control_exchange}_notification

(String) Exchange name for sending notifications

notification_listener_prefetch_count = 100

(Integer) Max number of not acknowledged message which RabbitMQ can send to notification listener.

default_notification_retry_attempts = -1

(Integer) Reconnecting retry count in case of connectivity problem during sending notification, -1 means infinite retry.

notification_retry_delay = 0.25

(Floating point) Reconnecting retry delay in case of connectivity problem during sending notification message

rpc_queue_expiration = 60

(Integer) Time to live for rpc queues without consumers in seconds.

default_rpc_exchange = ${control_exchange}_rpc

(String) Exchange name for sending RPC messages

rpc_reply_exchange = ${control_exchange}_rpc_reply

(String) Exchange name for receiving RPC replies

rpc_listener_prefetch_count = 100

(Integer) Max number of not acknowledged message which RabbitMQ can send to rpc listener.

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.

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 than one time

rpc_retry_delay = 0.25

(Floating point) Reconnecting retry delay in case of connectivity problem during sending RPC message

Expand
Table 4.31. Description of oslo_middleware configuration options
Configuration option = Default valueDescription

max_request_body_size = 114688

(Integer) The maximum body size for each request, in bytes.

secure_proxy_ssl_header = X-Forwarded-Proto

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

* Deprecated

No deprecation reason provided for this option.

enable_proxy_headers_parsing = False

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

Expand
Table 4.32. Description of oslo_policy configuration options
Configuration option = Default valueDescription

policy_file = policy.json

(String) The file that defines policies.

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.

Expand
Table 4.33. Description of oslo_versionedobjects configuration options
Configuration option = Default valueDescription

fatal_exception_format_errors = False

(Boolean) Make exception message format errors fatal

Expand
Table 4.34. Description of pci configuration options
Configuration option = Default valueDescription

alias = []

(Multi-valued) An alias for a PCI passthrough device requirement.

This allows users to specify the alias in the extra_spec for a flavor, without needing to repeat all the PCI property requirements.

Possible Values:

* A list of JSON values which describe the aliases. For example:

alias = { "name": "QuickAssist", "product_id": "0443", "vendor_id": "8086", "device_type": "type-PCI" }

defines an alias for the Intel QuickAssist card. (multi valued). Valid key values are :

* "name": Name of the PCI alias.

* "product_id": Product ID of the device in hexadecimal.

* "vendor_id": Vendor ID of the device in hexadecimal.

* "device_type": Type of PCI device. Valid values are: "type-PCI", "type-PF" and "type-VF".

passthrough_whitelist = []

(Multi-valued) White list of PCI devices available to VMs.

Possible values:

* A JSON dictionary which describe a whitelisted PCI device. It should take the following format:

["vendor_id": "<id>",] ["product_id": "<id>",] ["address": "[[[[<domain>]:]<bus>]:][<slot>][.[<function>]]"

"devname": "<name>",] {"<tag>": "<tag_value>",}

Where '[' indicates zero or one occurrences, '{' indicates zero or multiple occurrences, and '

' mutually exclusive options. Note that any missing fields are automatically wildcarded.

Valid key values are :

* "vendor_id": Vendor ID of the device in hexadecimal.

* "product_id": Product ID of the device in hexadecimal.

* "address": PCI address of the device.

* "devname": Device name of the device (for e.g. interface name). Not all PCI devices have a name.

* "<tag>": Additional <tag> and <tag_value> used for matching PCI devices. Supported <tag>: "physical_network".

The address key supports traditional glob style and regular expression syntax. Valid examples are:

passthrough_whitelist = {"devname":"eth0", "physical_network":"physnet"} passthrough_whitelist = {"address":" :0a:00."} passthrough_whitelist = {"address":":0a:00.", "physical_network":"physnet1"} passthrough_whitelist = {"vendor_id":"1137", "product_id":"0071"} passthrough_whitelist = {"vendor_id":"1137", "product_id":"0071", "address": "0000:0a:00.1", "physical_network":"physnet1"} passthrough_whitelist = {"address":{"domain": ".", "bus": "02", "slot": "01", "function": "[2-7]"}, "physical_network":"physnet1"} passthrough_whitelist = {"address":{"domain": ".", "bus": "02", "slot": "0[1-2]", "function": ".*"}, "physical_network":"physnet1"}

The following are invalid, as they specify mutually exclusive options:

passthrough_whitelist = {"devname":"eth0", "physical_network":"physnet", "address":" :0a:00."}

* A JSON list of JSON dictionaries corresponding to the above format. For example:

passthrough_whitelist = [{"product_id":"0001", "vendor_id":"8086"}, {"product_id":"0002", "vendor_id":"8086"}]

Expand
Table 4.35. Description of placement configuration options
Configuration option = Default valueDescription

auth_type = None

(Unknown) Authentication type to load

certfile = None

(String) PEM encoded client certificate cert file

timeout = None

(Integer) Timeout value for http requests

keyfile = None

(String) PEM encoded client certificate key file

insecure = False

(Boolean) Verify HTTPS connections.

os_interface = None

(String) Endpoint interface for this node. This is used when picking the URL in the service catalog.

os_region_name = None

(String) Region name of this node. This is used when picking the URL in the service catalog.

Possible values:

* Any string representing region name

cafile = None

(String) PEM encoded Certificate Authority to use when verifying HTTPs connections.

auth_section = None

(Unknown) Config Section from which to load plugin specific options

Expand
Table 4.36. Description of privsep_osbrick configuration options
Configuration option = Default valueDescription

helper_command = None

(String) Command to invoke to start the privsep daemon if not using the "fork" method. If not specified, a default is generated using "sudo privsep-helper" and arguments designed to recreate the current configuration. This command must accept suitable --privsep_context and --privsep_sock_path arguments.

group = None

(String) Group that the privsep daemon should run as.

user = None

(String) User that the privsep daemon should run as.

capabilities = []

(Unknown) List of Linux capabilities retained by the privsep daemon.

Expand
Table 4.37. Description of profiler configuration options
Configuration option = Default valueDescription

es_scroll_size = 10000

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

socket_timeout = 0.1

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

es_scroll_time = 2m

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

enabled = False

(Boolean) Enables 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.

es_doc_type = notification

(String) Document type for notification indexing in elasticsearch.

hmac_keys = SECRET_KEY

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

sentinel_service_name = mymaster

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

trace_sqlalchemy = False

(Boolean) Enables 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.

connection_string = messaging://

(String) 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 notifications.

* mongodb://127.0.0.1:27017 : use mongodb driver for sending notifications.

* elasticsearch://127.0.0.1:9200 : use elasticsearch driver for sending notifications.

Expand
Table 4.38. Description of quota configuration options
Configuration option = Default valueDescription

metadata_items = 128

(Integer) The number of metadata items allowed per instance.

Users can associate metadata with an instance during instance creation. This metadata takes the form of key-value pairs.

Possible values:

* A positive integer or 0.

* -1 to disable the quota.

injected_file_content_bytes = 10240

(Integer) The number of bytes allowed per injected file.

Possible values:

* A positive integer or 0.

* -1 to disable the quota.

max_age = 0

(Integer) The number of seconds between subsequent usage refreshes.

This defaults to 0 (off) to avoid additional load but it is useful to turn on to help keep quota usage up-to-date and reduce the impact of out of sync usage issues. Note that quotas are not updated on a periodic task, they will update on a new reservation if max_age has passed since the last reservation.

server_group_members = 10

(Integer) The maximum number of servers per server group.

Possible values:

* A positive integer or 0.

* -1 to disable the quota.

server_groups = 10

(Integer) The maxiumum number of server groups per project.

Server groups are used to control the affinity and anti-affinity scheduling policy for a group of servers or instances. Reducing the quota will not affect any existing group, but new servers will not be allowed into groups that have become over quota.

Possible values:

* A positive integer or 0.

* -1 to disable the quota.

until_refresh = 0

(Integer) The count of reservations until usage is refreshed.

This defaults to 0 (off) to avoid additional load but it is useful to turn on to help keep quota usage up-to-date and reduce the impact of out of sync usage issues.

injected_file_path_length = 255

(Integer) The maximum allowed injected file path length.

Possible values:

* A positive integer or 0.

* -1 to disable the quota.

ram = 51200

(Integer) The number of megabytes of instance RAM allowed per project.

Possible values:

* A positive integer or 0.

* -1 to disable the quota.

driver = nova.quota.DbQuotaDriver

(String) The quota enforcer driver.

Provides abstraction for quota checks. Users can configure a specific driver to use for quota checks.

Possible values:

* nova.quota.DbQuotaDriver (default) or any string representing fully qualified class name.

* Deprecated

No deprecation reason provided for this option.

floating_ips = 10

(Integer) The number of floating IPs allowed per project.

Floating IPs are not allocated to instances by default. Users need to select them from the pool configured by the OpenStack administrator to attach to their instances.

Possible values:

* A positive integer or 0.

* -1 to disable the quota.

* Deprecated

nova-network is deprecated, as are any related configuration options.

security_group_rules = 20

(Integer) The number of security rules per security group.

The associated rules in each security group control the traffic to instances in the group.

Possible values:

* A positive integer or 0.

* -1 to disable the quota.

* Deprecated

nova-network is deprecated, as are any related configuration options.

instances = 10

(Integer) The number of instances allowed per project.

Possible Values

* A positive integer or 0.

* -1 to disable the quota.

key_pairs = 100

(Integer) The maximum number of key pairs allowed per user.

Users can create at least one key pair for each project and use the key pair for multiple instances that belong to that project.

Possible values:

* A positive integer or 0.

* -1 to disable the quota.

injected_files = 5

(Integer) The number of injected files allowed.

File injection allows users to customize the personality of an instance by injecting data into it upon boot. Only text file injection is permitted: binary or ZIP files are not accepted. During file injection, any existing files that match specified files are renamed to include .bak extension appended with a timestamp.

Possible values:

* A positive integer or 0.

* -1 to disable the quota.

cores = 20

(Integer) The number of instance cores or vCPUs allowed per project.

Possible values:

* A positive integer or 0.

* -1 to disable the quota.

fixed_ips = -1

(Integer) The number of fixed IPs allowed per project.

Unlike floating IPs, fixed IPs are allocated dynamically by the network component when instances boot up. This quota value should be at least the number of instances allowed

Possible values:

* A positive integer or 0.

* -1 to disable the quota.

* Deprecated

nova-network is deprecated, as are any related configuration options.

reservation_expire = 86400

(Integer) The number of seconds until a reservation expires.

This quota represents the time period for invalidating quota reservations.

security_groups = 10

(Integer) The number of security groups per project.

Possible values:

* A positive integer or 0.

* -1 to disable the quota.

* Deprecated

nova-network is deprecated, as are any related configuration options.

Expand
Table 4.39. Description of remote_debug configuration options
Configuration option = Default valueDescription

host = None

(Host address) Debug host (IP or name) to connect to. This command line parameter is used when you want to connect to a nova service via a debugger running on a different host.

Note that using the remote debug option changes how Nova uses the eventlet library to support async IO. This could result in failures that do not occur under normal operation. Use at your own risk.

Possible Values:

* IP address of a remote host as a command line parameter to a nova service. For Example:

/usr/local/bin/nova-compute --config-file /etc/nova/nova.conf --remote_debug-host <IP address where the debugger is running>

port = None

(Port number) Debug port to connect to. This command line parameter allows you to specify the port you want to use to connect to a nova service via a debugger running on different host.

Note that using the remote debug option changes how Nova uses the eventlet library to support async IO. This could result in failures that do not occur under normal operation. Use at your own risk.

Possible Values:

* Port number you want to use as a command line parameter to a nova service. For Example:

/usr/local/bin/nova-compute --config-file /etc/nova/nova.conf --remote_debug-host <IP address where the debugger is running> --remote_debug-port <port> it’s listening on>.

Expand
Table 4.40. Description of scheduler configuration options
Configuration option = Default valueDescription

discover_hosts_in_cells_interval = -1

(Integer) Periodic task interval.

This value controls how often (in seconds) the scheduler should attempt to discover new hosts that have been added to cells. If negative (the default), no automatic discovery will occur.

Deployments where compute nodes come and go frequently may want this enabled, where others may prefer to manually discover hosts when one is added to avoid any overhead from constantly checking. If enabled, every time this runs, we will select any unmapped hosts out of each cell database on every run.

driver = filter_scheduler

(String) The class of the driver used by the scheduler.

The options are chosen from the entry points under the namespace 'nova.scheduler.driver' in 'setup.cfg'.

Possible values:

* A string, where the string corresponds to the class name of a scheduler driver. There are a number of options available: 'caching_scheduler', which aggressively caches the system state for better individual scheduler performance at the risk of more retries when running multiple schedulers 'chance_scheduler', which simply picks a host at random ** 'fake_scheduler', which is used for testing

periodic_task_interval = 60

(Integer) Periodic task interval.

This value controls how often (in seconds) to run periodic tasks in the scheduler. The specific tasks that are run for each period are determined by the particular scheduler being used.

If this is larger than the nova-service 'service_down_time' setting, Nova may report the scheduler service as down. This is because the scheduler driver is responsible for sending a heartbeat and it will only do that as often as this option allows. As each scheduler can work a little differently than the others, be sure to test this with your selected scheduler.

Possible values:

* An integer, where the integer corresponds to periodic task interval in seconds. 0 uses the default interval (60 seconds). A negative value disables periodic tasks.

Related options:

* nova-service service_down_time

host_manager = host_manager

(String) The scheduler host manager to use.

The host manager manages the in-memory picture of the hosts that the scheduler uses. The options values are chosen from the entry points under the namespace 'nova.scheduler.host_manager' in 'setup.cfg'.

max_attempts = 3

(Integer) Maximum number of schedule attempts for a chosen host.

This is the maximum number of attempts that will be made to schedule an instance before it is assumed that the failures aren’t due to normal occasional race conflicts, but rather some other problem. When this is reached a MaxRetriesExceeded exception is raised, and the instance is set to an error state.

Possible values:

* A positive integer, where the integer corresponds to the max number of attempts that can be made when scheduling an instance.

Expand
Table 4.41. Description of serial_console configuration options
Configuration option = Default valueDescription

serialproxy_port = 6083

(Port number) The port number which is used by the nova-serialproxy service to listen for incoming requests.

The nova-serialproxy service listens on this port number for incoming connection requests to instances which expose serial console.

Related options:

* Ensure that this is the same port number which is defined in the option base_url of this section.

enabled = False

(Boolean) Enable the serial console feature.

In order to use this feature, the service nova-serialproxy needs to run. This service is typically executed on the controller node.

base_url = ws://127.0.0.1:6083/

(URI) The URL an end user would use to connect to the nova-serialproxy service.

The nova-serialproxy service is called with this token enriched URL and establishes the connection to the proper instance.

Related options:

* The IP address must be identical to the address to which the nova-serialproxy service is listening (see option serialproxy_host in this section).

* The port must be the same as in the option serialproxy_port of this section.

* If you choose to use a secured websocket connection, then start this option with wss:// instead of the unsecured ws://. The options cert and key in the [DEFAULT] section have to be set for that.

port_range = 10000:20000

(String) A range of TCP ports a guest can use for its backend.

Each instance which gets created will use one port out of this range. If the range is not big enough to provide another port for an new instance, this instance won’t get launched.

Possible values:

* Each string which passes the regex \d+:\d+ For example 10000:20000. Be sure that the first port number is lower than the second port number and that both are in range from 0 to 65535.

proxyclient_address = 127.0.0.1

(String) The IP address to which proxy clients (like nova-serialproxy) should connect to get the serial console of an instance.

This is typically the IP address of the host of a nova-compute service.

serialproxy_host = 0.0.0.0

(String) The IP address which is used by the nova-serialproxy service to listen for incoming requests.

The nova-serialproxy service listens on this IP address for incoming connection requests to instances which expose serial console.

Related options:

* Ensure that this is the same IP address which is defined in the option base_url of this section or use 0.0.0.0 to listen on all addresses.

Expand
Table 4.42. Description of service_user configuration options
Configuration option = Default valueDescription

auth_type = None

(Unknown) Authentication type to load

send_service_user_token = False

(Boolean) When True, if sending a user token to an REST API, also send a service token.

Nova often reuses the user token provided to the nova-api to talk to other REST APIs, such as Cinder and Neutron. It is possible that while the user token was valid when the request was made to Nova, the token may expire before it reaches the other service. To avoid any failures, and to make it clear it is Nova calling the service on the users behalf, we include a server token along with the user token. Should the user’s token have expired, a valid service token ensures the REST API request will still be accepted by the keystone middleware.

This feature is currently experimental, and as such is turned off by default while full testing and performance tuning of this feature is completed.

certfile = None

(String) PEM encoded client certificate cert file

keyfile = None

(String) PEM encoded client certificate key file

insecure = False

(Boolean) Verify HTTPS connections.

timeout = None

(Integer) Timeout value for http requests

cafile = None

(String) PEM encoded Certificate Authority to use when verifying HTTPs connections.

auth_section = None

(Unknown) Config Section from which to load plugin specific options

Expand
Table 4.43. Description of spice configuration options
Configuration option = Default valueDescription

server_listen = 127.0.0.1

(String) The address where the SPICE server running on the instances should listen.

Typically, the nova-spicehtml5proxy proxy client runs on the controller node and connects over the private network to this address on the compute node(s).

Possible values:

* IP address to listen on.

html5proxy_port = 6082

(Port number) Port on which the nova-spicehtml5proxy service listens for incoming requests.

Related options:

* This option depends on the html5proxy_base_url option. The nova-spicehtml5proxy service must be listening on a port that is accessible from the HTML5 client.

enabled = False

(Boolean) Enable SPICE related features.

Related options:

* VNC must be explicitly disabled to get access to the SPICE console. Set the enabled option to False in the [vnc] section to disable the VNC console.

server_proxyclient_address = 127.0.0.1

(String) The address used by nova-spicehtml5proxy client to connect to instance console.

Typically, the nova-spicehtml5proxy proxy client runs on the controller node and connects over the private network to this address on the compute node(s).

Possible values:

* Any valid IP address on the compute node.

Related options:

* This option depends on the server_listen option. The proxy client must be able to access the address specified in server_listen using the value of this option.

agent_enabled = True

(Boolean) Enable the SPICE guest agent support on the instances.

The Spice agent works with the Spice protocol to offer a better guest console experience. However, the Spice console can still be used without the Spice Agent. With the Spice agent installed the following features are enabled:

* Copy & Paste of text and images between the guest and client machine

* Automatic adjustment of resolution when the client screen changes - e.g. if you make the Spice console full screen the guest resolution will adjust to match it rather than letterboxing.

* Better mouse integration - The mouse can be captured and released without needing to click inside the console or press keys to release it. The performance of mouse movement is also improved.

html5proxy_base_url = http://127.0.0.1:6082/spice_auto.html

(URI) Location of the SPICE HTML5 console proxy.

End user would use this URL to connect to the nova-spicehtml5proxy` service. This service will forward request to the console of an instance.

In order to use SPICE console, the service nova-spicehtml5proxy should be running. This service is typically launched on the controller node.

Possible values:

* Must be a valid URL of the form: http://host:port/spice_auto.html where host is the node running nova-spicehtml5proxy and the port is typically 6082. Consider not using default value as it is not well defined for any real deployment.

Related options:

* This option depends on html5proxy_host and html5proxy_port options. The access URL returned by the compute node must have the host and port where the nova-spicehtml5proxy service is listening.

html5proxy_host = 0.0.0.0

(Host address) IP address or a hostname on which the nova-spicehtml5proxy service listens for incoming requests.

Related options:

* This option depends on the html5proxy_base_url option. The nova-spicehtml5proxy service must be listening on a host that is accessible from the HTML5 client.

keymap = en-us

(String) A keyboard layout which is supported by the underlying hypervisor on this node.

Possible values:

* This is usually an 'IETF language tag' (default is 'en-us'). If you use QEMU as hypervisor, you should find the list of supported keyboard layouts at /usr/share/qemu/keymaps.

Expand
Table 4.44. Description of ssl configuration options
Configuration option = Default valueDescription

cert_file = None

(String) Certificate file to use when starting the server securely.

version = None

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

key_file = None

(String) Private key file to use when starting the server securely.

ca_file = None

(String) CA certificate file to use to verify connecting clients.

ciphers = None

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

Expand
Table 4.45. Description of trusted_computing configuration options
Configuration option = Default valueDescription

attestation_auth_timeout = 60

(Integer) This value controls how long a successful attestation is cached. Once this period has elapsed, a new attestation request will be made. See the attestation_server help text for more information about host verification.

This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect. Also note that this setting only affects scheduling if the 'TrustedFilter' filter is enabled.

Possible values:

* A integer value, corresponding to the timeout interval for attestations in seconds. Any integer is valid, although setting this to zero or negative values can greatly impact performance when using an attestation service.

Related options:

* attestation_server

* attestation_server_ca_file

* attestation_port

* attestation_api_url

* attestation_auth_blob

* attestation_insecure_ssl

attestation_port = 8443

(Port number) The port to use when connecting to the attestation server. See the attestation_server help text for more information about host verification.

This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect. Also note that this setting only affects scheduling if the 'TrustedFilter' filter is enabled.

Related options:

* attestation_server

* attestation_server_ca_file

* attestation_api_url

* attestation_auth_blob

* attestation_auth_timeout

* attestation_insecure_ssl

attestation_api_url = /OpenAttestationWebServices/V1.0

(String) The URL on the attestation server to use. See the attestation_server help text for more information about host verification.

This value must be just that path portion of the full URL, as it will be joined to the host specified in the attestation_server option.

This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect. Also note that this setting only affects scheduling if the 'TrustedFilter' filter is enabled.

Possible values:

* A valid URL string of the attestation server, or an empty string.

Related options:

* attestation_server

* attestation_server_ca_file

* attestation_port

* attestation_auth_blob

* attestation_auth_timeout

* attestation_insecure_ssl

attestation_server = None

(Host address) The host to use as the attestation server.

Cloud computing pools can involve thousands of compute nodes located at different geographical locations, making it difficult for cloud providers to identify a node’s trustworthiness. When using the Trusted filter, users can request that their VMs only be placed on nodes that have been verified by the attestation server specified in this option.

This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect. Also note that this setting only affects scheduling if the 'TrustedFilter' filter is enabled.

Possible values:

* A string representing the host name or IP address of the attestation server, or an empty string.

Related options:

* attestation_server_ca_file

* attestation_port

* attestation_api_url

* attestation_auth_blob

* attestation_auth_timeout

* attestation_insecure_ssl

attestation_insecure_ssl = False

(Boolean) When set to True, the SSL certificate verification is skipped for the attestation service. See the attestation_server help text for more information about host verification.

This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect. Also note that this setting only affects scheduling if the 'TrustedFilter' filter is enabled.

Related options:

* attestation_server

* attestation_server_ca_file

* attestation_port

* attestation_api_url

* attestation_auth_blob

* attestation_auth_timeout

attestation_auth_blob = None

(String) Attestation servers require a specific blob that is used to authenticate. The content and format of the blob are determined by the particular attestation server being used. There is no default value; you must supply the value as specified by your attestation service. See the attestation_server help text for more information about host verification.

This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect. Also note that this setting only affects scheduling if the 'TrustedFilter' filter is enabled.

Possible values:

* A string containing the specific blob required by the attestation server, or an empty string.

Related options:

* attestation_server

* attestation_server_ca_file

* attestation_port

* attestation_api_url

* attestation_auth_timeout

* attestation_insecure_ssl

attestation_server_ca_file = None

(String) The absolute path to the certificate to use for authentication when connecting to the attestation server. See the attestation_server help text for more information about host verification.

This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect. Also note that this setting only affects scheduling if the 'TrustedFilter' filter is enabled.

Possible values:

* A string representing the path to the authentication certificate for the attestation server, or an empty string.

Related options:

* attestation_server

* attestation_port

* attestation_api_url

* attestation_auth_blob

* attestation_auth_timeout

* attestation_insecure_ssl

Expand
Table 4.46. Description of upgrade_levels configuration options
Configuration option = Default valueDescription

compute = None

(String) Compute RPC API version cap.

By default, we always send messages using the most recent version the client knows about.

Where you have old and new compute services running, you should set this to the lowest deployed version. This is to guarantee that all services never send messages that one of the compute nodes can’t understand. Note that we only support upgrading from release N to release N+1.

Set this option to "auto" if you want to let the compute RPC module automatically determine what version to use based on the service versions in the deployment.

Possible values:

* By default send the latest version the client knows about

* 'auto': Automatically determines what version to use based on the service versions in the deployment.

* A string representing a version number in the format 'N.N'; for example, possible values might be '1.12' or '2.0'.

* An OpenStack release name, in lower case, such as 'mitaka' or 'liberty'.

network = None

(String) Network RPC API version cap

conductor = None

(String) Conductor RPC API version cap

cells = None

(String) Cells RPC API version cap

cert = None

(String) Cert RPC API version cap

scheduler = None

(String) Scheduler RPC API version cap

intercell = None

(String) Intercell RPC API version cap

console = None

(String) Console RPC API version cap

consoleauth = None

(String) Consoleauth RPC API version cap

baseapi = None

(String) Base API RPC API version cap

Expand
Table 4.47. Description of vendordata_dynamic_auth configuration options
Configuration option = Default valueDescription

auth_type = None

(Unknown) Authentication type to load

certfile = None

(String) PEM encoded client certificate cert file

keyfile = None

(String) PEM encoded client certificate key file

insecure = False

(Boolean) Verify HTTPS connections.

timeout = None

(Integer) Timeout value for http requests

cafile = None

(String) PEM encoded Certificate Authority to use when verifying HTTPs connections.

auth_section = None

(Unknown) Config Section from which to load plugin specific options

Expand
Table 4.48. Description of vnc configuration options
Configuration option = Default valueDescription

novncproxy_port = 6080

(Port number) Port that the noVNC console proxy should bind to.

The VNC proxy is an OpenStack component that enables compute service users to access their instances through VNC clients. noVNC provides VNC support through a websocket-based client.

This option sets the private port to which the noVNC console proxy service should bind to.

Related options:

* novncproxy_host

* novncproxy_base_url

enabled = True

(Boolean) Enable VNC related features.

Guests will get created with graphical devices to support this. Clients (for example Horizon) can then establish a VNC connection to the guest.

vncserver_listen = 127.0.0.1

(Host address) The IP address or hostname on which an instance should listen to for incoming VNC connection requests on this node.

vncserver_proxyclient_address = 127.0.0.1

(Host address) Private, internal IP address or hostname of VNC console proxy.

The VNC proxy is an OpenStack component that enables compute service users to access their instances through VNC clients.

This option sets the private address to which proxy clients, such as nova-xvpvncproxy, should connect to.

keymap = en-us

(String) Keymap for VNC.

The keyboard mapping (keymap) determines which keyboard layout a VNC session should use by default.

Possible values:

* A keyboard layout which is supported by the underlying hypervisor on this node. This is usually an 'IETF language tag' (for example 'en-us'). If you use QEMU as hypervisor, you should find the list of supported keyboard layouts at /usr/share/qemu/keymaps.

novncproxy_host = 0.0.0.0

(String) IP address that the noVNC console proxy should bind to.

The VNC proxy is an OpenStack component that enables compute service users to access their instances through VNC clients. noVNC provides VNC support through a websocket-based client.

This option sets the private address to which the noVNC console proxy service should bind to.

Related options:

* novncproxy_port

* novncproxy_base_url

novncproxy_base_url = http://127.0.0.1:6080/vnc_auto.html

(URI) Public address of noVNC VNC console proxy.

The VNC proxy is an OpenStack component that enables compute service users to access their instances through VNC clients. noVNC provides VNC support through a websocket-based client.

This option sets the public base URL to which client systems will connect. noVNC clients can use this address to connect to the noVNC instance and, by extension, the VNC sessions.

Related options:

* novncproxy_host

* novncproxy_port

Expand
Table 4.49. Description of workarounds configuration options
Configuration option = Default valueDescription

handle_virt_lifecycle_events = True

(Boolean) Enable handling of events emitted from compute drivers.

Many compute drivers emit lifecycle events, which are events that occur when, for example, an instance is starting or stopping. If the instance is going through task state changes due to an API operation, like resize, the events are ignored.

This is an advanced feature which allows the hypervisor to signal to the compute service that an unexpected state change has occurred in an instance and that the instance can be shutdown automatically. Unfortunately, this can race in some conditions, for example in reboot operations or when the compute service or when host is rebooted (planned or due to an outage). If such races are common, then it is advisable to disable this feature.

Care should be taken when this feature is disabled and 'sync_power_state_interval' is set to a negative value. In this case, any instances that get out of sync between the hypervisor and the Nova database will have to be synchronized manually.

For more information, refer to the bug report:

https://bugs.launchpad.net/bugs/1444630

Interdependencies to other options:

* If sync_power_state_interval is negative and this feature is disabled, then instances that get out of sync between the hypervisor and the Nova database will have to be synchronized manually.

disable_group_policy_check_upcall = False

(Boolean) Disable the server group policy check upcall in compute.

In order to detect races with server group affinity policy, the compute service attempts to validate that the policy was not violated by the scheduler. It does this by making an upcall to the API database to list the instances in the server group for one that it is booting, which violates our api/cell isolation goals. Eventually this will be solved by proper affinity guarantees in the scheduler and placement service, but until then, this late check is needed to ensure proper affinity policy.

Operators that desire api/cell isolation over this check should enable this flag, which will avoid making that upcall from compute.

disable_rootwrap = False

(Boolean) Use sudo instead of rootwrap.

Allow fallback to sudo for performance reasons.

For more information, refer to the bug report:

https://bugs.launchpad.net/nova/+bug/1415106

Possible values:

* True: Use sudo instead of rootwrap

* False: Use rootwrap as usual

Interdependencies to other options:

* Any options that affect 'rootwrap' will be ignored.

disable_libvirt_livesnapshot = True

(Boolean) Disable live snapshots when using the libvirt driver.

Live snapshots allow the snapshot of the disk to happen without an interruption to the guest, using coordination with a guest agent to quiesce the filesystem.

When using libvirt 1.2.2 live snapshots fail intermittently under load (likely related to concurrent libvirt/qemu operations). This config option provides a mechanism to disable live snapshot, in favor of cold snapshot, while this is resolved. Cold snapshot causes an instance outage while the guest is going through the snapshotting process.

For more information, refer to the bug report:

https://bugs.launchpad.net/nova/+bug/1334398

Possible values:

* True: Live snapshot is disabled when using libvirt

* False: Live snapshots are always used when snapshotting (as long as there is a new enough libvirt and the backend storage supports it)

Expand
Table 4.50. Description of wsgi configuration options
Configuration option = Default valueDescription

api_paste_config = api-paste.ini

(String) This option represents a file name for the paste.deploy config for nova-api.

Possible values:

* A string representing file name for the paste.deploy config.

default_pool_size = 1000

(Integer) This option specifies the size of the pool of greenthreads used by wsgi. It is possible to limit the number of concurrent connections using this option.

keep_alive = True

(Boolean) This option allows using the same TCP connection to send and receive multiple HTTP requests/responses, as opposed to opening a new one for every single request/response pair. HTTP keep-alive indicates HTTP connection reuse.

Possible values:

* True : reuse HTTP connection.

* False : closes the client socket connection explicitly.

Related options:

* tcp_keepidle

secure_proxy_ssl_header = None

(String) This option specifies the HTTP header used to determine the protocol scheme for the original request, even if it was removed by a SSL terminating proxy.

Possible values:

* None (default) - the request scheme is not influenced by any HTTP headers

* Valid HTTP header, like HTTP_X_FORWARDED_PROTO

Warning

Do not set this unless you know what you are doing.

Make sure ALL of the following are true before setting this (assuming the values from the example above):

* Your API is behind a proxy.

* Your proxy strips the X-Forwarded-Proto header from all incoming requests. In other words, if end users include that header in their requests, the proxy will discard it.

* Your proxy sets the X-Forwarded-Proto header and sends it to API, but only for requests that originally come in via HTTPS.

If any of those are not true, you should keep this setting set to None.

client_socket_timeout = 900

(Integer) This option specifies the timeout for client connections' socket operations. If an incoming connection is idle for this number of seconds it will be closed. It indicates timeout on individual read/writes on the socket connection. To wait forever set to 0.

ssl_ca_file = None

(String) This option allows setting path to the CA certificate file that should be used to verify connecting clients.

Possible values:

* String representing path to the CA certificate file.

Related options:

* enabled_ssl_apis

wsgi_log_format = %(client_ip)s "%(request_line)s" status: %(status_code)s len: %(body_length)s time: %(wall_seconds).7f

(String) It represents a python format string that is used as the template to generate log lines. The following values can be formatted into it: client_ip, date_time, request_line, status_code, body_length, wall_seconds.

This option is used for building custom request loglines.

Possible values:

* '%(client_ip)s "%(request_line)s" status: %(status_code)s' 'len: %(body_length)s time: %(wall_seconds).7f' (default)

* Any formatted string formed by specific values.

tcp_keepidle = 600

(Integer) This option sets the value of TCP_KEEPIDLE in seconds for each server socket. It specifies the duration of time to keep connection active. TCP generates a KEEPALIVE transmission for an application that requests to keep connection active. Not supported on OS X.

Related options:

* keep_alive

max_header_line = 16384

(Integer) This option specifies the maximum line size of message headers to be accepted. max_header_line may need to be increased when using large tokens (typically those generated by the Keystone v3 API with big service catalogs).

Since TCP is a stream based protocol, in order to reuse a connection, the HTTP has to have a way to indicate the end of the previous response and beginning of the next. Hence, in a keep_alive case, all messages must have a self-defined message length.

ssl_cert_file = None

(String) This option allows setting path to the SSL certificate of API server.

Possible values:

* String representing path to the SSL certificate.

Related options:

* enabled_ssl_apis

ssl_key_file = None

(String) This option specifies the path to the file where SSL private key of API server is stored when SSL is in effect.

Possible values:

* String representing path to the SSL private key.

Related options:

* enabled_ssl_apis

Expand
Table 4.51. New options
Option = default value(Type) Help string

[api] allow_instance_snapshots = True

(BoolOpt) Operators can turn off the ability for a user to take snapshots of their instances by setting this option to False. When disabled, any attempt to take a snapshot will result in a HTTP 400 response ("Bad Request").

[api] auth_strategy = keystone

(StrOpt) This determines the strategy to use for authentication: keystone or noauth2. 'noauth2' is designed for testing only, as it does no actual credential checking. 'noauth2' provides administrative credentials only if 'admin' is specified as the username.

[api] compute_link_prefix = None

(StrOpt) This string is prepended to the normal URL that is returned in links to the OpenStack Compute API. If it is empty (the default), the URLs are returned unchanged.

Possible values:

  • Any string, including an empty string (the default).

[api] config_drive_skip_versions = 1.0 2007-01-19 2007-03-01 2007-08-29 2007-10-10 2007-12-15 2008-02-01 2008-09-01

(StrOpt) When gathering the existing metadata for a config drive, the EC2-style metadata is returned for all versions that don’t appear in this option. As of the Liberty release, the available versions are:

  • 1.0
  • 2007-01-19
  • 2007-03-01
  • 2007-08-29
  • 2007-10-10
  • 2007-12-15
  • 2008-02-01
  • 2008-09-01
  • 2009-04-04 The option is in the format of a single string, with each version separated by a space.

Possible values:

  • Any string that represents zero or more versions, separated by spaces.

[api] enable_instance_password = True

(BoolOpt) Enables returning of the instance password by the relevant server API calls such as create, rebuild, evacuate, or rescue. If the hypervisor does not support password injection, then the password returned will not be correct, so if your hypervisor does not support password injection, set this to False.

[api] fping_path = /usr/sbin/fping

(StrOpt) The full path to the fping binary.

[api] glance_link_prefix = None

(StrOpt) This string is prepended to the normal URL that is returned in links to Glance resources. If it is empty (the default), the URLs are returned unchanged.

Possible values:

  • Any string, including an empty string (the default).

[api] hide_server_address_states = building

(ListOpt) This option is a list of all instance states for which network address information should not be returned from the API.

Possible values: A list of strings, where each string is a valid VM state, as defined in nova/compute/vm_states.py. As of the Newton release, they are:

  • "active"
  • "building"
  • "paused"
  • "suspended"
  • "stopped"
  • "rescued"
  • "resized"
  • "soft-delete"
  • "deleted"
  • "error"
  • "shelved"
  • "shelved_offloaded"

[api] max_limit = 1000

(IntOpt) As a query can potentially return many thousands of items, you can limit the maximum number of items in a single response by setting this option.

[api] metadata_cache_expiration = 15

(IntOpt) This option is the time (in seconds) to cache metadata. When set to 0, metadata caching is disabled entirely; this is generally not recommended for performance reasons. Increasing this setting should improve response times of the metadata API when under heavy load. Higher values may increase memory usage, and result in longer times for host metadata changes to take effect.

[api] neutron_default_tenant_id = default

(StrOpt) Tenant ID for getting the default network from Neutron API (also referred in some places as the 'project ID') to use.

Related options:

  • use_neutron_default_nets

[api] use_forwarded_for = False

(BoolOpt) When True, the 'X-Forwarded-For' header is treated as the canonical remote address. When False (the default), the 'remote_address' header is used. You should only enable this if you have an HTML sanitizing proxy.

[api] use_neutron_default_nets = False

(BoolOpt) When True, the TenantNetworkController will query the Neutron API to get the default networks to use.

Related options:

  • neutron_default_tenant_id

[api] vendordata_dynamic_connect_timeout = 5

(IntOpt) Maximum wait time for an external REST service to connect.

Possible values:

  • Any integer with a value greater than three (the TCP packet retransmission timeout). Note that instance start may be blocked during this wait time, so this value should be kept small.

Related options:

  • vendordata_providers
  • vendordata_dynamic_targets
  • vendordata_dynamic_ssl_certfile
  • vendordata_dynamic_read_timeout
  • vendordata_dynamic_failure_fatal

[api] vendordata_dynamic_failure_fatal = False

(BoolOpt) Should failures to fetch dynamic vendordata be fatal to instance boot?

Related options:

  • vendordata_providers
  • vendordata_dynamic_targets
  • vendordata_dynamic_ssl_certfile
  • vendordata_dynamic_connect_timeout
  • vendordata_dynamic_read_timeout

[api] vendordata_dynamic_read_timeout = 5

(IntOpt) Maximum wait time for an external REST service to return data once connected.

Possible values:

  • Any integer. Note that instance start is blocked during this wait time, so this value should be kept small.

Related options:

  • vendordata_providers
  • vendordata_dynamic_targets
  • vendordata_dynamic_ssl_certfile
  • vendordata_dynamic_connect_timeout
  • vendordata_dynamic_failure_fatal

[api] vendordata_dynamic_ssl_certfile =

(StrOpt) Path to an optional certificate file or CA bundle to verify dynamic vendordata REST services ssl certificates against.

Possible values:

  • An empty string, or a path to a valid certificate file

Related options:

  • vendordata_providers
  • vendordata_dynamic_targets
  • vendordata_dynamic_connect_timeout
  • vendordata_dynamic_read_timeout
  • vendordata_dynamic_failure_fatal

[api] vendordata_dynamic_targets =

(ListOpt) A list of targets for the dynamic vendordata provider. These targets are of the form <name>@<url>. The dynamic vendordata provider collects metadata by contacting external REST services and querying them for information about the instance. This behaviour is documented in the vendordata.rst file in the nova developer reference.

[api] vendordata_jsonfile_path = None

(StrOpt) Cloud providers may store custom data in vendor data file that will then be available to the instances via the metadata service, and to the rendering of config-drive. The default class for this, JsonFileVendorData, loads this information from a JSON file, whose path is configured by this option. If there is no path set by this option, the class returns an empty dictionary.

Possible values:

  • Any string representing the path to the data file, or an empty string (default).

[api] vendordata_providers =

(ListOpt) A list of vendordata providers. vendordata providers are how deployers can provide metadata via configdrive and metadata that is specific to their deployment. There are currently two supported providers: StaticJSON and DynamicJSON. StaticJSON reads a JSON file configured by the flag vendordata_jsonfile_path and places the JSON from that file into vendor_data.json and vendor_data2.json. DynamicJSON is configured via the vendordata_dynamic_targets flag, which is documented separately. For each of the endpoints specified in that flag, a section is added to the vendor_data2.json. For more information on the requirements for implementing a vendordata dynamic endpoint, please see the vendordata.rst file in the nova developer reference.

Possible values:

  • A list of vendordata providers, with StaticJSON and DynamicJSON being current options.

Related options:

  • vendordata_dynamic_targets
  • vendordata_dynamic_ssl_certfile
  • vendordata_dynamic_connect_timeout
  • vendordata_dynamic_read_timeout
  • vendordata_dynamic_failure_fatal

[console] allowed_origins =

(ListOpt) Adds list of allowed origins to the console websocket proxy to allow connections from other origin hostnames. Websocket proxy matches the host header with the origin header to prevent cross-site requests. This list specifies if any there are values other than host are allowed in the origin header.

Possible values:

  • A list where each element is an allowed origin hostnames, else an empty list

[consoleauth] token_ttl = 600

(IntOpt) The lifetime of a console auth token. A console auth token is used in authorizing console access for a user. Once the auth token time to live count has elapsed, the token is considered expired. Expired tokens are then deleted.

[filter_scheduler] aggregate_image_properties_isolation_namespace = None

(StrOpt) Image property namespace for use in the host aggregate. Images and hosts can be configured so that certain images can only be scheduled to hosts in a particular aggregate. This is done with metadata values set on the host aggregate that are identified by beginning with the value of this option. If the host is part of an aggregate with such a metadata key, the image in the request spec must have the value of that metadata in its properties in order for the scheduler to consider the host as acceptable. This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect. Also note that this setting only affects scheduling if the 'aggregate_image_properties_isolation' filter is enabled.

Possible values:

  • A string, where the string corresponds to an image property namespace

Related options:

  • aggregate_image_properties_isolation_separator

[filter_scheduler] aggregate_image_properties_isolation_separator = .

(StrOpt) Separator character(s) for image property namespace and name. When using the aggregate_image_properties_isolation filter, the relevant metadata keys are prefixed with the namespace defined in the aggregate_image_properties_isolation_namespace configuration option plus a separator. This option defines the separator to be used. This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect. Also note that this setting only affects scheduling if the 'aggregate_image_properties_isolation' filter is enabled.

Possible values:

  • A string, where the string corresponds to an image property namespace separator character

Related options:

  • aggregate_image_properties_isolation_namespace

[filter_scheduler] available_filters = ['nova.scheduler.filters.all_filters']

(MultiStrOpt) Filters that the scheduler can use. An unordered list of the filter classes the nova scheduler may apply. Only the filters specified in the 'scheduler_enabled_filters' option will be used, but any filter appearing in that option must also be included in this list. By default, this is set to all filters that are included with nova. This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect.

Possible values:

  • A list of zero or more strings, where each string corresponds to the name of a filter that may be used for selecting a host

Related options:

  • scheduler_enabled_filters

[filter_scheduler] baremetal_enabled_filters = RetryFilter, AvailabilityZoneFilter, ComputeFilter, ComputeCapabilitiesFilter, ImagePropertiesFilter, ExactRamFilter, ExactDiskFilter, ExactCoreFilter

(ListOpt) Filters used for filtering baremetal hosts. Filters are applied in order, so place your most restrictive filters first to make the filtering process more efficient. This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect.

Possible values:

  • A list of zero or more strings, where each string corresponds to the name of a filter to be used for selecting a baremetal host

Related options:

  • If the 'scheduler_use_baremetal_filters' option is False, this option has no effect.

[filter_scheduler] disk_weight_multiplier = 1.0

(FloatOpt) Disk weight multipler ratio. Multiplier used for weighing free disk space. Negative numbers mean to stack vs spread. This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect. Also note that this setting only affects scheduling if the 'ram' weigher is enabled.

Possible values:

  • An integer or float value, where the value corresponds to the multipler ratio for this weigher.

[filter_scheduler] enabled_filters = RetryFilter, AvailabilityZoneFilter, RamFilter, DiskFilter, ComputeFilter, ComputeCapabilitiesFilter, ImagePropertiesFilter, ServerGroupAntiAffinityFilter, ServerGroupAffinityFilter

(ListOpt) Filters that the scheduler will use. An ordered list of filter class names that will be used for filtering hosts. Ignore the word 'default' in the name of this option: these filters will always be applied, and they will be applied in the order they are listed so place your most restrictive filters first to make the filtering process more efficient. This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect.

Possible values:

  • A list of zero or more strings, where each string corresponds to the name of a filter to be used for selecting a host

Related options:

  • All of the filters in this option must be present in the 'scheduler_available_filters' option, or a SchedulerHostFilterNotFound exception will be raised.

[filter_scheduler] host_subset_size = 1

(IntOpt) Size of subset of best hosts selected by scheduler. New instances will be scheduled on a host chosen randomly from a subset of the N best hosts, where N is the value set by this option. Setting this to a value greater than 1 will reduce the chance that multiple scheduler processes handling similar requests will select the same host, creating a potential race condition. By selecting a host randomly from the N hosts that best fit the request, the chance of a conflict is reduced. However, the higher you set this value, the less optimal the chosen host may be for a given request. This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect.

Possible values:

  • An integer, where the integer corresponds to the size of a host subset. Any integer is valid, although any value less than 1 will be treated as 1

[filter_scheduler] io_ops_weight_multiplier = -1.0

(FloatOpt) IO operations weight multipler ratio. This option determines how hosts with differing workloads are weighed. Negative values, such as the default, will result in the scheduler preferring hosts with lighter workloads whereas positive values will prefer hosts with heavier workloads. Another way to look at it is that positive values for this option will tend to schedule instances onto hosts that are already busy, while negative values will tend to distribute the workload across more hosts. The absolute value, whether positive or negative, controls how strong the io_ops weigher is relative to other weighers. This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect. Also note that this setting only affects scheduling if the 'io_ops' weigher is enabled.

Possible values:

  • An integer or float value, where the value corresponds to the multipler ratio for this weigher.

[filter_scheduler] isolated_hosts =

(ListOpt) List of hosts that can only run certain images. If there is a need to restrict some images to only run on certain designated hosts, list those host names here. This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect. Also note that this setting only affects scheduling if the 'IsolatedHostsFilter' filter is enabled.

Possible values:

  • A list of strings, where each string corresponds to the name of a host

Related options:

  • scheduler/isolated_images
  • scheduler/restrict_isolated_hosts_to_isolated_images

[filter_scheduler] isolated_images =

(ListOpt) List of UUIDs for images that can only be run on certain hosts. If there is a need to restrict some images to only run on certain designated hosts, list those image UUIDs here. This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect. Also note that this setting only affects scheduling if the 'IsolatedHostsFilter' filter is enabled.

Possible values:

  • A list of UUID strings, where each string corresponds to the UUID of an image

Related options:

  • scheduler/isolated_hosts * scheduler/restrict_isolated_hosts_to_isolated_images

[filter_scheduler] max_instances_per_host = 50

(IntOpt) Maximum number of instances that be active on a host. If you need to limit the number of instances on any given host, set this option to the maximum number of instances you want to allow. The num_instances_filter will reject any host that has at least as many instances as this option’s value. This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect. Also note that this setting only affects scheduling if the 'num_instances_filter' filter is enabled.

Possible values:

  • An integer, where the integer corresponds to the max instances that can be scheduled on a host.

[filter_scheduler] max_io_ops_per_host = 8

(IntOpt) The number of instances that can be actively performing IO on a host. Instances performing IO includes those in the following states: build, resize, snapshot, migrate, rescue, unshelve. This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect. Also note that this setting only affects scheduling if the 'io_ops_filter' filter is enabled.

Possible values:

  • An integer, where the integer corresponds to the max number of instances that can be actively performing IO on any given host.

[filter_scheduler] ram_weight_multiplier = 1.0

(FloatOpt) Ram weight multipler ratio. This option determines how hosts with more or less available RAM are weighed. A positive value will result in the scheduler preferring hosts with more available RAM, and a negative number will result in the scheduler preferring hosts with less available RAM. Another way to look at it is that positive values for this option will tend to spread instances across many hosts, while negative values will tend to fill up (stack) hosts as much as possible before scheduling to a less-used host. The absolute value, whether positive or negative, controls how strong the RAM weigher is relative to other weighers. This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect. Also note that this setting only affects scheduling if the 'ram' weigher is enabled.

Possible values:

  • An integer or float value, where the value corresponds to the multipler ratio for this weigher.

[filter_scheduler] restrict_isolated_hosts_to_isolated_images = True

(BoolOpt) Prevent non-isolated images from being built on isolated hosts. This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect. Also note that this setting only affects scheduling if the 'IsolatedHostsFilter' filter is enabled. Even then, this option doesn’t affect the behavior of requests for isolated images, which will always be restricted to isolated hosts.

Related options:

  • scheduler/isolated_images * scheduler/isolated_hosts

[filter_scheduler] soft_affinity_weight_multiplier = 1.0

(FloatOpt) Multiplier used for weighing hosts for group soft-affinity.

Possible values:

  • An integer or float value, where the value corresponds to weight multiplier for hosts with group soft affinity. Only a positive value are meaningful, as negative values would make this behave as a soft anti-affinity weigher.

[filter_scheduler] soft_anti_affinity_weight_multiplier = 1.0

(FloatOpt) Multiplier used for weighing hosts for group soft-anti-affinity.

Possible values:

  • An integer or float value, where the value corresponds to weight multiplier for hosts with group soft anti-affinity. Only a positive value are meaningful, as negative values would make this behave as a soft affinity weigher.

[filter_scheduler] track_instance_changes = True

(BoolOpt) Enable querying of individual hosts for instance information. The scheduler may need information about the instances on a host in order to evaluate its filters and weighers. The most common need for this information is for the (anti-)affinity filters, which need to choose a host based on the instances already running on a host. If the configured filters and weighers do not need this information, disabling this option will improve performance. It may also be disabled when the tracking overhead proves too heavy, although this will cause classes requiring host usage data to query the database on each request instead. This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect.

[filter_scheduler] use_baremetal_filters = False

(BoolOpt) Enable baremetal filters. Set this to True to tell the nova scheduler that it should use the filters specified in the 'baremetal_scheduler_enabled_filters' option. If you are not scheduling baremetal nodes, leave this at the default setting of False. This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect.

Related options:

  • If this option is set to True, then the filters specified in the 'baremetal_scheduler_enabled_filters' are used instead of the filters specified in 'scheduler_enabled_filters'.

[filter_scheduler] weight_classes = nova.scheduler.weights.all_weighers

(ListOpt) Weighers that the scheduler will use. Only hosts which pass the filters are weighed. The weight for any host starts at 0, and the weighers order these hosts by adding to or subtracting from the weight assigned by the previous weigher. Weights may become negative. An instance will be scheduled to one of the N most-weighted hosts, where N is 'scheduler_host_subset_size'. By default, this is set to all weighers that are included with Nova. This option is only used by the FilterScheduler and its subclasses; if you use a different scheduler, this option has no effect.

Possible values:

  • A list of zero or more strings, where each string corresponds to the name of a weigher that will be used for selecting a host

[ironic] serial_console_state_timeout = 10

(IntOpt) Timeout (seconds) to wait for node serial console state changed. Set to 0 to disable timeout.

[libvirt] live_migration_scheme = None

(StrOpt) Schema used for live migration. Override the default libvirt live migration scheme (which is dependant on virt_type). If this option is set to None, nova will automatically choose a sensible default based on the hypervisor. It is not recommended that you change this unless you are very sure that hypervisor supports a particular scheme.

Related options:

  • virt_type: This option is meaningful only when virt_type is set to kvm or qemu. * live_migration_uri: If live_migration_uri value is not None, the scheme used for live migration is taken from live_migration_uri instead.

[notifications] default_level = INFO

(StrOpt) Default notification level for outgoing notifications.

[notifications] default_publisher_id = $my_ip

(StrOpt) Default publisher_id for outgoing notifications. If you consider routing notifications using different publisher, change this value accordingly.

Possible values:

  • Defaults to the IPv4 address of this host, but it can be any valid oslo.messaging publisher_id

Related options:

  • my_ip - IP address of this host

[notifications] notification_format = both

(StrOpt) Specifies which notification format shall be used by nova. The default value is fine for most deployments and rarely needs to be changed. This value can be set to 'versioned' once the infrastructure moves closer to consuming the newer format of notifications. After this occurs, this option will be removed (possibly in the "P" release).

Possible values:

  • unversioned: Only the legacy unversioned notifications are emitted. * versioned: Only the new versioned notifications are emitted. * both: Both the legacy unversioned and the new versioned notifications are emitted. (Default) The list of versioned notifications is visible in http://docs.openstack.org/developer/nova/notifications.html

[notifications] notify_on_api_faults = False

(BoolOpt) If enabled, send api.fault notifications on caught exceptions in the API service.

[notifications] notify_on_state_change = None

(StrOpt) If set, send compute.instance.update notifications on instance state changes. Please refer to https://wiki.openstack.org/wiki/SystemUsageData for additional information on notifications.

Possible values:

  • None - no notifications * "vm_state" - notifications on VM state changes * "vm_and_task_state" - notifications on VM and task state changes

[pci] alias = []

(MultiStrOpt) An alias for a PCI passthrough device requirement. This allows users to specify the alias in the extra_spec for a flavor, without needing to repeat all the PCI property requirements.

Possible Values:

  • A list of JSON values which describe the aliases. For example: alias = { "name": "QuickAssist", "product_id": "0443", "vendor_id": "8086", "device_type": "type-PCI" } defines an alias for the Intel QuickAssist card. (multi valued).

Valid key values are :

  • "name": Name of the PCI alias.
  • "product_id": Product ID of the device in hexadecimal.
  • "vendor_id": Vendor ID of the device in hexadecimal.
  • "device_type": Type of PCI device. Valid values are: "type-PCI", "type-PF" and "type-VF".

[pci] passthrough_whitelist = []

(MultiStrOpt) White list of PCI devices available to VMs.

Possible values:

  • A JSON dictionary which describe a whitelisted PCI device. It should take the following format: ["vendor_id": "<id>",] ["product_id": "<id>",] ["address": "[[[[<domain>]:]<bus>]:][<slot>][.[<function>]]" | "devname": "<name>",] {"<tag>": "<tag_value>",} Where '[' indicates zero or one occurrences, '{' indicates zero or multiple occurrences, and '|' mutually exclusive options. Note that any missing fields are automatically wildcarded.

Valid key values are :

  • "vendor_id": Vendor ID of the device in hexadecimal.
  • "product_id": Product ID of the device in hexadecimal.
  • "address": PCI address of the device.
  • "devname": Device name of the device (for e.g. interface name). Not all PCI devices have a name.
  • "<tag>": Additional <tag> and <tag_value> used for matching PCI devices. Supported <tag>: "physical_network". The address key supports traditional glob style and regular expression syntax.

Valid examples are: passthrough_whitelist = {"devname":"eth0", "physical_network":"physnet"} passthrough_whitelist = {"address":" :0a:00."} passthrough_whitelist = {"address":":0a:00.", "physical_network":"physnet1"} passthrough_whitelist = {"vendor_id":"1137", "product_id":"0071"} passthrough_whitelist = {"vendor_id":"1137", "product_id":"0071", "address": "0000:0a:00.1", "physical_network":"physnet1"} passthrough_whitelist = {"address":{"domain": ".", "bus": "02", "slot": "01", "function": "[2-7]"}, "physical_network":"physnet1"} passthrough_whitelist = {"address":{"domain": ".", "bus": "02", "slot": "0[1-2]", "function": ".*"}, "physical_network":"physnet1"} The following are invalid, as they specify mutually exclusive options: passthrough_whitelist = {"devname":"eth0", "physical_network":"physnet", "address":" :0a:00."} * A JSON list of JSON dictionaries corresponding to the above format. For example: passthrough_whitelist = [{"product_id":"0001", "vendor_id":"8086"}, {"product_id":"0002", "vendor_id":"8086"}]

[placement] os_interface = None

(StrOpt) Endpoint interface for this node. This is used when picking the URL in the service catalog.

[profiler] connection_string = messaging://

(StrOpt) 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 notifications. * mongodb://127.0.0.1:27017 : use mongodb driver for sending notifications. * elasticsearch://127.0.0.1:9200 : use elasticsearch driver for sending notifications.

[profiler] enabled = False

(BoolOpt) Enables 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.

[profiler] es_doc_type = notification

(StrOpt) Document type for notification indexing in elasticsearch.

[profiler] es_scroll_size = 10000

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

[profiler] es_scroll_time = 2m

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

[profiler] hmac_keys = SECRET_KEY

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

[profiler] sentinel_service_name = mymaster

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

[profiler] socket_timeout = 0.1

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

[profiler] trace_sqlalchemy = False

(BoolOpt) Enables 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.

[quota] cores = 20

(IntOpt) The number of instance cores or vCPUs allowed per project.

Possible values:

  • A positive integer or 0. * -1 to disable the quota.

[quota] driver = nova.quota.DbQuotaDriver

(StrOpt) The quota enforcer driver. Provides abstraction for quota checks. Users can configure a specific driver to use for quota checks.

Possible values:

  • nova.quota.DbQuotaDriver (default) or any string representing fully qualified class name.

[quota] fixed_ips = -1

(IntOpt) The number of fixed IPs allowed per project. Unlike floating IPs, fixed IPs are allocated dynamically by the network component when instances boot up. This quota value should be at least the number of instances allowed

Possible values:

  • A positive integer or 0. * -1 to disable the quota.

[quota] floating_ips = 10

(IntOpt) The number of floating IPs allowed per project. Floating IPs are not allocated to instances by default. Users need to select them from the pool configured by the OpenStack administrator to attach to their instances.

Possible values:

  • A positive integer or 0. * -1 to disable the quota.

[quota] injected_file_content_bytes = 10240

(IntOpt) The number of bytes allowed per injected file.

Possible values:

  • A positive integer or 0. * -1 to disable the quota.

[quota] injected_file_path_length = 255

(IntOpt) The maximum allowed injected file path length.

Possible values:

  • A positive integer or 0. * -1 to disable the quota.

[quota] injected_files = 5

(IntOpt) The number of injected files allowed. File injection allows users to customize the personality of an instance by injecting data into it upon boot. Only text file injection is permitted: binary or ZIP files are not accepted. During file injection, any existing files that match specified files are renamed to include .bak extension appended with a timestamp.

Possible values:

  • A positive integer or 0. * -1 to disable the quota.

[quota] instances = 10

(IntOpt) The number of instances allowed per project. Possible Values * A positive integer or 0. * -1 to disable the quota.

[quota] key_pairs = 100

(IntOpt) The maximum number of key pairs allowed per user. Users can create at least one key pair for each project and use the key pair for multiple instances that belong to that project.

Possible values:

  • A positive integer or 0. * -1 to disable the quota.

[quota] max_age = 0

(IntOpt) The number of seconds between subsequent usage refreshes. This defaults to 0 (off) to avoid additional load but it is useful to turn on to help keep quota usage up-to-date and reduce the impact of out of sync usage issues. Note that quotas are not updated on a periodic task, they will update on a new reservation if max_age has passed since the last reservation.

[quota] metadata_items = 128

(IntOpt) The number of metadata items allowed per instance. Users can associate metadata with an instance during instance creation. This metadata takes the form of key-value pairs.

Possible values:

  • A positive integer or 0. * -1 to disable the quota.

[quota] ram = 51200

(IntOpt) The number of megabytes of instance RAM allowed per project.

Possible values:

  • A positive integer or 0. * -1 to disable the quota.

[quota] reservation_expire = 86400

(IntOpt) The number of seconds until a reservation expires. This quota represents the time period for invalidating quota reservations.

[quota] security_group_rules = 20

(IntOpt) The number of security rules per security group. The associated rules in each security group control the traffic to instances in the group.

Possible values:

  • A positive integer or 0. * -1 to disable the quota.

[quota] security_groups = 10

(IntOpt) The number of security groups per project.

Possible values:

  • A positive integer or 0. * -1 to disable the quota.

[quota] server_group_members = 10

(IntOpt) The maximum number of servers per server group.

Possible values:

  • A positive integer or 0. * -1 to disable the quota.

[quota] server_groups = 10

(IntOpt) The maxiumum number of server groups per project. Server groups are used to control the affinity and anti-affinity scheduling policy for a group of servers or instances. Reducing the quota will not affect any existing group, but new servers will not be allowed into groups that have become over quota.

Possible values:

  • A positive integer or 0. * -1 to disable the quota.

[quota] until_refresh = 0

(IntOpt) The count of reservations until usage is refreshed. This defaults to 0 (off) to avoid additional load but it is useful to turn on to help keep quota usage up-to-date and reduce the impact of out of sync usage issues.

[scheduler] discover_hosts_in_cells_interval = -1

(IntOpt) Periodic task interval. This value controls how often (in seconds) the scheduler should attempt to discover new hosts that have been added to cells. If negative (the default), no automatic discovery will occur. Small deployments may want this periodic task enabled, as surveying the cells for new hosts is likely to be lightweight enough to not cause undue burdon to the scheduler. However, larger clouds (and those that are not adding hosts regularly) will likely want to disable this automatic behavior and instead use the nova-manage cell_v2 discover_hosts command when hosts have been added to a cell.

[scheduler] driver = filter_scheduler

(StrOpt) The class of the driver used by the scheduler. The options are chosen from the entry points under the namespace 'nova.scheduler.driver' in 'setup.cfg'.

Possible values:

  • A string, where the string corresponds to the class name of a scheduler driver. There are a number of options available: 'caching_scheduler', which aggressively caches the system state for better individual scheduler performance at the risk of more retries when running multiple schedulers 'chance_scheduler', which simply picks a host at random 'fake_scheduler', which is used for testing A custom scheduler driver. In this case, you will be responsible for creating and maintaining the entry point in your 'setup.cfg' file

[scheduler] host_manager = host_manager

(StrOpt) The scheduler host manager to use. The host manager manages the in-memory picture of the hosts that the scheduler uses. The options values are chosen from the entry points under the namespace 'nova.scheduler.host_manager' in 'setup.cfg'.

[scheduler] max_attempts = 3

(IntOpt) Maximum number of schedule attempts for a chosen host. This is the maximum number of attempts that will be made to schedule an instance before it is assumed that the failures aren’t due to normal occasional race conflicts, but rather some other problem. When this is reached a MaxRetriesExceeded exception is raised, and the instance is set to an error state.

Possible values:

  • A positive integer, where the integer corresponds to the max number of attempts that can be made when scheduling an instance.

[scheduler] periodic_task_interval = 60

(IntOpt) Periodic task interval. This value controls how often (in seconds) to run periodic tasks in the scheduler. The specific tasks that are run for each period are determined by the particular scheduler being used. If this is larger than the nova-service 'service_down_time' setting, Nova may report the scheduler service as down. This is because the scheduler driver is responsible for sending a heartbeat and it will only do that as often as this option allows. As each scheduler can work a little differently than the others, be sure to test this with your selected scheduler.

Possible values:

  • An integer, where the integer corresponds to periodic task interval in seconds. 0 uses the default interval (60 seconds). A negative value disables periodic tasks.

Related options:

  • nova-service service_down_time

[service_user] auth_section = None

(Opt) Config Section from which to load plugin specific options

[service_user] auth_type = None

(Opt) Authentication type to load

[service_user] cafile = None

(StrOpt) PEM encoded Certificate Authority to use when verifying HTTPs connections.

[service_user] certfile = None

(StrOpt) PEM encoded client certificate cert file

[service_user] insecure = False

(BoolOpt) Verify HTTPS connections.

[service_user] keyfile = None

(StrOpt) PEM encoded client certificate key file

[service_user] send_service_user_token = False

(BoolOpt) When True, if sending a user token to an REST API, also send a service token. Nova often reuses the user token provided to the nova-api to talk to other REST APIs, such as Cinder and Neutron. It is possible that while the user token was valid when the request was made to Nova, the token may expire before it reaches the other service. To avoid any failures, and to make it clear it is Nova calling the service on the users behalf, we include a server token along with the user token. Should the user’s token have expired, a valid service token ensures the REST API request will still be accepted by the keystone middleware. This feature is currently experimental, and as such is turned off by default while full testing and performance tuning of this feature is completed.

[service_user] timeout = None

(IntOpt) Timeout value for http requests

[vendordata_dynamic_auth] auth_section = None

(Opt) Config Section from which to load plugin specific options

[vendordata_dynamic_auth] auth_type = None

(Opt) Authentication type to load

[vendordata_dynamic_auth] cafile = None

(StrOpt) PEM encoded Certificate Authority to use when verifying HTTPs connections.

[vendordata_dynamic_auth] certfile = None

(StrOpt) PEM encoded client certificate cert file

[vendordata_dynamic_auth] insecure = False

(BoolOpt) Verify HTTPS connections.

[vendordata_dynamic_auth] keyfile = None

(StrOpt) PEM encoded client certificate key file

[vendordata_dynamic_auth] timeout = None

(IntOpt) Timeout value for http requests

Expand
Table 4.52. New default values
OptionPrevious default valueNew default value

[DEFAULT] use_neutron

False

True

[libvirt] live_migration_progress_timeout

150

0

Expand
Table 4.53. Deprecated options
Deprecated optionNew Option

[DEFAULT] baremetal_scheduler_default_filters

[filter_scheduler] baremetal_enabled_filters

[DEFAULT] console_allowed_origins

[console] allowed_origins

[DEFAULT] console_token_ttl

[consoleauth] token_ttl

[DEFAULT] default_notification_level

[notifications] default_level

[DEFAULT] notify_api_faults

[notifications] notify_on_api_faults

[DEFAULT] osapi_compute_link_prefix

[api] compute_link_prefix

[DEFAULT] osapi_glance_link_prefix

[api] glance_link_prefix

[DEFAULT] osapi_hide_server_address_states

[api] hide_server_address_states

[DEFAULT] osapi_max_limit

[api] max_limit

[DEFAULT] pci_alias

[pci] alias

[DEFAULT] pci_passthrough_whitelist

[pci] passthrough_whitelist

[DEFAULT] quota_cores

[quota] cores

[DEFAULT] quota_driver

[quota] driver

[DEFAULT] quota_fixed_ips

[quota] fixed_ips

[DEFAULT] quota_floating_ips

[quota] floating_ips

[DEFAULT] quota_injected_file_content_bytes

[quota] injected_file_content_bytes

[DEFAULT] quota_injected_file_path_length

[quota] injected_file_path_length

[DEFAULT] quota_injected_files

[quota] injected_files

[DEFAULT] quota_instances

[quota] instances

[DEFAULT] quota_key_pairs

[quota] key_pairs

[DEFAULT] quota_metadata_items

[quota] metadata_items

[DEFAULT] quota_ram

[quota] ram

[DEFAULT] quota_security_group_rules

[quota] security_group_rules

[DEFAULT] quota_security_groups

[quota] security_groups

[DEFAULT] quota_server_group_members

[quota] server_group_members

[DEFAULT] quota_server_groups

[quota] server_groups

[DEFAULT] rpc_thread_pool_size

[DEFAULT] executor_thread_pool_size

[DEFAULT] scheduler_available_filters

[filter_scheduler] available_filters

[DEFAULT] scheduler_default_filters

[filter_scheduler] enabled_filters

[DEFAULT] scheduler_driver

[scheduler] driver

[DEFAULT] scheduler_driver_task_period

[scheduler] periodic_task_interval

[DEFAULT] scheduler_host_manager

[scheduler] host_manager

[DEFAULT] scheduler_host_subset_size

[filter_scheduler] host_subset_size

[DEFAULT] scheduler_max_attempts

[scheduler] max_attempts

[DEFAULT] scheduler_tracks_instance_changes

[filter_scheduler] track_instance_changes

[DEFAULT] scheduler_use_baremetal_filters

[filter_scheduler] use_baremetal_filters

[DEFAULT] scheduler_weight_classes

[filter_scheduler] weight_classes

[DEFAULT] use_syslog

None

Chapter 5. Data Processing Service

The Data processing service (sahara) provides a scalable data-processing stack and associated management interfaces.

5.1. Data Processing Configuration Options

Note

The common configurations for shared services and libraries, such as database connections and RPC messaging, are described at Common configurations.

5.1.1. Description of Configuration Options

The following tables provide a comprehensive list of the Data processing service configuration options.

Expand
Table 5.1. Description of API configuration options
Configuration option = Default valueDescription

[oslo_messaging_rabbit]

 

connection_factory = single

(String) Connection factory implementation

[oslo_middleware]

 

enable_proxy_headers_parsing = False

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

max_request_body_size = 114688

(Integer) The maximum body size for each request, in bytes.

secure_proxy_ssl_header = X-Forwarded-Proto

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

  • Deprecated

No deprecation reason provided for this option.

[retries]

 

retries_number = 5

(Integer) Number of times to retry the request to client before failing

retry_after = 10

(Integer) Time between the retries to client (in seconds).

Expand
Table 5.2. Description of clients configuration options
Configuration option = Default valueDescription

[cinder]

 

api_insecure = False

(Boolean) Allow to perform insecure SSL requests to cinder.

api_version = 2

(Integer) Version of the Cinder API to use.

ca_file = None

(String) Location of ca certificates file to use for cinder client requests.

endpoint_type = internalURL

(String) Endpoint type for cinder client requests

[glance]

 

api_insecure = False

(Boolean) Allow to perform insecure SSL requests to glance.

ca_file = None

(String) Location of ca certificates file to use for glance client requests.

endpoint_type = internalURL

(String) Endpoint type for glance client requests

[heat]

 

api_insecure = False

(Boolean) Allow to perform insecure SSL requests to heat.

ca_file = None

(String) Location of ca certificates file to use for heat client requests.

endpoint_type = internalURL

(String) Endpoint type for heat client requests

[keystone]

 

api_insecure = False

(Boolean) Allow to perform insecure SSL requests to keystone.

ca_file = None

(String) Location of ca certificates file to use for keystone client requests.

endpoint_type = internalURL

(String) Endpoint type for keystone client requests

[manila]

 

api_insecure = True

(Boolean) Allow to perform insecure SSL requests to manila.

api_version = 1

(Integer) Version of the manila API to use.

ca_file = None

(String) Location of ca certificates file to use for manila client requests.

[neutron]

 

api_insecure = False

(Boolean) Allow to perform insecure SSL requests to neutron.

ca_file = None

(String) Location of ca certificates file to use for neutron client requests.

endpoint_type = internalURL

(String) Endpoint type for neutron client requests

[nova]

 

api_insecure = False

(Boolean) Allow to perform insecure SSL requests to nova.

ca_file = None

(String) Location of ca certificates file to use for nova client requests.

endpoint_type = internalURL

(String) Endpoint type for nova client requests

[swift]

 

api_insecure = False

(Boolean) Allow to perform insecure SSL requests to swift.

ca_file = None

(String) Location of ca certificates file to use for swift client requests.

endpoint_type = internalURL

(String) Endpoint type for swift client requests

Expand
Table 5.3. Description of common configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

admin_project_domain_name = default

(String) The name of the domain for the service project(ex. tenant).

admin_user_domain_name = default

(String) The name of the domain to which the admin user belongs.

api_workers = 1

(Integer) Number of workers for Sahara API service (0 means all-in-one-thread configuration).

cleanup_time_for_incomplete_clusters = 0

(Integer) Maximal time (in hours) for clusters allowed to be in states other than "Active", "Deleting" or "Error". If a cluster is not in "Active", "Deleting" or "Error" state and last update of it was longer than "cleanup_time_for_incomplete_clusters" hours ago then it will be deleted automatically. (0 value means that automatic clean up is disabled).

cluster_remote_threshold = 70

(Integer) The same as global_remote_threshold, but for a single cluster.

compute_topology_file = etc/sahara/compute.topology

(String) File with nova compute topology. It should contain mapping between nova computes and racks.

coordinator_heartbeat_interval = 1

(Integer) Interval size between heartbeat execution in seconds. Heartbeats are executed to make sure that connection to the coordination server is active.

default_ntp_server = pool.ntp.org

(String) Default ntp server for time sync

disable_event_log = False

(Boolean) Disables event log feature.

edp_internal_db_enabled = True

(Boolean) Use Sahara internal db to store job binaries.

enable_data_locality = False

(Boolean) Enables data locality for hadoop cluster. Also enables data locality for Swift used by hadoop. If enabled, 'compute_topology' and 'swift_topology' configuration parameters should point to OpenStack and Swift topology correspondingly.

enable_hypervisor_awareness = True

(Boolean) Enables four-level topology for data locality. Works only if corresponding plugin supports such mode.

executor_thread_pool_size = 64

(Integer) Size of executor thread pool when executor is threading or eventlet.

global_remote_threshold = 100

(Integer) Maximum number of remote operations that will be running at the same time. Note that each remote operation requires its own process to run.

hash_ring_replicas_count = 40

(Integer) Number of points that belongs to each member on a hash ring. The larger number leads to a better distribution.

heat_enable_wait_condition = True

(Boolean) Enable wait condition feature to reduce polling during cluster creation

heat_stack_tags = data-processing-cluster

(List) List of tags to be used during operating with stack.

job_binary_max_KB = 5120

(Integer) Maximum length of job binary data in kilobytes that may be stored or retrieved in a single operation.

job_canceling_timeout = 300

(Integer) Timeout for canceling job execution (in seconds). Sahara will try to cancel job execution during this time.

job_workflow_postfix =

(String) Postfix for storing jobs in hdfs. Will be added to '/user/<hdfs user>/' path.

min_transient_cluster_active_time = 30

(Integer) Minimal "lifetime" in seconds for a transient cluster. Cluster is guaranteed to be "alive" within this time period.

nameservers =

(List) IP addresses of Designate nameservers.

node_domain = novalocal

(String) The suffix of the node’s FQDN. In nova-network that is the dhcp_domain config parameter.

os_region_name = None

(String) Region name used to get services endpoints.

periodic_coordinator_backend_url = None

(String) The backend URL to use for distributed periodic tasks coordination.

periodic_enable = True

(Boolean) Enable periodic tasks.

periodic_fuzzy_delay = 60

(Integer) Range in seconds to randomly delay when starting the periodic task scheduler to reduce stampeding. (Disable by setting to 0).

periodic_interval_max = 60

(Integer) Max interval size between periodic tasks execution in seconds.

periodic_workers_number = 1

(Integer) Number of threads to run periodic tasks.

plugins = vanilla, spark, cdh, ambari, storm, mapr

(List) List of plugins to be loaded. Sahara preserves the order of the list when returning it.

proxy_command =

(String) Proxy command used to connect to instances. If set, this command should open a netcat socket, that Sahara will use for SSH and HTTP connections. Use {host} and {port} to describe the destination. Other available keywords: {tenant_id}, {network_id}, {router_id}.

rootwrap_command = sudo sahara-rootwrap /etc/sahara/rootwrap.conf

(String) Rootwrap command to leverage. Use in conjunction with use_rootwrap=True

swift_topology_file = etc/sahara/swift.topology

(String) File with Swift topology.It should contain mapping between Swift nodes and racks.

use_floating_ips = True

(Boolean) If set to True, Sahara will use floating IPs to communicate with instances. To make sure that all instances have floating IPs assigned in Nova Network set "auto_assign_floating_ip=True" in nova.conf. If Neutron is used for networking, make sure that all Node Groups have "floating_ip_pool" parameter defined.

use_identity_api_v3 = True

(Boolean) Enables Sahara to use Keystone API v3. If that flag is disabled, per-job clusters will not be terminated automatically.

use_namespaces = False

(Boolean) Use network namespaces for communication (only valid to use in conjunction with use_neutron=True).

use_neutron = True

(Boolean) Use Neutron Networking (False indicates the use of Nova networking).

use_rootwrap = False

(Boolean) Use rootwrap facility to allow non-root users to run the sahara services and access private network IPs (only valid to use in conjunction with use_namespaces=True)

use_router_proxy = False

(Boolean) Use ROUTER remote proxy.

[cluster_verifications]

 

verification_enable = True

(Boolean) Option to enable verifications for all clusters

verification_periodic_interval = 600

(Integer) Interval between two consecutive periodic tasks forverifications, in seconds.

[conductor]

 

use_local = True

(Boolean) Perform sahara-conductor operations locally.

[healthcheck]

 

backends =

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

detailed = False

(Boolean) Show more detailed information as part of the response

disable_by_file_path = None

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

disable_by_file_paths =

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

path = /healthcheck

(String) The path to respond to healtcheck requests on.

  • Deprecated

No deprecation reason provided for this option.

Expand
Table 5.4. Description of domain configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

proxy_user_domain_name = None

(String) The domain Sahara will use to create new proxy users for Swift object access.

proxy_user_role_names = Member

(List) A list of the role names that the proxy user should assume through trust for Swift object access.

use_domain_for_proxy_users = False

(Boolean) Enables Sahara to use a domain for creating temporary proxy users to access Swift. If this is enabled a domain must be created for Sahara to use.

Expand
Table 5.5. Description of Auth options for Swift access for VM configuration options
Configuration option = Default valueDescription

[object_store_access]

 

public_identity_ca_file = None

(String) Location of ca certificate file to use for identity client requests via public endpoint

public_object_store_ca_file = None

(String) Location of ca certificate file to use for object-store client requests via public endpoint

Expand
Table 5.6. Description of Redis configuration options
Configuration option = Default valueDescription

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

  • Deprecated

Replaced by [DEFAULT]/transport_url

password =

(String) Password for Redis server (optional).

  • Deprecated

Replaced by [DEFAULT]/transport_url

port = 6379

(Port number) Use this port to connect to redis host.

  • Deprecated

Replaced by [DEFAULT]/transport_url

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 …​ ]

  • Deprecated

Replaced by [DEFAULT]/transport_url

socket_timeout = 10000

(Integer) Timeout in ms on blocking socket operations.

wait_timeout = 2000

(Integer) Time in ms to wait between connection attempts.

Expand
Table 5.7. Description of SSH configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

ssh_timeout_common = 300

(Integer) Overrides timeout for common ssh operations, in seconds

ssh_timeout_files = 120

(Integer) Overrides timeout for ssh operations with files, in seconds

ssh_timeout_interactive = 1800

(Integer) Overrides timeout for interactive ssh operations, in seconds

Expand
Table 5.8. Description of timeouts configuration options
Configuration option = Default valueDescription

[timeouts]

 

delete_instances_timeout = 10800

(Integer) Wait for instances to be deleted, in seconds

detach_volume_timeout = 300

(Integer) Timeout for detaching volumes from instance, in seconds

ips_assign_timeout = 10800

(Integer) Assign IPs timeout, in seconds

wait_until_accessible = 10800

(Integer) Wait for instance accessibility, in seconds

Expand
Table 5.9. New default values
OptionPrevious default valueNew default value

[DEFAULT] use_neutron

False

True

Expand
Table 5.10. Deprecated options
Deprecated optionNew Option

[DEFAULT] rpc_thread_pool_size

[DEFAULT] executor_thread_pool_size

[DEFAULT] use_syslog

None

Chapter 6. Identity Service

This chapter details the OpenStack Identity service configuration options.

6.1. Identity Service Configuration Options

Note

The common configurations for shared services and libraries, such as database connections and RPC messaging, are described at Common configurations.

6.1.1. Identity Service Configuration File

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

6.1.2. Description of Configuration Options

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

Expand
Table 6.1. Description of API configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

admin_endpoint = None

(URI) 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. For example, if keystone receives a request to http://server:35357/v3/users, then this will option will be automatically treated as http://server:35357. You should only need to set option if either the value of the base URL contains a path that keystone does not automatically infer ( /prefix/v3), or if the endpoint should be found on a different host.

admin_token = None

(String) Using this feature is NOT recommended. Instead, use the keystone-manage bootstrap command. The value of this option is treated as a "shared secret" that can be used to bootstrap Keystone through the API. This "token" does not represent a user (it has no identity), and carries no explicit authorization (it effectively bypasses most authorization checks). If set to None, the value is ignored and the admin_token middleware is effectively disabled. However, to completely disable admin_token in production (highly recommended, as it presents a security risk), remove AdminTokenAuthMiddleware (the admin_token_auth filter) from your paste application pipelines (for example, in keystone-paste.ini).

list_limit = None

(Integer) The maximum number of entities that will be returned in a collection. This global limit may be then overridden for a specific driver, by specifying a list_limit in the appropriate section (for example, [assignment]). No limit is set by default. In larger deployments, it is recommended that you set this to a reasonable number to prevent operations like listing all users and projects from placing an unnecessary load on the system.

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

(Integer) Similar to [DEFAULT] max_param_size, but provides an exception for token values. With Fernet tokens, this can be set as low as 255. With UUID tokens, this should be set to 32).

member_role_id = 9fe2ff9ee4384b1894a90878d3e92bab

(String) Similar to the [DEFAULT] 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. You do not need to set this value unless you want keystone to use an existing role with a different ID, other than the arbitrarily defined member role (in which case, you should set [DEFAULT] member_role_name as well).

member_role_name = _member_

(String) This is the role name used in combination with the [DEFAULT] member_role_id option; see that option for more detail. You do not need to set this option unless you want keystone to use an existing role (in which case, you should set [DEFAULT] member_role_id as well).

public_endpoint = None

(URI) 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. For example, if keystone receives a request to http://server:5000/v3/users, then this will option will be automatically treated as http://server:5000. You should only need to set option if either the value of the base URL contains a path that keystone does not automatically infer ( /prefix/v3), or if the endpoint should be found on a different host.

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.

  • Deprecated This option has been deprecated in the Newton release and will be removed in the Pike release. Use oslo.middleware.http_proxy_to_wsgi configuration instead.

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) Entry point for the endpoint filter driver in the keystone.endpoint_filter namespace. Only a sql option is provided by keystone, so there is no reason to set this unless you are providing a custom entry point.

return_all_endpoints_if_no_filter = True

(Boolean) This controls keystone’s behavior if the configured endpoint filters do not result in any endpoints for a user + project pair (and therefore a potentially empty service catalog). If set to true, keystone will return the entire service catalog. If set to false, keystone will return an empty service catalog.

[endpoint_policy]

 

driver = sql

(String) Entry point for the endpoint policy driver in the keystone.endpoint_policy namespace. Only a sql driver is provided by keystone, so there is no reason to set this unless you are providing a custom entry point.

[eventlet_server]

 

admin_bind_host = 0.0.0.0

(String) The IP address of the network interface for the admin service to listen on.

  • Deprecated Support for running keystone under eventlet has been removed in the Newton release. These options remain for backwards compatibility because they are used for URL substitutions.

admin_port = 35357

(Port number) The port number for the admin service to listen on.

  • Deprecated Support for running keystone under eventlet has been removed in the Newton release. These options remain for backwards compatibility because they are used for URL substitutions.

public_bind_host = 0.0.0.0

(String) The IP address of the network interface for the public service to listen on.

  • Deprecated Support for running keystone under eventlet has been removed in the Newton release. These options remain for backwards compatibility because they are used for URL substitutions.

public_port = 5000

(Port number) The port number for the public service to listen on.

  • Deprecated Support for running keystone under eventlet has been removed in the Newton release. These options remain for backwards compatibility because they are used for URL substitutions.

[oslo_middleware]

 

enable_proxy_headers_parsing = False

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

max_request_body_size = 114688

(Integer) The maximum body size for each request, in bytes.

secure_proxy_ssl_header = X-Forwarded-Proto

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

  • Deprecated A custom usage of the HTTP_X_FORWARDED_PROTO header has been deprecated in favor of a standard middleware shared across all services. This will enable support for the newer forwarding standards.

[paste_deploy]

 

config_file = keystone-paste.ini

(String) Name of (or absolute path to) the Paste Deploy configuration file that composes middleware and the keystone application itself into actual WSGI entry points. See http://pythonpaste.org/deploy/ for additional documentation on the file’s format.

[resource]

 

admin_project_domain_name = None

(String) Name of the domain that owns the admin_project_name. If left unset, then there is no admin project. [resource] admin_project_name must also be set to use this option.

admin_project_name = None

(String) This is a special project which represents cloud-level administrator privileges across services. Tokens scoped to this project will contain a true is_admin_project attribute to indicate to policy systems that the role assignments on that specific project should apply equally across every project. If left unset, then there is no admin project, and thus no explicit means of cross-project role assignments. [resource] admin_project_domain_name must also be set to use this option.

cache_time = None

(Integer) Time to cache resource data in seconds. 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) This controls 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 fail. If set to strict, attempts to scope a token with a URL-unsafe domain name will fail, thereby forcing all domain names to be updated to be URL-safe.

driver = sql

(String) Entry point for the resource driver in the keystone.resource namespace. Only a sql driver is supplied by keystone. Unless you are writing proprietary drivers for keystone, you do not need to set this option.

list_limit = None

(Integer) Maximum number of entities that will be returned in a resource collection.

project_name_url_safe = off

(String) This controls 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 fail. If set to strict, attempts to scope a token with a URL-unsafe project name will fail, thereby forcing all project names to be updated to be URL-safe.

[shadow_users]

 

driver = sql

(String) Entry point for the shadow users backend driver in the keystone.identity.shadow_users namespace. This driver is used for persisting local user references to externally-managed identities (via federation, LDAP, etc). Keystone only provides a sql driver, so there is no reason to change this option unless you are providing a custom entry point.

Expand
Table 6.2. Description of assignment configuration options
Configuration option = Default valueDescription

[assignment]

 

driver = sql

(String) Entry point for the assignment backend driver (where role assignments are stored) in the keystone.assignment namespace. Only a SQL driver is supplied by keystone itself. Unless you are writing proprietary drivers for keystone, you do not need to set this option.

prohibited_implied_role = admin

(List) A list of role names which are prohibited from being an implied role.

Expand
Table 6.3. Description of authorization configuration options
Configuration option = Default valueDescription

[auth]

 

external = None

(String) Entry point 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, which assumes that all users identified by the username specified to keystone in the REMOTE_USER variable exist within the context of the default domain. The Domain option expects an additional environment variable be presented to keystone, REMOTE_DOMAIN, containing the domain name of the REMOTE_USER (if REMOTE_DOMAIN is not set, then the default domain will be used instead). You do not need to set this unless you are taking advantage of "external authentication", where the application server (such as Apache) is handling authentication instead of keystone.

mapped = None

(String) Entry point for the mapped auth plugin module in the keystone.auth.mapped namespace. You do not need to set this unless you are overriding keystone’s own mapped authentication plugin.

methods = external, password, token, oauth1, mapped

(List) Allowed authentication methods. Note: You should disable the external auth method if you are currently using federation. External auth and federation both use the REMOTE_USER variable. Since both the mapped and external plugin are being invoked to validate attributes in the request environment, it can cause conflicts.

oauth1 = None

(String) Entry point for the OAuth 1.0a auth plugin module in the keystone.auth.oauth1 namespace. You do not need to set this unless you are overriding keystone’s own oauth1 authentication plugin.

password = None

(String) Entry point for the password auth plugin module in the keystone.auth.password namespace. You do not need to set this unless you are overriding keystone’s own password authentication plugin.

token = None

(String) Entry point for the token auth plugin module in the keystone.auth.token namespace. You do not need to set this unless you are overriding keystone’s own token authentication plugin.

Expand
Table 6.4. Description of cache configuration options
Configuration option = Default valueDescription

[memcache]

 

dead_retry = 300

(Integer) Number of seconds memcached server is considered dead before it is tried again. This is used by the key value store system.

pool_connection_get_timeout = 10

(Integer) Number of seconds that an operation will wait to get a memcache client connection. This is used by the key value store system.

pool_maxsize = 10

(Integer) Max total number of open connections to every memcached server. This is used by the key value store system.

pool_unused_timeout = 60

(Integer) Number of seconds a connection to memcached is held unused in the pool before it is closed. This is used by the key value store system.

servers = localhost:11211

(List) Comma-separated list of memcached servers in the format of host:port,host:port that keystone should use for the memcache token persistence provider and other memcache-backed KVS drivers. This configuration value is NOT used for intermediary caching between keystone and other backends, such as SQL and LDAP (for that, see the [cache] section). Multiple keystone servers in the same deployment should use the same set of memcached servers to ensure that data (such as UUID tokens) created by one node is available to the others.

  • Deprecated This option has been deprecated in the Ocata release and will be removed in the Pike release. Use oslo.cache instead.

socket_timeout = 3

(Integer) Timeout in seconds for every call to a server. This is used by the key value store system.

Expand
Table 6.5. Description of CA and SSL configuration options
Configuration option = Default valueDescription

[signing]

 

ca_certs = /etc/keystone/ssl/certs/ca.pem

(String) Absolute path to the public certificate authority (CA) file to use when creating self-signed certificates with keystone-manage pki_setup. Set this together with [signing] ca_key. There is no reason to set this option unless you are requesting revocation lists in a non-production environment. Use a [signing] certfile issued from a trusted certificate authority instead.

ca_key = /etc/keystone/ssl/private/cakey.pem

(String) Absolute path to the private certificate authority (CA) key file to use when creating self-signed certificates with keystone-manage pki_setup. Set this together with [signing] ca_certs. There is no reason to set this option unless you are requesting revocation lists in a non-production environment. Use a [signing] certfile issued from a trusted certificate authority instead.

cert_subject = /C=US/ST=Unset/L=Unset/O=Unset/CN=www.example.com

(String) The certificate subject to use when generating a self-signed token signing certificate. There is no reason to set this option unless you are requesting revocation lists in a non-production environment. Use a [signing] certfile issued from a trusted certificate authority instead.

certfile = /etc/keystone/ssl/certs/signing_cert.pem

(String) Absolute path to the public certificate file to use for signing responses to revocation lists requests. Set this together with [signing] keyfile. For non-production environments, you may be interested in using keystone-manage pki_setup to generate self-signed certificates.

key_size = 2048

(Integer) Key size (in bits) to use when generating a self-signed token signing certificate. There is no reason to set this option unless you are requesting revocation lists in a non-production environment. Use a [signing] certfile issued from a trusted certificate authority instead.

keyfile = /etc/keystone/ssl/private/signing_key.pem

(String) Absolute path to the private key file to use for signing responses to revocation lists requests. Set this together with [signing] certfile.

valid_days = 3650

(Integer) The validity period (in days) to use when generating a self-signed token signing certificate. There is no reason to set this option unless you are requesting revocation lists in a non-production environment. Use a [signing] certfile issued from a trusted certificate authority instead.

Expand
Table 6.6. Description of catalog configuration options
Configuration option = Default valueDescription

[catalog]

 

cache_time = None

(Integer) Time to cache catalog data (in seconds). This has no effect unless global and catalog caching are both enabled. Catalog data (services, endpoints, etc.) typically does not change frequently, and so a longer duration than the global default may be desirable.

caching = True

(Boolean) Toggle for catalog caching. This has no effect unless global caching is enabled. In a typical deployment, there is no reason to disable this.

driver = sql

(String) Entry point for the catalog driver in the keystone.catalog namespace. Keystone provides a sql option (which supports basic CRUD operations through SQL), a templated option (which loads the catalog from a templated catalog file on disk), and a endpoint_filter.sql option (which supports arbitrary service catalogs per project).

list_limit = None

(Integer) Maximum number of entities that will be returned in a catalog collection. There is typically no reason to set this, as it would be unusual for a deployment to have enough services or endpoints to exceed a reasonable limit.

template_file = default_catalog.templates

(String) Absolute path to the file used for the templated catalog backend. This option is only used if the [catalog] driver is set to templated.

Expand
Table 6.7. Description of common configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

executor_thread_pool_size = 64

(Integer) Size of executor thread pool when executor is threading or eventlet.

insecure_debug = False

(Boolean) If set to true, then the server will return information in HTTP responses that may allow an unauthenticated or authenticated user to get more information than normal, such as additional details about why authentication failed. This may be useful for debugging but is insecure.

[healthcheck]

 

backends =

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

detailed = False

(Boolean) Show more detailed information as part of the response

disable_by_file_path = None

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

disable_by_file_paths =

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

path = /healthcheck

(String) The path to respond to healtcheck requests on.

  • Deprecated No deprecation reason provided for this option.

[profiler]

 

connection_string = messaging://

(String) 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 notifications. * mongodb://127.0.0.1:27017 : use mongodb driver for sending notifications. * elasticsearch://127.0.0.1:9200 : use elasticsearch driver for sending notifications.

enabled = False

(Boolean) Enables 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.

es_doc_type = notification

(String) Document type for notification indexing in elasticsearch.

es_scroll_size = 10000

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

es_scroll_time = 2m

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

hmac_keys = SECRET_KEY

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

sentinel_service_name = mymaster

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

socket_timeout = 0.1

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

trace_sqlalchemy = False

(Boolean) Enables 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.

Expand
Table 6.8. Description of Security compliance configuration options
Configuration option = Default valueDescription

[security_compliance]

 

change_password_upon_first_use = False

(Boolean) Enabling this option requires users to change their password when the user is created, or upon administrative reset. Before accessing any services, affected users will have to change their password. To ignore this requirement for specific users, such as service users, set the options attribute ignore_change_password_upon_first_use to True for the desired user via the update user API. This feature is disabled by default. This feature is only applicable with the sql backend for the [identity] driver.

disable_user_account_days_inactive = None

(Integer) The maximum number of days a user can go without authenticating before being considered "inactive" and automatically disabled (locked). This feature is disabled by default; set any value to enable it. This feature depends on the sql backend for the [identity] driver. When a user exceeds this threshold and is considered "inactive", the user’s enabled attribute in the HTTP API may not match the value of the user’s enabled column in the user table.

lockout_duration = 1800

(Integer) The number of seconds a user account will be locked when the maximum number of failed authentication attempts (as specified by [security_compliance] lockout_failure_attempts) is exceeded. Setting this option will have no effect unless you also set [security_compliance] lockout_failure_attempts to a non-zero value. This feature depends on the sql backend for the [identity] driver.

lockout_failure_attempts = None

(Integer) The maximum number of times that a user can fail to authenticate before the user account is locked for the number of seconds specified by [security_compliance] lockout_duration. This feature is disabled by default. If this feature is enabled and [security_compliance] lockout_duration is not set, then users may be locked out indefinitely until the user is explicitly enabled via the API. This feature depends on the sql backend for the [identity] driver.

minimum_password_age = 0

(Integer) The number of days that a password must be used before the user can change it. This prevents users from changing their passwords immediately in order to wipe out their password history and reuse an old password. This feature does not prevent administrators from manually resetting passwords. It is disabled by default and allows for immediate password changes. This feature depends on the sql backend for the [identity] driver. Note: If [security_compliance] password_expires_days is set, then the value for this option should be less than the password_expires_days.

password_expires_days = None

(Integer) The number of days for which a password will be considered valid before requiring it to be changed. This feature is disabled by default. If enabled, new password changes will have an expiration date, however existing passwords would not be impacted. This feature depends on the sql backend for the [identity] driver.

password_expires_ignore_user_ids =

(List) Comma separated list of user IDs to be ignored when checking if a password is expired. Passwords for users in this list will not expire. This feature will only be enabled if [security_compliance] password_expires_days is set.

  • Deprecated Functionality added as a per-user option "ignore_password_expiry" in Ocata. Each user that should ignore password expiry should have the value set to "true" in the user’s options attribute (e.g. user['options']['ignore_password_expiry'] = True) with an "update_user" call. This avoids the need to restart keystone to adjust the users that ignore password expiry. This option will be removed in the Pike release.

password_regex = None

(String) The regular expression used to validate password strength requirements. By default, the regular expression will match any password. The following is an example of a pattern which requires at least 1 letter, 1 digit, and have a minimum length of 7 characters: ^(?=.d)(?=.[a-zA-Z]).{7,}$ This feature depends on the sql backend for the [identity] driver.

password_regex_description = None

(String) Describe your password regular expression here in language for humans. If a password fails to match the regular expression, the contents of this configuration variable will be returned to users to explain why their requested password was insufficient.

unique_last_password_count = 1

(Integer) This controls the number of previous user password iterations to keep in history, in order to enforce that newly created passwords are unique. Setting the value to one (the default) disables this feature. Thus, to enable this feature, values must be greater than 1. This feature depends on the sql backend for the [identity] driver.

Expand
Table 6.9. Description of credential configuration options
Configuration option = Default valueDescription

[credential]

 

driver = sql

(String) Entry point for the credential backend driver in the keystone.credential namespace. Keystone only provides a sql driver, so there’s no reason to change this unless you are providing a custom entry point.

key_repository = /etc/keystone/credential-keys/

(String) Directory containing Fernet keys used to encrypt and decrypt credentials stored in the credential backend. Fernet keys used to encrypt credentials have no relationship to Fernet keys used to encrypt Fernet tokens. Both sets of keys should be managed separately and require different rotation policies. Do not share this repository with the repository used to manage keys for Fernet tokens.

provider = fernet

(String) Entry point for credential encryption and decryption operations in the keystone.credential.provider namespace. Keystone only provides a fernet driver, so there’s no reason to change this unless you are providing a custom entry point to encrypt and decrypt credentials.

Expand
Table 6.10. Description of logging configuration options
Configuration option = Default valueDescription

[audit]

 

namespace = openstack

(String) namespace prefix for generated id

Expand
Table 6.11. Description of domain configuration options
Configuration option = Default valueDescription

[domain_config]

 

cache_time = 300

(Integer) Time-to-live (TTL, in seconds) to cache domain-specific configuration data. This has no effect unless [domain_config] caching is enabled.

caching = True

(Boolean) Toggle for caching of the domain-specific configuration backend. This has no effect unless global caching is enabled. There is normally no reason to disable this.

driver = sql

(String) Entry point for the domain-specific configuration driver in the keystone.resource.domain_config namespace. Only a sql option is provided by keystone, so there is no reason to set this unless you are providing a custom entry point.

Expand
Table 6.12. Description of federation configuration options
Configuration option = Default valueDescription

[federation]

 

assertion_prefix =

(String) Prefix to use when filtering environment variable names for federated assertions. Matched variables are passed into the federated mapping engine.

caching = True

(Boolean) Toggle for federation caching. This has no effect unless global caching is enabled. There is typically no reason to disable this.

driver = sql

(String) Entry point for the federation backend driver in the keystone.federation namespace. Keystone only provides a sql driver, so there is no reason to set this option unless you are providing a custom entry point.

federated_domain_name = Federated

(String) An arbitrary 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. For mod_shib, this would be Shib-Identity-Provider. For For mod_auth_openidc, this could be HTTP_OIDC_ISS. For mod_auth_mellon, this could be MELLON_IDP.

sso_callback_template = /etc/keystone/sso_callback_template.html

(String) Absolute path to an HTML file used as a Single Sign-On callback handler. This page is expected to redirect the user from keystone back to a trusted dashboard host, by form encoding a token in a POST request. Keystone’s default value should be sufficient for most deployments.

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 this list. This configuration option may be repeated for multiple values. You must set this in order to use web-based SSO flows. For example: trusted_dashboard=https://acme.example.com/auth/websso trusted_dashboard=https://beta.example.com/auth/websso

Expand
Table 6.13. Description of Fernet tokens configuration options
Configuration option = Default valueDescription

[fernet_tokens]

 

key_repository = /etc/keystone/fernet-keys/

(String) Directory containing Fernet token keys. This directory must exist before using keystone-manage fernet_setup for the first time, must be writable by the user running keystone-manage fernet_setup or keystone-manage fernet_rotate, and of course must be readable by keystone’s server process. The repository may contain keys in one of three states: a single staged key (always index 0) used for token validation, a single primary key (always the highest index) used for token creation and validation, and any number of secondary keys (all other index values) used for token validation. With multiple keystone nodes, each node must share the same key repository contents, with the exception of the staged key (index 0). It is safe to run keystone-manage fernet_rotate once on any one node to promote a staged key (index 0) to be the new primary (incremented from the previous highest index), and produce a new staged key (a new key with index 0); the resulting repository can then be atomically replicated to other nodes without any risk of race conditions (for example, it is safe to run keystone-manage fernet_rotate on host A, wait any amount of time, create a tarball of the directory on host A, unpack it on host B to a temporary location, and atomically move ( mv) the directory into place on host B). Running keystone-manage fernet_rotate twice on a key repository without syncing other nodes will result in tokens that can not be validated by all nodes.

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 (always index 0), one primary key (the highest numerical index), and one secondary key (every other index). Increasing this value means that additional secondary keys will be kept in the rotation.

Expand
Table 6.14. Description of identity configuration options
Configuration option = Default valueDescription

[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. There is typically no reason to disable this.

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 can optionally be created for you by keystone-manage bootstrap. 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. There is typically no reason to change this value.

domain_config_dir = /etc/keystone/domains

(String) Absolute path where keystone should locate domain-specific [identity] configuration files. This option has no effect unless [identity] domain_specific_drivers_enabled is set to true. There is typically no reason to change this value.

domain_configurations_from_database = False

(Boolean) By default, domain-specific configuration data is read from files in the directory identified by [identity] domain_config_dir. Enabling this configuration option allows you to instead manage domain-specific configurations through the API, which are then persisted in the backend (typically, a SQL database), rather than using configuration files on disk.

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 [identity] domain_configurations_from_database). Only values specific to the domain need to be specified in this manner. This feature is disabled by default, but may be enabled by default in a future release; set to true to enable.

driver = sql

(String) Entry point for the identity backend driver in the keystone.identity namespace. Keystone provides a sql and ldap driver. This option is also used as the default driver selection (along with the other configuration variables in this section) in the event that [identity] domain_specific_drivers_enabled is enabled, but no applicable domain-specific configuration is defined for the domain in question. Unless your deployment primarily relies on ldap AND is not using domain-specific configuration, you should typically leave this set to sql.

list_limit = None

(Integer) Maximum number of entities that will be returned in an identity collection.

max_password_length = 4096

(Integer) Maximum allowed length for user passwords. Decrease this value to improve performance. Changing this value does not effect existing passwords.

Expand
Table 6.15. Description of KVS configuration options
Configuration option = Default valueDescription

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

Expand
Table 6.16. Description of LDAP configuration options
Configuration option = Default valueDescription

[ldap]

 

alias_dereferencing = default

(String) The LDAP dereferencing option to use for queries involving aliases. A value of default falls back to using default dereferencing behavior configured by your ldap.conf. A value of never prevents aliases from being dereferenced at all. A value of searching dereferences aliases only after name resolution. A value of finding dereferences aliases only during name resolution. A value of always dereferences aliases in all cases.

auth_pool_connection_lifetime = 60

(Integer) The maximum end user authentication connection lifetime to the LDAP server in seconds. When this lifetime is exceeded, the connection will be unbound and removed from the connection pool. This option has no effect unless [ldap] use_auth_pool is also enabled.

auth_pool_size = 100

(Integer) The size of the connection pool to use for end user authentication. This option has no effect unless [ldap] use_auth_pool is also enabled.

chase_referrals = None

(Boolean) Sets keystone’s referral chasing behavior across directory partitions. If left unset, the system’s default behavior will be used.

connection_timeout = -1

(Integer) The connection timeout to use with the LDAP server. A value of -1 means that connections will never timeout.

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.

group_ad_nesting = False

(Boolean) If enabled, group queries will use Active Directory specific filters for nested groups.

group_additional_attribute_mapping =

(List) A list of LDAP attribute to keystone group attribute pairs used for mapping additional attributes to groups in keystone. The expected format is <ldap_attr>:<group_attr>, where ldap_attr is the attribute in the LDAP object and group_attr is the attribute which should appear in the identity API.

group_attribute_ignore =

(List) List of group attributes to ignore on create and update. or whether a specific group attribute should be filtered for list or show group.

group_desc_attribute = description

(String) The LDAP attribute mapped to group descriptions in keystone.

group_filter = None

(String) The LDAP search filter to use for groups.

group_id_attribute = cn

(String) The LDAP attribute mapped to group IDs in keystone. This must NOT be a multivalued attribute. Group IDs are expected to be globally unique across keystone domains and URL-safe.

group_member_attribute = member

(String) The LDAP attribute used to indicate that a user is a member of the group.

group_members_are_ids = False

(Boolean) Enable this option if the members of the group object class are keystone user IDs rather than LDAP DNs. This is the case when using posixGroup as the group object class in Open Directory.

group_name_attribute = ou

(String) The LDAP attribute mapped to group names in keystone. Group names are expected to be unique only within a keystone domain and are not expected to be URL-safe.

group_objectclass = groupOfNames

(String) The LDAP object class to use for groups. If setting this option to posixGroup, you may also be interested in enabling the [ldap] group_members_are_ids option.

group_tree_dn = None

(String) The search base to use for groups. Defaults to the [ldap] suffix value.

page_size = 0

(Integer) Defines the maximum number of results per page that keystone should request from the LDAP server when listing objects. A value of zero ( 0) disables paging.

password = None

(String) The password of the administrator bind DN to use when querying the LDAP server, if your LDAP server requires it.

pool_connection_lifetime = 600

(Integer) The maximum connection lifetime to the LDAP server in seconds. When this lifetime is exceeded, the connection will be unbound and removed from the connection pool. This option has no effect unless [ldap] use_pool is also enabled.

pool_connection_timeout = -1

(Integer) The connection timeout to use when pooling LDAP connections. A value of -1 means that connections will never timeout. This option has no effect unless [ldap] use_pool is also enabled.

pool_retry_delay = 0.1

(Floating point) The number of seconds to wait before attempting to reconnect to the LDAP server. This option has no effect unless [ldap] use_pool is also enabled.

pool_retry_max = 3

(Integer) The maximum number of times to attempt reconnecting to the LDAP server before aborting. A value of zero prevents retries. This option has no effect unless [ldap] use_pool is also enabled.

pool_size = 10

(Integer) The size of the LDAP connection pool. This option has no effect unless [ldap] use_pool is also enabled.

query_scope = one

(String) The search scope which defines how deep to search within the search base. A value of one (representing oneLevel or singleLevel) indicates a search of objects immediately below to the base object, but does not include the base object itself. A value of sub (representing subtree or wholeSubtree) indicates a search of both the base object itself and the entire subtree below it.

suffix = cn=example,cn=com

(String) The default LDAP server suffix to use, if a DN is not defined via either [ldap] user_tree_dn or [ldap] group_tree_dn.

tls_cacertdir = None

(String) An absolute path to a CA certificate directory to use when communicating with LDAP servers. There is no reason to set this option if you’ve also set [ldap] tls_cacertfile.

tls_cacertfile = None

(String) An absolute path to a CA certificate file to use when communicating with LDAP servers. This option will take precedence over [ldap] tls_cacertdir, so there is no reason to set both.

tls_req_cert = demand

(String) Specifies which checks to perform against client certificates on incoming TLS sessions. If set to demand, then a certificate will always be requested and required from the LDAP server. If set to allow, then a certificate will always be requested but not required from the LDAP server. If set to never, then a certificate will never be requested.

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. There is typically no reason to disable this.

use_pool = True

(Boolean) Enable LDAP connection pooling for queries to the LDAP server. There is typically no reason to disable this.

use_tls = False

(Boolean) Enable TLS when communicating with LDAP servers. You should also set the [ldap] tls_cacertfile and [ldap] tls_cacertdir options when using this option. Do not set this option if you are using LDAP over SSL (LDAPS) instead of TLS.

user = None

(String) The user name of the administrator bind DN to use when querying the LDAP server, if your LDAP server requires it.

user_additional_attribute_mapping =

(List) A list of LDAP attribute to keystone user attribute pairs used for mapping additional attributes to users in keystone. The expected format is <ldap_attr>:<user_attr>, where ldap_attr is the attribute in the LDAP object and user_attr is the attribute which should appear in the identity API.

user_attribute_ignore = default_project_id

(List) List of user attributes to ignore on create and update, or whether a specific user attribute should be filtered for list or show user.

user_default_project_id_attribute = None

(String) The LDAP attribute mapped to a user’s default_project_id in keystone. This is most commonly used when keystone has write access to LDAP.

user_description_attribute = description

(String) The LDAP attribute mapped to user descriptions in keystone.

user_enabled_attribute = enabled

(String) The LDAP attribute mapped to the user enabled attribute in keystone. If setting this option to userAccountControl, then you may be interested in setting [ldap] user_enabled_mask and [ldap] user_enabled_default as well.

user_enabled_default = True

(String) The default value to enable users. This should match an appropriate integer 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, then the typical value is 512. This is typically used when [ldap] user_enabled_attribute = userAccountControl.

user_enabled_emulation = False

(Boolean) If enabled, keystone uses an alternative method to determine if a user is enabled or not by checking if they are a member of the group defined by the [ldap] user_enabled_emulation_dn option. Enabling this option causes keystone to ignore the value of [ldap] user_enabled_invert.

user_enabled_emulation_dn = None

(String) DN of the group entry to hold enabled users when using enabled emulation. Setting this option has no effect unless [ldap] user_enabled_emulation is also enabled.

user_enabled_emulation_use_group_config = False

(Boolean) Use the [ldap] group_member_attribute and [ldap] group_objectclass settings to determine membership in the emulated enabled group. Enabling this option has no effect unless [ldap] user_enabled_emulation is also enabled.

user_enabled_invert = False

(Boolean) Logically negate the boolean value of the enabled attribute obtained from the LDAP server. Some LDAP servers use a boolean lock attribute where "true" means an account is disabled. Setting [ldap] user_enabled_invert = true will allow these lock attributes to be used. This option will have no effect if either the [ldap] user_enabled_mask or [ldap] user_enabled_emulation options are in use.

user_enabled_mask = 0

(Integer) Bitmask integer to select which bit indicates the enabled value if the LDAP server represents "enabled" as a bit on an integer rather than as a discrete boolean. A value of 0 indicates that the mask is not used. If this is not set to 0 the typical value is 2. This is typically used when [ldap] user_enabled_attribute = userAccountControl. Setting this option causes keystone to ignore the value of [ldap] user_enabled_invert.

user_filter = None

(String) The LDAP search filter to use for users.

user_id_attribute = cn

(String) The LDAP attribute mapped to user IDs in keystone. This must NOT be a multivalued attribute. User IDs are expected to be globally unique across keystone domains and URL-safe.

user_mail_attribute = mail

(String) The LDAP attribute mapped to user emails in keystone.

user_name_attribute = sn

(String) The LDAP attribute mapped to user names in keystone. User names are expected to be unique only within a keystone domain and are not expected to be URL-safe.

user_objectclass = inetOrgPerson

(String) The LDAP object class to use for users.

user_pass_attribute = userPassword

(String) The LDAP attribute mapped to user passwords in keystone.

user_tree_dn = None

(String) The search base to use for users. Defaults to the [ldap] suffix value.

Expand
Table 6.17. Description of mapping configuration options
Configuration option = Default valueDescription

[identity_mapping]

 

backward_compatible_ids = True

(Boolean) The format of user and group IDs changed in Juno for backends that do not generate UUIDs (for example, 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 ( [identity] domain_specific_drivers_enabled), 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 new mapping for all backends, including the default LDAP driver. It is only guaranteed to be safe to enable this option if you do not already have assignments for users and groups from the default LDAP domain, and you consider it to be acceptable for Keystone to provide the different IDs to clients than it did previously (existing IDs in the API will suddenly change). Typically this means that the only time you can set this value to false is when configuring a fresh installation, although that is the recommended value.

driver = sql

(String) Entry point for the identity mapping backend driver in the keystone.identity.id_mapping namespace. Keystone only provides a sql driver, so there is no reason to change this unless you are providing a custom entry point.

generator = sha256

(String) Entry point 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 64 bytes or less. Keystone only provides a sha256 entry point, so there is no reason to change this value unless you’re providing a custom entry point.

Expand
Table 6.18. Description of OAuth configuration options
Configuration option = Default valueDescription

[oauth1]

 

access_token_duration = 86400

(Integer) Number of seconds for the OAuth Access Token to remain valid after being created. This is the amount of time the consumer has to interact with the service provider (which is typically keystone). Setting this option to zero means that access tokens will last forever.

driver = sql

(String) Entry point for the OAuth backend driver in the keystone.oauth1 namespace. Typically, there is no reason to set this option unless you are providing a custom entry point.

request_token_duration = 28800

(Integer) Number of seconds for the OAuth Request Token to remain valid after being created. This is the amount of time the user has to authorize the token. Setting this option to zero means that request tokens will last forever.

Expand
Table 6.19. Description of policy configuration options
Configuration option = Default valueDescription

[policy]

 

driver = sql

(String) Entry point for the policy backend driver in the keystone.policy namespace. Supplied drivers are rules (which does not support any CRUD operations for the v3 policy API) and sql. Typically, there is no reason to set this option unless you are providing a custom entry point.

list_limit = None

(Integer) Maximum number of entities that will be returned in a policy collection.

Expand
Table 6.20. Description of Redis configuration options
Configuration option = Default valueDescription

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

  • Deprecated Replaced by [DEFAULT]/transport_url

password =

(String) Password for Redis server (optional).

  • Deprecated Replaced by [DEFAULT]/transport_url

port = 6379

(Port number) Use this port to connect to redis host.

  • Deprecated Replaced by [DEFAULT]/transport_url

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 …​ ]

  • Deprecated Replaced by [DEFAULT]/transport_url

socket_timeout = 10000

(Integer) Timeout in ms on blocking socket operations.

wait_timeout = 2000

(Integer) Time in ms to wait between connection attempts.

Expand
Table 6.21. Description of revoke configuration options
Configuration option = Default valueDescription

[revoke]

 

cache_time = 3600

(Integer) Time to cache the revocation list and the revocation events (in seconds). This has no effect unless global and [revoke] caching are both enabled.

caching = True

(Boolean) Toggle for revocation event caching. This has no effect unless global caching is enabled.

driver = sql

(String) Entry point for the token revocation backend driver in the keystone.revoke namespace. Keystone only provides a sql driver, so there is no reason to set this option unless you are providing a custom entry point.

expiration_buffer = 1800

(Integer) The number of seconds after a token has expired before a corresponding revocation event may be purged from the backend.

Expand
Table 6.22. Description of role configuration options
Configuration option = Default valueDescription

[role]

 

cache_time = None

(Integer) Time to cache role data, in seconds. This has no effect unless both global caching and [role] caching are enabled.

caching = True

(Boolean) Toggle for role caching. This has no effect unless global caching is enabled. In a typical deployment, there is no reason to disable this.

driver = None

(String) Entry point for the role backend driver in the keystone.role namespace. Keystone only provides a sql driver, so there’s no reason to change this unless you are providing a custom entry point.

list_limit = None

(Integer) Maximum number of entities that will be returned in a role collection. This may be useful to tune if you have a large number of discrete roles in your deployment.

Expand
Table 6.23. Description of SAML configuration options
Configuration option = Default valueDescription

[saml]

 

assertion_expiration_time = 3600

(Integer) Determines the lifetime for any SAML assertions generated by keystone, using NotOnOrAfter attributes.

certfile = /etc/keystone/ssl/certs/signing_cert.pem

(String) Absolute path to the public certificate file to use for SAML signing. The value cannot contain a comma ( ,).

idp_contact_company = Example, Inc.

(String) This is the company name of the identity provider’s contact person.

idp_contact_email = support@example.com

(String) This is the email address of the identity provider’s contact person.

idp_contact_name = SAML Identity Provider Support

(String) This is the given name of the identity provider’s contact person.

idp_contact_surname = Support

(String) This is the surname of the identity provider’s contact person.

idp_contact_telephone = +1 800 555 0100

(String) This is the telephone number of the identity provider’s contact person.

idp_contact_type = other

(String) This is the type of contact that best describes the identity provider’s contact person.

idp_entity_id = None

(URI) This is the unique entity identifier of the identity provider (keystone) to use when generating SAML assertions. This value is required to generate identity provider metadata and must be a URI (a URL is recommended). For example: https://keystone.example.com/v3/OS-FEDERATION/saml2/idp.

idp_lang = en

(String) This is the language used by the identity provider’s organization.

idp_metadata_path = /etc/keystone/saml2_idp_metadata.xml

(String) Absolute path to the identity provider metadata file. This file should be generated with the keystone-manage saml_idp_metadata command. There is typically no reason to change this value.

idp_organization_display_name = OpenStack SAML Identity Provider

(String) This is the name of the identity provider’s organization to be displayed.

idp_organization_name = SAML Identity Provider

(String) This is the name of the identity provider’s organization.

idp_organization_url = https://example.com/

(URI) This is the URL of the identity provider’s organization. The URL referenced here should be useful to humans.

idp_sso_endpoint = None

(URI) This is the single sign-on (SSO) service location of the identity provider which accepts HTTP POST requests. A value is required to generate identity provider metadata. For example: https://keystone.example.com/v3/OS-FEDERATION/saml2/sso.

keyfile = /etc/keystone/ssl/private/signing_key.pem

(String) Absolute path to the private key file to use for SAML signing. The value cannot contain a comma ( ,).

relay_state_prefix = ss:mem:

(String) The prefix of the RelayState SAML attribute to use when generating enhanced client and proxy (ECP) assertions. In a typical deployment, there is no reason to change this value.

xmlsec1_binary = xmlsec1

(String) Name of, or absolute path to, the binary to be used for XML signing. Although only the XML Security Library ( xmlsec1) is supported, it may have a non-standard name or path on your system. If keystone cannot find the binary itself, you may need to install the appropriate package, use this option to specify an absolute path, or adjust keystone’s PATH environment variable.

Expand
Table 6.24. Description of security configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

crypt_strength = 10000

(Integer) The value passed as the keyword "rounds" to passlib’s encrypt method. This option represents a trade off between security and performance. Higher values lead to slower performance, but higher security. Changing this option will only affect newly created passwords as existing password hashes already have a fixed number of rounds applied, so it is safe to tune this option in a running cluster. For more information, see https://pythonhosted.org/passlib/password_hash_api.html#choosing-the-right-rounds-value

Expand
Table 6.25. Description of Tokenless Authorization configuration options
Configuration option = Default valueDescription

[tokenless_auth]

 

issuer_attribute = SSL_CLIENT_I_DN

(String) The name of the WSGI environment variable used to pass the issuer of the client certificate to keystone. This attribute is used as an identity provider ID for the X.509 tokenless authorization along with the protocol to look up its corresponding mapping. In a typical deployment, there is no reason to change this value.

protocol = x509

(String) The federated protocol ID used to represent X.509 tokenless authorization. This is used in combination with the value of [tokenless_auth] issuer_attribute to find a corresponding federated mapping. In a typical deployment, there is no reason to change this value.

trusted_issuer = []

(Multi-valued) The list of distinguished names which identify trusted issuers of client certificates allowed to use X.509 tokenless authorization. If the option is absent then no certificates will be allowed. The format for the values of a distinguished name (DN) must be separated by a comma and contain no spaces. Furthermore, because an individual DN may contain commas, this configuration option may be repeated multiple times to represent multiple values. For example, keystone.conf would include two consecutive lines in order to trust two different DNs, such as trusted_issuer = CN=john,OU=keystone,O=openstack and trusted_issuer = CN=mary,OU=eng,O=abc.

Expand
Table 6.26. Description of token configuration options
Configuration option = Default valueDescription

[token]

 

allow_expired_window = 172800

(Integer) This controls the number of seconds that a token can be retrieved for beyond the built-in expiry time. This allows long running operations to succeed. Defaults to two days.

allow_rescope_scoped_token = True

(Boolean) This toggles whether scoped tokens may be be re-scoped to a new project or domain, thereby preventing users from exchanging a scoped token (including those with a default project scope) for any other token. This forces users to either authenticate for unscoped tokens (and later exchange that unscoped token for tokens with a more specific scope) or to provide their credentials in every request for a scoped token to avoid re-scoping altogether.

bind =

(List) This is a list of external authentication mechanisms which should add token binding metadata to tokens, such as kerberos or x509. Binding metadata is enforced according to the [token] enforce_token_bind option.

cache_on_issue = True

(Boolean) Enable storing issued token data to token validation cache so that first token validation doesn’t actually cause full validation cycle. This option has no effect unless global caching and token caching are enabled.

cache_time = None

(Integer) The number of seconds to cache token creation and validation data. This has no effect unless both global and [token] caching are enabled.

caching = True

(Boolean) Toggle for caching token creation and validation data. This has no effect unless global caching is enabled.

driver = sql

(String) Entry point for the token persistence backend driver in the keystone.token.persistence namespace. Keystone provides kvs and sql drivers. The kvs backend depends on the configuration in the [kvs] section. The sql option (default) depends on the options in your [database] section. If you’re using the fernet [token] provider, this backend will not be utilized to persist tokens at all.

enforce_token_bind = permissive

(String) This controls the token binding enforcement policy on tokens presented to keystone with token binding metadata (as specified by the [token] bind option). disabled completely bypasses token binding validation. permissive and strict do not require tokens to have binding metadata (but will validate it if present), whereas required will always demand tokens to having binding metadata. permissive will allow unsupported binding metadata to pass through without validation (usually to be validated at another time by another component), whereas strict and required will demand that the included binding metadata be supported by keystone.

expiration = 3600

(Integer) The amount of time that a token should remain valid (in seconds). Drastically reducing this value may break "long-running" operations that involve multiple services to coordinate together, and will force users to authenticate with keystone more frequently. Drastically increasing this value will increase load on the [token] driver, as more tokens will be simultaneously valid. Keystone tokens are also bearer tokens, so a shorter duration will also reduce the potential security impact of a compromised token.

infer_roles = True

(Boolean) This controls whether roles should be included with tokens that are not directly assigned to the token’s scope, but are instead linked implicitly to other role assignments.

provider = fernet

(String) Entry point for the token provider in the keystone.token.provider namespace. The token provider controls the token construction, validation, and revocation operations. Keystone includes fernet and uuid token providers. uuid tokens must be persisted (using the backend specified in the [token] driver option), but do not require any extra configuration or setup. fernet tokens do not need to be persisted at all, but require that you run keystone-manage fernet_setup (also see the keystone-manage fernet_rotate command).

revoke_by_id = True

(Boolean) This toggles support for revoking individual tokens by the token identifier and thus various token enumeration operations (such as listing all tokens issued to a specific user). These operations are used to determine the list of tokens to consider revoked. Do not disable this option if you’re using the kvs [revoke] driver.

Expand
Table 6.27. Description of trust configuration options
Configuration option = Default valueDescription

[trust]

 

allow_redelegation = False

(Boolean) Allows authorization to be redelegated from one user to another, effectively chaining trusts together. When disabled, the remaining_uses attribute of a trust is constrained to be zero.

driver = sql

(String) Entry point for the trust backend driver in the keystone.trust namespace. Keystone only provides a sql driver, so there is no reason to change this unless you are providing a custom entry point.

enabled = True

(Boolean) Delegation and impersonation features using trusts can be optionally disabled.

max_redelegation_count = 3

(Integer) Maximum number of times that authorization can be redelegated from one user to another in a chain of trusts. This number may be reduced further for a specific trust.

Expand
Table 6.28. New options
Option = default value(Type) Help string

[auth] mapped = None

(StrOpt) Entry point for the mapped auth plugin module in the : keystone.auth.mapped namespace. You do not need to set this unless you are overriding keystone’s own : mapped authentication plugin.

[ldap] connection_timeout = -1

(IntOpt) The connection timeout to use with the LDAP server. A value of : -1 means that connections will never timeout.

[security_compliance] change_password_upon_first_use = False

(BoolOpt) Enabling this option requires users to change their password when the user is created, or upon administrative reset. Before accessing any services, affected users will have to change their password. To ignore this requirement for specific users, such as service users, set the : options attribute : ignore_change_password_upon_first_use to : True for the desired user via the update user API. This feature is disabled by default. This feature is only applicable with the : sql backend for the : [identity] driver.

[token] allow_expired_window = 172800

(IntOpt) This controls the number of seconds that a token can be retrieved for beyond the built-in expiry time. This allows long running operations to succeed. Defaults to two days.

Expand
Table 6.29. New default values
OptionPrevious default valueNew default value

[DEFAULT] max_token_size

8192

255

[DEFAULT] notification_format

basic

cadf

[DEFAULT] notification_opt_out

[]

['identity.authenticate.success', 'identity.authenticate.pending', 'identity.authenticate.failed']

[assignment] driver

None

sql

[auth] methods

external, password, token, oauth1

external, password, token, oauth1, mapped

[resource] driver

None

sql

[token] cache_on_issue

False

True

[token] provider

uuid

fernet

Expand
Table 6.30. Deprecated options
Deprecated optionNew Option

[DEFAULT] rpc_thread_pool_size

[DEFAULT] executor_thread_pool_size

[DEFAULT] use_syslog

None

Chapter 7. Image Service

Compute relies on an external image service to store virtual machine images and maintain a catalog of available images. By default, Compute is configured to use the OpenStack Image service (glance), which is currently the only supported image service.

7.1. Image Service Configuration Options

Note

The common configurations for shared services and libraries, such as database connections and RPC messaging, are described at Common configurations.

7.1.1. Description of Configuration Options

You can modify many options in the OpenStack Image service. The following tables provide a comprehensive list.

Expand
Table 7.1. Description of API configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

admin_role = admin

(String) Role used to identify an authenticated user as administrator. Provide a string value representing a Keystone role to identify an administrative user. Users with this role will be granted administrative privileges. The default value for this option is 'admin'.

Possible values:

  • A string value which is a valid Keystone role

Related options:

  • None

allow_anonymous_access = False

(Boolean) Allow limited access to unauthenticated users. Assign a boolean to determine API access for unathenticated users. When set to False, the API cannot be accessed by unauthenticated users. When set to True, unauthenticated users can access the API with read-only privileges. This however only applies when using ContextMiddleware.

Possible values:

  • True
  • False

Related options:

  • None

available_plugins =

(List) A list of artifacts that are allowed in the format name or name-version. Empty list means that any artifact can be loaded.

client_socket_timeout = 900

(Integer) Timeout for client connections' socket operations. Provide a valid integer value representing time in seconds to set the period of wait before an incoming connection can be closed. The default value is 900 seconds. The value zero implies wait forever.

Possible values:

  • Zero
  • Positive integer

Related options:

  • None

enable_v2_api = True

(Boolean) Deploy the v2 OpenStack Images API. When this option is set to True, Glance service will respond to requests on registered endpoints conforming to the v2 OpenStack Images API. NOTES:

  • If this option is disabled, then the enable_v2_registry option, which is enabled by default, is also recommended to be disabled.

Possible values:

  • True
  • False

Related options:

  • enable_v2_registry

enable_v2_registry = True

(Boolean) Deploy the v2 API Registry service. When this option is set to True, the Registry service will be enabled in Glance for v2 API requests. NOTES:

  • Use of Registry is optional in v2 API, so this option must only be enabled if both enable_v2_api is set to True and the data_api option is set to glance.db.registry.api.

Possible values:

  • True
  • False

Related options:

  • enable_v2_api
  • data_api

http_keepalive = True

(Boolean) Set keep alive option for HTTP over TCP. Provide a boolean value to determine sending of keep alive packets. If set to False, the server returns the header "Connection: close". If set to True, the server returns a "Connection: Keep-Alive" in its responses. This enables retention of the same TCP connection for HTTP conversations instead of opening a new one with each new request. This option must be set to False if the client socket connection needs to be closed explicitly after the response is received and read successfully by the client.

Possible values:

  • True
  • False

Related options:

  • None

image_size_cap = 1099511627776

(Integer) Maximum size of image a user can upload in bytes. An image upload greater than the size mentioned here would result in an image creation failure. This configuration option defaults to 1099511627776 bytes (1 TiB). NOTES:

  • This value should only be increased after careful consideration and must be set less than or equal to 8 EiB (9223372036854775808).
  • This value must be set with careful consideration of the backend storage capacity. Setting this to a very low value may result in a large number of image failures. And, setting this to a very large value may result in faster consumption of storage. Hence, this must be set according to the nature of images created and storage capacity available.

Possible values:

  • Any positive number less than or equal to 9223372036854775808

load_enabled = True

(Boolean) When false, no artifacts can be loaded regardless of available_plugins. When true, artifacts can be loaded.

location_strategy = location_order

(String) Strategy to determine the preference order of image locations. This configuration option indicates the strategy to determine the order in which an image’s locations must be accessed to serve the image’s data. Glance then retrieves the image data from the first responsive active location it finds in this list. This option takes one of two possible values location_order and store_type. The default value is location_order, which suggests that image data be served by using locations in the order they are stored in Glance. The store_type value sets the image location preference based on the order in which the storage backends are listed as a comma separated list for the configuration option store_type_preference.

Possible values:

  • location_order
  • store_type

Related options:

  • store_type_preference

max_header_line = 16384

(Integer) Maximum line size of message headers. Provide an integer value representing a length to limit the size of message headers. The default value is 16384.

Note

max_header_line may need to be increased when using large tokens (typically those generated by the Keystone v3 API with big service catalogs). However, it is to be kept in mind that larger values for max_header_line would flood the logs. Setting max_header_line to 0 sets no limit for the line size of message headers.

Possible values:

  • 0
  • Positive integer

Related options:

  • None

max_request_id_length = 64

(Integer) Limit the request ID length. Provide an integer value to limit the length of the request ID to the specified length. The default value is 64. Users can change this to any ineteger value between 0 and 16384 however keeping in mind that a larger value may flood the logs.

Possible values:

  • Integer value between 0 and 16384

Related options:

  • None

owner_is_tenant = True

(Boolean) Set the image owner to tenant or the authenticated user. Assign a boolean value to determine the owner of an image. When set to True, the owner of the image is the tenant. When set to False, the owner of the image will be the authenticated user issuing the request. Setting it to False makes the image private to the associated user and sharing with other users within the same tenant (or "project") requires explicit image sharing via image membership.

Possible values:

  • True
  • False

Related options:

  • None

public_endpoint = None

(String) Public url endpoint to use for Glance/Glare versions response. This is the public url endpoint that will appear in the Glance/Glare "versions" response. If no value is specified, the endpoint that is displayed in the version’s response is that of the host running the API service. Change the endpoint to represent the proxy URL if the API service is running behind a proxy. If the service is running behind a load balancer, add the load balancer’s URL for this value.

Possible values:

  • None
  • Proxy URL
  • Load balancer URL

Related options:

  • None

secure_proxy_ssl_header = None

(String) DEPRECATED: The HTTP header used to determine the scheme for the original request, even if it was removed by an SSL terminating proxy. Typical value is "HTTP_X_FORWARDED_PROTO". Use the http_proxy_to_wsgi middleware instead.

send_identity_headers = False

(Boolean) Send headers received from identity when making requests to registry. Typically, Glance registry can be deployed in multiple flavors, which may or may not include authentication. For example, trusted-auth is a flavor that does not require the registry service to authenticate the requests it receives. However, the registry service may still need a user context to be populated to serve the requests. This can be achieved by the caller (the Glance API usually) passing through the headers it received from authenticating with identity for the same request. The typical headers sent are X-User-Id, X-Tenant-Id, X-Roles, X-Identity-Status and X-Service-Catalog. Provide a boolean value to determine whether to send the identity headers to provide tenant and user information along with the requests to registry service. By default, this option is set to False, which means that user and tenant information is not available readily. It must be obtained by authenticating. Hence, if this is set to False, flavor must be set to value that either includes authentication or authenticated user context.

Possible values:

  • True
  • False

Related options:

  • flavor

show_multiple_locations = False

(Boolean) DEPRECATED: Show all image locations when returning an image. This configuration option indicates whether to show all the image locations when returning image details to the user. When multiple image locations exist for an image, the locations are ordered based on the location strategy indicated by the configuration opt location_strategy. The image locations are shown under the image property locations. NOTES:

  • Revealing image locations can present a GRAVE SECURITY RISK as image locations can sometimes include credentials. Hence, this is set to False by default. Set this to True with EXTREME CAUTION and ONLY IF you know what you are doing!
  • If an operator wishes to avoid showing any image location(s) to the user, then both this option and show_image_direct_url MUST be set to False.

Possible values:

  • True
  • False

Related options:

  • show_image_direct_url
  • location_strategy This option will be removed in the Pike release or later because the same functionality can be achieved with greater granularity by using policies. Please see the Newton release notes for more information.

tcp_keepidle = 600

(Integer) Set the wait time before a connection recheck. Provide a positive integer value representing time in seconds which is set as the idle wait time before a TCP keep alive packet can be sent to the host. The default value is 600 seconds. Setting tcp_keepidle helps verify at regular intervals that a connection is intact and prevents frequent TCP connection reestablishment.

Possible values:

  • Positive integer value representing time in seconds

Related options:

  • None

use_user_token = True

(Boolean) DEPRECATED: Whether to pass through the user token when making requests to the registry. To prevent failures with token expiration during big files upload, it is recommended to set this parameter to False.If "use_user_token" is not in effect, then admin credentials can be specified. This option was considered harmful and has been deprecated in M release. It will be removed in O release. For more information read OSSN-0060. Related functionality with uploading big images has been implemented with Keystone trusts support.

[glance_store]

 

default_store = file

(String) The default scheme to use for storing images. Provide a string value representing the default scheme to use for storing images. If not set, Glance uses file as the default scheme to store images with the file store.

Note

The value given for this configuration option must be a valid scheme for a store registered with the stores configuration option.

Possible values:

  • file
  • filesystem
  • http
  • https
  • swift
  • swift+http
  • swift+https
  • swift+config
  • rbd
  • sheepdog
  • cinder
  • vsphere

Related Options:

  • stores

store_capabilities_update_min_interval = 0

(Integer) Minimum interval in seconds to execute updating dynamic storage capabilities based on current backend status. Provide an integer value representing time in seconds to set the minimum interval before an update of dynamic storage capabilities for a storage backend can be attempted. Setting store_capabilities_update_min_interval does not mean updates occur periodically based on the set interval. Rather, the update is performed at the elapse of this interval set, if an operation of the store is triggered. By default, this option is set to zero and is disabled. Provide an integer value greater than zero to enable this option.

Possible values:

  • Zero
  • Positive integer

Related Options:

  • None

stores = file, http

(List) List of enabled Glance stores. Register the storage backends to use for storing disk images as a comma separated list. The default stores enabled for storing disk images with Glance are file and http.

Possible values:

  • A comma separated list that could include:
  • file
  • http
  • swift
  • rbd
  • sheepdog
  • cinder
  • vmware

Related Options:

  • default_store

[oslo_middleware]

 

enable_proxy_headers_parsing = False

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

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 a SSL termination proxy.

[paste_deploy]

 

config_file = glance-api-paste.ini

(String) Name of the paste configuration file. Provide a string value representing the name of the paste configuration file to use for configuring piplelines for server application deployments. NOTES:

  • Provide the name or the path relative to the glance directory for the paste configuration file and not the absolute path.
  • The sample paste configuration file shipped with Glance need not be edited in most cases as it comes with ready-made pipelines for all common deployment flavors.

If no value is specified for this option, the paste.ini file with the prefix of the corresponding Glance service’s configuration file name will be searched for in the known configuration directories. (For example, if this option is missing from or has no value set in glance-api.conf, the service will look for a file named glance-api-paste.ini.) If the paste configuration file is not found, the service will not start.

Possible values:

  • A string value representing the name of the paste configuration file.

Related Options:

  • flavor

flavor = keystone

(String) Deployment flavor to use in the server application pipeline. Provide a string value representing the appropriate deployment flavor used in the server application pipleline. This is typically the partial name of a pipeline in the paste configuration file with the service name removed. For example, if your paste section name in the paste configuration file is [pipeline:glance-api-keystone], set flavor to keystone.

Possible values:

  • String value representing a partial pipeline name.

Related Options:

  • config_file

[store_type_location_strategy]

 

store_type_preference =

(List) Preference order of storage backends. Provide a comma separated list of store names in the order in which images should be retrieved from storage backends. These store names must be registered with the stores configuration option.

Note

The store_type_preference configuration option is applied only if store_type is chosen as a value for the location_strategy configuration option. An empty list will not change the location order.

Possible values:

  • Empty list
  • Comma separated list of registered store names. Legal values are:
  • file
  • http
  • rbd
  • swift
  • sheepdog
  • cinder
  • vmware

Related options:

  • location_strategy
  • stores
Expand
Table 7.2. Description of CA and SSL configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

ca_file = /etc/ssl/cafile

(String) Absolute path to the CA file. Provide a string value representing a valid absolute path to the Certificate Authority file to use for client authentication. A CA file typically contains necessary trusted certificates to use for the client authentication. This is essential to ensure that a secure connection is established to the server via the internet.

Possible values:

  • Valid absolute path to the CA file

Related options:

  • None

cert_file = /etc/ssl/certs

(String) Absolute path to the certificate file. Provide a string value representing a valid absolute path to the certificate file which is required to start the API service securely. A certificate file typically is a public key container and includes the server’s public key, server name, server information and the signature which was a result of the verification process using the CA certificate. This is required for a secure connection establishment.

Possible values:

  • Valid absolute path to the certificate file

Related options:

  • None

key_file = /etc/ssl/key/key-file.pem

(String) Absolute path to a private key file. Provide a string value representing a valid absolute path to a private key file which is required to establish the client-server connection.

Possible values:

  • Absolute path to the private key file

Related options:

  • None
Expand
Table 7.3. Description of cinder configuration options
Configuration option = Default valueDescription

[glance_store]

 

cinder_api_insecure = False

(Boolean) Allow to perform insecure SSL requests to cinder. If this option is set to True, HTTPS endpoint connection is verified using the CA certificates file specified by cinder_ca_certificates_file option.

Possible values:

  • True
  • False

Related options:

  • cinder_ca_certificates_file

cinder_ca_certificates_file = None

(String) Location of a CA certificates file used for cinder client requests. The specified CA certificates file, if set, is used to verify cinder connections via HTTPS endpoint. If the endpoint is HTTP, this value is ignored. cinder_api_insecure must be set to True to enable the verification.

Possible values:

  • Path to a ca certificates file

Related options:

  • cinder_api_insecure

cinder_catalog_info = volumev2::publicURL

(String) Information to match when looking for cinder in the service catalog. When the cinder_endpoint_template is not set and any of cinder_store_auth_address, cinder_store_user_name, cinder_store_project_name, cinder_store_password is not set, cinder store uses this information to lookup cinder endpoint from the service catalog in the current context. cinder_os_region_name, if set, is taken into consideration to fetch the appropriate endpoint. The service catalog can be listed by the openstack catalog list command.

Possible values:

  • A string of of the following form: <service_type>:<service_name>:<interface> At least service_type and interface should be specified. service_name can be omitted.

Related options:

  • cinder_os_region_name
  • cinder_endpoint_template
  • cinder_store_auth_address
  • cinder_store_user_name
  • cinder_store_project_name
  • cinder_store_password

cinder_endpoint_template = None

(String) Override service catalog lookup with template for cinder endpoint. When this option is set, this value is used to generate cinder endpoint, instead of looking up from the service catalog. This value is ignored if cinder_store_auth_address, cinder_store_user_name, cinder_store_project_name, and cinder_store_password are specified. If this configuration option is set, cinder_catalog_info will be ignored.

Possible values:

Related options:

  • cinder_store_auth_address
  • cinder_store_user_name
  • cinder_store_project_name
  • cinder_store_password
  • cinder_catalog_info

cinder_http_retries = 3

(Integer) Number of cinderclient retries on failed http calls. When a call failed by any errors, cinderclient will retry the call up to the specified times after sleeping a few seconds.

Possible values:

  • A positive integer

Related options:

  • None

cinder_os_region_name = None

(String) Region name to lookup cinder service from the service catalog. This is used only when cinder_catalog_info is used for determining the endpoint. If set, the lookup for cinder endpoint by this node is filtered to the specified region. It is useful when multiple regions are listed in the catalog. If this is not set, the endpoint is looked up from every region.

Possible values:

  • A string that is a valid region name.

Related options:

  • cinder_catalog_info

cinder_state_transition_timeout = 300

(Integer) Time period, in seconds, to wait for a cinder volume transition to complete. When the cinder volume is created, deleted, or attached to the glance node to read/write the volume data, the volume’s state is changed. For example, the newly created volume status changes from creating to available after the creation process is completed. This specifies the maximum time to wait for the status change. If a timeout occurs while waiting, or the status is changed to an unexpected value (e.g. error`), the image creation fails.

Possible values:

  • A positive integer

Related options:

  • None

cinder_store_auth_address = None

(String) The address where the cinder authentication service is listening. When all of cinder_store_auth_address, cinder_store_user_name, cinder_store_project_name, and cinder_store_password options are specified, the specified values are always used for the authentication. This is useful to hide the image volumes from users by storing them in a project/tenant specific to the image service. It also enables users to share the image volume among other projects under the control of glance’s ACL. If either of these options are not set, the cinder endpoint is looked up from the service catalog, and current context’s user and project are used.

Possible values:

Related options:

  • cinder_store_user_name
  • cinder_store_password
  • cinder_store_project_name

cinder_store_password = None

(String) Password for the user authenticating against cinder. This must be used with all the following related options. If any of these are not specified, the user of the current context is used.

Possible values:

  • A valid password for the user specified by cinder_store_user_name

Related options:

  • cinder_store_auth_address
  • cinder_store_user_name
  • cinder_store_project_name

cinder_store_project_name = None

(String) Project name where the image volume is stored in cinder. If this configuration option is not set, the project in current context is used. This must be used with all the following related options. If any of these are not specified, the project of the current context is used.

Possible values:

  • A valid project name

Related options:

  • cinder_store_auth_address
  • cinder_store_user_name
  • cinder_store_password

cinder_store_user_name = None

(String) User name to authenticate against cinder. This must be used with all the following related options. If any of these are not specified, the user of the current context is used.

Possible values:

  • A valid user name

Related options:

  • cinder_store_auth_address
  • cinder_store_password
  • cinder_store_project_name

cinder_volume_type = None

(String) Volume type that will be used for volume creation in cinder. Some cinder backends can have several volume types to optimize storage usage. Adding this option allows an operator to choose a specific volume type in cinder that can be optimized for images. If this is not set, then the default volume type specified in the cinder configuration will be used for volume creation.

Possible values:

  • A valid volume type from cinder

Related options:

  • None
Expand
Table 7.4. Description of common configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

allow_additional_image_properties = True

(Boolean) Allow users to add additional/custom properties to images. Glance defines a standard set of properties (in its schema) that appear on every image. These properties are also known as base properties. In addition to these properties, Glance allows users to add custom properties to images. These are known as additional properties. By default, this configuration option is set to True and users are allowed to add additional properties. The number of additional properties that can be added to an image can be controlled via image_property_quota configuration option.

Possible values:

  • True
  • False

Related options:

  • image_property_quota

api_limit_max = 1000

(Integer) Maximum number of results that could be returned by a request. As described in the help text of limit_param_default, some requests may return multiple results. The number of results to be returned are governed either by the limit parameter in the request or the limit_param_default configuration option. The value in either case, can’t be greater than the absolute maximum defined by this configuration option. Anything greater than this value is trimmed down to the maximum value defined here.

Note

Setting this to a very large value may slow down database queries and increase response times. Setting this to a very low value may result in poor user experience.

Possible values:

  • Any positive integer

Related options:

  • limit_param_default

backlog = 4096

(Integer) Set the number of incoming connection requests. Provide a positive integer value to limit the number of requests in the backlog queue. The default queue size is 4096. An incoming connection to a TCP listener socket is queued before a connection can be established with the server. Setting the backlog for a TCP socket ensures a limited queue size for incoming traffic.

Possible values:

  • Positive integer

Related options:

  • None

bind_host = 0.0.0.0

(String) IP address to bind the glance servers to. Provide an IP address to bind the glance server to. The default value is 0.0.0.0. Edit this option to enable the server to listen on one particular IP address on the network card. This facilitates selection of a particular network interface for the server.

Possible values:

  • A valid IPv4 address
  • A valid IPv6 address

Related options:

  • None

bind_port = None

(Port number) Port number on which the server will listen. Provide a valid port number to bind the server’s socket to. This port is then set to identify processes and forward network messages that arrive at the server. The default bind_port value for the API server is 9292 and for the registry server is 9191.

Possible values:

  • A valid port number (0 to 65535)

Related options:

  • None

data_api = glance.db.sqlalchemy.api

(String) Python module path of data access API. Specifies the path to the API to use for accessing the data model. This option determines how the image catalog data will be accessed.

Possible values:

  • glance.db.sqlalchemy.api
  • glance.db.registry.api
  • glance.db.simple.api

If this option is set to glance.db.sqlalchemy.api then the image catalog data is stored in and read from the database via the SQLAlchemy Core and ORM APIs. Setting this option to glance.db.registry.api will force all database access requests to be routed through the Registry service. This avoids data access from the Glance API nodes for an added layer of security, scalability and manageability.

Note

In v2 OpenStack Images API, the registry service is optional. In order to use the Registry API in v2, the option enable_v2_registry must be set to True. Finally, when this configuration option is set to glance.db.simple.api, image catalog data is stored in and read from an in-memory data structure. This is primarily used for testing. Related options:

  • enable_v2_api
  • enable_v2_registry

digest_algorithm = sha256

(String) Digest algorithm to use for digital signature. Provide a string value representing the digest algorithm to use for generating digital signatures. By default, sha256 is used. To get a list of the available algorithms supported by the version of OpenSSL on your platform, run the command: openssl list-message-digest-algorithms. Examples are 'sha1', 'sha256', and 'sha512'.

Note

digest_algorithm is not related to Glance’s image signing and verification. It is only used to sign the universally unique identifier (UUID) as a part of the certificate file and key file validation.

Possible values:

  • An OpenSSL message digest algorithm identifier

Relation options:

  • None

executor_thread_pool_size = 64

(Integer) Size of executor thread pool.

image_location_quota = 10

(Integer) Maximum number of locations allowed on an image. Any negative value is interpreted as unlimited. Related options:

  • None

image_member_quota = 128

(Integer) Maximum number of image members per image. This limits the maximum of users an image can be shared with. Any negative value is interpreted as unlimited. Related options:

  • None

image_property_quota = 128

(Integer) Maximum number of properties allowed on an image. This enforces an upper limit on the number of additional properties an image can have. Any negative value is interpreted as unlimited.

Note

This won’t have any impact if additional properties are disabled. Please refer to allow_additional_image_properties. Related options:

  • allow_additional_image_properties

image_tag_quota = 128

(Integer) Maximum number of tags allowed on an image. Any negative value is interpreted as unlimited. Related options:

  • None

limit_param_default = 25

(Integer) The default number of results to return for a request. Responses to certain API requests, like list images, may return multiple items. The number of results returned can be explicitly controlled by specifying the limit parameter in the API request. However, if a limit parameter is not specified, this configuration value will be used as the default number of results to be returned for any API request. NOTES:

  • The value of this configuration option may not be greater than the value specified by api_limit_max.
  • Setting this to a very large value may slow down database queries and increase response times. Setting this to a very low value may result in poor user experience.

Possible values:

  • Any positive integer

Related options:

  • api_limit_max

metadata_encryption_key = None

(String) AES key for encrypting store location metadata. Provide a string value representing the AES cipher to use for encrypting Glance store metadata.

Note

The AES key to use must be set to a random string of length 16, 24 or 32 bytes.

Possible values:

  • String value representing a valid AES key

Related options:

  • None

metadata_source_path = /etc/glance/metadefs/

(String) Absolute path to the directory where JSON metadefs files are stored. Glance Metadata Definitions ("metadefs") are served from the database, but are stored in files in the JSON format. The files in this directory are used to initialize the metadefs in the database. Additionally, when metadefs are exported from the database, the files are written to this directory.

Note

If you plan to export metadefs, make sure that this directory has write permissions set for the user being used to run the glance-api service.

Possible values:

  • String value representing a valid absolute pathname

Related options:

  • None

property_protection_file = None

(String) The location of the property protection file. Provide a valid path to the property protection file which contains the rules for property protections and the roles/policies associated with them. A property protection file, when set, restricts the Glance image properties to be created, read, updated and/or deleted by a specific set of users that are identified by either roles or policies. If this configuration option is not set, by default, property protections won’t be enforced. If a value is specified and the file is not found, the glance-api service will fail to start.

Possible values:

  • Empty string
  • Valid path to the property protection configuration file

Related options:

  • property_protection_rule_format

property_protection_rule_format = roles

(String) Rule format for property protection. Provide the desired way to set property protection on Glance image properties. The two permissible values are roles and policies. The default value is roles. If the value is roles, the property protection file must contain a comma separated list of user roles indicating permissions for each of the CRUD operations on each property being protected. If set to policies, a policy defined in policy.json is used to express property protections for each of the CRUD operations.

Possible values:

  • roles
  • policies

Related options:

  • property_protection_file

show_image_direct_url = False

(Boolean) Show direct image location when returning an image. This configuration option indicates whether to show the direct image location when returning image details to the user. The direct image location is where the image data is stored in backend storage. This image location is shown under the image property direct_url. When multiple image locations exist for an image, the best location is displayed based on the location strategy indicated by the configuration option location_strategy. NOTES:

  • Revealing image locations can present a GRAVE SECURITY RISK as image locations can sometimes include credentials. Hence, this is set to False by default. Set this to True with EXTREME CAUTION and ONLY IF you know what you are doing!
  • If an operator wishes to avoid showing any image location(s) to the user, then both this option and show_multiple_locations MUST be set to False.

Possible values:

  • True
  • False

Related options:

  • show_multiple_locations
  • location_strategy

user_storage_quota = 0

(String) Maximum amount of image storage per tenant. This enforces an upper limit on the cumulative storage consumed by all images of a tenant across all stores. This is a per-tenant limit. The default unit for this configuration option is Bytes. However, storage units can be specified using case-sensitive literals B, KB, MB, GB and TB representing Bytes, KiloBytes, MegaBytes, GigaBytes and TeraBytes respectively. Note that there should not be any space between the value and unit. Value 0 signifies no quota enforcement. Negative values are invalid and result in errors.

Possible values:

  • A string that is a valid concatenation of a non-negative integer representing the storage value and an optional string literal representing storage units as mentioned above.

Related options:

  • None

workers = None

(Integer) Number of Glance worker processes to start. Provide a non-negative integer value to set the number of child process workers to service requests. By default, the number of CPUs available is set as the value for workers. Each worker process is made to listen on the port set in the configuration file and contains a greenthread pool of size 1000.

Note

Setting the number of workers to zero, triggers the creation of a single API process with a greenthread pool of size 1000.

Possible values:

  • 0
  • Positive integer value (typically equal to the number of CPUs)

Related options:

  • None

[glance_store]

 

rootwrap_config = /etc/glance/rootwrap.conf

(String) Path to the rootwrap configuration file to use for running commands as root. The cinder store requires root privileges to operate the image volumes (for connecting to iSCSI/FC volumes and reading/writing the volume data, etc.). The configuration file should allow the required commands by cinder store and os-brick library.

Possible values:

  • Path to the rootwrap config file

Related options:

  • None

[healthcheck]

 

backends =

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

detailed = False

(Boolean) Show more detailed information as part of the response

disable_by_file_path = None

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

disable_by_file_paths =

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

path = /healthcheck

(String) DEPRECATED: The path to respond to healtcheck requests on.

[image_format]

 

container_formats = ami, ari, aki, bare, ovf, ova, docker

(List) Supported values for the 'container_format' image attribute

disk_formats = ami, ari, aki, vhd, vhdx, vmdk, raw, qcow2, vdi, iso, ploop

(List) Supported values for the 'disk_format' image attribute

[task]

 

task_executor = taskflow

(String) Task executor to be used to run task scripts. Provide a string value representing the executor to use for task executions. By default, TaskFlow executor is used. TaskFlow helps make task executions easy, consistent, scalable and reliable. It also enables creation of lightweight task objects and/or functions that are combined together into flows in a declarative manner.

Possible values:

  • taskflow

Related Options:

  • None

task_time_to_live = 48

(Integer) Time in hours for which a task lives after, either succeeding or failing

work_dir = /work_dir

(String) Absolute path to the work directory to use for asynchronous task operations. The directory set here will be used to operate over images - normally before they are imported in the destination store.

Note

When providing a value for work_dir, please make sure that enough space is provided for concurrent tasks to run efficiently without running out of space. A rough estimation can be done by multiplying the number of max_workers with an average image size (e.g 500MB). The image size estimation should be done based on the average size in your deployment. Note that depending on the tasks running you may need to multiply this number by some factor depending on what the task does. For example, you may want to double the available size if image conversion is enabled. All this being said, remember these are just estimations and you should do them based on the worst case scenario and be prepared to act in case they were wrong.

Possible values:

  • String value representing the absolute path to the working directory

Related Options:

  • None
Expand
Table 7.5. Description of filesystem configuration options
Configuration option = Default valueDescription

[glance_store]

 

filesystem_store_datadir = /var/lib/glance/images

(String) Directory to which the filesystem backend store writes images. Upon start up, Glance creates the directory if it doesn’t already exist and verifies write access to the user under which glance-api runs. If the write access isn’t available, a BadStoreConfiguration exception is raised and the filesystem store may not be available for adding new images.

Note

This directory is used only when filesystem store is used as a storage backend. Either filesystem_store_datadir or filesystem_store_datadirs option must be specified in glance-api.conf. If both options are specified, a BadStoreConfiguration will be raised and the filesystem store may not be available for adding new images.

Possible values:

  • A valid path to a directory

Related options:

  • filesystem_store_datadirs
  • filesystem_store_file_perm

filesystem_store_datadirs = None

(Multi-valued) List of directories and their priorities to which the filesystem backend store writes images. The filesystem store can be configured to store images in multiple directories as opposed to using a single directory specified by the filesystem_store_datadir configuration option. When using multiple directories, each directory can be given an optional priority to specify the preference order in which they should be used. Priority is an integer that is concatenated to the directory path with a colon where a higher value indicates higher priority. When two directories have the same priority, the directory with most free space is used. When no priority is specified, it defaults to zero.

Note

This directory is used only when filesystem store is used as a storage backend. Either filesystem_store_datadir or filesystem_store_datadirs option must be specified in glance-api.conf. If both options are specified, a BadStoreConfiguration will be raised and the filesystem store may not be available for adding new images.

Possible values:

  • List of strings of the following form:
  • <a valid directory path>:<optional integer priority>

Related options:

  • filesystem_store_datadir
  • filesystem_store_file_perm

filesystem_store_file_perm = 0

(Integer) File access permissions for the image files. Set the intended file access permissions for image data. This provides a way to enable other services, e.g. Nova, to consume images directly from the filesystem store. The users running the services that are intended to be given access to could be made a member of the group that owns the files created. Assigning a value less then or equal to zero for this configuration option signifies that no changes be made to the default permissions. This value will be decoded as an octal digit.

Possible values:

  • A valid file access permission
  • Zero
  • Any negative integer

Related options:

  • None

filesystem_store_metadata_file = None

(String) Filesystem store metadata file. The path to a file which contains the metadata to be returned with any location associated with the filesystem store. The file must contain a valid JSON object. The object should contain the keys id and mountpoint. The value for both keys should be a string.

Possible values:

  • A valid path to the store metadata file

Related options:

  • None
Expand
Table 7.6. Description of HTTP configuration options
Configuration option = Default valueDescription

[glance_store]

 

http_proxy_information = {}

(Dict) The http/https proxy information to be used to connect to the remote server. This configuration option specifies the http/https proxy information that should be used to connect to the remote server. The proxy information should be a key value pair of the scheme and proxy, for example, http:10.0.0.1:3128. You can also specify proxies for multiple schemes by separating the key value pairs with a comma, for example, http:10.0.0.1:3128, https:10.0.0.1:1080.

Possible values:

  • A comma separated list of scheme:proxy pairs as described above

Related options:

  • None

https_ca_certificates_file = None

(String) Path to the CA bundle file. This configuration option enables the operator to use a custom Certificate Authority file to verify the remote server certificate. If this option is set, the https_insecure option will be ignored and the CA file specified will be used to authenticate the server certificate and establish a secure connection to the server.

Possible values:

  • A valid path to a CA file

Related options:

  • https_insecure

https_insecure = True

(Boolean) Set verification of the remote server certificate. This configuration option takes in a boolean value to determine whether or not to verify the remote server certificate. If set to True, the remote server certificate is not verified. If the option is set to False, then the default CA truststore is used for verification. This option is ignored if https_ca_certificates_file is set. The remote server certificate will then be verified using the file specified using the https_ca_certificates_file option.

Possible values:

  • True
  • False

Related options:

  • https_ca_certificates_file
Expand
Table 7.7. Description of flagmappings configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

delayed_delete = False

(Boolean) Turn on/off delayed delete. Typically when an image is deleted, the glance-api service puts the image into deleted state and deletes its data at the same time. Delayed delete is a feature in Glance that delays the actual deletion of image data until a later point in time (as determined by the configuration option scrub_time). When delayed delete is turned on, the glance-api service puts the image into pending_delete state upon deletion and leaves the image data in the storage backend for the image scrubber to delete at a later time. The image scrubber will move the image into deleted state upon successful deletion of image data.

Note

When delayed delete is turned on, image scrubber MUST be running as a periodic task to prevent the backend storage from filling up with undesired usage.

Possible values:

  • True
  • False

Related options:

  • scrub_time
  • wakeup_time
  • scrub_pool_size

image_cache_dir = None

(String) Base directory for image cache. This is the location where image data is cached and served out of. All cached images are stored directly under this directory. This directory also contains three subdirectories, namely, incomplete, invalid and queue. The incomplete subdirectory is the staging area for downloading images. An image is first downloaded to this directory. When the image download is successful it is moved to the base directory. However, if the download fails, the partially downloaded image file is moved to the invalid subdirectory. The queuesubdirectory is used for queuing images for download. This is used primarily by the cache-prefetcher, which can be scheduled as a periodic task like cache-pruner and cache-cleaner, to cache images ahead of their usage. Upon receiving the request to cache an image, Glance touches a file in the queue directory with the image id as the file name. The cache-prefetcher, when running, polls for the files in queue directory and starts downloading them in the order they were created. When the download is successful, the zero-sized file is deleted from the queue directory. If the download fails, the zero-sized file remains and it’ll be retried the next time cache-prefetcher runs.

Possible values:

  • A valid path

Related options:

  • image_cache_sqlite_db

image_cache_driver = sqlite

(String) The driver to use for image cache management. This configuration option provides the flexibility to choose between the different image-cache drivers available. An image-cache driver is responsible for providing the essential functions of image-cache like write images to/read images from cache, track age and usage of cached images, provide a list of cached images, fetch size of the cache, queue images for caching and clean up the cache, etc. The essential functions of a driver are defined in the base class glance.image_cache.drivers.base.Driver. All image-cache drivers (existing and prospective) must implement this interface. Currently available drivers are sqlite and xattr. These drivers primarily differ in the way they store the information about cached images:

  • The sqlite driver uses a sqlite database (which sits on every glance node locally) to track the usage of cached images.
  • The xattr driver uses the extended attributes of files to store this information. It also requires a filesystem that sets atime on the files when accessed.

Possible values:

  • sqlite
  • xattr

Related options:

  • None

image_cache_max_size = 10737418240

(Integer) The upper limit on cache size, in bytes, after which the cache-pruner cleans up the image cache.

Note

This is just a threshold for cache-pruner to act upon. It is NOT a hard limit beyond which the image cache would never grow. In fact, depending on how often the cache-pruner runs and how quickly the cache fills, the image cache can far exceed the size specified here very easily. Hence, care must be taken to appropriately schedule the cache-pruner and in setting this limit. Glance caches an image when it is downloaded. Consequently, the size of the image cache grows over time as the number of downloads increases. To keep the cache size from becoming unmanageable, it is recommended to run the cache-pruner as a periodic task. When the cache pruner is kicked off, it compares the current size of image cache and triggers a cleanup if the image cache grew beyond the size specified here. After the cleanup, the size of cache is less than or equal to size specified here.

Possible values:

  • Any non-negative integer

Related options:

  • None

image_cache_sqlite_db = cache.db

(String) The relative path to sqlite file database that will be used for image cache management. This is a relative path to the sqlite file database that tracks the age and usage statistics of image cache. The path is relative to image cache base directory, specified by the configuration option image_cache_dir. This is a lightweight database with just one table.

Possible values:

  • A valid relative path to sqlite file database

Related options:

  • image_cache_dir

image_cache_stall_time = 86400

(Integer) The amount of time, in seconds, an incomplete image remains in the cache. Incomplete images are images for which download is in progress. Please see the description of configuration option image_cache_dir for more detail. Sometimes, due to various reasons, it is possible the download may hang and the incompletely downloaded image remains in the incomplete directory. This configuration option sets a time limit on how long the incomplete images should remain in the incomplete directory before they are cleaned up. Once an incomplete image spends more time than is specified here, it’ll be removed by cache-cleaner on its next run. It is recommended to run cache-cleaner as a periodic task on the Glance API nodes to keep the incomplete images from occupying disk space.

Possible values:

  • Any non-negative integer

Related options:

  • None

scrub_pool_size = 1

(Integer) The size of thread pool to be used for scrubbing images. When there are a large number of images to scrub, it is beneficial to scrub images in parallel so that the scrub queue stays in control and the backend storage is reclaimed in a timely fashion. This configuration option denotes the maximum number of images to be scrubbed in parallel. The default value is one, which signifies serial scrubbing. Any value above one indicates parallel scrubbing.

Possible values:

  • Any non-zero positive integer

Related options:

  • delayed_delete

scrub_time = 0

(Integer) The amount of time, in seconds, to delay image scrubbing. When delayed delete is turned on, an image is put into pending_delete state upon deletion until the scrubber deletes its image data. Typically, soon after the image is put into pending_delete state, it is available for scrubbing. However, scrubbing can be delayed until a later point using this configuration option. This option denotes the time period an image spends in pending_delete state before it is available for scrubbing. It is important to realize that this has storage implications. The larger the scrub_time, the longer the time to reclaim backend storage from deleted images.

Possible values:

  • Any non-negative integer

Related options:

  • delayed_delete
Expand
Table 7.8. Description of profiler configuration options
Configuration option = Default valueDescription

[profiler]

 

connection_string = messaging://

(String) 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 notifications.
  • mongodb://127.0.0.1:27017 : use mongodb driver for sending notifications.
  • elasticsearch://127.0.0.1:9200 : use elasticsearch driver for sending notifications.

enabled = False

(Boolean) Enables 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.

es_doc_type = notification

(String) Document type for notification indexing in elasticsearch.

es_scroll_size = 10000

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

es_scroll_time = 2m

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

hmac_keys = SECRET_KEY

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

sentinel_service_name = mymaster

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

socket_timeout = 0.1

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

trace_sqlalchemy = False

(Boolean) Enables 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.
Expand
Table 7.9. Description of RADOS Block Devices (RBD) configuration options
Configuration option = Default valueDescription

[glance_store]

 

rados_connect_timeout = 0

(Integer) Timeout value for connecting to Ceph cluster. This configuration option takes in the timeout value in seconds used when connecting to the Ceph cluster i.e. it sets the time to wait for glance-api before closing the connection. This prevents glance-api hangups during the connection to RBD. If the value for this option is set to less than or equal to 0, no timeout is set and the default librados value is used. Possible Values:

  • Any integer value

Related options:

  • None

rbd_store_ceph_conf = /etc/ceph/ceph.conf

(String) Ceph configuration file path. This configuration option takes in the path to the Ceph configuration file to be used. If the value for this option is not set by the user or is set to None, librados will locate the default configuration file which is located at /etc/ceph/ceph.conf. If using Cephx authentication, this file should include a reference to the right keyring in a client.<USER> section Possible Values:

  • A valid path to a configuration file

Related options:

  • rbd_store_user

rbd_store_chunk_size = 8

(Integer) Size, in megabytes, to chunk RADOS images into. Provide an integer value representing the size in megabytes to chunk Glance images into. The default chunk size is 8 megabytes. For optimal performance, the value should be a power of two. When Ceph’s RBD object storage system is used as the storage backend for storing Glance images, the images are chunked into objects of the size set using this option. These chunked objects are then stored across the distributed block data store to use for Glance. Possible Values:

  • Any positive integer value

Related options:

  • None

rbd_store_pool = images

(String) RADOS pool in which images are stored. When RBD is used as the storage backend for storing Glance images, the images are stored by means of logical grouping of the objects (chunks of images) into a pool. Each pool is defined with the number of placement groups it can contain. The default pool that is used is 'images'.

Possible Values:

  • A valid pool name

Related options:

  • None

rbd_store_user = None

(String) RADOS user to authenticate as. This configuration option takes in the RADOS user to authenticate as. This is only needed when RADOS authentication is enabled and is applicable only if the user is using Cephx authentication. If the value for this option is not set by the user or is set to None, a default value will be chosen, which will be based on the client. section in rbd_store_ceph_conf. Possible Values:

  • A valid RADOS user

Related options:

  • rbd_store_ceph_conf
Expand
Table 7.10. Description of Redis configuration options
Configuration option = Default valueDescription

[matchmaker_redis]

 

check_timeout = 20000

(Integer) Time in ms to wait before the transaction is killed.

host = 127.0.0.1

(String) DEPRECATED: Host to locate redis. Replaced by [DEFAULT]/transport_url

password =

(String) DEPRECATED: Password for Redis server (optional). Replaced by [DEFAULT]/transport_url

port = 6379

(Port number) DEPRECATED: Use this port to connect to redis host. Replaced by [DEFAULT]/transport_url

sentinel_group_name = oslo-messaging-zeromq

(String) Redis replica set name.

sentinel_hosts =

(List) DEPRECATED: List of Redis Sentinel hosts (fault tolerance mode), e.g., [host:port, host1:port …​ ] Replaced by [DEFAULT]/transport_url

socket_timeout = 10000

(Integer) Timeout in ms on blocking socket operations.

wait_timeout = 2000

(Integer) Time in ms to wait between connection attempts.

Expand
Table 7.11. Description of registry configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

admin_password = None

(String) DEPRECATED: The administrators password. If "use_user_token" is not in effect, then admin credentials can be specified. This option was considered harmful and has been deprecated in M release. It will be removed in O release. For more information read OSSN-0060. Related functionality with uploading big images has been implemented with Keystone trusts support.

admin_tenant_name = None

(String) DEPRECATED: The tenant name of the administrative user. If "use_user_token" is not in effect, then admin tenant name can be specified. This option was considered harmful and has been deprecated in M release. It will be removed in O release. For more information read OSSN-0060. Related functionality with uploading big images has been implemented with Keystone trusts support.

admin_user = None

(String) DEPRECATED: The administrators user name. If "use_user_token" is not in effect, then admin credentials can be specified. This option was considered harmful and has been deprecated in M release. It will be removed in O release. For more information read OSSN-0060. Related functionality with uploading big images has been implemented with Keystone trusts support.

auth_region = None

(String) DEPRECATED: The region for the authentication service. If "use_user_token" is not in effect and using keystone auth, then region name can be specified. This option was considered harmful and has been deprecated in M release. It will be removed in O release. For more information read OSSN-0060. Related functionality with uploading big images has been implemented with Keystone trusts support.

auth_strategy = noauth

(String) DEPRECATED: The strategy to use for authentication. If "use_user_token" is not in effect, then auth strategy can be specified. This option was considered harmful and has been deprecated in M release. It will be removed in O release. For more information read OSSN-0060. Related functionality with uploading big images has been implemented with Keystone trusts support.

auth_url = None

(String) DEPRECATED: The URL to the keystone service. If "use_user_token" is not in effect and using keystone auth, then URL of keystone can be specified. This option was considered harmful and has been deprecated in M release. It will be removed in O release. For more information read OSSN-0060. Related functionality with uploading big images has been implemented with Keystone trusts support.

registry_client_ca_file = /etc/ssl/cafile/file.ca

(String) Absolute path to the Certificate Authority file. Provide a string value representing a valid absolute path to the certificate authority file to use for establishing a secure connection to the registry server.

Note

This option must be set if registry_client_protocol is set to https. Alternatively, the GLANCE_CLIENT_CA_FILE environment variable may be set to a filepath of the CA file. This option is ignored if the registry_client_insecure option is set to True.

Possible values:

  • String value representing a valid absolute path to the CA file.

Related options:

  • registry_client_protocol
  • registry_client_insecure

registry_client_cert_file = /etc/ssl/certs/file.crt

(String) Absolute path to the certificate file. Provide a string value representing a valid absolute path to the certificate file to use for establishing a secure connection to the registry server.

Note

This option must be set if registry_client_protocol is set to https. Alternatively, the GLANCE_CLIENT_CERT_FILE environment variable may be set to a filepath of the certificate file.

Possible values:

  • String value representing a valid absolute path to the certificate file.

Related options:

  • registry_client_protocol

registry_client_insecure = False

(Boolean) Set verification of the registry server certificate. Provide a boolean value to determine whether or not to validate SSL connections to the registry server. By default, this option is set to False and the SSL connections are validated. If set to True, the connection to the registry server is not validated via a certifying authority and the registry_client_ca_file option is ignored. This is the registry’s equivalent of specifying --insecure on the command line using glanceclient for the API.

Possible values:

  • True
  • False

Related options:

  • registry_client_protocol
  • registry_client_ca_file

registry_client_key_file = /etc/ssl/key/key-file.pem

(String) Absolute path to the private key file. Provide a string value representing a valid absolute path to the private key file to use for establishing a secure connection to the registry server.

Note

This option must be set if registry_client_protocol is set to https. Alternatively, the GLANCE_CLIENT_KEY_FILE environment variable may be set to a filepath of the key file.

Possible values:

  • String value representing a valid absolute path to the key file.

Related options:

  • registry_client_protocol

registry_client_protocol = http

(String) Protocol to use for communication with the registry server. Provide a string value representing the protocol to use for communication with the registry server. By default, this option is set to http and the connection is not secure. This option can be set to https to establish a secure connection to the registry server. In this case, provide a key to use for the SSL connection using the registry_client_key_file option. Also include the CA file and cert file using the options registry_client_ca_file and registry_client_cert_file respectively.

Possible values:

  • http
  • https

Related options:

  • registry_client_key_file
  • registry_client_cert_file
  • registry_client_ca_file

registry_client_timeout = 600

(Integer) Timeout value for registry requests. Provide an integer value representing the period of time in seconds that the API server will wait for a registry request to complete. The default value is 600 seconds. A value of 0 implies that a request will never timeout.

Possible values:

  • Zero
  • Positive integer

Related options:

  • None

registry_host = 0.0.0.0

(String) Address the registry server is hosted on.

Possible values:

  • A valid IP or hostname

Related options:

  • None

registry_port = 9191

(Port number) Port the registry server is listening on.

Possible values:

  • A valid port number

Related options:

  • None
Expand
Table 7.12. Description of replicator configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

args = None

(Multi-valued) Arguments for the command

chunksize = 65536

(Integer) Amount of data to transfer per HTTP write.

command = None

(String) Command to be given to replicator

dontreplicate = created_at date deleted_at location updated_at

(String) List of fields to not replicate.

mastertoken =

(String) Pass in your authentication token if you have one. This is the token used for the master.

metaonly = False

(Boolean) Only replicate metadata, not images.

slavetoken =

(String) Pass in your authentication token if you have one. This is the token used for the slave.

token =

(String) Pass in your authentication token if you have one. If you use this option the same token is used for both the master and the slave.

Expand
Table 7.13. Description of scrubber configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

wakeup_time = 300

(Integer) Time interval, in seconds, between scrubber runs in daemon mode. Scrubber can be run either as a cron job or daemon. When run as a daemon, this configuration time specifies the time period between two runs. When the scrubber wakes up, it fetches and scrubs all pending_delete images that are available for scrubbing after taking scrub_time into consideration. If the wakeup time is set to a large number, there may be a large number of images to be scrubbed for each run. Also, this impacts how quickly the backend storage is reclaimed.

Possible values:

  • Any non-negative integer

Related options:

  • daemon
  • delayed_delete
Expand
Table 7.14. Description of Sheepdog configuration options
Configuration option = Default valueDescription

[glance_store]

 

sheepdog_store_address = 127.0.0.1

(String) Address to bind the Sheepdog daemon to. Provide a string value representing the address to bind the Sheepdog daemon to. The default address set for the 'sheep' is 127.0.0.1. The Sheepdog daemon, also called 'sheep', manages the storage in the distributed cluster by writing objects across the storage network. It identifies and acts on the messages directed to the address set using sheepdog_store_address option to store chunks of Glance images.

Possible values:

  • A valid IPv4 address
  • A valid IPv6 address
  • A valid hostname

Related Options:

  • sheepdog_store_port

sheepdog_store_chunk_size = 64

(Integer) Chunk size for images to be stored in Sheepdog data store. Provide an integer value representing the size in mebibyte (1048576 bytes) to chunk Glance images into. The default chunk size is 64 mebibytes. When using Sheepdog distributed storage system, the images are chunked into objects of this size and then stored across the distributed data store to use for Glance. Chunk sizes, if a power of two, help avoid fragmentation and enable improved performance.

Possible values:

  • Positive integer value representing size in mebibytes.

Related Options:

  • None

sheepdog_store_port = 7000

(Port number) Port number on which the sheep daemon will listen. Provide an integer value representing a valid port number on which you want the Sheepdog daemon to listen on. The default port is 7000. The Sheepdog daemon, also called 'sheep', manages the storage in the distributed cluster by writing objects across the storage network. It identifies and acts on the messages it receives on the port number set using sheepdog_store_port option to store chunks of Glance images.

Possible values:

  • A valid port number (0 to 65535)

Related Options:

  • sheepdog_store_address
Expand
Table 7.15. Description of swift configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

default_swift_reference = ref1

(String) Reference to default Swift account/backing store parameters. Provide a string value representing a reference to the default set of parameters required for using swift account/backing store for image storage. The default reference value for this configuration option is 'ref1'. This configuration option dereferences the parameters and facilitates image storage in Swift storage backend every time a new image is added.

Possible values:

  • A valid string value

Related options:

  • None

swift_store_auth_address = None

(String) The address where the Swift authentication service is listening.

swift_store_config_file = None

(String) File containing the swift account(s) configurations. Include a string value representing the path to a configuration file that has references for each of the configured Swift account(s)/backing stores. By default, no file path is specified and customized Swift referencing is diabled. Configuring this option is highly recommended while using Swift storage backend for image storage as it helps avoid storage of credentials in the database.

Possible values:

  • None
  • String value representing a vaid configuration file path

Related options:

  • None

swift_store_key = None

(String) Auth key for the user authenticating against the Swift authentication service.

swift_store_user = None

(String) The user to authenticate against the Swift authentication service.

[glance_store]

 

default_swift_reference = ref1

(String) Reference to default Swift account/backing store parameters. Provide a string value representing a reference to the default set of parameters required for using swift account/backing store for image storage. The default reference value for this configuration option is 'ref1'. This configuration option dereferences the parameters and facilitates image storage in Swift storage backend every time a new image is added.

Possible values:

  • A valid string value

Related options:

  • None

swift_store_admin_tenants =

(List) List of tenants that will be granted admin access. This is a list of tenants that will be granted read/write access on all Swift containers created by Glance in multi-tenant mode. The default value is an empty list.

Possible values:

  • A comma separated list of strings representing UUIDs of Keystone projects/tenants

Related options:

  • None

swift_store_auth_address = None

(String) DEPRECATED: The address where the Swift authentication service is listening. The option 'auth_address' in the Swift back-end configuration file is used instead.

swift_store_auth_insecure = False

(Boolean) Set verification of the server certificate. This boolean determines whether or not to verify the server certificate. If this option is set to True, swiftclient won’t check for a valid SSL certificate when authenticating. If the option is set to False, then the default CA truststore is used for verification.

Possible values:

  • True
  • False

Related options:

  • swift_store_cacert

swift_store_auth_version = 2

(String) DEPRECATED: Version of the authentication service to use. Valid versions are 2 and 3 for keystone and 1 (deprecated) for swauth and rackspace. The option 'auth_version' in the Swift back-end configuration file is used instead.

swift_store_cacert = /etc/ssl/certs/ca-certificates.crt

(String) Path to the CA bundle file. This configuration option enables the operator to specify the path to a custom Certificate Authority file for SSL verification when connecting to Swift.

Possible values:

  • A valid path to a CA file

Related options:

  • swift_store_auth_insecure

swift_store_config_file = None

(String) Absolute path to the file containing the swift account(s) configurations. Include a string value representing the path to a configuration file that has references for each of the configured Swift account(s)/backing stores. By default, no file path is specified and customized Swift referencing is disabled. Configuring this option is highly recommended while using Swift storage backend for image storage as it avoids storage of credentials in the database.

Note

Please do not configure this option if you have set swift_store_multi_tenant to True.

Possible values:

  • String value representing an absolute path on the glance-api node

Related options:

  • swift_store_multi_tenant

swift_store_container = glance

(String) Name of single container to store images/name prefix for multiple containers When a single container is being used to store images, this configuration option indicates the container within the Glance account to be used for storing all images. When multiple containers are used to store images, this will be the name prefix for all containers. Usage of single/multiple containers can be controlled using the configuration option swift_store_multiple_containers_seed. When using multiple containers, the containers will be named after the value set for this configuration option with the first N chars of the image UUID as the suffix delimited by an underscore (where N is specified by swift_store_multiple_containers_seed). Example: if the seed is set to 3 and swift_store_container = glance, then an image with UUID fdae39a1-bac5-4238-aba4-69bcc726e848 would be placed in the container glance_fda. All dashes in the UUID are included when creating the container name but do not count toward the character limit, so when N=10 the container name would be glance_fdae39a1-ba.

Possible values:

  • If using single container, this configuration option can be any string that is a valid swift container name in Glance’s Swift account
  • If using multiple containers, this configuration option can be any string as long as it satisfies the container naming rules enforced by Swift. The value of swift_store_multiple_containers_seed should be taken into account as well.

Related options:

  • swift_store_multiple_containers_seed
  • swift_store_multi_tenant
  • swift_store_create_container_on_put

swift_store_create_container_on_put = False

(Boolean) Create container, if it doesn’t already exist, when uploading image. At the time of uploading an image, if the corresponding container doesn’t exist, it will be created provided this configuration option is set to True. By default, it won’t be created. This behavior is applicable for both single and multiple containers mode.

Possible values:

  • True
  • False

Related options:

  • None

swift_store_endpoint = https://swift.openstack.example.org/v2/path_not_including_container_name

(String) The URL endpoint to use for Swift backend storage. Provide a string value representing the URL endpoint to use for storing Glance images in Swift store. By default, an endpoint is not set and the storage URL returned by auth is used. Setting an endpoint with swift_store_endpoint overrides the storage URL and is used for Glance image storage.

Note

The URL should include the path up to, but excluding the container. The location of an object is obtained by appending the container and object to the configured URL.

Possible values:

  • String value representing a valid URL path up to a Swift container

Related Options:

  • None

swift_store_endpoint_type = publicURL

(String) Endpoint Type of Swift service. This string value indicates the endpoint type to use to fetch the Swift endpoint. The endpoint type determines the actions the user will be allowed to perform, for instance, reading and writing to the Store. This setting is only used if swift_store_auth_version is greater than 1.

Possible values:

  • publicURL
  • adminURL
  • internalURL

Related options:

  • swift_store_endpoint

swift_store_expire_soon_interval = 60

(Integer) Time in seconds defining the size of the window in which a new token may be requested before the current token is due to expire. Typically, the Swift storage driver fetches a new token upon the expiration of the current token to ensure continued access to Swift. However, some Swift transactions (like uploading image segments) may not recover well if the token expires on the fly. Hence, by fetching a new token before the current token expiration, we make sure that the token does not expire or is close to expiry before a transaction is attempted. By default, the Swift storage driver requests for a new token 60 seconds or less before the current token expiration.

Possible values:

  • Zero
  • Positive integer value

Related Options:

  • None

swift_store_key = None

(String) DEPRECATED: Auth key for the user authenticating against the Swift authentication service. The option 'key' in the Swift back-end configuration file is used to set the authentication key instead.

swift_store_large_object_chunk_size = 200

(Integer) The maximum size, in MB, of the segments when image data is segmented. When image data is segmented to upload images that are larger than the limit enforced by the Swift cluster, image data is broken into segments that are no bigger than the size specified by this configuration option. Refer to swift_store_large_object_size for more detail. For example: if swift_store_large_object_size is 5GB and swift_store_large_object_chunk_size is 1GB, an image of size 6.2GB will be segmented into 7 segments where the first six segments will be 1GB in size and the seventh segment will be 0.2GB.

Possible values:

  • A positive integer that is less than or equal to the large object limit enforced by Swift cluster in consideration.

Related options:

  • swift_store_large_object_size

swift_store_large_object_size = 5120

(Integer) The size threshold, in MB, after which Glance will start segmenting image data. Swift has an upper limit on the size of a single uploaded object. By default, this is 5GB. To upload objects bigger than this limit, objects are segmented into multiple smaller objects that are tied together with a manifest file. This configuration option specifies the size threshold over which the Swift driver will start segmenting image data into multiple smaller files. Currently, the Swift driver only supports creating Dynamic Large Objects.

Note

This should be set by taking into account the large object limit enforced by the Swift cluster in consideration.

Possible values:

  • A positive integer that is less than or equal to the large object limit enforced by the Swift cluster in consideration.

Related options:

  • swift_store_large_object_chunk_size

swift_store_multi_tenant = False

(Boolean) Store images in tenant’s Swift account. This enables multi-tenant storage mode which causes Glance images to be stored in tenant specific Swift accounts. If this is disabled, Glance stores all images in its own account.

Note

If using multi-tenant swift store, please make sure that you do not set a swift configuration file with the 'swift_store_config_file' option.

Possible values:

  • True
  • False

Related options:

  • swift_store_config_file

swift_store_multiple_containers_seed = 0

(Integer) Seed indicating the number of containers to use for storing images. When using a single-tenant store, images can be stored in one or more than one containers. When set to 0, all images will be stored in one single container. When set to an integer value between 1 and 32, multiple containers will be used to store images. This configuration option will determine how many containers are created. The total number of containers that will be used is equal to 16^N, so if this config option is set to 2, then 16^2=256 containers will be used to store images. Please refer to swift_store_container for more detail on the naming convention.

Note

This is used only when swift_store_multi_tenant is disabled.

Possible values:

  • A non-negative integer less than or equal to 32

Related options:

  • swift_store_container
  • swift_store_multi_tenant
  • swift_store_create_container_on_put

swift_store_region = RegionTwo

(String) The region of Swift endpoint to use by Glance. Provide a string value representing a Swift region where Glance can connect to for image storage. By default, there is no region set. When Glance uses Swift as the storage backend to store images for a specific tenant that has multiple endpoints, setting of a Swift region with swift_store_region allows Glance to connect to Swift in the specified region as opposed to a single region connectivity. This option can be configured for both single-tenant and multi-tenant storage.

Note

Setting the region with swift_store_region is tenant-specific and is necessary only if the tenant has multiple endpoints across different regions.

Possible values:

  • A string value representing a valid Swift region.

Related Options:

  • None

swift_store_retry_get_count = 0

(Integer) The number of times a Swift download will be retried before the request fails. Provide an integer value representing the number of times an image download must be retried before erroring out. The default value is zero (no retry on a failed image download). When set to a positive integer value, swift_store_retry_get_count ensures that the download is attempted this many more times upon a download failure before sending an error message.

Possible values:

  • Zero
  • Positive integer value

Related Options:

  • None

swift_store_service_type = object-store

(String) Type of Swift service to use. Provide a string value representing the service type to use for storing images while using Swift backend storage. The default service type is set to object-store.

Note

If swift_store_auth_version is set to 2, the value for this configuration option needs to be object-store. If using a higher version of Keystone or a different auth scheme, this option may be modified.

Possible values:

  • A string representing a valid service type for Swift storage.

Related Options:

  • None

swift_store_ssl_compression = True

(Boolean) SSL layer compression for HTTPS Swift requests. Provide a boolean value to determine whether or not to compress HTTPS Swift requests for images at the SSL layer. By default, compression is enabled. When using Swift as the backend store for Glance image storage, SSL layer compression of HTTPS Swift requests can be set using this option. If set to False, SSL layer compression of HTTPS Swift requests is disabled. Disabling this option may improve performance for images which are already in a compressed format, for example, qcow2.

Possible values:

  • True
  • False

Related Options:

  • None

swift_store_use_trusts = True

(Boolean) Use trusts for multi-tenant Swift store. This option instructs the Swift store to create a trust for each add/get request when the multi-tenant store is in use. Using trusts allows the Swift store to avoid problems that can be caused by an authentication token expiring during the upload or download of data. By default, swift_store_use_trusts is set to True(use of trusts is enabled). If set to False, a user token is used for the Swift connection instead, eliminating the overhead of trust creation.

Note

This option is considered only when swift_store_multi_tenant is set to True

Possible values:

  • True
  • False

Related options:

  • swift_store_multi_tenant

swift_store_user = None

(String) DEPRECATED: The user to authenticate against the Swift authentication service. The option 'user' in the Swift back-end configuration file is set instead.

Expand
Table 7.16. Description of TaskFlow configuration options
Configuration option = Default valueDescription

[taskflow_executor]

 

conversion_format = raw

(String) Set the desired image conversion format. Provide a valid image format to which you want images to be converted before they are stored for consumption by Glance. Appropriate image format conversions are desirable for specific storage backends in order to facilitate efficient handling of bandwidth and usage of the storage infrastructure. By default, conversion_format is not set and must be set explicitly in the configuration file. The allowed values for this option are raw, qcow2 and vmdk. The raw format is the unstructured disk format and should be chosen when RBD or Ceph storage backends are used for image storage. qcow2 is supported by the QEMU emulator that expands dynamically and supports Copy on Write. The vmdk is another common disk format supported by many common virtual machine monitors like VMWare Workstation.

Possible values:

  • qcow2
  • raw
  • vmdk

Related options:

  • disk_formats

engine_mode = parallel

(String) Set the taskflow engine mode. Provide a string type value to set the mode in which the taskflow engine would schedule tasks to the workers on the hosts. Based on this mode, the engine executes tasks either in single or multiple threads. The possible values for this configuration option are: serial and parallel. When set to serial, the engine runs all the tasks in a single thread which results in serial execution of tasks. Setting this to parallel makes the engine run tasks in multiple threads. This results in parallel execution of tasks.

Possible values:

  • serial
  • parallel

Related options:

  • max_workers

max_workers = 10

(Integer) Set the number of engine executable tasks. Provide an integer value to limit the number of workers that can be instantiated on the hosts. In other words, this number defines the number of parallel tasks that can be executed at the same time by the taskflow engine. This value can be greater than one when the engine mode is set to parallel.

Possible values:

  • Integer value greater than or equal to 1

Related options:

  • engine_mode
Expand
Table 7.17. Description of testing configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

pydev_worker_debug_host = localhost

(String) Host address of the pydev server. Provide a string value representing the hostname or IP of the pydev server to use for debugging. The pydev server listens for debug connections on this address, facilitating remote debugging in Glance.

Possible values:

  • Valid hostname
  • Valid IP address

Related options:

  • None

pydev_worker_debug_port = 5678

(Port number) Port number that the pydev server will listen on. Provide a port number to bind the pydev server to. The pydev process accepts debug connections on this port and facilitates remote debugging in Glance.

Possible values:

  • A valid port number

Related options:

  • None
Expand
Table 7.18. New default values
OptionPrevious default valueNew default value

[image_format] disk_formats

ami, ari, aki, vhd, vhdx, vmdk, raw, qcow2, vdi, iso

ami, ari, aki, vhd, vhdx, vmdk, raw, qcow2, vdi, iso, ploop

Expand
Table 7.19. Deprecated options
Deprecated optionNew Option

[DEFAULT] rpc_thread_pool_size

[DEFAULT] executor_thread_pool_size

[DEFAULT] use_syslog

None

Chapter 8. Networking

This chapter explains the OpenStack Networking configuration options.

8.1. Networking Configuration Options

Note

The common configurations for shared services and libraries, such as database connections and RPC messaging, are described at Common configurations.

8.1.1. Description of Configuration Options

The following tables provide a comprehensive list of the Networking configuration options.

Expand
Table 8.1. Description of agent configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

external_pids = $state_path/external/pids

(String) Location to store child pid files

[AGENT]

 

agent_type = Open vSwitch agent

(String) DEPRECATED: Selects the Agent Type reported

availability_zone = nova

(String) Availability zone of this node

Expand
Table 8.2. Description of API configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

allow_bulk = True

(Boolean) Allow the usage of the bulk API

allow_pagination = True

(Boolean) DEPRECATED: Allow the usage of the pagination. This option has been deprecated and will now be enabled unconditionally.

allow_sorting = True

(Boolean) DEPRECATED: Allow the usage of the sorting. This option has been deprecated and will now be enabled unconditionally.

api_extensions_path =

(String) The path for API extensions. Note that this can be a colon-separated list of paths. For example: api_extensions_path = extensions:/path/to/more/exts:/even/more/exts. The path of neutron.extensions is appended to this, so if your extensions are in there you don’t need to specify them here.

api_paste_config = api-paste.ini

(String) File name for the paste.deploy config for api service

backlog = 4096

(Integer) Number of backlog requests to configure the socket with

client_socket_timeout = 900

(Integer) Timeout for client connections' socket operations. If an incoming connection is idle for this number of seconds it will be closed. A value of '0' means wait forever.

max_header_line = 16384

(Integer) Maximum line size of message headers to be accepted. max_header_line may need to be increased when using large tokens (typically those generated when keystone is configured to use PKI tokens with big service catalogs).

pagination_max_limit = -1

(String) The maximum number of items returned in a single response, value was 'infinite' or negative integer means no limit

retry_until_window = 30

(Integer) Number of seconds to keep retrying to listen

service_plugins =

(List) The service plugins Neutron will use

tcp_keepidle = 600

(Integer) Sets the value of TCP_KEEPIDLE in seconds for each server socket. Not supported on OS X.

use_ssl = False

(Boolean) Enable SSL on the API server

wsgi_default_pool_size = 100

(Integer) Size of the pool of greenthreads used by wsgi

wsgi_keep_alive = True

(Boolean) If False, closes the client socket connection explicitly.

wsgi_log_format = %(client_ip)s "%(request_line)s" status: %(status_code)s len: %(body_length)s time: %(wall_seconds).7f

(String) A python format string that is used as the template to generate log lines. The following values can beformatted into it: client_ip, date_time, request_line, status_code, body_length, wall_seconds.

[oslo_middleware]

 

enable_proxy_headers_parsing = False

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

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 a SSL termination proxy.

[oslo_versionedobjects]

 

fatal_exception_format_errors = False

(Boolean) Make exception message format errors fatal

Expand
Table 8.3. Description of common configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

agent_down_time = 75

(Integer) Seconds to regard the agent is down; should be at least twice report_interval, to be sure the agent is down for good.

allow_automatic_dhcp_failover = True

(Boolean) Automatically remove networks from offline DHCP agents.

allow_automatic_l3agent_failover = False

(Boolean) Automatically reschedule routers from offline L3 agents to online L3 agents.

api_workers = None

(Integer) Number of separate API worker processes for service. If not specified, the default is equal to the number of CPUs available for best performance.

auth_ca_cert = None

(String) Certificate Authority public key (CA cert) file for ssl

auth_strategy = keystone

(String) The type of authentication to use

base_mac = fa:16:3e:00:00:00

(String) The base MAC address Neutron will use for VIFs. The first 3 octets will remain unchanged. If the 4th octet is not 00, it will also be used. The others will be randomly generated.

bind_host = 0.0.0.0

(String) The host IP to bind to

bind_port = 9696

(Port number) The port to bind to

cache_url =

(String) DEPRECATED: URL to connect to the cache back end. This option is deprecated in the Newton release and will be removed. Please add a [cache] group for oslo.cache in your neutron.conf and add "enable" and "backend" options in this section.

core_plugin = None

(String) The core plugin Neutron will use

default_availability_zones =

(List) Default value of availability zone hints. The availability zone aware schedulers use this when the resources availability_zone_hints is empty. Multiple availability zones can be specified by a comma separated string. This value can be empty. In this case, even if availability_zone_hints for a resource is empty, availability zone is considered for high availability while scheduling the resource.

dhcp_agent_notification = True

(Boolean) Allow sending resource operation notification to DHCP agent

dhcp_agents_per_network = 1

(Integer) Number of DHCP agents scheduled to host a tenant network. If this number is greater than 1, the scheduler automatically assigns multiple DHCP agents for a given tenant network, providing high availability for DHCP service.

dhcp_broadcast_reply = False

(Boolean) Use broadcast in DHCP replies.

dhcp_confs = $state_path/dhcp

(String) Location to store DHCP server config files.

dhcp_domain = openstacklocal

(String) DEPRECATED: Domain to use for building the hostnames. This option is deprecated. It has been moved to neutron.conf as dns_domain. It will be removed in a future release.

dhcp_lease_duration = 86400

(Integer) DHCP lease duration (in seconds). Use -1 to tell dnsmasq to use infinite lease times.

dhcp_load_type = networks

(String) Representing the resource type whose load is being reported by the agent. This can be "networks", "subnets" or "ports". When specified (Default is networks), the server will extract particular load sent as part of its agent configuration object from the agent report state, which is the number of resources being consumed, at every report_interval.dhcp_load_type can be used in combination with network_scheduler_driver = neutron.scheduler.dhcp_agent_scheduler.WeightScheduler When the network_scheduler_driver is WeightScheduler, dhcp_load_type can be configured to represent the choice for the resource being balanced. Example: dhcp_load_type=networks

dns_domain = openstacklocal

(String) Domain to use for building the hostnames

enable_new_agents = True

(Boolean) Agent starts with admin_state_up=False when enable_new_agents=False. In the case, user’s resources will not be scheduled automatically to the agent until admin changes admin_state_up to True.

enable_services_on_agents_with_admin_state_down = False

(Boolean) Enable services on an agent with admin_state_up False. If this option is False, when admin_state_up of an agent is turned False, services on it will be disabled. Agents with admin_state_up False are not selected for automatic scheduling regardless of this option. But manual scheduling to such agents is available if this option is True.

executor_thread_pool_size = 64

(Integer) Size of executor thread pool.

external_dns_driver = None

(String) Driver for external DNS integration.

global_physnet_mtu = 1500

(Integer) MTU of the underlying physical network. Neutron uses this value to calculate MTU for all virtual network components. For flat and VLAN networks, neutron uses this value without modification. For overlay networks such as VXLAN, neutron automatically subtracts the overlay protocol overhead from this value. Defaults to 1500, the standard value for Ethernet.

ip_lib_force_root = False

(Boolean) Force ip_lib calls to use the root helper

ipam_driver = internal

(String) Neutron IPAM (IP address management) driver to use. By default, the reference implementation of the Neutron IPAM driver is used.

mac_generation_retries = 16

(Integer) DEPRECATED: How many times Neutron will retry MAC generation. This option is now obsolete and so is deprecated to be removed in the Ocata release.

max_allowed_address_pair = 10

(Integer) Maximum number of allowed address pairs

max_dns_nameservers = 5

(Integer) Maximum number of DNS nameservers per subnet

max_fixed_ips_per_port = 5

(Integer) DEPRECATED: Maximum number of fixed ips per port. This option is deprecated and will be removed in the Ocata release.

max_rtr_adv_interval = 100

(Integer) MaxRtrAdvInterval setting for radvd.conf

max_subnet_host_routes = 20

(Integer) Maximum number of host routes per subnet

min_rtr_adv_interval = 30

(Integer) MinRtrAdvInterval setting for radvd.conf

periodic_fuzzy_delay = 5

(Integer) Range of seconds to randomly delay when starting the periodic task scheduler to reduce stampeding. (Disable by setting to 0)

periodic_interval = 40

(Integer) Seconds between running periodic tasks.

report_interval = 300

(Integer) Interval between two metering reports

state_path = /var/lib/neutron

(String) Where to store Neutron state files. This directory must be writable by the agent.

vlan_transparent = False

(Boolean) If True, then allow plugins that support it to create VLAN transparent networks.

web_framework = legacy

(String) This will choose the web framework in which to run the Neutron API server. 'pecan' is a new experimental rewrite of the API server.

[AGENT]

 

check_child_processes_action = respawn

(String) Action to be executed when a child process dies

check_child_processes_interval = 60

(Integer) Interval between checks of child process liveness (seconds), use 0 to disable

debug_iptables_rules = False

(Boolean) Duplicate every iptables difference calculation to ensure the format being generated matches the format of iptables-save. This option should not be turned on for production systems because it imposes a performance penalty.

log_agent_heartbeats = False

(Boolean) Log agent heartbeats

polling_interval = 2

(Integer) The number of seconds the agent will wait between polling for local device changes.

root_helper = sudo

(String) Root helper application. Use 'sudo neutron-rootwrap /etc/neutron/rootwrap.conf' to use the real root filter facility. Change to 'sudo' to skip the filtering and just run the command directly.

root_helper_daemon = None

(String) Root helper daemon application to use when possible.

[profiler]

 

connection_string = messaging://

(String) 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 notifications.

enabled = False

(Boolean) Enables 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.

hmac_keys = SECRET_KEY

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

trace_sqlalchemy = False

(Boolean) Enables 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.

[qos]

 

notification_drivers = message_queue

(List) Drivers list to use to send the update notification

[service_providers]

 

service_provider = []

(Multi-valued) Defines providers for advanced services using the format: <service_type>:<name>:<driver>[:default]

Expand
Table 8.4. Description of Compute configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

notify_nova_on_port_data_changes = True

(Boolean) Send notification to nova when port data (fixed_ips/floatingip) changes so nova can update its cache.

notify_nova_on_port_status_changes = True

(Boolean) Send notification to nova when port status changes

nova_client_cert =

(String) Client certificate for nova metadata api server.

nova_client_priv_key =

(String) Private key of client certificate.

send_events_interval = 2

(Integer) Number of seconds between sending events to nova if there are any events to send.

Expand
Table 8.5. Description of DHCP agent configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

advertise_mtu = True

(Boolean) DEPRECATED: If True, advertise network MTU values if core plugin calculates them. MTU is advertised to running instances via DHCP and RA MTU options.

dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq

(String) The driver used to manage the DHCP server.

dnsmasq_base_log_dir = None

(String) Base log dir for dnsmasq logging. The log contains DHCP and DNS log information and is useful for debugging issues with either DHCP or DNS. If this section is null, disable dnsmasq log.

dnsmasq_config_file =

(String) Override the default dnsmasq settings with this file.

dnsmasq_dns_servers =

(List) Comma-separated list of the DNS servers which will be used as forwarders.

dnsmasq_lease_max = 16777216

(Integer) Limit number of leases to prevent a denial-of-service.

dnsmasq_local_resolv = False

(Boolean) Enables the dnsmasq service to provide name resolution for instances via DNS resolvers on the host running the DHCP agent. Effectively removes the '--no-resolv' option from the dnsmasq process arguments. Adding custom DNS resolvers to the 'dnsmasq_dns_servers' option disables this feature.

enable_isolated_metadata = False

(Boolean) The DHCP server can assist with providing metadata support on isolated networks. Setting this value to True will cause the DHCP server to append specific host routes to the DHCP request. The metadata service will only be activated when the subnet does not contain any router port. The guest instance must be configured to request host routes via DHCP (Option 121). This option doesn’t have any effect when force_metadata is set to True.

enable_metadata_network = False

(Boolean) Allows for serving metadata requests coming from a dedicated metadata access network whose CIDR is 169.254.169.254/16 (or larger prefix), and is connected to a Neutron router from which the VMs send metadata:1 request. In this case DHCP Option 121 will not be injected in VMs, as they will be able to reach 169.254.169.254 through a router. This option requires enable_isolated_metadata = True.

force_metadata = False

(Boolean) In some cases the Neutron router is not present to provide the metadata IP but the DHCP server can be used to provide this info. Setting this value will force the DHCP server to append specific host routes to the DHCP request. If this option is set, then the metadata service will be activated for all the networks.

host = example.domain

(String) Hostname to be used by the Neutron server, agents and services running on this machine. All the agents and services running on this machine must use the same host value.

interface_driver = None

(String) The driver used to manage the virtual interface.

num_sync_threads = 4

(Integer) Number of threads to use during sync process. Should not exceed connection pool size configured on server.

resync_interval = 5

(Integer) The DHCP agent will resync its state with Neutron to recover from any transient notification or RPC errors. The interval is number of seconds between attempts.

Expand
Table 8.6. Description of DVR configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

dvr_base_mac = fa:16:3f:00:00:00

(String) The base mac address used for unique DVR instances by Neutron. The first 3 octets will remain unchanged. If the 4th octet is not 00, it will also be used. The others will be randomly generated. The 'dvr_base_mac' must be different from 'base_mac' to avoid mixing them up with MAC’s allocated for tenant ports. A 4 octet example would be dvr_base_mac = fa:16:3f:4f:00:00. The default is 3 octet

router_distributed = False

(Boolean) System-wide flag to determine the type of router that tenants can create. Only admin can override.

Expand
Table 8.7. Description of FDB agent configuration options
Configuration option = Default valueDescription

[FDB]

 

shared_physical_device_mappings =

(List) Comma-separated list of <physical_network>:<network_device> tuples mapping physical network names to the agent’s node-specific shared physical network device between SR-IOV and OVS or SR-IOV and linux bridge

Expand
Table 8.8. Description of IPv6 router advertisement configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

ra_confs = $state_path/ra

(String) Location to store IPv6 RA config files

Expand
Table 8.9. Description of L2 agent extension configuration options
Configuration option = Default valueDescription

[agent]

 

extensions =

(List) Extensions list to use

Expand
Table 8.10. Description of L3 agent configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

enable_snat_by_default = True

(Boolean) Define the default value of enable_snat if not provided in external_gateway_info.

external_network_bridge =

(String) DEPRECATED: Name of bridge used for external network traffic. When this parameter is set, the L3 agent will plug an interface directly into an external bridge which will not allow any wiring by the L2 agent. Using this will result in incorrect port statuses. This option is deprecated and will be removed in Ocata.

ha_confs_path = $state_path/ha_confs

(String) Location to store keepalived/conntrackd config files

ha_vrrp_advert_int = 2

(Integer) The advertisement interval in seconds

ha_vrrp_auth_password = None

(String) VRRP authentication password

ha_vrrp_auth_type = PASS

(String) VRRP authentication type

host = example.domain

(String) Hostname to be used by the Neutron server, agents and services running on this machine. All the agents and services running on this machine must use the same host value.

interface_driver = None

(String) The driver used to manage the virtual interface.

l3_ha = False

(Boolean) Enable HA mode for virtual routers.

l3_ha_net_cidr = 169.254.192.0/18

(String) Subnet used for the l3 HA admin network.

l3_ha_network_physical_name =

(String) The physical network name with which the HA network can be created.

l3_ha_network_type =

(String) The network type to use when creating the HA network for an HA router. By default or if empty, the first 'tenant_network_types' is used. This is helpful when the VRRP traffic should use a specific network which is not the default one.

max_l3_agents_per_router = 3

(Integer) Maximum number of L3 agents which a HA router will be scheduled on. If it is set to 0 then the router will be scheduled on every agent.

min_l3_agents_per_router = 2

(Integer) DEPRECATED: Minimum number of L3 agents that have to be available in order to allow a new HA router to be scheduled. This option is deprecated in the Newton release and will be removed for the Ocata release where the scheduling of new HA routers will always be allowed.

[AGENT]

 

comment_iptables_rules = True

(Boolean) Add comments to iptables rules. Set to false to disallow the addition of comments to generated iptables rules that describe each rule’s purpose. System must support the iptables comments module for addition of comments.

use_helper_for_ns_read = True

(Boolean) Use the root helper when listing the namespaces on a system. This may not be required depending on the security configuration. If the root helper is not required, set this to False for a performance improvement.

Expand
Table 8.11. Description of LBaaS agent configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

debug = False

(Boolean) If set to true, the logging level will be set to DEBUG instead of the default INFO level. Mutable This option can be changed without restarting.

device_driver = ['neutron_lbaas.drivers.haproxy.namespace_driver.HaproxyNSDriver']

(Multi-valued) Drivers used to manage loadbalancing devices

interface_driver = None

(String) The driver used to manage the virtual interface.

periodic_interval = 40

(Integer) Seconds between running periodic tasks.

[haproxy]

 

loadbalancer_state_path = $state_path/lbaas

(String) Location to store config and state files

send_gratuitous_arp = 3

(Integer) When delete and re-add the same vip, send this many gratuitous ARPs to flush the ARP cache in the Router. Set it below or equal to 0 to disable this feature.

user_group = nogroup

(String) The user group

Expand
Table 8.12. Description of Load-Balancer-as-a-Service configuration options
Configuration option = Default valueDescription

[certificates]

 

barbican_auth = barbican_acl_auth

(String) Name of the Barbican authentication method to use

cert_manager_type = barbican

(String) Certificate Manager plugin. Defaults to barbican.

storage_path = /var/lib/neutron-lbaas/certificates/

(String) Absolute path to the certificate storage directory. Defaults to env[OS_LBAAS_TLS_STORAGE].

Expand
Table 8.13. Description of LBaaS Embrane, Radware, NetScaler, HAproxy plug-in configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

loadbalancer_scheduler_driver = neutron_lbaas.agent_scheduler.ChanceScheduler

(String) Driver to use for scheduling to a default loadbalancer agent

[haproxy]

 

jinja_config_template = /usr/lib/python/site-packages/neutron-lbaas/neutron_lbaas/drivers/haproxy/templates/haproxy.loadbalancer.j2

(String) Jinja template file for haproxy configuration

[radwarev2]

 

child_workflow_template_names = manage_l3

(List) Name of child workflow templates used.Default: manage_l3

ha_secondary_address = None

(String) IP address of secondary vDirect server.

service_adc_type = VA

(String) Service ADC type. Default: VA.

service_adc_version =

(String) Service ADC version.

service_cache = 20

(Integer) Size of service cache. Default: 20.

service_compression_throughput = 100

(Integer) Service compression throughput. Default: 100.

service_ha_pair = False

(Boolean) Enables or disables the Service HA pair. Default: False.

service_isl_vlan = -1

(Integer) A required VLAN for the interswitch link to use.

service_resource_pool_ids =

(List) Resource pool IDs.

service_session_mirroring_enabled = False

(Boolean) Enable or disable Alteon interswitch link for stateful session failover. Default: False.

service_ssl_throughput = 100

(Integer) Service SSL throughput. Default: 100.

service_throughput = 1000

(Integer) Service throughput. Default: 1000.

stats_action_name = stats

(String) Name of the workflow action for statistics. Default: stats.

vdirect_address = None

(String) IP address of vDirect server.

vdirect_password = radware

(String) vDirect user password.

vdirect_user = vDirect

(String) vDirect user name.

workflow_action_name = apply

(String) Name of the workflow action. Default: apply.

workflow_params = {'data_ip_address': '192.168.200.99', 'ha_network_name': 'HA-Network', 'ha_port': 2, 'allocate_ha_ips': True, 'ha_ip_pool_name': 'default', 'allocate_ha_vrrp': True, 'data_port': 1, 'gateway': '192.168.200.1', 'twoleg_enabled': 'REPLACE', 'data_ip_mask': '255.255.255.0'}

(Dict) Parameter for l2_l3 workflow constructor.

workflow_template_name = os_lb_v2

(String) Name of the workflow template. Default: os_lb_v2.

[radwarev2_debug]

 

configure_l3 = True

(Boolean) Configule ADC with L3 parameters?

configure_l4 = True

(Boolean) Configule ADC with L4 parameters?

provision_service = True

(Boolean) Provision ADC service?

Expand
Table 8.14. Description of metadata configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

metadata_backlog = 4096

(Integer) Number of backlog requests to configure the metadata server socket with

metadata_proxy_group =

(String) Group (gid or name) running metadata proxy after its initialization (if empty: agent effective group).

metadata_proxy_shared_secret =

(String) When proxying metadata requests, Neutron signs the Instance-ID header with a shared secret to prevent spoofing. You may select any string for a secret, but it must match here and in the configuration used by the Nova Metadata Server. NOTE: Nova uses the same config key, but in [neutron] section.

metadata_proxy_socket = $state_path/metadata_proxy

(String) Location of Metadata Proxy UNIX domain socket

metadata_proxy_socket_mode = deduce

(String) Metadata Proxy UNIX domain socket mode, 4 values allowed: 'deduce': deduce mode from metadata_proxy_user/group values, 'user': set metadata proxy socket mode to 0o644, to use when metadata_proxy_user is agent effective user or root, 'group': set metadata proxy socket mode to 0o664, to use when metadata_proxy_group is agent effective group or root, 'all': set metadata proxy socket mode to 0o666, to use otherwise.

metadata_proxy_user =

(String) User (uid or name) running metadata proxy after its initialization (if empty: agent effective user).

metadata_proxy_watch_log = None

(Boolean) Enable/Disable log watch by metadata proxy. It should be disabled when metadata_proxy_user/group is not allowed to read/write its log file and copytruncate logrotate option must be used if logrotate is enabled on metadata proxy log files. Option default value is deduced from metadata_proxy_user: watch log is enabled if metadata_proxy_user is agent effective user id/name.

metadata_workers = 0

(Integer) Number of separate worker processes for metadata server (defaults to half of the number of CPUs)

nova_metadata_insecure = False

(Boolean) Allow to perform insecure SSL (https) requests to nova metadata

nova_metadata_ip = 127.0.0.1

(String) IP address used by Nova metadata server.

nova_metadata_port = 8775

(Port number) TCP Port used by Nova metadata server.

nova_metadata_protocol = http

(String) Protocol to access nova metadata, http or https

Expand
Table 8.15. Description of ML2 Flat mechanism driver configuration options
Configuration option = Default valueDescription

[ml2_type_flat]

 

flat_networks = *

(List) List of physical_network names with which flat networks can be created. Use default '*' to allow flat networks with arbitrary physical_network names. Use an empty list to disable flat networks.

Expand
Table 8.16. Description of ML2 Geneve type driver configuration options
Configuration option = Default valueDescription

[ml2_type_geneve]

 

max_header_size = 30

(Integer) Geneve encapsulation header size is dynamic, this value is used to calculate the maximum MTU for the driver. This is the sum of the sizes of the outer ETH + IP + UDP + GENEVE header sizes. The default size for this field is 50, which is the size of the Geneve header without any additional option headers.

vni_ranges =

(List) Comma-separated list of <vni_min>:<vni_max> tuples enumerating ranges of Geneve VNI IDs that are available for tenant network allocation

Expand
Table 8.17. Description of ML2 GRE configuration options
Configuration option = Default valueDescription

[ml2_type_gre]

 

tunnel_id_ranges =

(List) Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of GRE tunnel IDs that are available for tenant network allocation

Expand
Table 8.18. Description of ML2 L2 population configuration options
Configuration option = Default valueDescription

[l2pop]

 

agent_boot_time = 180

(Integer) Delay within which agent is expected to update existing ports whent it restarts

Expand
Table 8.19. Description of ML2 configuration options
Configuration option = Default valueDescription

[ml2]

 

extension_drivers =

(List) An ordered list of extension driver entrypoints to be loaded from the neutron.ml2.extension_drivers namespace. For example: extension_drivers = port_security,qos

external_network_type = None

(String) Default network type for external networks when no provider attributes are specified. By default it is None, which means that if provider attributes are not specified while creating external networks then they will have the same type as tenant networks. Allowed values for external_network_type config option depend on the network type values configured in type_drivers config option.

mechanism_drivers =

(List) An ordered list of networking mechanism driver entrypoints to be loaded from the neutron.ml2.mechanism_drivers namespace.

overlay_ip_version = 4

(Integer) IP version of all overlay (tunnel) network endpoints. Use a value of 4 for IPv4 or 6 for IPv6.

path_mtu = 0

(Integer) Maximum size of an IP packet (MTU) that can traverse the underlying physical network infrastructure without fragmentation when using an overlay/tunnel protocol. This option allows specifying a physical network MTU value that differs from the default global_physnet_mtu value.

physical_network_mtus =

(List) A list of mappings of physical networks to MTU values. The format of the mapping is <physnet>:<mtu val>. This mapping allows specifying a physical network MTU value that differs from the default global_physnet_mtu value.

tenant_network_types = local

(List) Ordered list of network_types to allocate as tenant networks. The default value 'local' is useful for single-box testing but provides no connectivity between hosts.

type_drivers = local, flat, vlan, gre, vxlan, geneve

(List) List of network type driver entrypoints to be loaded from the neutron.ml2.type_drivers namespace.

Expand
Table 8.20. Description of ML2 ML2 SR-IOV driver configuration options
Configuration option = Default valueDescription

[ml2_sriov]

 

supported_pci_vendor_devs = None

(List) DEPRECATED: Comma-separated list of supported PCI vendor devices, as defined by vendor_id:product_id according to the PCI ID Repository. Default None accept all PCI vendor devicesDEPRECATED: This option is deprecated in the Newton release and will be removed in the Ocata release. Starting from Ocata the mechanism driver will accept all PCI vendor devices.

Expand
Table 8.21. Description of ML2 VLAN configuration options
Configuration option = Default valueDescription

[ml2_type_vlan]

 

network_vlan_ranges =

(List) List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> specifying physical_network names usable for VLAN provider and tenant networks, as well as ranges of VLAN tags on each available for allocation to tenant networks.

Expand
Table 8.22. Description of ML2 VXLN configuration options
Configuration option = Default valueDescription

[ml2_type_vxlan]

 

vni_ranges =

(List) Comma-separated list of <vni_min>:<vni_max> tuples enumerating ranges of VXLAN VNI IDs that are available for tenant network allocation

vxlan_group = None

(String) Multicast group for VXLAN. When configured, will enable sending all broadcast traffic to this multicast group. When left unconfigured, will disable multicast VXLAN mode.

Expand
Table 8.23. Description of nova configuration options
Configuration option = Default valueDescription

[nova]

 

auth_section = None

(Unknown) Config Section from which to load plugin specific options

auth_type = None

(Unknown) Authentication type to load

cafile = None

(String) PEM encoded Certificate Authority to use when verifying HTTPs connections.

certfile = None

(String) PEM encoded client certificate cert file

endpoint_type = public

(String) Type of the nova endpoint to use. This endpoint will be looked up in the keystone catalog and should be one of public, internal or admin.

insecure = False

(Boolean) Verify HTTPS connections.

keyfile = None

(String) PEM encoded client certificate key file

region_name = None

(String) Name of nova region to use. Useful if keystone manages more than one region.

timeout = None

(Integer) Timeout value for http requests

Expand
Table 8.24. Description of Open vSwitch agent configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

ovs_integration_bridge = br-int

(String) Name of Open vSwitch bridge to use

ovs_use_veth = False

(Boolean) Uses veth for an OVS interface or not. Support kernels with limited namespace support (e.g. RHEL 6.5) so long as ovs_use_veth is set to True.

ovs_vsctl_timeout = 10

(Integer) Timeout in seconds for ovs-vsctl commands. If the timeout expires, ovs commands will fail with ALARMCLOCK error.

[AGENT]

 

arp_responder = False

(Boolean) Enable local ARP responder if it is supported. Requires OVS 2.1 and ML2 l2population driver. Allows the switch (when supporting an overlay) to respond to an ARP request locally without performing a costly ARP broadcast into the overlay.

dont_fragment = True

(Boolean) Set or un-set the don’t fragment (DF) bit on outgoing IP packet carrying GRE/VXLAN tunnel.

drop_flows_on_start = False

(Boolean) Reset flow table on start. Setting this to True will cause brief traffic interruption.

enable_distributed_routing = False

(Boolean) Make the l2 agent run in DVR mode.

l2_population = False

(Boolean) Use ML2 l2population mechanism driver to learn remote MAC and IPs and improve tunnel scalability.

minimize_polling = True

(Boolean) Minimize polling by monitoring ovsdb for interface changes.

ovsdb_monitor_respawn_interval = 30

(Integer) The number of seconds to wait before respawning the ovsdb monitor after losing communication with it.

prevent_arp_spoofing = True

(Boolean) DEPRECATED: Enable suppression of ARP responses that don’t match an IP address that belongs to the port from which they originate. Note: This prevents the VMs attached to this agent from spoofing, it doesn’t protect them from other devices which have the capability to spoof (e.g. bare metal or VMs attached to agents without this flag set to True). Spoofing rules will not be added to any ports that have port security disabled. For LinuxBridge, this requires ebtables. For OVS, it requires a version that supports matching ARP headers. This option will be removed in Ocata so the only way to disable protection will be via the port security extension.

quitting_rpc_timeout = 10

(Integer) Set new timeout in seconds for new rpc calls after agent receives SIGTERM. If value is set to 0, rpc timeout won’t be changed

tunnel_csum = False

(Boolean) Set or un-set the tunnel header checksum on outgoing IP packet carrying GRE/VXLAN tunnel.

tunnel_types =

(List) Network types supported by the agent (gre and/or vxlan).

veth_mtu = 9000

(Integer) MTU size of veth interfaces

vxlan_udp_port = 4789

(Port number) The UDP port to use for VXLAN tunnels.

[OVS]

 

bridge_mappings =

(List) Comma-separated list of <physical_network>:<bridge> tuples mapping physical network names to the agent’s node-specific Open vSwitch bridge names to be used for flat and VLAN networks. The length of bridge names should be no more than 11. Each bridge must exist, and should have a physical network interface configured as a port. All physical networks configured on the server should have mappings to appropriate bridges on each agent. Note: If you remove a bridge from this mapping, make sure to disconnect it from the integration bridge as it won’t be managed by the agent anymore.

datapath_type = system

(String) OVS datapath to use. 'system' is the default value and corresponds to the kernel datapath. To enable the userspace datapath set this value to 'netdev'.

int_peer_patch_port = patch-tun

(String) Peer patch port in integration bridge for tunnel bridge.

integration_bridge = br-int

(String) Integration bridge to use. Do not change this parameter unless you have a good reason to. This is the name of the OVS integration bridge. There is one per hypervisor. The integration bridge acts as a virtual 'patch bay'. All VM VIFs are attached to this bridge and then 'patched' according to their network connectivity.

local_ip = None

(IP) IP address of local overlay (tunnel) network endpoint. Use either an IPv4 or IPv6 address that resides on one of the host network interfaces. The IP version of this value must match the value of the 'overlay_ip_version' option in the ML2 plug-in configuration file on the neutron server node(s).

of_connect_timeout = 30

(Integer) Timeout in seconds to wait for the local switch connecting the controller. Used only for 'native' driver.

of_interface = native

(String) OpenFlow interface to use.

of_listen_address = 127.0.0.1

(IP) Address to listen on for OpenFlow connections. Used only for 'native' driver.

of_listen_port = 6633

(Port number) Port to listen on for OpenFlow connections. Used only for 'native' driver.

of_request_timeout = 10

(Integer) Timeout in seconds to wait for a single OpenFlow request. Used only for 'native' driver.

ovsdb_connection = tcp:127.0.0.1:6640

(String) The connection string for the native OVSDB backend. Requires the native ovsdb_interface to be enabled.

ovsdb_interface = native

(String) The interface for interacting with the OVSDB

tun_peer_patch_port = patch-int

(String) Peer patch port in tunnel bridge for integration bridge.

tunnel_bridge = br-tun

(String) Tunnel bridge to use.

use_veth_interconnection = False

(Boolean) Use veths instead of patch ports to interconnect the integration bridge to physical networks. Support kernel without Open vSwitch patch port support so long as it is set to True.

vhostuser_socket_dir = /var/run/openvswitch

(String) OVS vhost-user socket directory.

Expand
Table 8.25. Description of policy configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

allow_overlapping_ips = False

(Boolean) Allow overlapping IP support in Neutron. Attention: the following parameter MUST be set to False if Neutron is being used in conjunction with Nova security groups.

Expand
Table 8.26. Description of QoS configuration options
Configuration option = Default valueDescription

[QOS]

 

kernel_hz = 250

(Integer) Value of host kernel tick rate (hz) for calculating minimum burst value in bandwidth limit rules for a port with QoS. See kernel configuration file for HZ value and tc-tbf manual for more information.

tbf_latency = 50

(Integer) Value of latency (ms) for calculating size of queue for a port with QoS. See tc-tbf manual for more information.

Expand
Table 8.27. Description of quotas configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

max_routes = 30

(Integer) Maximum number of routes per router

[QUOTAS]

 

default_quota = -1

(Integer) Default number of resource allowed per tenant. A negative value means unlimited.

quota_driver = neutron.db.quota.driver.DbQuotaDriver

(String) Default driver to use for quota checks.

quota_firewall = 10

(Integer) Number of firewalls allowed per tenant. A negative value means unlimited.

quota_firewall_policy = 10

(Integer) Number of firewall policies allowed per tenant. A negative value means unlimited.

quota_firewall_rule = 100

(Integer) Number of firewall rules allowed per tenant. A negative value means unlimited.

quota_floatingip = 50

(Integer) Number of floating IPs allowed per tenant. A negative value means unlimited.

quota_healthmonitor = -1

(Integer) Number of health monitors allowed per tenant. A negative value means unlimited.

quota_listener = -1

(Integer) Number of Loadbalancer Listeners allowed per tenant. A negative value means unlimited.

quota_loadbalancer = 10

(Integer) Number of LoadBalancers allowed per tenant. A negative value means unlimited.

quota_member = -1

(Integer) Number of pool members allowed per tenant. A negative value means unlimited.

quota_network = 10

(Integer) Number of networks allowed per tenant. A negative value means unlimited.

quota_pool = 10

(Integer) Number of pools allowed per tenant. A negative value means unlimited.

quota_port = 50

(Integer) Number of ports allowed per tenant. A negative value means unlimited.

quota_rbac_policy = 10

(Integer) Default number of RBAC entries allowed per tenant. A negative value means unlimited.

quota_router = 10

(Integer) Number of routers allowed per tenant. A negative value means unlimited.

quota_security_group = 10

(Integer) Number of security groups allowed per tenant. A negative value means unlimited.

quota_security_group_rule = 100

(Integer) Number of security rules allowed per tenant. A negative value means unlimited.

quota_subnet = 10

(Integer) Number of subnets allowed per tenant, A negative value means unlimited.

track_quota_usage = True

(Boolean) Keep in track in the database of current resource quota usage. Plugins which do not leverage the neutron database should set this flag to False.

Expand
Table 8.28. Description of Redis configuration options
Configuration option = Default valueDescription

[matchmaker_redis]

 

check_timeout = 20000

(Integer) Time in ms to wait before the transaction is killed.

host = 127.0.0.1

(String) DEPRECATED: Host to locate redis. Replaced by [DEFAULT]/transport_url

password =

(String) DEPRECATED: Password for Redis server (optional). Replaced by [DEFAULT]/transport_url

port = 6379

(Port number) DEPRECATED: Use this port to connect to redis host. Replaced by [DEFAULT]/transport_url

sentinel_group_name = oslo-messaging-zeromq

(String) Redis replica set name.

sentinel_hosts =

(List) DEPRECATED: List of Redis Sentinel hosts (fault tolerance mode) e.g. [host:port, host1:port …​ ] Replaced by [DEFAULT]/transport_url

socket_timeout = 10000

(Integer) Timeout in ms on blocking socket operations

wait_timeout = 2000

(Integer) Time in ms to wait between connection attempts.

Expand
Table 8.29. Description of scheduler configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

network_auto_schedule = True

(Boolean) Allow auto scheduling networks to DHCP agent.

network_scheduler_driver = neutron.scheduler.dhcp_agent_scheduler.WeightScheduler

(String) Driver to use for scheduling network to DHCP agent

router_auto_schedule = True

(Boolean) Allow auto scheduling of routers to L3 agent.

router_scheduler_driver = neutron.scheduler.l3_agent_scheduler.LeastRoutersScheduler

(String) Driver to use for scheduling router to a default L3 agent

Expand
Table 8.30. Description of security groups configuration options
Configuration option = Default valueDescription

[SECURITYGROUP]

 

enable_ipset = True

(Boolean) Use ipset to speed-up the iptables based security groups. Enabling ipset support requires that ipset is installed on L2 agent node.

enable_security_group = True

(Boolean) Controls whether the neutron security group API is enabled in the server. It should be false when using no security groups or using the nova security group API.

firewall_driver = None

(String) Driver for security groups firewall in the L2 agent

Expand
Table 8.31. Description of LBaaS service authentication configuration options
Configuration option = Default valueDescription

[service_auth]

 

admin_password = password

(String) The service admin password

admin_project_domain = admin

(String) The admin project domain name

admin_tenant_name = admin

(String) The service admin tenant name

admin_user = admin

(String) The service admin user name

admin_user_domain = admin

(String) The admin user domain name

auth_url = http://127.0.0.1:5000/v2.0

(String) Authentication endpoint

auth_version = 2

(String) The auth version used to authenticate

endpoint_type = public

(String) The endpoint_type to be used

insecure = False

(Boolean) Disable server certificate verification

region = RegionOne

(String) The deployment region

service_name = lbaas

(String) The name of the service

Expand
Table 8.32. Description of SR-IOV agent configuration options
Configuration option = Default valueDescription

[SRIOV_NIC]

 

exclude_devices =

(List) Comma-separated list of <network_device>:<vfs_to_exclude> tuples, mapping network_device to the agent’s node-specific list of virtual functions that should not be used for virtual networking. vfs_to_exclude is a semicolon-separated list of virtual functions to exclude from network_device. The network_device in the mapping should appear in the physical_device_mappings list.

physical_device_mappings =

(List) Comma-separated list of <physical_network>:<network_device> tuples mapping physical network names to the agent’s node-specific physical network device interfaces of SR-IOV physical function to be used for VLAN networks. All physical networks listed in network_vlan_ranges on the server should have mappings to appropriate interfaces on each agent.

Expand
Table 8.33. New options
Option = default value(Type) Help string

[DEFAULT] allow_automatic_lbaas_agent_failover = False

(BoolOpt) Automatically reschedule loadbalancer from offline to online lbaas agents. This is only supported for drivers who use the neutron LBaaSv2 agent

[DEFAULT] device_driver = ['neutron_lbaas.drivers.haproxy.namespace_driver.HaproxyNSDriver']

(MultiStrOpt) Drivers used to manage loadbalancing devices

[DEFAULT] ha_vrrp_health_check_interval = 0

(IntOpt) The VRRP health check interval in seconds. Values > 0 enable VRRP health checks. Setting it to 0 disables VRRP health checks. Recommended value is 5. This will cause pings to be sent to the gateway IP address(es) - requires ICMP_ECHO_REQUEST to be enabled on the gateway. If gateway fails, all routers will be reported as master, and master election will be repeated in round-robin fashion, until one of the router restore the gateway connection.

[DEFAULT] loadbalancer_scheduler_driver = neutron_lbaas.agent_scheduler.ChanceScheduler

(StrOpt) Driver to use for scheduling to a default loadbalancer agent

[designate] auth_section = None

(Opt) Config Section from which to load plugin specific options

[designate] auth_type = None

(Opt) Authentication type to load

[designate] cafile = None

(StrOpt) PEM encoded Certificate Authority to use when verifying HTTPs connections.

[designate] certfile = None

(StrOpt) PEM encoded client certificate cert file

[designate] keyfile = None

(StrOpt) PEM encoded client certificate key file

[designate] timeout = None

(IntOpt) Timeout value for http requests

[haproxy] jinja_config_template = /usr/lib/python/site-packages/neutron-lbaas/neutron_lbaas/drivers/haproxy/templates/haproxy.loadbalancer.j2

(StrOpt) Jinja template file for haproxy configuration

[haproxy] loadbalancer_state_path = $state_path/lbaas

(StrOpt) Location to store config and state files

[haproxy] send_gratuitous_arp = 3

(IntOpt) When delete and re-add the same vip, send this many gratuitous ARPs to flush the ARP cache in the Router. Set it below or equal to 0 to disable this feature.

[haproxy] user_group = nogroup

(StrOpt) The user group

[placement] auth_section = None

(Opt) Config Section from which to load plugin specific options

[placement] auth_type = None

(Opt) Authentication type to load

[placement] endpoint_type = public

(StrOpt) Type of the placement endpoint to use. This endpoint will be looked up in the keystone catalog and should be one of public, internal or admin.

[placement] region_name = None

(StrOpt) Name of placement region to use. Useful if keystone manages more than one region.

[radwarev2] child_workflow_template_names = manage_l3

(ListOpt) Name of child workflow templates used.Default: manage_l3

[radwarev2] ha_secondary_address = None

(StrOpt) IP address of secondary vDirect server.

[radwarev2] service_adc_type = VA

(StrOpt) Service ADC type. Default: VA.

[radwarev2] service_adc_version =

(StrOpt) Service ADC version.

[radwarev2] service_cache = 20

(IntOpt) Size of service cache. Default: 20.

[radwarev2] service_compression_throughput = 100

(IntOpt) Service compression throughput. Default: 100.

[radwarev2] service_ha_pair = False

(BoolOpt) Enables or disables the Service HA pair. Default: False.

[radwarev2] service_isl_vlan = -1

(IntOpt) A required VLAN for the interswitch link to use.

[radwarev2] service_resource_pool_ids =

(ListOpt) Resource pool IDs.

[radwarev2] service_session_mirroring_enabled = False

(BoolOpt) Enable or disable Alteon interswitch link for stateful session failover. Default: False.

[radwarev2] service_ssl_throughput = 100

(IntOpt) Service SSL throughput. Default: 100.

[radwarev2] service_throughput = 1000

(IntOpt) Service throughput. Default: 1000.

[radwarev2] stats_action_name = stats

(StrOpt) Name of the workflow action for statistics. Default: stats.

[radwarev2] vdirect_address = None

(StrOpt) IP address of vDirect server.

[radwarev2] vdirect_password = radware

(StrOpt) vDirect user password.

[radwarev2] vdirect_user = vDirect

(StrOpt) vDirect user name.

[radwarev2] workflow_action_name = apply

(StrOpt) Name of the workflow action. Default: apply.

[radwarev2] workflow_params = {'data_ip_address': '192.168.200.99', 'ha_network_name': 'HA-Network', 'ha_port': 2, 'allocate_ha_ips': True, 'ha_ip_pool_name': 'default', 'allocate_ha_vrrp': True, 'data_port': 1, 'gateway': '192.168.200.1', 'twoleg_enabled': 'REPLACE', 'data_ip_mask': '255.255.255.0'}

(DictOpt) Parameter for l2_l3 workflow constructor.

[radwarev2] workflow_template_name = os_lb_v2

(StrOpt) Name of the workflow template. Default: os_lb_v2.

[radwarev2_debug] configure_l3 = True

(BoolOpt) Configule ADC with L3 parameters?

[radwarev2_debug] configure_l4 = True

(BoolOpt) Configule ADC with L4 parameters?

[radwarev2_debug] provision_service = True

(BoolOpt) Provision ADC service?

Expand
Table 8.34. New default values
OptionPrevious default valueNew default value

[DEFAULT] ha_keepalived_state_change_server_threads

1

(1 + <num_of_cpus>) / 2

Expand
Table 8.35. Deprecated options
Deprecated optionNew Option

[DEFAULT] rpc_thread_pool_size

[DEFAULT] executor_thread_pool_size

[DEFAULT] use_syslog

None

Chapter 9. Orchestration

The Orchestration service is designed to manage the lifecycle of infrastructure and applications within OpenStack clouds. Its various agents and services are configured in the /etc/heat/heat.conf file.

9.1. Orchestration Configuration Options

Note

The common configurations for shared services and libraries, such as database connections and RPC messaging, are described at Common configurations.

9.1.1. Description of Configuration Options

The following tables provide a comprehensive list of the Orchestration configuration options.

Expand
Table 9.1. Description of API configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

action_retry_limit = 5

(Integer) Number of times to retry to bring a resource to a non-error state. Set to 0 to disable retries.

enable_stack_abandon = False

(Boolean) Enable the preview Stack Abandon feature.

enable_stack_adopt = False

(Boolean) Enable the preview Stack Adopt feature.

encrypt_parameters_and_properties = False

(Boolean) Encrypt template parameters that were marked as hidden and also all the resource properties before storing them in database.

heat_metadata_server_url = None

(String) URL of the Heat metadata server. NOTE: Setting this is only needed if you require instances to use a different endpoint than in the keystone catalog

heat_stack_user_role = heat_stack_user

(String) Keystone role for heat template-defined users.

heat_waitcondition_server_url = None

(String) URL of the Heat waitcondition server.

heat_watch_server_url =

(String) URL of the Heat CloudWatch server.

hidden_stack_tags = data-processing-cluster

(List) Stacks containing these tag names will be hidden. Multiple tags should be given in a comma-delimited list (eg. hidden_stack_tags=hide_me,me_too).

max_json_body_size = 1048576

(Integer) Maximum raw byte size of JSON request body. Should be larger than max_template_size.

num_engine_workers = None

(Integer) Number of heat-engine processes to fork and run. Will default to either to 4 or number of CPUs on the host, whichever is greater.

observe_on_update = False

(Boolean) On update, enables heat to collect existing resource properties from reality and converge to updated template.

stack_action_timeout = 3600

(Integer) Timeout in seconds for stack action (ie. create or update).

stack_domain_admin = None

(String) Keystone username, a user with roles sufficient to manage users and projects in the stack_user_domain.

stack_domain_admin_password = None

(String) Keystone password for stack_domain_admin user.

stack_scheduler_hints = False

(Boolean) When this feature is enabled, scheduler hints identifying the heat stack context of a server or volume resource are passed to the configured schedulers in nova and cinder, for creates done using heat resource types OS::Cinder::Volume, OS::Nova::Server, and AWS::EC2::Instance. heat_root_stack_id will be set to the id of the root stack of the resource, heat_stack_id will be set to the id of the resource’s parent stack, heat_stack_name will be set to the name of the resource’s parent stack, heat_path_in_stack will be set to a list of comma delimited strings of stackresourcename and stackname with list[0] being 'rootstackname', heat_resource_name will be set to the resource’s name, and heat_resource_uuid will be set to the resource’s orchestration id.

stack_user_domain_id = None

(String) Keystone domain ID which contains heat template-defined users. If this option is set, stack_user_domain_name option will be ignored.

stack_user_domain_name = None

(String) Keystone domain name which contains heat template-defined users. If stack_user_domain_id option is set, this option is ignored.

stale_token_duration = 30

(Integer) Gap, in seconds, to determine whether the given token is about to expire.

trusts_delegated_roles =

(List) Subset of trustor roles to be delegated to heat. If left unset, all roles of a user will be delegated to heat when creating a stack.

[auth_password]

 

allowed_auth_uris =

(List) Allowed keystone endpoints for auth_uri when multi_cloud is enabled. At least one endpoint needs to be specified.

multi_cloud = False

(Boolean) Allow orchestration of multiple clouds.

[ec2authtoken]

 

allowed_auth_uris =

(List) Allowed keystone endpoints for auth_uri when multi_cloud is enabled. At least one endpoint needs to be specified.

auth_uri = None

(String) Authentication Endpoint URI.

ca_file = None

(String) Optional CA cert file to use in SSL connections.

cert_file = None

(String) Optional PEM-formatted certificate chain file.

insecure = False

(Boolean) If set, then the server’s certificate will not be verified.

key_file = None

(String) Optional PEM-formatted file that contains the private key.

multi_cloud = False

(Boolean) Allow orchestration of multiple clouds.

[eventlet_opts]

 

client_socket_timeout = 900

(Integer) Timeout for client connections' socket operations. If an incoming connection is idle for this number of seconds it will be closed. A value of '0' means wait forever.

wsgi_keep_alive = True

(Boolean) If False, closes the client socket connection explicitly.

[heat_api]

 

backlog = 4096

(Integer) Number of backlog requests to configure the socket with.

bind_host = 0.0.0.0

(IP) Address to bind the server. Useful when selecting a particular network interface.

bind_port = 8004

(Port number) The port on which the server will listen.

cert_file = None

(String) Location of the SSL certificate file to use for SSL mode.

key_file = None

(String) Location of the SSL key file to use for enabling SSL mode.

max_header_line = 16384

(Integer) Maximum line size of message headers to be accepted. max_header_line may need to be increased when using large tokens (typically those generated by the Keystone v3 API with big service catalogs).

tcp_keepidle = 600

(Integer) The value for the socket option TCP_KEEPIDLE. This is the time in seconds that the connection must be idle before TCP starts sending keepalive probes.

workers = 0

(Integer) Number of workers for Heat service. Default value 0 means, that service will start number of workers equal number of cores on server.

[oslo_middleware]

 

enable_proxy_headers_parsing = False

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

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 a SSL termination proxy.

[oslo_versionedobjects]

 

fatal_exception_format_errors = False

(Boolean) Make exception message format errors fatal

[paste_deploy]

 

api_paste_config = api-paste.ini

(String) The API paste config file to use.

flavor = None

(String) The flavor to use.

Expand
Table 9.2. Description of Cloudformation-compatible API configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

instance_connection_https_validate_certificates = 1

(String) Instance connection to CFN/CW API validate certs if SSL is used.

instance_connection_is_secure = 0

(String) Instance connection to CFN/CW API via https.

[heat_api_cfn]

 

backlog = 4096

(Integer) Number of backlog requests to configure the socket with.

bind_host = 0.0.0.0

(IP) Address to bind the server. Useful when selecting a particular network interface.

bind_port = 8000

(Port number) The port on which the server will listen.

cert_file = None

(String) Location of the SSL certificate file to use for SSL mode.

key_file = None

(String) Location of the SSL key file to use for enabling SSL mode.

max_header_line = 16384

(Integer) Maximum line size of message headers to be accepted. max_header_line may need to be increased when using large tokens (typically those generated by the Keystone v3 API with big service catalogs).

tcp_keepidle = 600

(Integer) The value for the socket option TCP_KEEPIDLE. This is the time in seconds that the connection must be idle before TCP starts sending keepalive probes.

workers = 1

(Integer) Number of workers for Heat service.

Expand
Table 9.3. Description of aodh clients configuration options
Configuration option = Default valueDescription

[clients_aodh]

 

ca_file = None

(String) Optional CA cert file to use in SSL connections.

cert_file = None

(String) Optional PEM-formatted certificate chain file.

endpoint_type = None

(String) Type of endpoint in Identity service catalog to use for communication with the OpenStack service.

insecure = None

(Boolean) If set, then the server’s certificate will not be verified.

key_file = None

(String) Optional PEM-formatted file that contains the private key.

Expand
Table 9.4. Description of client backends configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

cloud_backend = heat.engine.clients.OpenStackClients

(String) Fully qualified class name to use as a client backend.

Expand
Table 9.5. Description of barbican clients configuration options
Configuration option = Default valueDescription

[clients_barbican]

 

ca_file = None

(String) Optional CA cert file to use in SSL connections.

cert_file = None

(String) Optional PEM-formatted certificate chain file.

endpoint_type = None

(String) Type of endpoint in Identity service catalog to use for communication with the OpenStack service.

insecure = None

(Boolean) If set, then the server’s certificate will not be verified.

key_file = None

(String) Optional PEM-formatted file that contains the private key.

Expand
Table 9.6. Description of ceilometer clients configuration options
Configuration option = Default valueDescription

[clients_ceilometer]

 

ca_file = None

(String) Optional CA cert file to use in SSL connections.

cert_file = None

(String) Optional PEM-formatted certificate chain file.

endpoint_type = None

(String) Type of endpoint in Identity service catalog to use for communication with the OpenStack service.

insecure = None

(Boolean) If set, then the server’s certificate will not be verified.

key_file = None

(String) Optional PEM-formatted file that contains the private key.

Expand
Table 9.7. Description of cinder clients configuration options
Configuration option = Default valueDescription

[clients_cinder]

 

ca_file = None

(String) Optional CA cert file to use in SSL connections.

cert_file = None

(String) Optional PEM-formatted certificate chain file.

endpoint_type = None

(String) Type of endpoint in Identity service catalog to use for communication with the OpenStack service.

http_log_debug = False

(Boolean) Allow client’s debug log output.

insecure = None

(Boolean) If set, then the server’s certificate will not be verified.

key_file = None

(String) Optional PEM-formatted file that contains the private key.

Expand
Table 9.8. Description of designate clients configuration options
Configuration option = Default valueDescription

[clients_designate]

 

ca_file = None

(String) Optional CA cert file to use in SSL connections.

cert_file = None

(String) Optional PEM-formatted certificate chain file.

endpoint_type = None

(String) Type of endpoint in Identity service catalog to use for communication with the OpenStack service.

insecure = None

(Boolean) If set, then the server’s certificate will not be verified.

key_file = None

(String) Optional PEM-formatted file that contains the private key.

Expand
Table 9.9. Description of glance clients configuration options
Configuration option = Default valueDescription

[clients_glance]

 

ca_file = None

(String) Optional CA cert file to use in SSL connections.

cert_file = None

(String) Optional PEM-formatted certificate chain file.

endpoint_type = None

(String) Type of endpoint in Identity service catalog to use for communication with the OpenStack service.

insecure = None

(Boolean) If set, then the server’s certificate will not be verified.

key_file = None

(String) Optional PEM-formatted file that contains the private key.

Expand
Table 9.10. Description of heat clients configuration options
Configuration option = Default valueDescription

[clients_heat]

 

ca_file = None

(String) Optional CA cert file to use in SSL connections.

cert_file = None

(String) Optional PEM-formatted certificate chain file.

endpoint_type = None

(String) Type of endpoint in Identity service catalog to use for communication with the OpenStack service.

insecure = None

(Boolean) If set, then the server’s certificate will not be verified.

key_file = None

(String) Optional PEM-formatted file that contains the private key.

url =

(String) Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s.

Expand
Table 9.11. Description of keystone clients configuration options
Configuration option = Default valueDescription

[clients_keystone]

 

auth_uri =

(String) Unversioned keystone url in format like http://0.0.0.0:5000.

ca_file = None

(String) Optional CA cert file to use in SSL connections.

cert_file = None

(String) Optional PEM-formatted certificate chain file.

endpoint_type = None

(String) Type of endpoint in Identity service catalog to use for communication with the OpenStack service.

insecure = None

(Boolean) If set, then the server’s certificate will not be verified.

key_file = None

(String) Optional PEM-formatted file that contains the private key.

Expand
Table 9.12. Description of magnum clients configuration options
Configuration option = Default valueDescription

[clients_magnum]

 

ca_file = None

(String) Optional CA cert file to use in SSL connections.

cert_file = None

(String) Optional PEM-formatted certificate chain file.

endpoint_type = None

(String) Type of endpoint in Identity service catalog to use for communication with the OpenStack service.

insecure = None

(Boolean) If set, then the server’s certificate will not be verified.

key_file = None

(String) Optional PEM-formatted file that contains the private key.

Expand
Table 9.13. Description of manila clients configuration options
Configuration option = Default valueDescription

[clients_manila]

 

ca_file = None

(String) Optional CA cert file to use in SSL connections.

cert_file = None

(String) Optional PEM-formatted certificate chain file.

endpoint_type = None

(String) Type of endpoint in Identity service catalog to use for communication with the OpenStack service.

insecure = None

(Boolean) If set, then the server’s certificate will not be verified.

key_file = None

(String) Optional PEM-formatted file that contains the private key.

Expand
Table 9.14. Description of mistral clients configuration options
Configuration option = Default valueDescription

[clients_mistral]

 

ca_file = None

(String) Optional CA cert file to use in SSL connections.

cert_file = None

(String) Optional PEM-formatted certificate chain file.

endpoint_type = None

(String) Type of endpoint in Identity service catalog to use for communication with the OpenStack service.

insecure = None

(Boolean) If set, then the server’s certificate will not be verified.

key_file = None

(String) Optional PEM-formatted file that contains the private key.

Expand
Table 9.15. Description of monasca clients configuration options
Configuration option = Default valueDescription

[clients_monasca]

 

ca_file = None

(String) Optional CA cert file to use in SSL connections.

cert_file = None

(String) Optional PEM-formatted certificate chain file.

endpoint_type = None

(String) Type of endpoint in Identity service catalog to use for communication with the OpenStack service.

insecure = None

(Boolean) If set, then the server’s certificate will not be verified.

key_file = None

(String) Optional PEM-formatted file that contains the private key.

Expand
Table 9.16. Description of neutron clients configuration options
Configuration option = Default valueDescription

[clients_neutron]

 

ca_file = None

(String) Optional CA cert file to use in SSL connections.

cert_file = None

(String) Optional PEM-formatted certificate chain file.

endpoint_type = None

(String) Type of endpoint in Identity service catalog to use for communication with the OpenStack service.

insecure = None

(Boolean) If set, then the server’s certificate will not be verified.

key_file = None

(String) Optional PEM-formatted file that contains the private key.

Expand
Table 9.17. Description of nova clients configuration options
Configuration option = Default valueDescription

[clients_nova]

 

ca_file = None

(String) Optional CA cert file to use in SSL connections.

cert_file = None

(String) Optional PEM-formatted certificate chain file.

endpoint_type = None

(String) Type of endpoint in Identity service catalog to use for communication with the OpenStack service.

http_log_debug = False

(Boolean) Allow client’s debug log output.

insecure = None

(Boolean) If set, then the server’s certificate will not be verified.

key_file = None

(String) Optional PEM-formatted file that contains the private key.

Expand
Table 9.18. Description of clients configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

region_name_for_services = None

(String) Default region name used to get services endpoints.

[clients]

 

ca_file = None

(String) Optional CA cert file to use in SSL connections.

cert_file = None

(String) Optional PEM-formatted certificate chain file.

endpoint_type = publicURL

(String) Type of endpoint in Identity service catalog to use for communication with the OpenStack service.

insecure = False

(Boolean) If set, then the server’s certificate will not be verified.

key_file = None

(String) Optional PEM-formatted file that contains the private key.

Expand
Table 9.19. Description of sahara clients configuration options
Configuration option = Default valueDescription

[clients_sahara]

 

ca_file = None

(String) Optional CA cert file to use in SSL connections.

cert_file = None

(String) Optional PEM-formatted certificate chain file.

endpoint_type = None

(String) Type of endpoint in Identity service catalog to use for communication with the OpenStack service.

insecure = None

(Boolean) If set, then the server’s certificate will not be verified.

key_file = None

(String) Optional PEM-formatted file that contains the private key.

Expand
Table 9.20. Description of senlin clients configuration options
Configuration option = Default valueDescription

[clients_senlin]

 

ca_file = None

(String) Optional CA cert file to use in SSL connections.

cert_file = None

(String) Optional PEM-formatted certificate chain file.

endpoint_type = None

(String) Type of endpoint in Identity service catalog to use for communication with the OpenStack service.

insecure = None

(Boolean) If set, then the server’s certificate will not be verified.

key_file = None

(String) Optional PEM-formatted file that contains the private key.

Expand
Table 9.21. Description of swift clients configuration options
Configuration option = Default valueDescription

[clients_swift]

 

ca_file = None

(String) Optional CA cert file to use in SSL connections.

cert_file = None

(String) Optional PEM-formatted certificate chain file.

endpoint_type = None

(String) Type of endpoint in Identity service catalog to use for communication with the OpenStack service.

insecure = None

(Boolean) If set, then the server’s certificate will not be verified.

key_file = None

(String) Optional PEM-formatted file that contains the private key.

Expand
Table 9.22. Description of trove clients configuration options
Configuration option = Default valueDescription

[clients_trove]

 

ca_file = None

(String) Optional CA cert file to use in SSL connections.

cert_file = None

(String) Optional PEM-formatted certificate chain file.

endpoint_type = None

(String) Type of endpoint in Identity service catalog to use for communication with the OpenStack service.

insecure = None

(Boolean) If set, then the server’s certificate will not be verified.

key_file = None

(String) Optional PEM-formatted file that contains the private key.

Expand
Table 9.23. Description of zaqar clients configuration options
Configuration option = Default valueDescription

[clients_zaqar]

 

ca_file = None

(String) Optional CA cert file to use in SSL connections.

cert_file = None

(String) Optional PEM-formatted certificate chain file.

endpoint_type = None

(String) Type of endpoint in Identity service catalog to use for communication with the OpenStack service.

insecure = None

(Boolean) If set, then the server’s certificate will not be verified.

key_file = None

(String) Optional PEM-formatted file that contains the private key.

Expand
Table 9.24. Description of CloudWatch API configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

enable_cloud_watch_lite = False

(Boolean) Enable the legacy OS::Heat::CWLiteAlarm resource.

heat_watch_server_url =

(String) URL of the Heat CloudWatch server.

[heat_api_cloudwatch]

 

backlog = 4096

(Integer) Number of backlog requests to configure the socket with.

bind_host = 0.0.0.0

(IP) Address to bind the server. Useful when selecting a particular network interface.

bind_port = 8003

(Port number) The port on which the server will listen.

cert_file = None

(String) Location of the SSL certificate file to use for SSL mode.

key_file = None

(String) Location of the SSL key file to use for enabling SSL mode.

max_header_line = 16384

(Integer) Maximum line size of message headers to be accepted. max_header_line may need to be increased when using large tokens (typically those generated by the Keystone v3 API with big service catalogs.)

tcp_keepidle = 600

(Integer) The value for the socket option TCP_KEEPIDLE. This is the time in seconds that the connection must be idle before TCP starts sending keepalive probes.

workers = 1

(Integer) Number of workers for Heat service.

Expand
Table 9.25. Description of common configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

client_retry_limit = 2

(Integer) Number of times to retry when a client encounters an expected intermittent error. Set to 0 to disable retries.

convergence_engine = True

(Boolean) Enables engine with convergence architecture. All stacks with this option will be created using convergence engine.

default_deployment_signal_transport = CFN_SIGNAL

(String) Template default for how the server should signal to heat with the deployment output values. CFN_SIGNAL will allow an HTTP POST to a CFN keypair signed URL (requires enabled heat-api-cfn). TEMP_URL_SIGNAL will create a Swift TempURL to be signaled via HTTP PUT (requires object-store endpoint which supports TempURL). HEAT_SIGNAL will allow calls to the Heat API resource-signal using the provided keystone credentials. ZAQAR_SIGNAL will create a dedicated zaqar queue to be signaled using the provided keystone credentials.

default_software_config_transport = POLL_SERVER_CFN

(String) Template default for how the server should receive the metadata required for software configuration. POLL_SERVER_CFN will allow calls to the cfn API action DescribeStackResource authenticated with the provided keypair (requires enabled heat-api-cfn). POLL_SERVER_HEAT will allow calls to the Heat API resource-show using the provided keystone credentials (requires keystone v3 API, and configured stack_user_* config options). POLL_TEMP_URL will create and populate a Swift TempURL with metadata for polling (requires object-store endpoint which supports TempURL).ZAQAR_MESSAGE will create a dedicated zaqar queue and post the metadata for polling.

default_user_data_format = HEAT_CFNTOOLS

(String) Template default for how the user_data should be formatted for the server. For HEAT_CFNTOOLS, the user_data is bundled as part of the heat-cfntools cloud-init boot configuration data. For RAW the user_data is passed to Nova unmodified. For SOFTWARE_CONFIG user_data is bundled as part of the software config data, and metadata is derived from any associated SoftwareDeployment resources.

deferred_auth_method = trusts

(String) Select deferred auth method, stored password or trusts.

environment_dir = /etc/heat/environment.d

(String) The directory to search for environment files.

error_wait_time = 240

(Integer) The amount of time in seconds after an error has occurred that tasks may continue to run before being cancelled.

event_purge_batch_size = 200

(Integer) Controls how many events will be pruned whenever a stack’s events are purged. Set this lower to keep more events at the expense of more frequent purges.

executor_thread_pool_size = 64

(Integer) Size of executor thread pool.

host = localhost

(String) Name of the engine node. This can be an opaque identifier. It is not necessarily a hostname, FQDN, or IP address.

keystone_backend = heat.engine.clients.os.keystone.heat_keystoneclient.KsClientWrapper

(String) Fully qualified class name to use as a keystone backend.

max_interface_check_attempts = 10

(Integer) Number of times to check whether an interface has been attached or detached.

periodic_interval = 60

(Integer) Seconds between running periodic tasks.

plugin_dirs = /usr/lib64/heat, /usr/lib/heat, /usr/local/lib/heat, /usr/local/lib64/heat

(List) List of directories to search for plug-ins.

reauthentication_auth_method =

(String) Allow reauthentication on token expiry, such that long-running tasks may complete. Note this defeats the expiry of any provided user tokens.

template_dir = /etc/heat/templates

(String) The directory to search for template files.

[constraint_validation_cache]

 

caching = True

(Boolean) Toggle to enable/disable caching when Orchestration Engine validates property constraints of stack.During property validation with constraints Orchestration Engine caches requests to other OpenStack services. Please note that the global toggle for oslo.cache(enabled=True in [cache] group) must be enabled to use this feature.

expiration_time = 60

(Integer) TTL, in seconds, for any cached item in the dogpile.cache region used for caching of validation constraints.

[healthcheck]

 

backends =

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

detailed = False

(Boolean) Show more detailed information as part of the response

disable_by_file_path = None

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

disable_by_file_paths =

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

path = /healthcheck

(String) DEPRECATED: The path to respond to healtcheck requests on.

[heat_all]

 

enabled_services = engine, api, api_cfn

(List) Specifies the heat services that are enabled when running heat-all. Valid options are all or any combination of api, engine, api_cfn, or api_cloudwatch.

[profiler]

 

connection_string = messaging://

(String) 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 notifications.
  • mongodb://127.0.0.1:27017 : use mongodb driver for sending notifications.
  • elasticsearch://127.0.0.1:9200 : use elasticsearch driver for sending notifications.

enabled = False

(Boolean) Enables 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.

es_doc_type = notification

(String) Document type for notification indexing in elasticsearch.

es_scroll_size = 10000

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

es_scroll_time = 2m

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

hmac_keys = SECRET_KEY

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

sentinel_service_name = mymaster

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

socket_timeout = 0.1

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

trace_sqlalchemy = False

(Boolean) Enables 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.

[resource_finder_cache]

 

caching = True

(Boolean) Toggle to enable/disable caching when Orchestration Engine looks for other OpenStack service resources using name or id. Please note that the global toggle for oslo.cache(enabled=True in [cache] group) must be enabled to use this feature.

expiration_time = 3600

(Integer) TTL, in seconds, for any cached item in the dogpile.cache region used for caching of OpenStack service finder functions.

[revision]

 

heat_revision = unknown

(String) Heat build revision. If you would prefer to manage your build revision separately, you can move this section to a different file and add it as another config option.

[service_extension_cache]

 

caching = True

(Boolean) Toggle to enable/disable caching when Orchestration Engine retrieves extensions from other OpenStack services. Please note that the global toggle for oslo.cache(enabled=True in [cache] group) must be enabled to use this feature.

expiration_time = 3600

(Integer) TTL, in seconds, for any cached item in the dogpile.cache region used for caching of service extensions.

[volumes]

 

backups_enabled = True

(Boolean) Indicate if cinder-backup service is enabled. This is a temporary workaround until cinder-backup service becomes discoverable, see LP#1334856.

[yaql]

 

limit_iterators = 200

(Integer) The maximum number of elements in collection expression can take for its evaluation.

memory_quota = 10000

(Integer) The maximum size of memory in bytes that expression can take for its evaluation.

Expand
Table 9.26. Description of crypt configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

auth_encryption_key = notgood but just long enough i t

(String) Key used to encrypt authentication info in the database. Length of this key must be 32 characters.

Expand
Table 9.27. Description of load balancer configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

loadbalancer_template = None

(String) Custom template for the built-in loadbalancer nested stack.

Expand
Table 9.28. Description of metadata API configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

heat_metadata_server_url = None

(String) URL of the Heat metadata server. NOTE: Setting this is only needed if you require instances to use a different endpoint than in the keystone catalog

Expand
Table 9.29. Description of notification configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

onready = None

(String) Deprecated.

Expand
Table 9.30. Description of quota configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

max_events_per_stack = 1000

(Integer) Rough number of maximum events that will be available per stack. Actual number of events can be a bit higher since purge checks take place randomly 200/event_purge_batch_size percent of the time. Older events are deleted when events are purged. Set to 0 for unlimited events per stack.

max_nested_stack_depth = 5

(Integer) Maximum depth allowed when using nested stacks.

max_resources_per_stack = 1000

(Integer) Maximum resources allowed per top-level stack. -1 stands for unlimited.

max_server_name_length = 53

(Integer) Maximum length of a server name to be used in nova.

max_stacks_per_tenant = 100

(Integer) Maximum number of stacks any one tenant may have active at one time.

max_template_size = 524288

(Integer) Maximum raw byte size of any template.

Expand
Table 9.31. Description of Redis configuration options
Configuration option = Default valueDescription

[matchmaker_redis]

 

check_timeout = 20000

(Integer) Time in ms to wait before the transaction is killed.

host = 127.0.0.1

(String) DEPRECATED: Host to locate redis. Replaced by [DEFAULT]/transport_url

password =

(String) DEPRECATED: Password for Redis server (optional). Replaced by [DEFAULT]/transport_url

port = 6379

(Port number) DEPRECATED: Use this port to connect to redis host. Replaced by [DEFAULT]/transport_url

sentinel_group_name = oslo-messaging-zeromq

(String) Redis replica set name.

sentinel_hosts =

(List) DEPRECATED: List of Redis Sentinel hosts (fault tolerance mode), e.g., [host:port, host1:port …​ ] Replaced by [DEFAULT]/transport_url

socket_timeout = 10000

(Integer) Timeout in ms on blocking socket operations.

wait_timeout = 2000

(Integer) Time in ms to wait between connection attempts.

Expand
Table 9.32. Description of testing configuration options
Configuration option = Default valueDescription

[profiler]

 

connection_string = messaging://

(String) 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 notifications.

enabled = False

(Boolean) Enables 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.

hmac_keys = SECRET_KEY

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

trace_sqlalchemy = False

(Boolean) Enables 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.
Expand
Table 9.33. Description of trustee configuration options
Configuration option = Default valueDescription

[trustee]

 

auth_section = None

(Unknown) Config Section from which to load plugin specific options

auth_type = None

(Unknown) Authentication type to load

Expand
Table 9.34. Description of waitcondition API configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

heat_waitcondition_server_url = None

(String) URL of the Heat waitcondition server.

Expand
Table 9.35. New options
Option = default value(Type) Help string

[DEFAULT] default_user_data_format = HEAT_CFNTOOLS

(StrOpt) Template default for how the user_data should be formatted for the server. For HEAT_CFNTOOLS, the user_data is bundled as part of the heat-cfntools cloud-init boot configuration data. For RAW the user_data is passed to Nova unmodified. For SOFTWARE_CONFIG user_data is bundled as part of the software config data, and metadata is derived from any associated SoftwareDeployment resources.

[heat_all] enabled_services = engine, api, api_cfn

(ListOpt) Specifies the heat services that are enabled when running heat-all. Valid options are all or any combination of api, engine, api_cfn, or api_cloudwatch.

Expand
Table 9.36. New default values
OptionPrevious default valueNew default value

[DEFAULT] event_purge_batch_size

10

200

Expand
Table 9.37. Deprecated options
Deprecated optionNew Option

[DEFAULT] rpc_thread_pool_size

[DEFAULT] executor_thread_pool_size

[DEFAULT] use_syslog

None

Chapter 10. Shared File Systems

The Shared File Systems service provides shared file systems that Compute instances can consume.

10.1. Shared Storage Configuration Options

Note

The common configurations for shared services and libraries, such as database connections and RPC messaging, are described at Common configurations.

10.1.1. Description of Configuration Options

The following tables provide a comprehensive list of the Shared File Systems configuration options.

Expand
Table 10.1. Description of API configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

admin_network_config_group = None

(String) If share driver requires to setup admin network for share, then define network plugin config options in some separate config group and set its name here. Used only with another option 'driver_handles_share_servers' set to 'True'.

admin_network_id = None

(String) ID of neutron network used to communicate with admin network, to create additional admin export locations on.

admin_subnet_id = None

(String) ID of neutron subnet used to communicate with admin network, to create additional admin export locations on. Related to 'admin_network_id'.

api_paste_config = api-paste.ini

(String) File name for the paste.deploy config for manila-api.

api_rate_limit = True

(Boolean) Whether to rate limit the API.

db_backend = sqlalchemy

(String) The backend to use for database.

max_header_line = 16384

(Integer) Maximum line size of message headers to be accepted. Option max_header_line may need to be increased when using large tokens (typically those generated by the Keystone v3 API with big service catalogs).

osapi_max_limit = 1000

(Integer) The maximum number of items returned in a single response from a collection resource.

osapi_share_base_URL = None

(String) Base URL to be presented to users in links to the Share API

osapi_share_ext_list =

(List) Specify list of extensions to load when using osapi_share_extension option with manila.api.contrib.select_extensions.

osapi_share_extension = manila.api.contrib.standard_extensions

(List) The osapi share extensions to load.

osapi_share_listen = ::

(String) IP address for OpenStack Share API to listen on.

osapi_share_listen_port = 8786

(Port number) Port for OpenStack Share API to listen on.

osapi_share_workers = 1

(Integer) Number of workers for OpenStack Share API service.

share_api_class = manila.share.api.API

(String) The full class name of the share API class to use.

volume_api_class = manila.volume.cinder.API

(String) The full class name of the Volume API class to use.

volume_name_template = manila-share-%s

(String) Volume name template.

volume_snapshot_name_template = manila-snapshot-%s

(String) Volume snapshot name template.

[oslo_middleware]

 

enable_proxy_headers_parsing = False

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

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 a SSL termination proxy.

Expand
Table 10.2. Description of Authorization configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

auth_strategy = keystone

(String) The strategy to use for auth. Supports noauth, keystone, and deprecated.

Expand
Table 10.3. Description of Certificate Authority configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

ssl_ca_file = None

(String) CA certificate file to use to verify connecting clients.

ssl_cert_file = None

(String) Certificate file to use when starting the server securely.

ssl_key_file = None

(String) Private key file to use when starting the server securely.

Expand
Table 10.4. Description of CephFS share driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

cephfs_auth_id = manila

(String) The name of the ceph auth identity to use.

cephfs_cluster_name = None

(String) The name of the cluster in use, if it is not the default ('ceph').

cephfs_conf_path =

(String) Fully qualified path to the ceph.conf file.

cephfs_enable_snapshots = False

(Boolean) Whether to enable snapshots in this driver.

Expand
Table 10.5. Description of Common configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

client_socket_timeout = 900

(Integer) Timeout for client connections socket operations. If an incoming connection is idle for this number of seconds it will be closed. A value of '0' means wait forever.

compute_api_class = manila.compute.nova.API

(String) The full class name of the Compute API class to use.

data_manager = manila.data.manager.DataManager

(String) Full class name for the data manager.

data_topic = manila-data

(String) The topic data nodes listen on.

enable_new_services = True

(Boolean) Services to be added to the available pool on create.

fatal_exception_format_errors = False

(Boolean) Whether to make exception message format errors fatal.

filter_function = None

(String) String representation for an equation that will be used to filter hosts.

host = <your_hostname>

(String) Name of this node. This can be an opaque identifier. It is not necessarily a hostname, FQDN, or IP address.

max_over_subscription_ratio = 20.0

(Floating point) Float representation of the over subscription ratio when thin provisioning is involved. Default ratio is 20.0, meaning provisioned capacity can be 20 times the total physical capacity. If the ratio is 10.5, it means provisioned capacity can be 10.5 times the total physical capacity. A ratio of 1.0 means provisioned capacity cannot exceed the total physical capacity. A ratio lower than 1.0 is invalid.

memcached_servers = None

(List) Memcached servers or None for in process cache.

monkey_patch = False

(Boolean) Whether to log monkey patching.

monkey_patch_modules =

(List) List of modules or decorators to monkey patch.

my_ip = <your_ip>

(String) IP address of this host.

num_shell_tries = 3

(Integer) Number of times to attempt to run flakey shell commands.

periodic_fuzzy_delay = 60

(Integer) Range of seconds to randomly delay when starting the periodic task scheduler to reduce stampeding. (Disable by setting to 0)

periodic_hooks_interval = 300.0

(Floating point) Interval in seconds between execution of periodic hooks. Used when option 'enable_periodic_hooks' is set to True. Default is 300.

periodic_interval = 60

(Integer) Seconds between running periodic tasks.

replica_state_update_interval = 300

(Integer) This value, specified in seconds, determines how often the share manager will poll for the health (replica_state) of each replica instance.

replication_domain = None

(String) A string specifying the replication domain that the backend belongs to. This option needs to be specified the same in the configuration sections of all backends that support replication between each other. If this option is not specified in the group, it means that replication is not enabled on the backend.

report_interval = 10

(Integer) Seconds between nodes reporting state to datastore.

reserved_share_percentage = 0

(Integer) The percentage of backend capacity reserved.

rootwrap_config = None

(String) Path to the rootwrap configuration file to use for running commands as root.

service_down_time = 60

(Integer) Maximum time since last check-in for up service.

smb_template_config_path = $state_path/smb.conf

(String) Path to smb config.

sql_idle_timeout = 3600

(Integer) Timeout before idle SQL connections are reaped.

sql_max_retries = 10

(Integer) Maximum database connection retries during startup. (setting -1 implies an infinite retry count).

sql_retry_interval = 10

(Integer) Interval between retries of opening a SQL connection.

sqlite_db = manila.sqlite

(String) The filename to use with sqlite.

sqlite_synchronous = True

(Boolean) If passed, use synchronous mode for sqlite.

state_path = /var/lib/manila

(String) Top-level directory for maintaining manila’s state.

storage_availability_zone = nova

(String) Availability zone of this node.

tcp_keepalive = True

(Boolean) Sets the value of TCP_KEEPALIVE (True/False) for each server socket.

tcp_keepalive_count = None

(Integer) Sets the value of TCP_KEEPCNT for each server socket. Not supported on OS X.

tcp_keepalive_interval = None

(Integer) Sets the value of TCP_KEEPINTVL in seconds for each server socket. Not supported on OS X.

tcp_keepidle = 600

(Integer) Sets the value of TCP_KEEPIDLE in seconds for each server socket. Not supported on OS X.

until_refresh = 0

(Integer) Count of reservations until usage is refreshed.

use_forwarded_for = False

(Boolean) Treat X-Forwarded-For as the canonical remote address. Only enable this if you have a sanitizing proxy.

wsgi_keep_alive = True

(Boolean) If False, closes the client socket connection explicitly. Setting it to True to maintain backward compatibility. Recommended setting is set it to False.

[coordination]

 

backend_url = file://$state_path

(String) The back end URL to use for distributed coordination.

heartbeat = 1.0

(Floating point) Number of seconds between heartbeats for distributed coordination.

initial_reconnect_backoff = 0.1

(Floating point) Initial number of seconds to wait after failed reconnection.

max_reconnect_backoff = 60.0

(Floating point) Maximum number of seconds between sequential reconnection retries.

[healthcheck]

 

backends =

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

detailed = False

(Boolean) Show more detailed information as part of the response

disable_by_file_path = None

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

disable_by_file_paths =

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

path = /healthcheck

(String) DEPRECATED: The path to respond to healtcheck requests on.

Expand
Table 10.6. Description of Compute configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

nova_admin_auth_url = http://localhost:5000/v2.0

(String) DEPRECATED: Identity service URL. This option isn’t used any longer. Please use [nova] url instead.

nova_admin_password = None

(String) DEPRECATED: Nova admin password. This option isn’t used any longer. Please use [nova] password instead.

nova_admin_tenant_name = service

(String) DEPRECATED: Nova admin tenant name. This option isn’t used any longer. Please use [nova] tenant instead.

nova_admin_username = nova

(String) DEPRECATED: Nova admin username. This option isn’t used any longer. Please use [nova] username instead.

nova_catalog_admin_info = compute:nova:adminURL

(String) DEPRECATED: Same as nova_catalog_info, but for admin endpoint. This option isn’t used any longer.

nova_catalog_info = compute:nova:publicURL

(String) DEPRECATED: Info to match when looking for nova in the service catalog. Format is separated values of the form: <service_type>:<service_name>:<endpoint_type> This option isn’t used any longer.

os_region_name = None

(String) Region name of this node.

Expand
Table 10.7. Description of EMC share driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

emc_nas_login = None

(String) User name for the EMC server.

emc_nas_password = None

(String) Password for the EMC server.

emc_nas_root_dir = None

(String) The root directory where shares will be located.

emc_nas_server = None

(String) EMC server hostname or IP address.

emc_nas_server_container = None

(String) DEPRECATED: Storage processor to host the NAS server. Obsolete. Unity driver supports nas server auto load balance.

emc_nas_server_port = 8080

(Port number) Port number for the EMC server.

emc_nas_server_secure = True

(Boolean) Use secure connection to server.

emc_share_backend = None

(String) Share backend.

Expand
Table 10.8. Description of Ganesha configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

ganesha_config_dir = /etc/ganesha

(String) Directory where Ganesha config files are stored.

ganesha_config_path = $ganesha_config_dir/ganesha.conf

(String) Path to main Ganesha config file.

ganesha_db_path = $state_path/manila-ganesha.db

(String) Location of Ganesha database file. (Ganesha module only.)

ganesha_export_dir = $ganesha_config_dir/export.d

(String) Path to directory containing Ganesha export configuration. (Ganesha module only.)

ganesha_export_template_dir = /etc/manila/ganesha-export-templ.d

(String) Path to directory containing Ganesha export block templates. (Ganesha module only.)

ganesha_nfs_export_options = maxread = 65536, prefread = 65536

(String) Options to use when exporting a share using ganesha NFS server. Note that these defaults can be overridden when a share is created by passing metadata with key name export_options. Also note the complete set of default ganesha export options is specified in ganesha_utils. (GPFS only.)

ganesha_service_name = ganesha.nfsd

(String) Name of the ganesha nfs service.

Expand
Table 10.9. Description of Generic share driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

cinder_volume_type = None

(String) Name or id of cinder volume type which will be used for all volumes created by driver.

connect_share_server_to_tenant_network = False

(Boolean) Attach share server directly to share network. Used only with Neutron and if driver_handles_share_servers=True.

container_volume_group = manila_docker_volumes

(String) LVM volume group to use for volumes. This volume group must be created by the cloud administrator independently from manila operations.

driver_handles_share_servers = None

(Boolean) There are two possible approaches for share drivers in Manila. First is when share driver is able to handle share-servers and second when not. Drivers can support either both or only one of these approaches. So, set this opt to True if share driver is able to handle share servers and it is desired mode else set False. It is set to None by default to make this choice intentional.

goodness_function = None

(String) String representation for an equation that will be used to determine the goodness of a host.

interface_driver = manila.network.linux.interface.OVSInterfaceDriver

(String) Vif driver. Used only with Neutron and if driver_handles_share_servers=True.

manila_service_keypair_name = manila-service

(String) Keypair name that will be created and used for service instances. Only used if driver_handles_share_servers=True.

max_time_to_attach = 120

(Integer) Maximum time to wait for attaching cinder volume.

max_time_to_build_instance = 300

(Integer) Maximum time in seconds to wait for creating service instance.

max_time_to_create_volume = 180

(Integer) Maximum time to wait for creating cinder volume.

max_time_to_extend_volume = 180

(Integer) Maximum time to wait for extending cinder volume.

ovs_integration_bridge = br-int

(String) Name of Open vSwitch bridge to use.

path_to_private_key = None

(String) Path to host’s private key.

path_to_public_key = ~/.ssh/id_rsa.pub

(String) Path to hosts public key. Only used if driver_handles_share_servers=True.

protocol_access_mapping = {'ip': ['nfs'], 'user': ['cifs']}

(Dict) Protocol access mapping for this backend. Should be a dictionary comprised of {'access_type1': ['share_proto1', 'share_proto2'], 'access_type2': ['share_proto2', 'share_proto3']}.

service_image_name = manila-service-image

(String) Name of image in Glance, that will be used for service instance creation. Only used if driver_handles_share_servers=True.

service_instance_flavor_id = 100

(Integer) ID of flavor, that will be used for service instance creation. Only used if driver_handles_share_servers=True.

service_instance_name_or_id = None

(String) Name or ID of service instance in Nova to use for share exports. Used only when share servers handling is disabled.

service_instance_name_template = manila_service_instance_%s

(String) Name of service instance. Only used if driver_handles_share_servers=True.

service_instance_network_helper_type = neutron

(String) DEPRECATED: Used to select between neutron and nova helpers when driver_handles_share_servers=True. Obsolete. This option isn’t used any longer because nova networking is no longer supported.

service_instance_password = None

(String) Password for service instance user.

service_instance_security_group = manila-service

(String) Security group name, that will be used for service instance creation. Only used if driver_handles_share_servers=True.

service_instance_smb_config_path = $share_mount_path/smb.conf

(String) Path to SMB config in service instance.

service_instance_user = None

(String) User in service instance that will be used for authentication.

service_net_name_or_ip = None

(String) Can be either name of network that is used by service instance within Nova to get IP address or IP address itself for managing shares there. Used only when share servers handling is disabled.

service_network_cidr = 10.254.0.0/16

(String) CIDR of manila service network. Used only with Neutron and if driver_handles_share_servers=True.

service_network_division_mask = 28

(Integer) This mask is used for dividing service network into subnets, IP capacity of subnet with this mask directly defines possible amount of created service VMs per tenant’s subnet. Used only with Neutron and if driver_handles_share_servers=True.

service_network_name = manila_service_network

(String) Name of manila service network. Used only with Neutron. Only used if driver_handles_share_servers=True.

share_helpers = CIFS=manila.share.drivers.helpers.CIFSHelperIPAccess, NFS=manila.share.drivers.helpers.NFSHelper

(List) Specify list of share export helpers.

share_mount_path = /shares

(String) Parent path in service instance where shares will be mounted.

share_mount_template = mount -vt %(proto)s %(options)s %(export)s %(path)s

(String) The template for mounting shares for this backend. Must specify the executable with all necessary parameters for the protocol supported. 'proto' template element may not be required if included in the command. 'export' and 'path' template elements are required. It is advisable to separate different commands per backend.

share_unmount_template = umount -v %(path)s

(String) The template for unmounting shares for this backend. Must specify the executable with all necessary parameters for the protocol supported. 'path' template element is required. It is advisable to separate different commands per backend.

share_volume_fstype = ext4

(String) Filesystem type of the share volume.

tenant_net_name_or_ip = None

(String) Can be either name of network that is used by service instance within Nova to get IP address or IP address itself for exporting shares. Used only when share servers handling is disabled.

volume_name_template = manila-share-%s

(String) Volume name template.

volume_snapshot_name_template = manila-snapshot-%s

(String) Volume snapshot name template.

[cinder]

 

api_insecure = False

(Boolean) Allow to perform insecure SSL requests to cinder.

auth_section = None

(Unknown) Config Section from which to load plugin specific options

auth_type = None

(Unknown) Authentication type to load

ca_certificates_file = None

(String) Location of CA certificates file to use for cinder client requests.

cafile = None

(String) PEM encoded Certificate Authority to use when verifying HTTPs connections.

certfile = None

(String) PEM encoded client certificate cert file

cross_az_attach = True

(Boolean) Allow attaching between instances and volumes in different availability zones.

endpoint_type = publicURL

(String) Endpoint type to be used with cinder client calls.

http_retries = 3

(Integer) Number of cinderclient retries on failed HTTP calls.

insecure = False

(Boolean) Verify HTTPS connections.

keyfile = None

(String) PEM encoded client certificate key file

region_name = None

(String) Region name for connecting to cinder.

timeout = None

(Integer) Timeout value for http requests

[neutron]

 

cafile = None

(String) PEM encoded Certificate Authority to use when verifying HTTPs connections.

certfile = None

(String) PEM encoded client certificate cert file

insecure = False

(Boolean) Verify HTTPS connections.

keyfile = None

(String) PEM encoded client certificate key file

timeout = None

(Integer) Timeout value for http requests

[nova]

 

api_insecure = False

(Boolean) Allow to perform insecure SSL requests to nova.

api_microversion = 2.10

(String) Version of Nova API to be used.

auth_section = None

(Unknown) Config Section from which to load plugin specific options

auth_type = None

(Unknown) Authentication type to load

ca_certificates_file = None

(String) Location of CA certificates file to use for nova client requests.

cafile = None

(String) PEM encoded Certificate Authority to use when verifying HTTPs connections.

certfile = None

(String) PEM encoded client certificate cert file

endpoint_type = publicURL

(String) Endpoint type to be used with nova client calls.

insecure = False

(Boolean) Verify HTTPS connections.

keyfile = None

(String) PEM encoded client certificate key file

region_name = None

(String) Region name for connecting to nova.

timeout = None

(Integer) Timeout value for http requests

Expand
Table 10.10. Description of GlusterFS share driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

glusterfs_ganesha_server_ip = None

(String) Remote Ganesha server node’s IP address.

glusterfs_ganesha_server_password = None

(String) Remote Ganesha server node’s login password. This is not required if 'glusterfs_path_to_private_key' is configured.

glusterfs_ganesha_server_username = root

(String) Remote Ganesha server node’s username.

glusterfs_mount_point_base = $state_path/mnt

(String) Base directory containing mount points for Gluster volumes.

glusterfs_nfs_server_type = Gluster

(String) Type of NFS server that mediate access to the Gluster volumes (Gluster or Ganesha).

glusterfs_path_to_private_key = None

(String) Path of Manila host’s private SSH key file.

glusterfs_server_password = None

(String) Remote GlusterFS server node’s login password. This is not required if 'glusterfs_path_to_private_key' is configured.

glusterfs_servers =

(List) List of GlusterFS servers that can be used to create shares. Each GlusterFS server should be of the form [remoteuser@]<volserver>, and they are assumed to belong to distinct Gluster clusters.

glusterfs_share_layout = None

(String) Specifies GlusterFS share layout, that is, the method of associating backing GlusterFS resources to shares.

glusterfs_target = None

(String) Specifies the GlusterFS volume to be mounted on the Manila host. It is of the form [remoteuser@]<volserver>:<volid>.

glusterfs_volume_pattern = None

(String) Regular expression template used to filter GlusterFS volumes for share creation. The regex template can optionally (ie. with support of the GlusterFS backend) contain the {size} parameter which matches an integer (sequence of digits) in which case the value shall be interpreted as size of the volume in GB. Examples: "manila-share-volume-d+$", "manila-share-volume-{size}G-d+$"; with matching volume names, respectively: "manila-share-volume-12", "manila-share-volume-3G-13". In latter example, the number that matches "#{size}", that is, 3, is an indication that the size of volume is 3G.

Expand
Table 10.11. Description of IBM GPFS share driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

gpfs_mount_point_base = $state_path/mnt

(String) Base folder where exported shares are located.

gpfs_nfs_server_list = None

(List) A list of the fully qualified NFS server names that make up the OpenStack Manila configuration.

gpfs_nfs_server_type = KNFS

(String) NFS Server type. Valid choices are "KNFS" (kernel NFS) or "CES" (Ganesha NFS).

gpfs_share_export_ip = None

(String) IP to be added to GPFS export string.

gpfs_share_helpers = KNFS=manila.share.drivers.ibm.gpfs.KNFSHelper, CES=manila.share.drivers.ibm.gpfs.CESHelper

(List) Specify list of share export helpers.

gpfs_ssh_login = None

(String) GPFS server SSH login name.

gpfs_ssh_password = None

(String) GPFS server SSH login password. The password is not needed, if 'gpfs_ssh_private_key' is configured.

gpfs_ssh_port = 22

(Port number) GPFS server SSH port.

gpfs_ssh_private_key = None

(String) Path to GPFS server SSH private key for login.

is_gpfs_node = False

(Boolean) True:when Manila services are running on one of the Spectrum Scale node. False:when Manila services are not running on any of the Spectrum Scale node.

knfs_export_options = rw,sync,no_root_squash,insecure,no_wdelay,no_subtree_check

(String) DEPRECATED: Options to use when exporting a share using kernel NFS server. Note that these defaults can be overridden when a share is created by passing metadata with key name export_options. This option isn’t used any longer. Please use share-type extra specs for export options.

Expand
Table 10.12. Description of HDFS share driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

hdfs_namenode_ip = None

(String) The IP of the HDFS namenode.

hdfs_namenode_port = 9000

(Port number) The port of HDFS namenode service.

hdfs_ssh_name = None

(String) HDFS namenode ssh login name.

hdfs_ssh_port = 22

(Port number) HDFS namenode SSH port.

hdfs_ssh_private_key = None

(String) Path to HDFS namenode SSH private key for login.

hdfs_ssh_pw = None

(String) HDFS namenode SSH login password, This parameter is not necessary, if 'hdfs_ssh_private_key' is configured.

Expand
Table 10.13. Description of HPE 3PAR share driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

hpe3par_api_url =

(String) 3PAR WSAPI Server Url like https://<3par ip>:8080/api/v1

hpe3par_cifs_admin_access_domain = LOCAL_CLUSTER

(String) File system domain for the CIFS admin user.

hpe3par_cifs_admin_access_password =

(String) File system admin password for CIFS.

hpe3par_cifs_admin_access_username =

(String) File system admin user name for CIFS.

hpe3par_debug = False

(Boolean) Enable HTTP debugging to 3PAR

hpe3par_fpg = None

(Unknown) The File Provisioning Group (FPG) to use

hpe3par_fstore_per_share = False

(Boolean) Use one filestore per share

hpe3par_password =

(String) 3PAR password for the user specified in hpe3par_username

hpe3par_require_cifs_ip = False

(Boolean) Require IP access rules for CIFS (in addition to user)

hpe3par_san_ip =

(String) IP address of SAN controller

hpe3par_san_login =

(String) Username for SAN controller

hpe3par_san_password =

(String) Password for SAN controller

hpe3par_san_ssh_port = 22

(Port number) SSH port to use with SAN

hpe3par_share_mount_path = /mnt/

(String) The path where shares will be mounted when deleting nested file trees.

hpe3par_username =

(String) 3PAR username with the 'edit' role

Expand
Table 10.14. Description of Huawei share driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

manila_huawei_conf_file = /etc/manila/manila_huawei_conf.xml

(String) The configuration file for the Manila Huawei driver.

Expand
Table 10.15. Description of LVM share driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

lvm_share_export_ip = None

(String) IP to be added to export string.

lvm_share_export_root = $state_path/mnt

(String) Base folder where exported shares are located.

lvm_share_helpers = CIFS=manila.share.drivers.helpers.CIFSHelperUserAccess, NFS=manila.share.drivers.helpers.NFSHelper

(List) Specify list of share export helpers.

lvm_share_mirrors = 0

(Integer) If set, create LVMs with multiple mirrors. Note that this requires lvm_mirrors + 2 PVs with available space.

lvm_share_volume_group = lvm-shares

(String) Name for the VG that will contain exported shares.

Expand
Table 10.16. Description of MapRFS share driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

maprfs_base_volume_dir = /

(String) Path in MapRFS where share volumes must be created.

maprfs_cldb_ip = None

(List) The list of IPs or hostnames of CLDB nodes.

maprfs_clinode_ip = None

(List) The list of IPs or hostnames of nodes where mapr-core is installed.

maprfs_rename_managed_volume = True

(Boolean) Specify whether existing volume should be renamed when start managing.

maprfs_ssh_name = mapr

(String) Cluster admin user ssh login name.

maprfs_ssh_port = 22

(Port number) CLDB node SSH port.

maprfs_ssh_private_key = None

(String) Path to SSH private key for login.

maprfs_ssh_pw = None

(String) Cluster node SSH login password, This parameter is not necessary, if 'maprfs_ssh_private_key' is configured.

maprfs_zookeeper_ip = None

(List) The list of IPs or hostnames of ZooKeeper nodes.

Expand
Table 10.17. Description of NetApp share driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

netapp_aggregate_name_search_pattern = (.*)

(String) Pattern for searching available aggregates for provisioning.

netapp_enabled_share_protocols = nfs3, nfs4.0

(List) The NFS protocol versions that will be enabled. Supported values include nfs3, nfs4.0, nfs4.1. This option only applies when the option driver_handles_share_servers is set to True.

netapp_lif_name_template = os_%(net_allocation_id)s

(String) Logical interface (LIF) name template

netapp_login = None

(String) Administrative user account name used to access the storage system.

netapp_password = None

(String) Password for the administrative user account specified in the netapp_login option.

netapp_port_name_search_pattern = (.*)

(String) Pattern for overriding the selection of network ports on which to create Vserver LIFs.

netapp_root_volume = root

(String) Root volume name.

netapp_root_volume_aggregate = None

(String) Name of aggregate to create Vserver root volumes on. This option only applies when the option driver_handles_share_servers is set to True.

netapp_server_hostname = None

(String) The hostname (or IP address) for the storage system.

netapp_server_port = None

(Port number) The TCP port to use for communication with the storage system or proxy server. If not specified, Data ONTAP drivers will use 80 for HTTP and 443 for HTTPS.

netapp_snapmirror_quiesce_timeout = 3600

(Integer) The maximum time in seconds to wait for existing snapmirror transfers to complete before aborting when promoting a replica.

netapp_storage_family = ontap_cluster

(String) The storage family type used on the storage system; valid values include ontap_cluster for using clustered Data ONTAP.

netapp_trace_flags = None

(String) Comma-separated list of options that control which trace info is written to the debug logs. Values include method and api.

netapp_transport_type = http

(String) The transport protocol used when communicating with the storage system or proxy server. Valid values are http or https.

netapp_volume_move_cutover_timeout = 3600

(Integer) The maximum time in seconds to wait for the completion of a volume move operation after the cutover was triggered.

netapp_volume_name_template = share_%(share_id)s

(String) NetApp volume name template.

netapp_volume_snapshot_reserve_percent = 5

(Integer) The percentage of share space set aside as reserve for snapshot usage; valid values range from 0 to 90.

netapp_vserver_name_template = os_%s

(String) Name template to use for new Vserver.

Expand
Table 10.18. Description of QNAP storage share driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

qnap_management_url = None

(String) The URL to manage QNAP Storage.

qnap_nas_login = None

(String) Username for QNAP storage.

qnap_nas_password = None

(String) Password for QNAP storage.

qnap_poolname = None

(String) Pool within which QNAP shares must be created.

qnap_share_ip = None

(String) NAS share IP for mounting shares.

Expand
Table 10.19. Description of Quobyte share driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

quobyte_api_ca = None

(String) The X.509 CA file to verify the server cert.

quobyte_api_password = quobyte

(String) Password for Quobyte API server

quobyte_api_url = None

(String) URL of the Quobyte API server (http or https)

quobyte_api_username = admin

(String) Username for Quobyte API server.

quobyte_default_volume_group = root

(String) Default owning group for new volumes.

quobyte_default_volume_user = root

(String) Default owning user for new volumes.

quobyte_delete_shares = False

(Boolean) Actually deletes shares (vs. unexport)

quobyte_volume_configuration = BASE

(String) Name of volume configuration used for new shares.

Expand
Table 10.20. Description of Quota configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

max_age = 0

(Integer) Number of seconds between subsequent usage refreshes.

max_gigabytes = 10000

(Integer) Maximum number of volume gigabytes to allow per host.

quota_driver = manila.quota.DbQuotaDriver

(String) Default driver to use for quota checks.

quota_gigabytes = 1000

(Integer) Number of share gigabytes allowed per project.

quota_share_networks = 10

(Integer) Number of share-networks allowed per project.

quota_shares = 50

(Integer) Number of shares allowed per project.

quota_snapshot_gigabytes = 1000

(Integer) Number of snapshot gigabytes allowed per project.

quota_snapshots = 50

(Integer) Number of share snapshots allowed per project.

reservation_expire = 86400

(Integer) Number of seconds until a reservation expires.

Expand
Table 10.21. Description of Redis configuration options
Configuration option = Default valueDescription

[matchmaker_redis]

 

check_timeout = 20000

(Integer) Time in ms to wait before the transaction is killed.

host = 127.0.0.1

(String) DEPRECATED: Host to locate redis. Replaced by [DEFAULT]/transport_url

password =

(String) DEPRECATED: Password for Redis server (optional). Replaced by [DEFAULT]/transport_url

port = 6379

(Port number) DEPRECATED: Use this port to connect to redis host. Replaced by [DEFAULT]/transport_url

sentinel_group_name = oslo-messaging-zeromq

(String) Redis replica set name.

sentinel_hosts =

(List) DEPRECATED: List of Redis Sentinel hosts (fault tolerance mode), e.g., [host:port, host1:port …​ ] Replaced by [DEFAULT]/transport_url

socket_timeout = 10000

(Integer) Timeout in ms on blocking socket operations.

wait_timeout = 2000

(Integer) Time in ms to wait between connection attempts.

Expand
Table 10.22. Description of SSH connection configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

ssh_conn_timeout = 60

(Integer) Backend server SSH connection timeout.

ssh_max_pool_conn = 10

(Integer) Maximum number of connections in the SSH pool.

ssh_min_pool_conn = 1

(Integer) Minimum number of connections in the SSH pool.

Expand
Table 10.23. Description of Scheduler configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

capacity_weight_multiplier = 1.0

(Floating point) Multiplier used for weighing share capacity. Negative numbers mean to stack vs spread.

pool_weight_multiplier = 1.0

(Floating point) Multiplier used for weighing pools which have existing share servers. Negative numbers mean to spread vs stack.

scheduler_default_filters = AvailabilityZoneFilter, CapacityFilter, CapabilitiesFilter, DriverFilter, ShareReplicationFilter

(List) Which filter class names to use for filtering hosts when not specified in the request.

scheduler_default_weighers = CapacityWeigher, GoodnessWeigher

(List) Which weigher class names to use for weighing hosts.

scheduler_driver = manila.scheduler.drivers.filter.FilterScheduler

(String) Default scheduler driver to use.

scheduler_host_manager = manila.scheduler.host_manager.HostManager

(String) The scheduler host manager class to use.

scheduler_json_config_location =

(String) Absolute path to scheduler configuration JSON file.

scheduler_manager = manila.scheduler.manager.SchedulerManager

(String) Full class name for the scheduler manager.

scheduler_max_attempts = 3

(Integer) Maximum number of attempts to schedule a share.

scheduler_topic = manila-scheduler

(String) The topic scheduler nodes listen on.

Expand
Table 10.24. Description of Share configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

automatic_share_server_cleanup = True

(Boolean) If set to True, then Manila will delete all share servers which were unused more than specified time .If set to False - automatic deletion of share servers will be disabled.

backlog = 4096

(Integer) Number of backlog requests to configure the socket with.

default_share_group_type = None

(String) Default share group type to use.

default_share_type = None

(String) Default share type to use.

delete_share_server_with_last_share = False

(Boolean) Whether share servers will be deleted on deletion of the last share.

driver_handles_share_servers = None

(Boolean) There are two possible approaches for share drivers in Manila. First is when share driver is able to handle share-servers and second when not. Drivers can support either both or only one of these approaches. So, set this opt to True if share driver is able to handle share servers and it is desired mode else set False. It is set to None by default to make this choice intentional.

enable_periodic_hooks = False

(Boolean) Whether to enable periodic hooks or not.

enable_post_hooks = False

(Boolean) Whether to enable post hooks or not.

enable_pre_hooks = False

(Boolean) Whether to enable pre hooks or not.

enabled_share_backends = None

(List) A list of share backend names to use. These backend names should be backed by a unique [CONFIG] group with its options.

enabled_share_protocols = NFS, CIFS

(List) Specify list of protocols to be allowed for share creation. Available values are '('NFS', 'CIFS', 'GLUSTERFS', 'HDFS', 'CEPHFS', 'MAPRFS')'

executor_thread_pool_size = 64

(Integer) Size of executor thread pool.

hook_drivers =

(List) Driver(s) to perform some additional actions before and after share driver actions and on a periodic basis. Default is [].

migration_ignore_files = lost+found

(List) List of files and folders to be ignored when migrating shares. Items should be names (not including any path).

migration_readonly_rules_support = True

(Boolean) DEPRECATED: Specify whether read only access rule mode is supported in this backend. Obsolete. All drivers are now required to support read-only access rules.

network_config_group = None

(String) Name of the configuration group in the Manila conf file to look for network config options.If not set, the share backend’s config group will be used.If an option is not found within provided group, then’DEFAULT' group will be used for search of option.

root_helper = sudo

(String) Deprecated: command to use for running commands as root.

share_manager = manila.share.manager.ShareManager

(String) Full class name for the share manager.

share_name_template = share-%s

(String) Template string to be used to generate share names.

share_snapshot_name_template = share-snapshot-%s

(String) Template string to be used to generate share snapshot names.

share_topic = manila-share

(String) The topic share nodes listen on.

share_usage_audit_period = month

(String) Time period to generate share usages for. Time period must be hour, day, month or year.

suppress_post_hooks_errors = False

(Boolean) Whether to suppress post hook errors (allow driver’s results to pass through) or not.

suppress_pre_hooks_errors = False

(Boolean) Whether to suppress pre hook errors (allow driver perform actions) or not.

unmanage_remove_access_rules = False

(Boolean) If set to True, then manila will deny access and remove all access rules on share unmanage.If set to False - nothing will be changed.

unused_share_server_cleanup_interval = 10

(Integer) Unallocated share servers reclamation time interval (minutes). Minimum value is 10 minutes, maximum is 60 minutes. The reclamation function is run every 10 minutes and delete share servers which were unused more than unused_share_server_cleanup_interval option defines. This value reflects the shortest time Manila will wait for a share server to go unutilized before deleting it.

use_scheduler_creating_share_from_snapshot = False

(Boolean) If set to False, then share creation from snapshot will be performed on the same host. If set to True, then scheduling step will be used.

Expand
Table 10.25. Description of Tegile share driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

tegile_default_project = None

(String) Create shares in this project

tegile_nas_login = None

(String) User name for the Tegile NAS server.

tegile_nas_password = None

(String) Password for the Tegile NAS server.

tegile_nas_server = None

(String) Tegile NAS server hostname or IP address.

Expand
Table 10.26. Description of Dell EMC VMAX share driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

vmax_ethernet_ports = None

(List) Comma separated list of ports that can be used for share server interfaces. Members of the list can be Unix-style glob expressions.

vmax_server_container = None

(String) Data mover to host the NAS server.

vmax_share_data_pools = None

(List) Comma separated list of pools that can be used to persist share data.

Expand
Table 10.27. Description of Dell EMC VNX share driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

vnx_ethernet_ports = None

(List) Comma separated list of ports that can be used for share server interfaces. Members of the list can be Unix-style glob expressions.

vnx_server_container = None

(String) Data mover to host the NAS server.

vnx_share_data_pools = None

(List) Comma separated list of pools that can be used to persist share data.

Expand
Table 10.28. Description of WinRM configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

winrm_cert_key_pem_path = ~/.ssl/key.pem

(String) Path to the x509 certificate key.

winrm_cert_pem_path = ~/.ssl/cert.pem

(String) Path to the x509 certificate used for accessing the serviceinstance.

winrm_conn_timeout = 60

(Integer) WinRM connection timeout.

winrm_operation_timeout = 60

(Integer) WinRM operation timeout.

winrm_retry_count = 3

(Integer) WinRM retry count.

winrm_retry_interval = 5

(Integer) WinRM retry interval in seconds

winrm_use_cert_based_auth = False

(Boolean) Use x509 certificates in order to authenticate to theservice instance.

Expand
Table 10.29. Description of ZFS share driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

zfs_dataset_creation_options = None

(List) Define here list of options that should be applied for each dataset creation if needed. Example: compression=gzip,dedup=off. Note that, for secondary replicas option 'readonly' will be set to 'on' and for active replicas to 'off' in any way. Also, 'quota' will be equal to share size. Optional.

zfs_dataset_name_prefix = manila_share_

(String) Prefix to be used in each dataset name. Optional.

zfs_dataset_snapshot_name_prefix = manila_share_snapshot_

(String) Prefix to be used in each dataset snapshot name. Optional.

zfs_migration_snapshot_prefix = tmp_snapshot_for_share_migration_

(String) Set snapshot prefix for usage in ZFS migration. Required.

zfs_replica_snapshot_prefix = tmp_snapshot_for_replication_

(String) Set snapshot prefix for usage in ZFS replication. Required.

zfs_service_ip = None

(String) IP to be added to admin-facing export location. Required.

zfs_share_export_ip = None

(String) IP to be added to user-facing export location. Required.

zfs_share_helpers = NFS=manila.share.drivers.zfsonlinux.utils.NFSviaZFSHelper

(List) Specify list of share export helpers for ZFS storage. It should look like following: 'FOO_protocol=foo.FooClass,BAR_protocol=bar.BarClass'. Required.

zfs_ssh_private_key_path = None

(String) Path to SSH private key that should be used for SSH’ing ZFS storage host. Not used for replication operations. Optional.

zfs_ssh_user_password = None

(String) Password for user that is used for SSH’ing ZFS storage host. Not used for replication operations. They require passwordless SSH access. Optional.

zfs_ssh_username = None

(String) SSH user that will be used in 2 cases: 1) By manila-share service in case it is located on different host than its ZFS storage. 2) By manila-share services with other ZFS backends that perform replication. It is expected that SSH’ing will be key-based, passwordless. This user should be passwordless sudoer. Optional.

zfs_use_ssh = False

(Boolean) Remote ZFS storage hostname that should be used for SSH’ing. Optional.

zfs_zpool_list = None

(List) Specify list of zpools that are allowed to be used by backend. Can contain nested datasets. Examples: Without nested dataset: 'zpool_name'. With nested dataset: 'zpool_name/nested_dataset_name'. Required.

Expand
Table 10.30. Description of ZFSSA share driver configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

zfssa_auth_password = None

(String) ZFSSA management authorized userpassword.

zfssa_auth_user = None

(String) ZFSSA management authorized username.

zfssa_data_ip = None

(String) IP address for data.

zfssa_host = None

(String) ZFSSA management IP address.

zfssa_manage_policy = loose

(String) Driver policy for share manage. A strict policy checks for a schema named manila_managed, and makes sure its value is true. A loose policy does not check for the schema.

zfssa_nas_checksum = fletcher4

(String) Controls checksum used for data blocks.

zfssa_nas_compression = off

(String) Data compression-off, lzjb, gzip-2, gzip, gzip-9.

zfssa_nas_logbias = latency

(String) Controls behavior when servicing synchronous writes.

zfssa_nas_mountpoint =

(String) Location of project in ZFS/SA.

zfssa_nas_quota_snap = true

(String) Controls whether a share quota includes snapshot.

zfssa_nas_rstchown = true

(String) Controls whether file ownership can be changed.

zfssa_nas_vscan = false

(String) Controls whether the share is scanned for viruses.

zfssa_pool = None

(String) ZFSSA storage pool name.

zfssa_project = None

(String) ZFSSA project name.

zfssa_rest_timeout = None

(String) REST connection timeout (in seconds).

Expand
Table 10.31. New options
Option = default value(Type) Help string

[DEFAULT] default_share_group_type = None

(StrOpt) Default share group type to use.

[DEFAULT] hitachi_hnas_admin_network_ip = None

(StrOpt) Specify IP for mounting shares in the Admin network.

[DEFAULT] maprfs_base_volume_dir = /

(StrOpt) Path in MapRFS where share volumes must be created.

[DEFAULT] maprfs_cldb_ip = None

(ListOpt) The list of IPs or hostnames of CLDB nodes.

[DEFAULT] maprfs_clinode_ip = None

(ListOpt) The list of IPs or hostnames of nodes where mapr-core is installed.

[DEFAULT] maprfs_rename_managed_volume = True

(BoolOpt) Specify whether existing volume should be renamed when start managing.

[DEFAULT] maprfs_ssh_name = mapr

(StrOpt) Cluster admin user ssh login name.

[DEFAULT] maprfs_ssh_port = 22

(PortOpt) CLDB node SSH port.

[DEFAULT] maprfs_ssh_private_key = None

(StrOpt) Path to SSH private key for login.

[DEFAULT] maprfs_ssh_pw = None

(StrOpt) Cluster node SSH login password, This parameter is not necessary, if 'maprfs_ssh_private_key' is configured.

[DEFAULT] maprfs_zookeeper_ip = None

(ListOpt) The list of IPs or hostnames of ZooKeeper nodes.

[DEFAULT] netapp_volume_move_cutover_timeout = 3600

(IntOpt) The maximum time in seconds to wait for the completion of a volume move operation after the cutover was triggered.

[DEFAULT] qnap_management_url = None

(StrOpt) The URL to manage QNAP Storage.

[DEFAULT] qnap_nas_login = None

(StrOpt) Username for QNAP storage.

[DEFAULT] qnap_nas_password = None

(StrOpt) Password for QNAP storage.

[DEFAULT] qnap_poolname = None

(StrOpt) Pool within which QNAP shares must be created.

[DEFAULT] qnap_share_ip = None

(StrOpt) NAS share IP for mounting shares.

[DEFAULT] unity_ethernet_ports = None

(ListOpt) Comma separated list of ports that can be used for share server interfaces. Members of the list can be Unix-style glob expressions.

[DEFAULT] unity_server_meta_pool = None

(StrOpt) Pool to persist the meta-data of NAS server.

[DEFAULT] unity_share_data_pools = None

(ListOpt) Comma separated list of pools that can be used to persist share data.

[DEFAULT] vmax_ethernet_ports = None

(ListOpt) Comma separated list of ports that can be used for share server interfaces. Members of the list can be Unix-style glob expressions.

[DEFAULT] vmax_server_container = None

(StrOpt) Data mover to host the NAS server.

[DEFAULT] vmax_share_data_pools = None

(ListOpt) Comma separated list of pools that can be used to persist share data.

[DEFAULT] vnx_ethernet_ports = None

(ListOpt) Comma separated list of ports that can be used for share server interfaces. Members of the list can be Unix-style glob expressions.

[DEFAULT] vnx_server_container = None

(StrOpt) Data mover to host the NAS server.

[DEFAULT] vnx_share_data_pools = None

(ListOpt) Comma separated list of pools that can be used to persist share data.

[coordination] backend_url = file://$state_path

(StrOpt) The back end URL to use for distributed coordination.

[coordination] heartbeat = 1.0

(FloatOpt) Number of seconds between heartbeats for distributed coordination.

[coordination] initial_reconnect_backoff = 0.1

(FloatOpt) Initial number of seconds to wait after failed reconnection.

[coordination] max_reconnect_backoff = 60.0

(FloatOpt) Maximum number of seconds between sequential reconnection retries.

Expand
Table 10.32. New default values
OptionPrevious default valueNew default value

[DEFAULT] scheduler_default_filters

AvailabilityZoneFilter, CapacityFilter, CapabilitiesFilter, ConsistencyGroupFilter, DriverFilter, ShareReplicationFilter

AvailabilityZoneFilter, CapacityFilter, CapabilitiesFilter, DriverFilter, ShareReplicationFilter

Expand
Table 10.33. Deprecated options
Deprecated optionNew Option

[DEFAULT] db_backend

[database] backend

[DEFAULT] emc_interface_ports

[DEFAULT] unity_ethernet_ports

[DEFAULT] emc_interface_ports

[DEFAULT] vnx_ethernet_ports

[DEFAULT] emc_nas_pool_names

[DEFAULT] vnx_share_data_pools

[DEFAULT] emc_nas_pool_names

[DEFAULT] unity_share_data_pools

[DEFAULT] emc_nas_server_container

[DEFAULT] vnx_server_container

[DEFAULT] emc_nas_server_pool

[DEFAULT] unity_server_meta_pool

[DEFAULT] hpe3par_share_mount_path

[DEFAULT] hpe3par_share_mount_path

[DEFAULT] rpc_thread_pool_size

[DEFAULT] executor_thread_pool_size

[DEFAULT] sql_idle_timeout

[database] idle_timeout

[DEFAULT] sql_max_retries

[database] max_retries

[DEFAULT] sql_retry_interval

[database] retry_interval

[DEFAULT] use_syslog

None

Chapter 11. Telemetry

Note

The common configurations for shared services and libraries, such as database connections and RPC messaging, are described at Common configurations.

11.1. Telemetry Configuration Options

The Telemetry service collects measurements within OpenStack. Its various agents and services are configured in the /etc/ceilometer/ceilometer.conf file.

11.1.1. Description of Configuration Options

The following tables provide a comprehensive list of the Telemetry configuration options.

Expand
Table 11.1. Description of API configuration options
Configuration option = Default valueDescription

[oslo_middleware]

 

enable_proxy_headers_parsing = False

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

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 a SSL termination proxy.

Expand
Table 11.2. Description of authorization configuration options
Configuration option = Default valueDescription

[service_credentials]

 

auth_section = None

(Unknown) Config Section from which to load plugin specific options

auth_type = None

(Unknown) Authentication type to load

cafile = None

(String) PEM encoded Certificate Authority to use when verifying HTTPs connections.

certfile = None

(String) PEM encoded client certificate cert file

insecure = False

(Boolean) Verify HTTPS connections.

interface = public

(String) Type of endpoint in Identity service catalog to use for communication with OpenStack services.

keyfile = None

(String) PEM encoded client certificate key file

region_name = None

(String) Region name to use for OpenStack service endpoints.

timeout = None

(Integer) Timeout value for http requests

Expand
Table 11.3. Description of collector configuration options
Configuration option = Default valueDescription

[collector]

 

batch_size = 1

(Integer) Number of notification messages to wait before dispatching them

batch_timeout = None

(Integer) Number of seconds to wait before dispatching sampleswhen batch_size is not reached (None means indefinitely)

udp_address = 0.0.0.0

(String) Address to which the UDP socket is bound. Set to an empty string to disable.

udp_port = 4952

(Port number) Port to which the UDP socket is bound.

workers = 1

(Integer) Number of workers for collector service. default value is 1.

[dispatcher_file]

 

backup_count = 0

(Integer) The max number of the files to keep.

file_path = None

(String) Name and the location of the file to record meters.

max_bytes = 0

(Integer) The max size of the file.

Expand
Table 11.4. Description of common configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

executor_thread_pool_size = 64

(Integer) Size of executor thread pool.

graceful_shutdown_timeout = 60

(Integer) Specify a timeout after which a gracefully shutdown server will exit. Zero value means endless wait. Mutable This option can be changed without restarting.

log_options = True

(Boolean) Enables or disables logging values of all registered options when starting a service (at DEBUG level). Mutable This option can be changed without restarting.

[healthcheck]

 

backends =

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

detailed = False

(Boolean) Show more detailed information as part of the response

disable_by_file_path = None

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

disable_by_file_paths =

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

path = /healthcheck

(String) DEPRECATED: The path to respond to healtcheck requests on.

Expand
Table 11.5. Description of logging configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

nova_http_log_debug = False

(Boolean) DEPRECATED: Allow novaclient’s debug log output. (Use default_log_levels instead)

Expand
Table 11.6. Description of HTTP dispatcher configuration options
Configuration option = Default valueDescription

[dispatcher_http]

 

event_target = None

(String) The target for event data where the http request will be sent to. If this is not set, it will default to same as Sample target.

target =

(String) The target where the http request will be sent. If this is not set, no data will be posted. For example: target = http://hostname:1234/path

timeout = 5

(Integer) The max time in seconds to wait for a request to timeout.

verify_ssl = None

(String) The path to a server certificate or directory if the system CAs are not used or if a self-signed certificate is used. Set to False to ignore SSL cert verification.

Expand
Table 11.7. Description of Dispatchers configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

event_dispatchers = []

(Multi-valued) Dispatchers to process event data.

meter_dispatchers = ['database']

(Multi-valued) Dispatchers to process metering data.

Expand
Table 11.8. Description of events configuration options
Configuration option = Default valueDescription

[event]

 

definitions_cfg_file = event_definitions.yaml

(String) Configuration file for event definitions.

drop_unmatched_notifications = False

(Boolean) Drop notifications if no event definition matches. (Otherwise, we convert them with just the default traits)

store_raw = []

(Multi-valued) Store the raw notification for select priority levels (info and/or error). By default, raw details are not captured.

[notification]

 

ack_on_event_error = True

(Boolean) Acknowledge message when event persistence fails.

workers = 1

(Integer) Number of workers for notification service, default value is 1.

workload_partitioning = False

(Boolean) Enable workload partitioning, allowing multiple notification agents to be run simultaneously.

Expand
Table 11.9. Description of exchange configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

ceilometer_control_exchange = ceilometer

(String) Exchange name for ceilometer notifications.

cinder_control_exchange = cinder

(String) Exchange name for Cinder notifications.

dns_control_exchange = central

(String) Exchange name for DNS service notifications.

glance_control_exchange = glance

(String) Exchange name for Glance notifications.

heat_control_exchange = heat

(String) Exchange name for Heat notifications

http_control_exchanges = ['nova', 'glance', 'neutron', 'cinder']

(Multi-valued) Exchanges name to listen for notifications.

ironic_exchange = ironic

(String) Exchange name for Ironic notifications.

keystone_control_exchange = keystone

(String) Exchange name for Keystone notifications.

magnum_control_exchange = magnum

(String) Exchange name for Magnum notifications.

neutron_control_exchange = neutron

(String) Exchange name for Neutron notifications.

nova_control_exchange = nova

(String) Exchange name for Nova notifications.

sahara_control_exchange = sahara

(String) Exchange name for Data Processing notifications.

sample_source = openstack

(String) Source for samples emitted on this instance.

swift_control_exchange = swift

(String) Exchange name for Swift notifications.

trove_control_exchange = trove

(String) Exchange name for DBaaS notifications.

Expand
Table 11.10. Description of inspector configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

hypervisor_inspector = libvirt

(String) Inspector to use for inspecting the hypervisor layer. Known inspectors are libvirt, xenapi and powervm.

libvirt_type = kvm

(String) Libvirt domain type.

libvirt_uri =

(String) Override the default libvirt URI (which is dependent on libvirt_type).

Expand
Table 11.11. Description of IPMI configuration options
Configuration option = Default valueDescription

[ipmi]

 

node_manager_init_retry = 3

(Integer) Number of retries upon Intel Node Manager initialization failure

polling_retry = 3

(Integer) Tolerance of IPMI/NM polling failures before disable this pollster. Negative indicates retrying forever.

Expand
Table 11.12. Description of notification configuration options
Configuration option = Default valueDescription

[notification]

 

batch_size = 100

(Integer) Number of notification messages to wait before publishing them. Batching is advised when transformations areapplied in pipeline.

batch_timeout = 5

(Integer) Number of seconds to wait before publishing sampleswhen batch_size is not reached (None means indefinitely)

disable_non_metric_meters = True

(Boolean) WARNING: Ceilometer historically offered the ability to store events as meters. This usage is NOT advised as it can flood the metering database and cause performance degradation.

messaging_urls = []

(Multi-valued) Messaging URLs to listen for notifications. Example: rabbit://user:pass@host1:port1[,user:pass@hostN:portN]/virtual_host (DEFAULT/transport_url is used if empty). This is useful when you have dedicate messaging nodes for each service, for example, all nova notifications go to rabbit-nova:5672, while all cinder notifications go to rabbit-cinder:5672.

pipeline_processing_queues = 10

(Integer) Number of queues to parallelize workload across. This value should be larger than the number of active notification agents for optimal results. WARNING: Once set, lowering this value may result in lost data.

Expand
Table 11.13. Description of Redis configuration options
Configuration option = Default valueDescription

[matchmaker_redis]

 

check_timeout = 20000

(Integer) Time in ms to wait before the transaction is killed.

host = 127.0.0.1

(String) DEPRECATED: Host to locate redis. Replaced by [DEFAULT]/transport_url

password =

(String) DEPRECATED: Password for Redis server (optional). Replaced by [DEFAULT]/transport_url

port = 6379

(Port number) DEPRECATED: Use this port to connect to redis host. Replaced by [DEFAULT]/transport_url

sentinel_group_name = oslo-messaging-zeromq

(String) Redis replica set name.

sentinel_hosts =

(List) DEPRECATED: List of Redis Sentinel hosts (fault tolerance mode), e.g., [host:port, host1:port …​ ] Replaced by [DEFAULT]/transport_url

socket_timeout = 10000

(Integer) Timeout in ms on blocking socket operations.

wait_timeout = 2000

(Integer) Time in ms to wait between connection attempts.

Expand
Table 11.14. Description of RADOS gateway configuration options
Configuration option = Default valueDescription

[rgw_admin_credentials]

 

access_key = None

(String) Access key for Radosgw Admin.

secret_key = None

(String) Secret key for Radosgw Admin.

Expand
Table 11.15. Description of service types configuration options
Configuration option = Default valueDescription

[service_types]

 

glance = image

(String) Glance service type.

kwapi = energy

(String) Kwapi service type.

neutron = network

(String) Neutron service type.

neutron_lbaas_version = v2

(String) Neutron load balancer version.

nova = compute

(String) Nova service type.

radosgw = object-store

(String) Radosgw service type.

swift = object-store

(String) Swift service type.

Expand
Table 11.16. Description of storage configuration options
Configuration option = Default valueDescription

[storage]

 

max_retries = 10

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

retry_interval = 10

(Integer) Interval (in seconds) between retries of connection.

Expand
Table 11.17. Description of swift configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

reseller_prefix = AUTH_

(String) Swift reseller prefix. Must be on par with reseller_prefix in proxy-server.conf.

Expand
Table 11.18. Description of TripleO configuration options
Configuration option = Default valueDescription

[hardware]

 

meter_definitions_file = snmp.yaml

(String) Configuration file for defining hardware snmp meters.

readonly_user_auth_proto = None

(String) SNMPd v3 authentication algorithm of all the nodes running in the cloud

readonly_user_name = ro_snmp_user

(String) SNMPd user name of all nodes running in the cloud.

readonly_user_password = password

(String) SNMPd v3 authentication password of all the nodes running in the cloud.

readonly_user_priv_password = None

(String) SNMPd v3 encryption password of all the nodes running in the cloud.

readonly_user_priv_proto = None

(String) SNMPd v3 encryption algorithm of all the nodes running in the cloud

url_scheme = snmp://

(String) URL scheme to use for hardware nodes.

Expand
Table 11.19. Description of Message service configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

zaqar_control_exchange = zaqar

(String) Exchange name for Messaging service notifications.

Expand
Table 11.20. New options
Option = default value(Type) Help string

[DEFAULT] graceful_shutdown_timeout = 60

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

[DEFAULT] log_options = True

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

Expand
Table 11.21. Deprecated options
Deprecated optionNew Option

[DEFAULT] rpc_thread_pool_size

[DEFAULT] executor_thread_pool_size

[DEFAULT] use_syslog

None

[hyperv] force_volumeutils_v1

None

11.2. Telemetry Alarming Configuration Options

The Telemetry Alarming services trigger alarms when the collected metering or event data break the defined rules. Their options are configured in the /etc/aodh/aodh.conf file.

11.2.1. Description of Configuration Options

The following tables provide a comprehensive list of the Telemetry Alarming configuration options.

Expand
Table 11.22. Description of API configuration options
Configuration option = Default valueDescription

[api]

 

alarm_max_actions = -1

(Integer) Maximum count of actions for each state of an alarm, non-positive number means no limit.

enable_combination_alarms = False

(Boolean) DEPRECATED: Enable deprecated combination alarms. Combination alarms are deprecated. This option and combination alarms will be removed in Aodh 5.0.

paste_config = /usr/lib/python/site-packages/aodh/aodh/api/api-paste.ini

(String) Configuration file for WSGI definition of API.

project_alarm_quota = None

(Integer) Maximum number of alarms defined for a project.

user_alarm_quota = None

(Integer) Maximum number of alarms defined for a user.

[oslo_middleware]

 

enable_proxy_headers_parsing = False

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

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 a SSL termination proxy.

Expand
Table 11.23. Description of common configuration options
Configuration option = Default valueDescription

[DEFAULT]

 

additional_ingestion_lag = 0

(Integer) The number of seconds to extend the evaluation windows to compensate the reporting/ingestion lag.

evaluation_interval = 60

(Integer) Period of evaluation cycle, should be >= than configured pipeline interval for collection of underlying meters.

event_alarm_cache_ttl = 60

(Integer) TTL of event alarm caches, in seconds. Set to 0 to disable caching.

executor_thread_pool_size = 64

(Integer) Size of executor thread pool.

http_timeout = 600

(Integer) Timeout seconds for HTTP requests. Set it to None to disable timeout.

notifier_topic = alarming

(String) The topic that aodh uses for alarm notifier messages.

record_history = True

(Boolean) Record alarm change events.

rest_notifier_ca_bundle_certificate_path = None

(String) SSL CA_BUNDLE certificate for REST notifier

rest_notifier_certificate_file =

(String) SSL Client certificate file for REST notifier.

rest_notifier_certificate_key =

(String) SSL Client private key file for REST notifier.

rest_notifier_max_retries = 0

(Integer) Number of retries for REST notifier

rest_notifier_ssl_verify = True

(Boolean) Whether to verify the SSL Server certificate when calling alarm action.

[database]

 

alarm_history_time_to_live = -1

(Integer) Number of seconds that alarm histories are kept in the database for (⇐ 0 means forever).

[evaluator]

 

workers = 1

(Integer) Number of workers for evaluator service. default value is 1.

[healthcheck]

 

backends =

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

detailed = False

(Boolean) Show more detailed information as part of the response

disable_by_file_path = None

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

disable_by_file_paths =

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

path = /healthcheck

(String) DEPRECATED: The path to respond to healtcheck requests on.

[listener]

 

batch_size = 1

(Integer) Number of notification messages to wait before dispatching them.

batch_timeout = None

(Integer) Number of seconds to wait before dispatching samples when batch_size is not reached (None means indefinitely).

event_alarm_topic = alarm.all

(String) The topic that aodh uses for event alarm evaluation.

workers = 1

(Integer) Number of workers for listener service. default value is 1.

[notifier]

 

batch_size = 1

(Integer) Number of notification messages to wait before dispatching them.

batch_timeout = None

(Integer) Number of seconds to wait before dispatching samples when batch_size is not reached (None means indefinitely).

workers = 1

(Integer) Number of workers for notifier service. default value is 1.

[service_credentials]

 

interface = public

(String) Type of endpoint in Identity service catalog to use for communication with OpenStack services.

region_name = None

(String) Region name to use for OpenStack service endpoints.

[service_types]

 

zaqar = messaging

(String) Message queue service type.

Expand
Table 11.24. Description of coordination configuration options
Configuration option = Default valueDescription

[coordination]

 

backend_url = None

(String) The backend URL to use for distributed coordination. If left empty, per-deployment central agent and per-host compute agent won’t do workload partitioning and will only function correctly if a single instance of that service is running.

check_watchers = 10.0

(Floating point) Number of seconds between checks to see if group membership has changed

heartbeat = 1.0

(Floating point) Number of seconds between heartbeats for distributed coordination.

max_retry_interval = 30

(Integer) Maximum number of seconds between retry to join partitioning group

retry_backoff = 1

(Integer) Retry backoff factor when retrying to connect with coordination backend

Expand
Table 11.25. Description of Redis configuration options
Configuration option = Default valueDescription

[matchmaker_redis]

 

check_timeout = 20000

(Integer) Time in ms to wait before the transaction is killed.

host = 127.0.0.1

(String) DEPRECATED: Host to locate redis. Replaced by [DEFAULT]/transport_url

password =

(String) DEPRECATED: Password for Redis server (optional). Replaced by [DEFAULT]/transport_url

port = 6379

(Port number) DEPRECATED: Use this port to connect to redis host. Replaced by [DEFAULT]/transport_url

sentinel_group_name = oslo-messaging-zeromq

(String) Redis replica set name.

sentinel_hosts =

(List) DEPRECATED: List of Redis Sentinel hosts (fault tolerance mode), e.g., [host:port, host1:port …​ ] Replaced by [DEFAULT]/transport_url

socket_timeout = 10000

(Integer) Timeout in ms on blocking socket operations.

wait_timeout = 2000

(Integer) Time in ms to wait between connection attempts.

Expand
Table 11.26. New options
Option = default value(Type) Help string

[api] auth_mode = keystone

(StrOpt) Authentication mode to use. Unset to disable authentication

Expand
Table 11.27. New default values
OptionPrevious default valueNew default value

[api] paste_config

api_paste.ini

/usr/lib/python/site-packages/aodh/aodh/api/api-paste.ini

Expand
Table 11.28. Deprecated options
Deprecated optionNew Option

[DEFAULT] rpc_thread_pool_size

[DEFAULT] executor_thread_pool_size

[DEFAULT] use_syslog

None

Legal Notice

Copyright © 2017 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Portions adopted from the OpenStack Configuration Reference. See "Configuration Reference" in Red Hat OpenStack Platform Licenses for Documentation.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, MetaMatrix, Fedora, the Infinity Logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack Logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
Retour au début
Red Hat logoGithubredditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

Theme

© 2025 Red Hat