Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

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.

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.

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.

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

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.

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

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.

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.

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

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

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.

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.

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.

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.

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.

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.

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.

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

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

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

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

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.

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.

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.

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

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

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

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.

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.

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

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

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

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.

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.

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

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

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

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.

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.

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.

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

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.

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.

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

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.

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.

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

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

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

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

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)

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

4.1.2. New, updated, and deprecated options in Ocata for Compute

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

Table 4.52. New default values

OptionPrevious default valueNew default value

[DEFAULT] use_neutron

False

True

[libvirt] live_migration_progress_timeout

150

0

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