openstack-helm/nova/templates/etc/_nova.conf.tpl
Pete Birley 9979444a6a Fix nova config file
This commit resolves an error that was introduced in:
 * 16508c32ee

It also moves to a mostly autogenerated config file produced
by the Docker Container within the openstack-helm repo.

Additionally it also removes some extranious whitespace

Change-Id: I3b6d153c89783fa5f818df7d416c565a3d682552
2017-04-11 15:16:20 -05:00

10436 lines
461 KiB
Smarty

# Copyright 2017 The Openstack-Helm Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
{{ include "nova.conf.nova_values_skeleton" .Values.conf.nova | trunc 0 }}
{{ include "nova.conf.nova" .Values.conf.nova }}
{{- define "nova.conf.nova_values_skeleton" -}}
{{- if not .default -}}{{- set . "default" dict -}}{{- end -}}
{{- if not .default.nova -}}{{- set .default "nova" dict -}}{{- end -}}
{{- if not .default.nova.conf -}}{{- set .default.nova "conf" dict -}}{{- end -}}
{{- if not .default.oslo -}}{{- set .default "oslo" dict -}}{{- end -}}
{{- if not .default.oslo.log -}}{{- set .default.oslo "log" dict -}}{{- end -}}
{{- if not .default.oslo.messaging -}}{{- set .default.oslo "messaging" dict -}}{{- end -}}
{{- if not .default.oslo.service -}}{{- set .default.oslo "service" dict -}}{{- end -}}
{{- if not .default.oslo.service.periodic_task -}}{{- set .default.oslo.service "periodic_task" dict -}}{{- end -}}
{{- if not .default.oslo.service.service -}}{{- set .default.oslo.service "service" dict -}}{{- end -}}
{{- if not .api_database -}}{{- set . "api_database" dict -}}{{- end -}}
{{- if not .api_database.nova -}}{{- set .api_database "nova" dict -}}{{- end -}}
{{- if not .api_database.nova.conf -}}{{- set .api_database.nova "conf" dict -}}{{- end -}}
{{- if not .barbican -}}{{- set . "barbican" dict -}}{{- end -}}
{{- if not .barbican.nova -}}{{- set .barbican "nova" dict -}}{{- end -}}
{{- if not .barbican.nova.conf -}}{{- set .barbican.nova "conf" dict -}}{{- end -}}
{{- if not .cache -}}{{- set . "cache" dict -}}{{- end -}}
{{- if not .cache.nova -}}{{- set .cache "nova" dict -}}{{- end -}}
{{- if not .cache.nova.conf -}}{{- set .cache.nova "conf" dict -}}{{- end -}}
{{- if not .cells -}}{{- set . "cells" dict -}}{{- end -}}
{{- if not .cells.nova -}}{{- set .cells "nova" dict -}}{{- end -}}
{{- if not .cells.nova.conf -}}{{- set .cells.nova "conf" dict -}}{{- end -}}
{{- if not .cinder -}}{{- set . "cinder" dict -}}{{- end -}}
{{- if not .cinder.nova -}}{{- set .cinder "nova" dict -}}{{- end -}}
{{- if not .cinder.nova.conf -}}{{- set .cinder.nova "conf" dict -}}{{- end -}}
{{- if not .cloudpipe -}}{{- set . "cloudpipe" dict -}}{{- end -}}
{{- if not .cloudpipe.nova -}}{{- set .cloudpipe "nova" dict -}}{{- end -}}
{{- if not .cloudpipe.nova.conf -}}{{- set .cloudpipe.nova "conf" dict -}}{{- end -}}
{{- if not .conductor -}}{{- set . "conductor" dict -}}{{- end -}}
{{- if not .conductor.nova -}}{{- set .conductor "nova" dict -}}{{- end -}}
{{- if not .conductor.nova.conf -}}{{- set .conductor.nova "conf" dict -}}{{- end -}}
{{- if not .cors -}}{{- set . "cors" dict -}}{{- end -}}
{{- if not .cors.oslo -}}{{- set .cors "oslo" dict -}}{{- end -}}
{{- if not .cors.oslo.middleware -}}{{- set .cors.oslo "middleware" dict -}}{{- end -}}
{{- if not .cors.subdomain -}}{{- set .cors "subdomain" dict -}}{{- end -}}
{{- if not .cors.subdomain.oslo -}}{{- set .cors.subdomain "oslo" dict -}}{{- end -}}
{{- if not .cors.subdomain.oslo.middleware -}}{{- set .cors.subdomain.oslo "middleware" dict -}}{{- end -}}
{{- if not .crypto -}}{{- set . "crypto" dict -}}{{- end -}}
{{- if not .crypto.nova -}}{{- set .crypto "nova" dict -}}{{- end -}}
{{- if not .crypto.nova.conf -}}{{- set .crypto.nova "conf" dict -}}{{- end -}}
{{- if not .database -}}{{- set . "database" dict -}}{{- end -}}
{{- if not .database.oslo -}}{{- set .database "oslo" dict -}}{{- end -}}
{{- if not .database.oslo.db -}}{{- set .database.oslo "db" dict -}}{{- end -}}
{{- if not .database.oslo.db.concurrency -}}{{- set .database.oslo.db "concurrency" dict -}}{{- end -}}
{{- if not .ephemeral_storage_encryption -}}{{- set . "ephemeral_storage_encryption" dict -}}{{- end -}}
{{- if not .ephemeral_storage_encryption.nova -}}{{- set .ephemeral_storage_encryption "nova" dict -}}{{- end -}}
{{- if not .ephemeral_storage_encryption.nova.conf -}}{{- set .ephemeral_storage_encryption.nova "conf" dict -}}{{- end -}}
{{- if not .glance -}}{{- set . "glance" dict -}}{{- end -}}
{{- if not .glance.nova -}}{{- set .glance "nova" dict -}}{{- end -}}
{{- if not .glance.nova.conf -}}{{- set .glance.nova "conf" dict -}}{{- end -}}
{{- if not .guestfs -}}{{- set . "guestfs" dict -}}{{- end -}}
{{- if not .guestfs.nova -}}{{- set .guestfs "nova" dict -}}{{- end -}}
{{- if not .guestfs.nova.conf -}}{{- set .guestfs.nova "conf" dict -}}{{- end -}}
{{- if not .hyperv -}}{{- set . "hyperv" dict -}}{{- end -}}
{{- if not .hyperv.nova -}}{{- set .hyperv "nova" dict -}}{{- end -}}
{{- if not .hyperv.nova.conf -}}{{- set .hyperv.nova "conf" dict -}}{{- end -}}
{{- if not .image_file_url -}}{{- set . "image_file_url" dict -}}{{- end -}}
{{- if not .image_file_url.nova -}}{{- set .image_file_url "nova" dict -}}{{- end -}}
{{- if not .image_file_url.nova.conf -}}{{- set .image_file_url.nova "conf" dict -}}{{- end -}}
{{- if not .ironic -}}{{- set . "ironic" dict -}}{{- end -}}
{{- if not .ironic.nova -}}{{- set .ironic "nova" dict -}}{{- end -}}
{{- if not .ironic.nova.conf -}}{{- set .ironic.nova "conf" dict -}}{{- end -}}
{{- if not .key_manager -}}{{- set . "key_manager" dict -}}{{- end -}}
{{- if not .key_manager.nova -}}{{- set .key_manager "nova" dict -}}{{- end -}}
{{- if not .key_manager.nova.conf -}}{{- set .key_manager.nova "conf" dict -}}{{- end -}}
{{- if not .keystone_authtoken -}}{{- set . "keystone_authtoken" dict -}}{{- end -}}
{{- if not .keystone_authtoken.keystonemiddleware -}}{{- set .keystone_authtoken "keystonemiddleware" dict -}}{{- end -}}
{{- if not .keystone_authtoken.keystonemiddleware.auth_token -}}{{- set .keystone_authtoken.keystonemiddleware "auth_token" dict -}}{{- end -}}
{{- if not .libvirt -}}{{- set . "libvirt" dict -}}{{- end -}}
{{- if not .libvirt.nova -}}{{- set .libvirt "nova" dict -}}{{- end -}}
{{- if not .libvirt.nova.conf -}}{{- set .libvirt.nova "conf" dict -}}{{- end -}}
{{- if not .matchmaker_redis -}}{{- set . "matchmaker_redis" dict -}}{{- end -}}
{{- if not .matchmaker_redis.oslo -}}{{- set .matchmaker_redis "oslo" dict -}}{{- end -}}
{{- if not .matchmaker_redis.oslo.messaging -}}{{- set .matchmaker_redis.oslo "messaging" dict -}}{{- end -}}
{{- if not .metrics -}}{{- set . "metrics" dict -}}{{- end -}}
{{- if not .metrics.nova -}}{{- set .metrics "nova" dict -}}{{- end -}}
{{- if not .metrics.nova.conf -}}{{- set .metrics.nova "conf" dict -}}{{- end -}}
{{- if not .mks -}}{{- set . "mks" dict -}}{{- end -}}
{{- if not .mks.nova -}}{{- set .mks "nova" dict -}}{{- end -}}
{{- if not .mks.nova.conf -}}{{- set .mks.nova "conf" dict -}}{{- end -}}
{{- if not .neutron -}}{{- set . "neutron" dict -}}{{- end -}}
{{- if not .neutron.nova -}}{{- set .neutron "nova" dict -}}{{- end -}}
{{- if not .neutron.nova.conf -}}{{- set .neutron.nova "conf" dict -}}{{- end -}}
{{- if not .osapi_v21 -}}{{- set . "osapi_v21" dict -}}{{- end -}}
{{- if not .osapi_v21.nova -}}{{- set .osapi_v21 "nova" dict -}}{{- end -}}
{{- if not .osapi_v21.nova.conf -}}{{- set .osapi_v21.nova "conf" dict -}}{{- end -}}
{{- if not .oslo_concurrency -}}{{- set . "oslo_concurrency" dict -}}{{- end -}}
{{- if not .oslo_concurrency.oslo -}}{{- set .oslo_concurrency "oslo" dict -}}{{- end -}}
{{- if not .oslo_concurrency.oslo.concurrency -}}{{- set .oslo_concurrency.oslo "concurrency" dict -}}{{- end -}}
{{- if not .oslo_messaging_amqp -}}{{- set . "oslo_messaging_amqp" dict -}}{{- end -}}
{{- if not .oslo_messaging_amqp.oslo -}}{{- set .oslo_messaging_amqp "oslo" dict -}}{{- end -}}
{{- if not .oslo_messaging_amqp.oslo.messaging -}}{{- set .oslo_messaging_amqp.oslo "messaging" dict -}}{{- end -}}
{{- if not .oslo_messaging_notifications -}}{{- set . "oslo_messaging_notifications" dict -}}{{- end -}}
{{- if not .oslo_messaging_notifications.oslo -}}{{- set .oslo_messaging_notifications "oslo" dict -}}{{- end -}}
{{- if not .oslo_messaging_notifications.oslo.messaging -}}{{- set .oslo_messaging_notifications.oslo "messaging" dict -}}{{- end -}}
{{- if not .oslo_messaging_rabbit -}}{{- set . "oslo_messaging_rabbit" dict -}}{{- end -}}
{{- if not .oslo_messaging_rabbit.oslo -}}{{- set .oslo_messaging_rabbit "oslo" dict -}}{{- end -}}
{{- if not .oslo_messaging_rabbit.oslo.messaging -}}{{- set .oslo_messaging_rabbit.oslo "messaging" dict -}}{{- end -}}
{{- if not .oslo_messaging_zmq -}}{{- set . "oslo_messaging_zmq" dict -}}{{- end -}}
{{- if not .oslo_messaging_zmq.oslo -}}{{- set .oslo_messaging_zmq "oslo" dict -}}{{- end -}}
{{- if not .oslo_messaging_zmq.oslo.messaging -}}{{- set .oslo_messaging_zmq.oslo "messaging" dict -}}{{- end -}}
{{- if not .oslo_middleware -}}{{- set . "oslo_middleware" dict -}}{{- end -}}
{{- if not .oslo_middleware.oslo -}}{{- set .oslo_middleware "oslo" dict -}}{{- end -}}
{{- if not .oslo_middleware.oslo.middleware -}}{{- set .oslo_middleware.oslo "middleware" dict -}}{{- end -}}
{{- if not .oslo_policy -}}{{- set . "oslo_policy" dict -}}{{- end -}}
{{- if not .oslo_policy.oslo -}}{{- set .oslo_policy "oslo" dict -}}{{- end -}}
{{- if not .oslo_policy.oslo.policy -}}{{- set .oslo_policy.oslo "policy" dict -}}{{- end -}}
{{- if not .placement -}}{{- set . "placement" dict -}}{{- end -}}
{{- if not .placement.nova -}}{{- set .placement "nova" dict -}}{{- end -}}
{{- if not .placement.nova.conf -}}{{- set .placement.nova "conf" dict -}}{{- end -}}
{{- if not .placement_database -}}{{- set . "placement_database" dict -}}{{- end -}}
{{- if not .placement_database.nova -}}{{- set .placement_database "nova" dict -}}{{- end -}}
{{- if not .placement_database.nova.conf -}}{{- set .placement_database.nova "conf" dict -}}{{- end -}}
{{- if not .rdp -}}{{- set . "rdp" dict -}}{{- end -}}
{{- if not .rdp.nova -}}{{- set .rdp "nova" dict -}}{{- end -}}
{{- if not .rdp.nova.conf -}}{{- set .rdp.nova "conf" dict -}}{{- end -}}
{{- if not .remote_debug -}}{{- set . "remote_debug" dict -}}{{- end -}}
{{- if not .remote_debug.nova -}}{{- set .remote_debug "nova" dict -}}{{- end -}}
{{- if not .remote_debug.nova.conf -}}{{- set .remote_debug.nova "conf" dict -}}{{- end -}}
{{- if not .serial_console -}}{{- set . "serial_console" dict -}}{{- end -}}
{{- if not .serial_console.nova -}}{{- set .serial_console "nova" dict -}}{{- end -}}
{{- if not .serial_console.nova.conf -}}{{- set .serial_console.nova "conf" dict -}}{{- end -}}
{{- if not .spice -}}{{- set . "spice" dict -}}{{- end -}}
{{- if not .spice.nova -}}{{- set .spice "nova" dict -}}{{- end -}}
{{- if not .spice.nova.conf -}}{{- set .spice.nova "conf" dict -}}{{- end -}}
{{- if not .ssl -}}{{- set . "ssl" dict -}}{{- end -}}
{{- if not .ssl.nova -}}{{- set .ssl "nova" dict -}}{{- end -}}
{{- if not .ssl.nova.conf -}}{{- set .ssl.nova "conf" dict -}}{{- end -}}
{{- if not .trusted_computing -}}{{- set . "trusted_computing" dict -}}{{- end -}}
{{- if not .trusted_computing.nova -}}{{- set .trusted_computing "nova" dict -}}{{- end -}}
{{- if not .trusted_computing.nova.conf -}}{{- set .trusted_computing.nova "conf" dict -}}{{- end -}}
{{- if not .upgrade_levels -}}{{- set . "upgrade_levels" dict -}}{{- end -}}
{{- if not .upgrade_levels.nova -}}{{- set .upgrade_levels "nova" dict -}}{{- end -}}
{{- if not .upgrade_levels.nova.conf -}}{{- set .upgrade_levels.nova "conf" dict -}}{{- end -}}
{{- if not .vmware -}}{{- set . "vmware" dict -}}{{- end -}}
{{- if not .vmware.nova -}}{{- set .vmware "nova" dict -}}{{- end -}}
{{- if not .vmware.nova.conf -}}{{- set .vmware.nova "conf" dict -}}{{- end -}}
{{- if not .vnc -}}{{- set . "vnc" dict -}}{{- end -}}
{{- if not .vnc.nova -}}{{- set .vnc "nova" dict -}}{{- end -}}
{{- if not .vnc.nova.conf -}}{{- set .vnc.nova "conf" dict -}}{{- end -}}
{{- if not .workarounds -}}{{- set . "workarounds" dict -}}{{- end -}}
{{- if not .workarounds.nova -}}{{- set .workarounds "nova" dict -}}{{- end -}}
{{- if not .workarounds.nova.conf -}}{{- set .workarounds.nova "conf" dict -}}{{- end -}}
{{- if not .wsgi -}}{{- set . "wsgi" dict -}}{{- end -}}
{{- if not .wsgi.nova -}}{{- set .wsgi "nova" dict -}}{{- end -}}
{{- if not .wsgi.nova.conf -}}{{- set .wsgi.nova "conf" dict -}}{{- end -}}
{{- if not .xenserver -}}{{- set . "xenserver" dict -}}{{- end -}}
{{- if not .xenserver.nova -}}{{- set .xenserver "nova" dict -}}{{- end -}}
{{- if not .xenserver.nova.conf -}}{{- set .xenserver.nova "conf" dict -}}{{- end -}}
{{- if not .xvp -}}{{- set . "xvp" dict -}}{{- end -}}
{{- if not .xvp.nova -}}{{- set .xvp "nova" dict -}}{{- end -}}
{{- if not .xvp.nova.conf -}}{{- set .xvp.nova "conf" dict -}}{{- end -}}
{{- end -}}
{{- define "nova.conf.nova" -}}
[DEFAULT]
#
# From nova.conf
#
#
# 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.
# (string value)
# Allowed values: keystone, noauth2
# from .default.nova.conf.auth_strategy
{{ if not .default.nova.conf.auth_strategy }}#{{ end }}auth_strategy = {{ .default.nova.conf.auth_strategy | default "keystone" }}
#
# 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.
# (boolean value)
# from .default.nova.conf.use_forwarded_for
{{ if not .default.nova.conf.use_forwarded_for }}#{{ end }}use_forwarded_for = {{ .default.nova.conf.use_forwarded_for | default "false" }}
#
# 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.
# (string value)
# from .default.nova.conf.config_drive_skip_versions
{{ if not .default.nova.conf.config_drive_skip_versions }}#{{ end }}config_drive_skip_versions = {{ .default.nova.conf.config_drive_skip_versions | default "1.0 2007-01-19 2007-03-01 2007-08-29 2007-10-10 2007-12-15 2008-02-01 2008-09-01" }}
# DEPRECATED:
# 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.
# (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# from .default.nova.conf.vendordata_driver
{{ if not .default.nova.conf.vendordata_driver }}#{{ end }}vendordata_driver = {{ .default.nova.conf.vendordata_driver | default "nova.api.metadata.vendordata_json.JsonFileVendorData" }}
#
# 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
# (list value)
# from .default.nova.conf.vendordata_providers
{{ if not .default.nova.conf.vendordata_providers }}#{{ end }}vendordata_providers = {{ .default.nova.conf.vendordata_providers | default "" }}
#
# 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.
# (list value)
# from .default.nova.conf.vendordata_dynamic_targets
{{ if not .default.nova.conf.vendordata_dynamic_targets }}#{{ end }}vendordata_dynamic_targets = {{ .default.nova.conf.vendordata_dynamic_targets | default "" }}
#
# 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
# (string value)
# from .default.nova.conf.vendordata_dynamic_ssl_certfile
{{ if not .default.nova.conf.vendordata_dynamic_ssl_certfile }}#{{ end }}vendordata_dynamic_ssl_certfile = {{ .default.nova.conf.vendordata_dynamic_ssl_certfile | default "" }}
#
# 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
# (integer value)
# Minimum value: 3
# from .default.nova.conf.vendordata_dynamic_connect_timeout
{{ if not .default.nova.conf.vendordata_dynamic_connect_timeout }}#{{ end }}vendordata_dynamic_connect_timeout = {{ .default.nova.conf.vendordata_dynamic_connect_timeout | default "5" }}
#
# 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
# (integer value)
# Minimum value: 0
# from .default.nova.conf.vendordata_dynamic_read_timeout
{{ if not .default.nova.conf.vendordata_dynamic_read_timeout }}#{{ end }}vendordata_dynamic_read_timeout = {{ .default.nova.conf.vendordata_dynamic_read_timeout | default "5" }}
#
# 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.
# (integer value)
# Minimum value: 0
# from .default.nova.conf.metadata_cache_expiration
{{ if not .default.nova.conf.metadata_cache_expiration }}#{{ end }}metadata_cache_expiration = {{ .default.nova.conf.metadata_cache_expiration | default "15" }}
#
# 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).
# (string value)
# from .default.nova.conf.vendordata_jsonfile_path
{{ if not .default.nova.conf.vendordata_jsonfile_path }}#{{ end }}vendordata_jsonfile_path = {{ .default.nova.conf.vendordata_jsonfile_path | default "<None>" }}
#
# 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.
# (integer value)
# Minimum value: 0
# from .default.nova.conf.osapi_max_limit
{{ if not .default.nova.conf.osapi_max_limit }}#{{ end }}osapi_max_limit = {{ .default.nova.conf.osapi_max_limit | default "1000" }}
#
# 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).
# (string value)
# from .default.nova.conf.osapi_compute_link_prefix
{{ if not .default.nova.conf.osapi_compute_link_prefix }}#{{ end }}osapi_compute_link_prefix = {{ .default.nova.conf.osapi_compute_link_prefix | default "<None>" }}
#
# 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).
# (string value)
# from .default.nova.conf.osapi_glance_link_prefix
{{ if not .default.nova.conf.osapi_glance_link_prefix }}#{{ end }}osapi_glance_link_prefix = {{ .default.nova.conf.osapi_glance_link_prefix | default "<None>" }}
#
# 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").
# (boolean value)
# from .default.nova.conf.allow_instance_snapshots
{{ if not .default.nova.conf.allow_instance_snapshots }}#{{ end }}allow_instance_snapshots = {{ .default.nova.conf.allow_instance_snapshots | default "true" }}
#
# 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"
# (list value)
# from .default.nova.conf.osapi_hide_server_address_states
{{ if not .default.nova.conf.osapi_hide_server_address_states }}#{{ end }}osapi_hide_server_address_states = {{ .default.nova.conf.osapi_hide_server_address_states | default "building" }}
# The full path to the fping binary. (string value)
# from .default.nova.conf.fping_path
{{ if not .default.nova.conf.fping_path }}#{{ end }}fping_path = {{ .default.nova.conf.fping_path | default "/usr/sbin/fping" }}
# DEPRECATED:
# This option is used to enable or disable quota checking for tenant networks.
#
# Related options:
#
# * quota_networks
# (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason:
# CRUD operations on tenant networks are only available when using nova-network
# and nova-network is itself deprecated.
# from .default.nova.conf.enable_network_quota
{{ if not .default.nova.conf.enable_network_quota }}#{{ end }}enable_network_quota = {{ .default.nova.conf.enable_network_quota | default "false" }}
#
# When True, the TenantNetworkController will query the Neutron API to get the
# default networks to use.
#
# Related options:
#
# * neutron_default_tenant_id
# (boolean value)
# from .default.nova.conf.use_neutron_default_nets
{{ if not .default.nova.conf.use_neutron_default_nets }}#{{ end }}use_neutron_default_nets = {{ .default.nova.conf.use_neutron_default_nets | default "false" }}
#
# 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
# (string value)
# from .default.nova.conf.neutron_default_tenant_id
{{ if not .default.nova.conf.neutron_default_tenant_id }}#{{ end }}neutron_default_tenant_id = {{ .default.nova.conf.neutron_default_tenant_id | default "default" }}
# DEPRECATED:
# This option controls the number of private networks that can be created per
# project (or per tenant).
#
# Related options:
#
# * enable_network_quota
# (integer value)
# Minimum value: 0
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason:
# CRUD operations on tenant networks are only available when using nova-network
# and nova-network is itself deprecated.
# from .default.nova.conf.quota_networks
{{ if not .default.nova.conf.quota_networks }}#{{ end }}quota_networks = {{ .default.nova.conf.quota_networks | default "3" }}
#
# 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.
# (boolean value)
# from .default.nova.conf.enable_instance_password
{{ if not .default.nova.conf.enable_instance_password }}#{{ end }}enable_instance_password = {{ .default.nova.conf.enable_instance_password | default "true" }}
#
# 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
#
# (string value)
# from .default.nova.conf.internal_service_availability_zone
{{ if not .default.nova.conf.internal_service_availability_zone }}#{{ end }}internal_service_availability_zone = {{ .default.nova.conf.internal_service_availability_zone | default "internal" }}
#
# 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
#
# (string value)
# from .default.nova.conf.default_availability_zone
{{ if not .default.nova.conf.default_availability_zone }}#{{ end }}default_availability_zone = {{ .default.nova.conf.default_availability_zone | default "nova" }}
# Length of generated instance admin passwords. (integer value)
# Minimum value: 0
# from .default.nova.conf.password_length
{{ if not .default.nova.conf.password_length }}#{{ end }}password_length = {{ .default.nova.conf.password_length | default "12" }}
#
# 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.
# (string value)
# from .default.nova.conf.instance_usage_audit_period
{{ if not .default.nova.conf.instance_usage_audit_period }}#{{ end }}instance_usage_audit_period = {{ .default.nova.conf.instance_usage_audit_period | default "month" }}
#
# 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.
# (boolean value)
# from .default.nova.conf.use_rootwrap_daemon
{{ if not .default.nova.conf.use_rootwrap_daemon }}#{{ end }}use_rootwrap_daemon = {{ .default.nova.conf.use_rootwrap_daemon | default "false" }}
#
# 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.
# (string value)
# from .default.nova.conf.rootwrap_config
{{ if not .default.nova.conf.rootwrap_config }}#{{ end }}rootwrap_config = {{ .default.nova.conf.rootwrap_config | default "/etc/nova/rootwrap.conf" }}
# Explicitly specify the temporary working directory. (string value)
# from .default.nova.conf.tempdir
{{ if not .default.nova.conf.tempdir }}#{{ end }}tempdir = {{ .default.nova.conf.tempdir | default "<None>" }}
#
# Determine if monkey patching should be applied.
#
# Related options:
#
# * ``monkey_patch_modules``: This must have values set for this option to
# have
# any effect
# (boolean value)
# from .default.nova.conf.monkey_patch
{{ if not .default.nova.conf.monkey_patch }}#{{ end }}monkey_patch = {{ .default.nova.conf.monkey_patch | default "false" }}
#
# 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
# (list value)
# from .default.nova.conf.monkey_patch_modules
{{ if not .default.nova.conf.monkey_patch_modules }}#{{ end }}monkey_patch_modules = {{ .default.nova.conf.monkey_patch_modules | default "nova.compute.api:nova.notifications.notify_decorator" }}
# DEPRECATED:
# Determines the RPC topic that the cert nodes listen on. For most deployments
# there is no need to ever change it.
# (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason:
# Since the nova-cert service is marked for deprecation, the feature to change
# RPC topic that cert nodes listen may be removed as early as the 15.0.0
# Ocata release.
# from .default.nova.conf.cert_topic
{{ if not .default.nova.conf.cert_topic }}#{{ end }}cert_topic = {{ .default.nova.conf.cert_topic | default "cert" }}
#
# 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.
# (boolean value)
# from .default.nova.conf.allow_resize_to_same_host
{{ if not .default.nova.conf.allow_resize_to_same_host }}#{{ end }}allow_resize_to_same_host = {{ .default.nova.conf.allow_resize_to_same_host | default "false" }}
#
# 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.
# (string value)
# from .default.nova.conf.default_schedule_zone
{{ if not .default.nova.conf.default_schedule_zone }}#{{ end }}default_schedule_zone = {{ .default.nova.conf.default_schedule_zone | default "<None>" }}
#
# 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']
# (list value)
# from .default.nova.conf.non_inheritable_image_properties
{{ if not .default.nova.conf.non_inheritable_image_properties }}#{{ end }}non_inheritable_image_properties = {{ .default.nova.conf.non_inheritable_image_properties | default "cache_in_nova,bittorrent" }}
#
# 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.
# (string value)
# from .default.nova.conf.null_kernel
{{ if not .default.nova.conf.null_kernel }}#{{ end }}null_kernel = {{ .default.nova.conf.null_kernel | default "nokernel" }}
#
# 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.
# (string value)
# from .default.nova.conf.multi_instance_display_name_template
{{ if not .default.nova.conf.multi_instance_display_name_template }}#{{ end }}multi_instance_display_name_template = {{ .default.nova.conf.multi_instance_display_name_template | default "%(name)s-%(count)d" }}
#
# 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).
# (integer value)
# from .default.nova.conf.max_local_block_devices
{{ if not .default.nova.conf.max_local_block_devices }}#{{ end }}max_local_block_devices = {{ .default.nova.conf.max_local_block_devices | default "3" }}
# DEPRECATED:
# Monitor classes available to the compute which may be specified more than
# once.
# This option is DEPRECATED and no longer used. Use setuptools entry points to
# list available monitor plugins.
# (multi valued)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: stevedore and setuptools entry points now allow a set of plugins to be
# specified without this config option.
# from .default.nova.conf.compute_available_monitors (multiopt)
{{ if not .default.nova.conf.compute_available_monitors }}#compute_available_monitors = {{ .default.nova.conf.compute_available_monitors | default "" }}{{ else }}{{ range .default.nova.conf.compute_available_monitors }}compute_available_monitors = {{ . }}{{ end }}{{ end }}
#
# 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"]
# (list value)
# from .default.nova.conf.compute_monitors
{{ if not .default.nova.conf.compute_monitors }}#{{ end }}compute_monitors = {{ .default.nova.conf.compute_monitors | default "" }}
#
# 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.
# (integer value)
# Minimum value: 0
# from .default.nova.conf.reserved_host_disk_mb
{{ if not .default.nova.conf.reserved_host_disk_mb }}#{{ end }}reserved_host_disk_mb = {{ .default.nova.conf.reserved_host_disk_mb | default "0" }}
#
# 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.
# (integer value)
# Minimum value: 0
# from .default.nova.conf.reserved_host_memory_mb
{{ if not .default.nova.conf.reserved_host_memory_mb }}#{{ end }}reserved_host_memory_mb = {{ .default.nova.conf.reserved_host_memory_mb | default "512" }}
# DEPRECATED:
# Abstracts out managing compute host stats to pluggable class. This class
# manages and updates stats for the local compute host after an instance
# is changed. These configurable compute stats may be useful for a
# particular scheduler implementation.
#
# Possible values
#
# * A string representing fully qualified class name.
# (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# from .default.nova.conf.compute_stats_class
{{ if not .default.nova.conf.compute_stats_class }}#{{ end }}compute_stats_class = {{ .default.nova.conf.compute_stats_class | default "nova.compute.stats.Stats" }}
#
# This option helps you specify virtual CPU to physical CPU allocation
# ratio which affects all CPU filters.
#
# 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.
#
# Possible values:
#
# * Any valid positive integer or float value
# * Default value is 0.0
#
# 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'.
# (floating point value)
# from .default.nova.conf.cpu_allocation_ratio
{{ if not .default.nova.conf.cpu_allocation_ratio }}#{{ end }}cpu_allocation_ratio = {{ .default.nova.conf.cpu_allocation_ratio | default "0.0" }}
#
# This option helps you specify virtual RAM to physical RAM
# allocation ratio which affects all RAM filters.
#
# 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.
#
# Possible values:
#
# * Any valid positive integer or float value
# * Default value is 0.0
#
# 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.
# (floating point value)
# from .default.nova.conf.ram_allocation_ratio
{{ if not .default.nova.conf.ram_allocation_ratio }}#{{ end }}ram_allocation_ratio = {{ .default.nova.conf.ram_allocation_ratio | default "0.0" }}
#
# This option helps you specify virtual disk to physical disk
# allocation ratio used by the disk_filter.py script to determine if
# a host has sufficient disk space to fit a requested instance.
#
# 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.
#
# Possible values:
#
# * Any valid positive integer or float value
# * Default value is 0.0
#
# 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'.
# (floating point value)
# from .default.nova.conf.disk_allocation_ratio
{{ if not .default.nova.conf.disk_allocation_ratio }}#{{ end }}disk_allocation_ratio = {{ .default.nova.conf.disk_allocation_ratio | default "0.0" }}
#
# 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.
# (string value)
# from .default.nova.conf.console_host
{{ if not .default.nova.conf.console_host }}#{{ end }}console_host = {{ .default.nova.conf.console_host | default "socket.gethostname()" }}
#
# 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.
# (string value)
# from .default.nova.conf.default_access_ip_network_name
{{ if not .default.nova.conf.default_access_ip_network_name }}#{{ end }}default_access_ip_network_name = {{ .default.nova.conf.default_access_ip_network_name | default "<None>" }}
#
# Whether to batch up the application of IPTables rules during a host restart
# and apply all at the end of the init phase.
# (boolean value)
# from .default.nova.conf.defer_iptables_apply
{{ if not .default.nova.conf.defer_iptables_apply }}#{{ end }}defer_iptables_apply = {{ .default.nova.conf.defer_iptables_apply | default "false" }}
#
# 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.
# (string value)
# from .default.nova.conf.instances_path
{{ if not .default.nova.conf.instances_path }}#{{ end }}instances_path = {{ .default.nova.conf.instances_path | default "$state_path/instances" }}
#
# 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.
# (boolean value)
# from .default.nova.conf.instance_usage_audit
{{ if not .default.nova.conf.instance_usage_audit }}#{{ end }}instance_usage_audit = {{ .default.nova.conf.instance_usage_audit | default "false" }}
#
# Maximum number of 1 second retries in live_migration. It specifies number
# of retries to iptables when it complains. It happens when an user continously
# sends live-migration request to same host leading to concurrent request
# to iptables.
#
# Possible values:
#
# * Any positive integer representing retry count.
# (integer value)
# Minimum value: 0
# from .default.nova.conf.live_migration_retry_count
{{ if not .default.nova.conf.live_migration_retry_count }}#{{ end }}live_migration_retry_count = {{ .default.nova.conf.live_migration_retry_count | default "30" }}
#
# 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.
# (boolean value)
# from .default.nova.conf.resume_guests_state_on_host_boot
{{ if not .default.nova.conf.resume_guests_state_on_host_boot }}#{{ end }}resume_guests_state_on_host_boot = {{ .default.nova.conf.resume_guests_state_on_host_boot | default "false" }}
#
# 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.
# (integer value)
# Minimum value: 0
# from .default.nova.conf.network_allocate_retries
{{ if not .default.nova.conf.network_allocate_retries }}#{{ end }}network_allocate_retries = {{ .default.nova.conf.network_allocate_retries | default "0" }}
#
# 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.
# (integer value)
# Minimum value: 0
# from .default.nova.conf.max_concurrent_builds
{{ if not .default.nova.conf.max_concurrent_builds }}#{{ end }}max_concurrent_builds = {{ .default.nova.conf.max_concurrent_builds | default "10" }}
#
# 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.
# (integer value)
# from .default.nova.conf.max_concurrent_live_migrations
{{ if not .default.nova.conf.max_concurrent_live_migrations }}#{{ end }}max_concurrent_live_migrations = {{ .default.nova.conf.max_concurrent_live_migrations | default "1" }}
#
# 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)
# (integer value)
# from .default.nova.conf.block_device_allocate_retries
{{ if not .default.nova.conf.block_device_allocate_retries }}#{{ end }}block_device_allocate_retries = {{ .default.nova.conf.block_device_allocate_retries | default "60" }}
#
# 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.
# (integer value)
# from .default.nova.conf.sync_power_state_pool_size
{{ if not .default.nova.conf.sync_power_state_pool_size }}#{{ end }}sync_power_state_pool_size = {{ .default.nova.conf.sync_power_state_pool_size | default "1000" }}
# Interval to pull network bandwidth usage info. Not supported on all
# hypervisors. Set to -1 to disable. Setting this to 0 will run at the default
# rate. (integer value)
# from .default.nova.conf.bandwidth_poll_interval
{{ if not .default.nova.conf.bandwidth_poll_interval }}#{{ end }}bandwidth_poll_interval = {{ .default.nova.conf.bandwidth_poll_interval | default "600" }}
# Interval to sync power states between the database and the hypervisor. Set to
# -1 to disable. Setting this to 0 will run at the default rate. (integer value)
# from .default.nova.conf.sync_power_state_interval
{{ if not .default.nova.conf.sync_power_state_interval }}#{{ end }}sync_power_state_interval = {{ .default.nova.conf.sync_power_state_interval | default "600" }}
# Number of seconds between instance network information cache updates (integer
# value)
# from .default.nova.conf.heal_instance_info_cache_interval
{{ if not .default.nova.conf.heal_instance_info_cache_interval }}#{{ end }}heal_instance_info_cache_interval = {{ .default.nova.conf.heal_instance_info_cache_interval | default "60" }}
# Interval in seconds for reclaiming deleted instances. It takes effect only
# when value is greater than 0. (integer value)
# Minimum value: 0
# from .default.nova.conf.reclaim_instance_interval
{{ if not .default.nova.conf.reclaim_instance_interval }}#{{ end }}reclaim_instance_interval = {{ .default.nova.conf.reclaim_instance_interval | default "0" }}
# Interval in seconds for gathering volume usages (integer value)
# from .default.nova.conf.volume_usage_poll_interval
{{ if not .default.nova.conf.volume_usage_poll_interval }}#{{ end }}volume_usage_poll_interval = {{ .default.nova.conf.volume_usage_poll_interval | default "0" }}
# Interval in seconds for polling shelved instances to offload. Set to -1 to
# disable.Setting this to 0 will run at the default rate. (integer value)
# from .default.nova.conf.shelved_poll_interval
{{ if not .default.nova.conf.shelved_poll_interval }}#{{ end }}shelved_poll_interval = {{ .default.nova.conf.shelved_poll_interval | default "3600" }}
# Time in seconds before a shelved instance is eligible for removing from a
# host. -1 never offload, 0 offload immediately when shelved (integer value)
# from .default.nova.conf.shelved_offload_time
{{ if not .default.nova.conf.shelved_offload_time }}#{{ end }}shelved_offload_time = {{ .default.nova.conf.shelved_offload_time | default "0" }}
# Interval in seconds for retrying failed instance file deletes. Set to -1 to
# disable. Setting this to 0 will run at the default rate. (integer value)
# from .default.nova.conf.instance_delete_interval
{{ if not .default.nova.conf.instance_delete_interval }}#{{ end }}instance_delete_interval = {{ .default.nova.conf.instance_delete_interval | default "300" }}
# Waiting time interval (seconds) between block device allocation retries on
# failures (integer value)
# from .default.nova.conf.block_device_allocate_retries_interval
{{ if not .default.nova.conf.block_device_allocate_retries_interval }}#{{ end }}block_device_allocate_retries_interval = {{ .default.nova.conf.block_device_allocate_retries_interval | default "3" }}
# Waiting time interval (seconds) 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,
# changing this option will have no effect. (integer value)
# from .default.nova.conf.scheduler_instance_sync_interval
{{ if not .default.nova.conf.scheduler_instance_sync_interval }}#{{ end }}scheduler_instance_sync_interval = {{ .default.nova.conf.scheduler_instance_sync_interval | default "120" }}
# Interval in seconds for updating compute resources. 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. (integer value)
# from .default.nova.conf.update_resources_interval
{{ if not .default.nova.conf.update_resources_interval }}#{{ end }}update_resources_interval = {{ .default.nova.conf.update_resources_interval | default "0" }}
#
# 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.
# (integer value)
# Minimum value: 0
# from .default.nova.conf.reboot_timeout
{{ if not .default.nova.conf.reboot_timeout }}#{{ end }}reboot_timeout = {{ .default.nova.conf.reboot_timeout | default "0" }}
#
# 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.
# (integer value)
# Minimum value: 0
# from .default.nova.conf.instance_build_timeout
{{ if not .default.nova.conf.instance_build_timeout }}#{{ end }}instance_build_timeout = {{ .default.nova.conf.instance_build_timeout | default "0" }}
#
# 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.
# (integer value)
# Minimum value: 0
# from .default.nova.conf.rescue_timeout
{{ if not .default.nova.conf.rescue_timeout }}#{{ end }}rescue_timeout = {{ .default.nova.conf.rescue_timeout | default "0" }}
#
# 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.
# (integer value)
# Minimum value: 0
# from .default.nova.conf.resize_confirm_window
{{ if not .default.nova.conf.resize_confirm_window }}#{{ end }}resize_confirm_window = {{ .default.nova.conf.resize_confirm_window | default "0" }}
#
# 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).
# (integer value)
# Minimum value: 1
# from .default.nova.conf.shutdown_timeout
{{ if not .default.nova.conf.shutdown_timeout }}#{{ end }}shutdown_timeout = {{ .default.nova.conf.shutdown_timeout | default "60" }}
#
# 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
# * running_deleted_instance_timeout
# (string value)
# Allowed values: noop, log, shutdown, reap
# from .default.nova.conf.running_deleted_instance_action
{{ if not .default.nova.conf.running_deleted_instance_action }}#{{ end }}running_deleted_instance_action = {{ .default.nova.conf.running_deleted_instance_action | default "reap" }}
#
# 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
# (integer value)
# from .default.nova.conf.running_deleted_instance_poll_interval
{{ if not .default.nova.conf.running_deleted_instance_poll_interval }}#{{ end }}running_deleted_instance_poll_interval = {{ .default.nova.conf.running_deleted_instance_poll_interval | default "1800" }}
#
# 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"
# (integer value)
# from .default.nova.conf.running_deleted_instance_timeout
{{ if not .default.nova.conf.running_deleted_instance_timeout }}#{{ end }}running_deleted_instance_timeout = {{ .default.nova.conf.running_deleted_instance_timeout | default "0" }}
# The number of times to attempt to reap an instance's files. (integer value)
# from .default.nova.conf.maximum_instance_delete_attempts
{{ if not .default.nova.conf.maximum_instance_delete_attempts }}#{{ end }}maximum_instance_delete_attempts = {{ .default.nova.conf.maximum_instance_delete_attempts | default "5" }}
#
# 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'.
#
# * Services that use this:
#
# ``nova-compute``
#
# * Related options:
#
# None
# (string value)
# from .default.nova.conf.compute_topic
{{ if not .default.nova.conf.compute_topic }}#{{ end }}compute_topic = {{ .default.nova.conf.compute_topic | default "compute" }}
#
# 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.
# (string value)
# Allowed values: '', project, global
# from .default.nova.conf.osapi_compute_unique_server_name_scope
{{ if not .default.nova.conf.osapi_compute_unique_server_name_scope }}#{{ end }}osapi_compute_unique_server_name_scope = {{ .default.nova.conf.osapi_compute_unique_server_name_scope | default "" }}
#
# 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.
# (boolean value)
# from .default.nova.conf.enable_new_services
{{ if not .default.nova.conf.enable_new_services }}#{{ end }}enable_new_services = {{ .default.nova.conf.enable_new_services | default "true" }}
#
# 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``
# (string value)
# from .default.nova.conf.instance_name_template
{{ if not .default.nova.conf.instance_name_template }}#{{ end }}instance_name_template = {{ .default.nova.conf.instance_name_template | default "instance-%08x" }}
# DEPRECATED: Template string to be used to generate snapshot names (string
# value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: This is not used anymore and will be removed in the O release.
# from .default.nova.conf.snapshot_name_template
{{ if not .default.nova.conf.snapshot_name_template }}#{{ end }}snapshot_name_template = {{ .default.nova.conf.snapshot_name_template | default "snapshot-%s" }}
#
# 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
# (integer value)
# Minimum value: -1
# from .default.nova.conf.migrate_max_retries
{{ if not .default.nova.conf.migrate_max_retries }}#{{ end }}migrate_max_retries = {{ .default.nova.conf.migrate_max_retries | default "-1" }}
#
# 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.
# * A compute node running Hyper-V hypervisor can be configured to attach
# configuration drive as a CD drive. To attach the configuration drive as a CD
# drive, set config_drive_cdrom option at hyperv section, to true.
# (string value)
# Allowed values: iso9660, vfat
# from .default.nova.conf.config_drive_format
{{ if not .default.nova.conf.config_drive_format }}#{{ end }}config_drive_format = {{ .default.nova.conf.config_drive_format | default "iso9660" }}
#
# 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.
# * To use configuration drive with Hyper-V, you must set the
# 'mkisofs_cmd' value to the full path to an mkisofs.exe installation.
# Additionally, you must set the qemu_img_cmd value in the hyperv
# configuration section to the full path to an qemu-img command
# installation.
# (boolean value)
# from .default.nova.conf.force_config_drive
{{ if not .default.nova.conf.force_config_drive }}#{{ end }}force_config_drive = {{ .default.nova.conf.force_config_drive | default "false" }}
#
# 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.
#
# To use configuration drive with Hyper-V, you must set the mkisofs_cmd value
# to the full path to an mkisofs.exe installation. Additionally, you must set
# the qemu_img_cmd value in the hyperv configuration section to the full path
# to an qemu-img command installation.
#
# 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.
# * To use configuration drive with Hyper-V, you must set the qemu_img_cmd
# value in the hyperv configuration section to the full path to an qemu-img
# command installation.
# (string value)
# from .default.nova.conf.mkisofs_cmd
{{ if not .default.nova.conf.mkisofs_cmd }}#{{ end }}mkisofs_cmd = {{ .default.nova.conf.mkisofs_cmd | default "genisoimage" }}
#
# 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
#
# * An empty list (default) or list of allowed origin hostnames.
# (list value)
# from .default.nova.conf.console_allowed_origins
{{ if not .default.nova.conf.console_allowed_origins }}#{{ end }}console_allowed_origins = {{ .default.nova.conf.console_allowed_origins | default "" }}
#
# 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
#
# * 'console' (default) or any string representing topic exchange name.
# (string value)
# from .default.nova.conf.console_topic
{{ if not .default.nova.conf.console_topic }}#{{ end }}console_topic = {{ .default.nova.conf.console_topic | default "console" }}
#
# 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
#
# * 'nova.console.xvp.XVPConsoleProxy' (default) or
# a string representing fully classified class name of console driver.
# (string value)
# from .default.nova.conf.console_driver
{{ if not .default.nova.conf.console_driver }}#{{ end }}console_driver = {{ .default.nova.conf.console_driver | default "nova.console.xvp.XVPConsoleProxy" }}
#
# Publicly visible name for this console host.
#
# Possible values
#
# * Current hostname (default) or any string representing hostname.
# (string value)
# from .default.nova.conf.console_public_hostname
{{ if not .default.nova.conf.console_public_hostname }}#{{ end }}console_public_hostname = {{ .default.nova.conf.console_public_hostname | default "d5bac85a44d3" }}
#
# 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.
# (string value)
# from .default.nova.conf.consoleauth_topic
{{ if not .default.nova.conf.consoleauth_topic }}#{{ end }}consoleauth_topic = {{ .default.nova.conf.consoleauth_topic | default "consoleauth" }}
#
# This option indicates 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.
# (integer value)
# Minimum value: 0
# from .default.nova.conf.console_token_ttl
{{ if not .default.nova.conf.console_token_ttl }}#{{ end }}console_token_ttl = {{ .default.nova.conf.console_token_ttl | default "600" }}
# DEPRECATED: The driver to use for database access (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# from .default.nova.conf.db_driver
{{ if not .default.nova.conf.db_driver }}#{{ end }}db_driver = {{ .default.nova.conf.db_driver | default "nova.db" }}
# DEPRECATED:
# When set to true, this option enables validation of exception
# message format.
#
# This option is used to detect errors in NovaException class when it formats
# error messages. If True, raise an exception; if False, use the unformatted
# message.
# (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: This is only used for internal testing.
# from .default.nova.conf.fatal_exception_format_errors
{{ if not .default.nova.conf.fatal_exception_format_errors }}#{{ end }}fatal_exception_format_errors = {{ .default.nova.conf.fatal_exception_format_errors | default "false" }}
# DEPRECATED:
# Default flavor to use for the EC2 API only.
# The Nova API does not support a default flavor.
# (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: The EC2 API is deprecated
# from .default.nova.conf.default_flavor
{{ if not .default.nova.conf.default_flavor }}#{{ end }}default_flavor = {{ .default.nova.conf.default_flavor | default "m1.small" }}
#
# 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
# (string value)
# from .default.nova.conf.default_floating_pool
{{ if not .default.nova.conf.default_floating_pool }}#{{ end }}default_floating_pool = {{ .default.nova.conf.default_floating_pool | default "nova" }}
#
# Autoassigning floating IP to VM
#
# When set to True, floating IP is auto allocated and associated
# to the VM upon creation.
# (boolean value)
# from .default.nova.conf.auto_assign_floating_ip
{{ if not .default.nova.conf.auto_assign_floating_ip }}#{{ end }}auto_assign_floating_ip = {{ .default.nova.conf.auto_assign_floating_ip | default "false" }}
#
# 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
# (string value)
# from .default.nova.conf.floating_ip_dns_manager
{{ if not .default.nova.conf.floating_ip_dns_manager }}#{{ end }}floating_ip_dns_manager = {{ .default.nova.conf.floating_ip_dns_manager | default "nova.network.noop_dns_driver.NoopDNSDriver" }}
#
# 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
# (string value)
# from .default.nova.conf.instance_dns_manager
{{ if not .default.nova.conf.instance_dns_manager }}#{{ end }}instance_dns_manager = {{ .default.nova.conf.instance_dns_manager | default "nova.network.noop_dns_driver.NoopDNSDriver" }}
#
# 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.
# (string value)
# from .default.nova.conf.instance_dns_domain
{{ if not .default.nova.conf.instance_dns_domain }}#{{ end }}instance_dns_domain = {{ .default.nova.conf.instance_dns_domain | default "" }}
#
# 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.
# (string value)
# Allowed values: rfc2462, account_identifier
# from .default.nova.conf.ipv6_backend
{{ if not .default.nova.conf.ipv6_backend }}#{{ end }}ipv6_backend = {{ .default.nova.conf.ipv6_backend | default "rfc2462" }}
#
# 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
# (string value)
# from .default.nova.conf.my_ip
{{ if not .default.nova.conf.my_ip }}#{{ end }}my_ip = {{ .default.nova.conf.my_ip | default "172.17.0.2" }}
#
# 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.
# (string value)
# from .default.nova.conf.my_block_storage_ip
{{ if not .default.nova.conf.my_block_storage_ip }}#{{ end }}my_block_storage_ip = {{ .default.nova.conf.my_block_storage_ip | default "$my_ip" }}
#
# 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.
# (string value)
# from .default.nova.conf.host
{{ if not .default.nova.conf.host }}#{{ end }}host = {{ .default.nova.conf.host | default "d5bac85a44d3" }}
#
# Assign IPv6 and IPv4 addresses when creating instances.
#
# Related options:
#
# * use_neutron: this only works with nova-network.
# (boolean value)
# from .default.nova.conf.use_ipv6
{{ if not .default.nova.conf.use_ipv6 }}#{{ end }}use_ipv6 = {{ .default.nova.conf.use_ipv6 | default "false" }}
#
# 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.
# (multi valued)
# from .default.nova.conf.dhcpbridge_flagfile (multiopt)
{{ if not .default.nova.conf.dhcpbridge_flagfile }}#dhcpbridge_flagfile = {{ .default.nova.conf.dhcpbridge_flagfile | default "/etc/nova/nova-dhcpbridge.conf" }}{{ else }}{{ range .default.nova.conf.dhcpbridge_flagfile }}dhcpbridge_flagfile = {{ . }}{{ end }}{{ end }}
#
# 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
# (string value)
# from .default.nova.conf.networks_path
{{ if not .default.nova.conf.networks_path }}#{{ end }}networks_path = {{ .default.nova.conf.networks_path | default "$state_path/networks" }}
#
# 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
# (string value)
# from .default.nova.conf.public_interface
{{ if not .default.nova.conf.public_interface }}#{{ end }}public_interface = {{ .default.nova.conf.public_interface | default "eth0" }}
#
# 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
# (string value)
# from .default.nova.conf.dhcpbridge
{{ if not .default.nova.conf.dhcpbridge }}#{{ end }}dhcpbridge = {{ .default.nova.conf.dhcpbridge | default "$bindir/nova-dhcpbridge" }}
#
# This is the public IP address of the network host. It is used when creating a
# SNAT rule.
#
# Possible values:
#
# Any valid IP address
#
# Related options:
#
# force_snat_range
# (string value)
# from .default.nova.conf.routing_source_ip
{{ if not .default.nova.conf.routing_source_ip }}#{{ end }}routing_source_ip = {{ .default.nova.conf.routing_source_ip | default "$my_ip" }}
#
# The lifetime of a DHCP lease, in seconds. The default is 86400 (one day).
#
# Possible values:
#
# Any positive integer value.
# (integer value)
# Minimum value: 1
# from .default.nova.conf.dhcp_lease_time
{{ if not .default.nova.conf.dhcp_lease_time }}#{{ end }}dhcp_lease_time = {{ .default.nova.conf.dhcp_lease_time | default "86400" }}
#
# 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
# (multi valued)
# from .default.nova.conf.dns_server (multiopt)
{{ if not .default.nova.conf.dns_server }}#dns_server = {{ .default.nova.conf.dns_server | default "" }}{{ else }}{{ range .default.nova.conf.dns_server }}dns_server = {{ . }}{{ end }}{{ end }}
#
# 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
# (boolean value)
# from .default.nova.conf.use_network_dns_servers
{{ if not .default.nova.conf.use_network_dns_servers }}#{{ end }}use_network_dns_servers = {{ .default.nova.conf.use_network_dns_servers | default "false" }}
#
# 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.
# (list value)
# from .default.nova.conf.dmz_cidr
{{ if not .default.nova.conf.dmz_cidr }}#{{ end }}dmz_cidr = {{ .default.nova.conf.dmz_cidr | default "" }}
#
# 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
# (multi valued)
# from .default.nova.conf.force_snat_range (multiopt)
{{ if not .default.nova.conf.force_snat_range }}#force_snat_range = {{ .default.nova.conf.force_snat_range | default "" }}{{ else }}{{ range .default.nova.conf.force_snat_range }}force_snat_range = {{ . }}{{ end }}{{ end }}
#
# 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.
# (string value)
# from .default.nova.conf.dnsmasq_config_file
{{ if not .default.nova.conf.dnsmasq_config_file }}#{{ end }}dnsmasq_config_file = {{ .default.nova.conf.dnsmasq_config_file | default "" }}
#
# 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.
# (string value)
# from .default.nova.conf.linuxnet_interface_driver
{{ if not .default.nova.conf.linuxnet_interface_driver }}#{{ end }}linuxnet_interface_driver = {{ .default.nova.conf.linuxnet_interface_driver | default "nova.network.linux_net.LinuxBridgeInterfaceDriver" }}
#
# 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.
# (string value)
# from .default.nova.conf.linuxnet_ovs_integration_bridge
{{ if not .default.nova.conf.linuxnet_ovs_integration_bridge }}#{{ end }}linuxnet_ovs_integration_bridge = {{ .default.nova.conf.linuxnet_ovs_integration_bridge | default "br-int" }}
#
# 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
# (boolean value)
# from .default.nova.conf.send_arp_for_ha
{{ if not .default.nova.conf.send_arp_for_ha }}#{{ end }}send_arp_for_ha = {{ .default.nova.conf.send_arp_for_ha | default "false" }}
#
# 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
# (integer value)
# from .default.nova.conf.send_arp_for_ha_count
{{ if not .default.nova.conf.send_arp_for_ha_count }}#{{ end }}send_arp_for_ha_count = {{ .default.nova.conf.send_arp_for_ha_count | default "3" }}
#
# When set to True, only the firt nic of a VM will get its default gateway from
# the DHCP server.
# (boolean value)
# from .default.nova.conf.use_single_default_gateway
{{ if not .default.nova.conf.use_single_default_gateway }}#{{ end }}use_single_default_gateway = {{ .default.nova.conf.use_single_default_gateway | default "false" }}
#
# 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'.
# (multi valued)
# from .default.nova.conf.forward_bridge_interface (multiopt)
{{ if not .default.nova.conf.forward_bridge_interface }}#forward_bridge_interface = {{ .default.nova.conf.forward_bridge_interface | default "all" }}{{ else }}{{ range .default.nova.conf.forward_bridge_interface }}forward_bridge_interface = {{ . }}{{ end }}{{ end }}
#
# This option determines the IP address for the network metadata API server.
#
# Possible values:
#
# * Any valid IP address. The default is the address of the Nova API server.
#
# Related options:
#
# * metadata_port
# (string value)
# from .default.nova.conf.metadata_host
{{ if not .default.nova.conf.metadata_host }}#{{ end }}metadata_host = {{ .default.nova.conf.metadata_host | default "$my_ip" }}
#
# This option determines the port used for the metadata API server.
#
# Related options:
#
# * metadata_host
# (port value)
# Minimum value: 0
# Maximum value: 65535
# from .default.nova.conf.metadata_port
{{ if not .default.nova.conf.metadata_port }}#{{ end }}metadata_port = {{ .default.nova.conf.metadata_port | default "8775" }}
#
# 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
# (string value)
# from .default.nova.conf.iptables_top_regex
{{ if not .default.nova.conf.iptables_top_regex }}#{{ end }}iptables_top_regex = {{ .default.nova.conf.iptables_top_regex | default "" }}
#
# 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
# (string value)
# from .default.nova.conf.iptables_bottom_regex
{{ if not .default.nova.conf.iptables_bottom_regex }}#{{ end }}iptables_bottom_regex = {{ .default.nova.conf.iptables_bottom_regex | default "" }}
#
# 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.
# (string value)
# from .default.nova.conf.iptables_drop_action
{{ if not .default.nova.conf.iptables_drop_action }}#{{ end }}iptables_drop_action = {{ .default.nova.conf.iptables_drop_action | default "DROP" }}
#
# 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.
# (integer value)
# Minimum value: 0
# from .default.nova.conf.ovs_vsctl_timeout
{{ if not .default.nova.conf.ovs_vsctl_timeout }}#{{ end }}ovs_vsctl_timeout = {{ .default.nova.conf.ovs_vsctl_timeout | default "120" }}
#
# This option is used mainly in testing to avoid calls to the underlying network
# utilities.
# (boolean value)
# from .default.nova.conf.fake_network
{{ if not .default.nova.conf.fake_network }}#{{ end }}fake_network = {{ .default.nova.conf.fake_network | default "false" }}
#
# 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
# (integer value)
# Minimum value: 1
# from .default.nova.conf.ebtables_exec_attempts
{{ if not .default.nova.conf.ebtables_exec_attempts }}#{{ end }}ebtables_exec_attempts = {{ .default.nova.conf.ebtables_exec_attempts | default "3" }}
#
# 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
# (floating point value)
# from .default.nova.conf.ebtables_retry_interval
{{ if not .default.nova.conf.ebtables_retry_interval }}#{{ end }}ebtables_retry_interval = {{ .default.nova.conf.ebtables_retry_interval | default "1.0" }}
#
# 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``
# (string value)
# from .default.nova.conf.flat_network_bridge
{{ if not .default.nova.conf.flat_network_bridge }}#{{ end }}flat_network_bridge = {{ .default.nova.conf.flat_network_bridge | default "<None>" }}
#
# 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``
# (string value)
# from .default.nova.conf.flat_network_dns
{{ if not .default.nova.conf.flat_network_dns }}#{{ end }}flat_network_dns = {{ .default.nova.conf.flat_network_dns | default "8.8.4.4" }}
#
# 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.
# (boolean value)
# from .default.nova.conf.flat_injected
{{ if not .default.nova.conf.flat_injected }}#{{ end }}flat_injected = {{ .default.nova.conf.flat_injected | default "false" }}
#
# 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'
# (string value)
# from .default.nova.conf.flat_interface
{{ if not .default.nova.conf.flat_interface }}#{{ end }}flat_interface = {{ .default.nova.conf.flat_interface | default "<None>" }}
#
# 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. Default = 100.
#
# Related options:
#
# ``network_manager``, ``use_neutron``
# (integer value)
# Minimum value: 1
# Maximum value: 4094
# from .default.nova.conf.vlan_start
{{ if not .default.nova.conf.vlan_start }}#{{ end }}vlan_start = {{ .default.nova.conf.vlan_start | default "100" }}
#
# 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'
# (string value)
# from .default.nova.conf.vlan_interface
{{ if not .default.nova.conf.vlan_interface }}#{{ end }}vlan_interface = {{ .default.nova.conf.vlan_interface | default "<None>" }}
#
# 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. The
# default is 1.
#
# Related options:
#
# ``use_neutron``, ``network_size``
# (integer value)
# Minimum value: 1
# from .default.nova.conf.num_networks
{{ if not .default.nova.conf.num_networks }}#{{ end }}num_networks = {{ .default.nova.conf.num_networks | default "1" }}
#
# 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``
# (string value)
# from .default.nova.conf.vpn_ip
{{ if not .default.nova.conf.vpn_ip }}#{{ end }}vpn_ip = {{ .default.nova.conf.vpn_ip | default "$my_ip" }}
#
# 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``
# (port value)
# Minimum value: 0
# Maximum value: 65535
# from .default.nova.conf.vpn_start
{{ if not .default.nova.conf.vpn_start }}#{{ end }}vpn_start = {{ .default.nova.conf.vpn_start | default "1000" }}
#
# 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``
# (integer value)
# Minimum value: 1
# from .default.nova.conf.network_size
{{ if not .default.nova.conf.network_size }}#{{ end }}network_size = {{ .default.nova.conf.network_size | default "256" }}
#
# 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. The default value is "fd00::/48".
#
# Related options:
#
# ``use_neutron``
# (string value)
# from .default.nova.conf.fixed_range_v6
{{ if not .default.nova.conf.fixed_range_v6 }}#{{ end }}fixed_range_v6 = {{ .default.nova.conf.fixed_range_v6 | default "fd00::/48" }}
#
# 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``
# (string value)
# from .default.nova.conf.gateway
{{ if not .default.nova.conf.gateway }}#{{ end }}gateway = {{ .default.nova.conf.gateway | default "<None>" }}
#
# 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``
# (string value)
# from .default.nova.conf.gateway_v6
{{ if not .default.nova.conf.gateway_v6 }}#{{ end }}gateway_v6 = {{ .default.nova.conf.gateway_v6 | default "<None>" }}
#
# 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. The default is 0.
#
# Related options:
#
# ``use_neutron``, ``network_manager``
# (integer value)
# Minimum value: 0
# from .default.nova.conf.cnt_vpn_clients
{{ if not .default.nova.conf.cnt_vpn_clients }}#{{ end }}cnt_vpn_clients = {{ .default.nova.conf.cnt_vpn_clients | default "0" }}
#
# 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. The default is 600 (10 minutes).
#
# Related options:
#
# ``use_neutron``
# (integer value)
# Minimum value: 0
# from .default.nova.conf.fixed_ip_disassociate_timeout
{{ if not .default.nova.conf.fixed_ip_disassociate_timeout }}#{{ end }}fixed_ip_disassociate_timeout = {{ .default.nova.conf.fixed_ip_disassociate_timeout | default "600" }}
#
# 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``
# (integer value)
# Minimum value: 1
# from .default.nova.conf.create_unique_mac_address_attempts
{{ if not .default.nova.conf.create_unique_mac_address_attempts }}#{{ end }}create_unique_mac_address_attempts = {{ .default.nova.conf.create_unique_mac_address_attempts | default "5" }}
#
# 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``
# (boolean value)
# from .default.nova.conf.teardown_unused_network_gateway
{{ if not .default.nova.conf.teardown_unused_network_gateway }}#{{ end }}teardown_unused_network_gateway = {{ .default.nova.conf.teardown_unused_network_gateway | default "false" }}
#
# 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``
# (boolean value)
# from .default.nova.conf.force_dhcp_release
{{ if not .default.nova.conf.force_dhcp_release }}#{{ end }}force_dhcp_release = {{ .default.nova.conf.force_dhcp_release | default "true" }}
#
# 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``
# (boolean value)
# from .default.nova.conf.update_dns_entries
{{ if not .default.nova.conf.update_dns_entries }}#{{ end }}update_dns_entries = {{ .default.nova.conf.update_dns_entries | default "false" }}
#
# This option determines the time, in seconds, to wait between refreshing DNS
# entries for the network.
#
# Possible values:
#
# Either -1 (default), or any positive integer. A negative value will
# disable
# the updates.
#
# Related options:
#
# ``use_neutron``
# (integer value)
# Minimum value: -1
# from .default.nova.conf.dns_update_periodic_interval
{{ if not .default.nova.conf.dns_update_periodic_interval }}#{{ end }}dns_update_periodic_interval = {{ .default.nova.conf.dns_update_periodic_interval | default "-1" }}
#
# 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``
# (string value)
# from .default.nova.conf.dhcp_domain
{{ if not .default.nova.conf.dhcp_domain }}#{{ end }}dhcp_domain = {{ .default.nova.conf.dhcp_domain | default "novalocal" }}
#
# 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``
# (string value)
# from .default.nova.conf.l3_lib
{{ if not .default.nova.conf.l3_lib }}#{{ end }}l3_lib = {{ .default.nova.conf.l3_lib | default "nova.network.l3.LinuxNetL3" }}
# DEPRECATED:
# 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'.
# (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# from .default.nova.conf.share_dhcp_address
{{ if not .default.nova.conf.share_dhcp_address }}#{{ end }}share_dhcp_address = {{ .default.nova.conf.share_dhcp_address | default "false" }}
# Whether to use Neutron or Nova Network as the back end for networking.
# Defaults to False (indicating Nova network).Set to True to use neutron.
# (boolean value)
# from .default.nova.conf.use_neutron
{{ if not .default.nova.conf.use_neutron }}#{{ end }}use_neutron = {{ .default.nova.conf.use_neutron | default "false" }}
# URL for LDAP server which will store DNS entries (string value)
# from .default.nova.conf.ldap_dns_url
{{ if not .default.nova.conf.ldap_dns_url }}#{{ end }}ldap_dns_url = {{ .default.nova.conf.ldap_dns_url | default "ldap://ldap.example.com:389" }}
# User for LDAP DNS (string value)
# from .default.nova.conf.ldap_dns_user
{{ if not .default.nova.conf.ldap_dns_user }}#{{ end }}ldap_dns_user = {{ .default.nova.conf.ldap_dns_user | default "uid=admin,ou=people,dc=example,dc=org" }}
# Password for LDAP DNS (string value)
# from .default.nova.conf.ldap_dns_password
{{ if not .default.nova.conf.ldap_dns_password }}#{{ end }}ldap_dns_password = {{ .default.nova.conf.ldap_dns_password | default "password" }}
# Hostmaster for LDAP DNS driver Statement of Authority (string value)
# from .default.nova.conf.ldap_dns_soa_hostmaster
{{ if not .default.nova.conf.ldap_dns_soa_hostmaster }}#{{ end }}ldap_dns_soa_hostmaster = {{ .default.nova.conf.ldap_dns_soa_hostmaster | default "hostmaster@example.org" }}
# DNS Servers for LDAP DNS driver (multi valued)
# from .default.nova.conf.ldap_dns_servers (multiopt)
{{ if not .default.nova.conf.ldap_dns_servers }}#ldap_dns_servers = {{ .default.nova.conf.ldap_dns_servers | default "dns.example.org" }}{{ else }}{{ range .default.nova.conf.ldap_dns_servers }}ldap_dns_servers = {{ . }}{{ end }}{{ end }}
# Base DN for DNS entries in LDAP (string value)
# from .default.nova.conf.ldap_dns_base_dn
{{ if not .default.nova.conf.ldap_dns_base_dn }}#{{ end }}ldap_dns_base_dn = {{ .default.nova.conf.ldap_dns_base_dn | default "ou=hosts,dc=example,dc=org" }}
# Refresh interval (in seconds) for LDAP DNS driver Statement of Authority
# (string value)
# from .default.nova.conf.ldap_dns_soa_refresh
{{ if not .default.nova.conf.ldap_dns_soa_refresh }}#{{ end }}ldap_dns_soa_refresh = {{ .default.nova.conf.ldap_dns_soa_refresh | default "1800" }}
# Retry interval (in seconds) for LDAP DNS driver Statement of Authority (string
# value)
# from .default.nova.conf.ldap_dns_soa_retry
{{ if not .default.nova.conf.ldap_dns_soa_retry }}#{{ end }}ldap_dns_soa_retry = {{ .default.nova.conf.ldap_dns_soa_retry | default "3600" }}
# Expiry interval (in seconds) for LDAP DNS driver Statement of Authority
# (string value)
# from .default.nova.conf.ldap_dns_soa_expiry
{{ if not .default.nova.conf.ldap_dns_soa_expiry }}#{{ end }}ldap_dns_soa_expiry = {{ .default.nova.conf.ldap_dns_soa_expiry | default "86400" }}
# Minimum interval (in seconds) for LDAP DNS driver Statement of Authority
# (string value)
# from .default.nova.conf.ldap_dns_soa_minimum
{{ if not .default.nova.conf.ldap_dns_soa_minimum }}#{{ end }}ldap_dns_soa_minimum = {{ .default.nova.conf.ldap_dns_soa_minimum | default "7200" }}
# The topic network nodes listen on (string value)
# from .default.nova.conf.network_topic
{{ if not .default.nova.conf.network_topic }}#{{ end }}network_topic = {{ .default.nova.conf.network_topic | default "network" }}
# Default value for multi_host in networks. Also, if set, some rpc network calls
# will be sent directly to host. (boolean value)
# from .default.nova.conf.multi_host
{{ if not .default.nova.conf.multi_host }}#{{ end }}multi_host = {{ .default.nova.conf.multi_host | default "false" }}
# Driver to use for network creation (string value)
# from .default.nova.conf.network_driver
{{ if not .default.nova.conf.network_driver }}#{{ end }}network_driver = {{ .default.nova.conf.network_driver | default "nova.network.linux_net" }}
#
# 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
# (string value)
# Allowed values: <None>, vm_state, vm_and_task_state
# from .default.nova.conf.notify_on_state_change
{{ if not .default.nova.conf.notify_on_state_change }}#{{ end }}notify_on_state_change = {{ .default.nova.conf.notify_on_state_change | default "<None>" }}
#
# If enabled, send api.fault notifications on caught exceptions in the
# API service.
# (boolean value)
# from .default.nova.conf.notify_api_faults
{{ if not .default.nova.conf.notify_api_faults }}#{{ end }}notify_api_faults = {{ .default.nova.conf.notify_api_faults | default "false" }}
# Default notification level for outgoing notifications. (string value)
# Allowed values: DEBUG, INFO, WARN, ERROR, CRITICAL
# from .default.nova.conf.default_notification_level
{{ if not .default.nova.conf.default_notification_level }}#{{ end }}default_notification_level = {{ .default.nova.conf.default_notification_level | default "INFO" }}
#
# 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
# (string value)
# from .default.nova.conf.default_publisher_id
{{ if not .default.nova.conf.default_publisher_id }}#{{ end }}default_publisher_id = {{ .default.nova.conf.default_publisher_id | default "$my_ip" }}
#
# 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.
# (string value)
# from .default.nova.conf.record
{{ if not .default.nova.conf.record }}#{{ end }}record = {{ .default.nova.conf.record | default "<None>" }}
# Run as a background process. (boolean value)
# from .default.nova.conf.daemon
{{ if not .default.nova.conf.daemon }}#{{ end }}daemon = {{ .default.nova.conf.daemon | default "false" }}
# Disallow non-encrypted connections. (boolean value)
# from .default.nova.conf.ssl_only
{{ if not .default.nova.conf.ssl_only }}#{{ end }}ssl_only = {{ .default.nova.conf.ssl_only | default "false" }}
# Set to True if source host is addressed with IPv6. (boolean value)
# from .default.nova.conf.source_is_ipv6
{{ if not .default.nova.conf.source_is_ipv6 }}#{{ end }}source_is_ipv6 = {{ .default.nova.conf.source_is_ipv6 | default "false" }}
# Path to SSL certificate file. (string value)
# from .default.nova.conf.cert
{{ if not .default.nova.conf.cert }}#{{ end }}cert = {{ .default.nova.conf.cert | default "self.pem" }}
# SSL key file (if separate from cert). (string value)
# from .default.nova.conf.key
{{ if not .default.nova.conf.key }}#{{ end }}key = {{ .default.nova.conf.key | default "<None>" }}
#
# Path to directory with content which will be served by a web server.
# (string value)
# from .default.nova.conf.web
{{ if not .default.nova.conf.web }}#{{ end }}web = {{ .default.nova.conf.web | default "/usr/share/spice-html5" }}
#
# 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``
# (string value)
# from .default.nova.conf.pybasedir
{{ if not .default.nova.conf.pybasedir }}#{{ end }}pybasedir = {{ .default.nova.conf.pybasedir | default "/tmp/nova" }}
#
# 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.
# (string value)
# from .default.nova.conf.bindir
{{ if not .default.nova.conf.bindir }}#{{ end }}bindir = {{ .default.nova.conf.bindir | default "/tmp/nova/.tox/genconfig/local/bin" }}
#
# 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``.
# (string value)
# from .default.nova.conf.state_path
{{ if not .default.nova.conf.state_path }}#{{ end }}state_path = {{ .default.nova.conf.state_path | default "$pybasedir" }}
#
# 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:
#
# pci_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".
# (multi valued)
# from .default.nova.conf.pci_alias (multiopt)
{{ if not .default.nova.conf.pci_alias }}#pci_alias = {{ .default.nova.conf.pci_alias | default "" }}{{ else }}{{ range .default.nova.conf.pci_alias }}pci_alias = {{ . }}{{ end }}{{ end }}
#
# 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".
#
# Valid examples are:
#
# pci_passthrough_whitelist = {"devname":"eth0",
# "physical_network":"physnet"}
# pci_passthrough_whitelist = {"address":"*:0a:00.*"}
# pci_passthrough_whitelist = {"address":":0a:00.",
# "physical_network":"physnet1"}
# pci_passthrough_whitelist = {"vendor_id":"1137",
# "product_id":"0071"}
# pci_passthrough_whitelist = {"vendor_id":"1137",
# "product_id":"0071",
# "address": "0000:0a:00.1",
# "physical_network":"physnet1"}
#
# The following are invalid, as they specify mutually exclusive options:
#
# pci_passthrough_whitelist = {"devname":"eth0",
# "physical_network":"physnet",
# "address":"*:0a:00.*"}
#
# * A JSON list of JSON dictionaries corresponding to the above format. For
# example:
#
# pci_passthrough_whitelist = [{"product_id":"0001", "vendor_id":"8086"},
# {"product_id":"0002", "vendor_id":"8086"}]
# (multi valued)
# from .default.nova.conf.pci_passthrough_whitelist (multiopt)
{{ if not .default.nova.conf.pci_passthrough_whitelist }}#pci_passthrough_whitelist = {{ .default.nova.conf.pci_passthrough_whitelist | default "" }}{{ else }}{{ range .default.nova.conf.pci_passthrough_whitelist }}pci_passthrough_whitelist = {{ . }}{{ end }}{{ end }}
#
# The number of instances allowed per project.
#
# Possible Values
#
# * 10 (default) or any positive integer.
# * -1 : treated as unlimited.
# (integer value)
# Minimum value: -1
# from .default.nova.conf.quota_instances
{{ if not .default.nova.conf.quota_instances }}#{{ end }}quota_instances = {{ .default.nova.conf.quota_instances | default "10" }}
#
# The number of instance cores or VCPUs allowed per project.
#
# Possible values:
#
# * 20 (default) or any positive integer.
# * -1 : treated as unlimited.
# (integer value)
# Minimum value: -1
# from .default.nova.conf.quota_cores
{{ if not .default.nova.conf.quota_cores }}#{{ end }}quota_cores = {{ .default.nova.conf.quota_cores | default "20" }}
#
# The number of megabytes of instance RAM allowed per project.
#
# Possible values:
#
# * 51200 (default) or any positive integer.
# * -1 : treated as unlimited.
# (integer value)
# Minimum value: -1
# from .default.nova.conf.quota_ram
{{ if not .default.nova.conf.quota_ram }}#{{ end }}quota_ram = {{ .default.nova.conf.quota_ram | default "51200" }}
#
# 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:
#
# * 10 (default) or any positive integer.
# * -1 : treated as unlimited.
# (integer value)
# Minimum value: -1
# from .default.nova.conf.quota_floating_ips
{{ if not .default.nova.conf.quota_floating_ips }}#{{ end }}quota_floating_ips = {{ .default.nova.conf.quota_floating_ips | default "10" }}
#
# The number of fixed IPs allowed per project (this should be at least the
# number
# of instances allowed). Unlike floating IPs, fixed IPs are allocated
# dynamically
# by the network component when instances boot up.
#
# Possible values:
#
# * -1 (default) : treated as unlimited.
# * Any positive integer.
# (integer value)
# Minimum value: -1
# from .default.nova.conf.quota_fixed_ips
{{ if not .default.nova.conf.quota_fixed_ips }}#{{ end }}quota_fixed_ips = {{ .default.nova.conf.quota_fixed_ips | default "-1" }}
#
# The number of metadata items allowed per instance. User can associate metadata
# while instance creation in the form of key-value pairs.
#
# Possible values:
#
# * 128 (default) or any positive integer.
# * -1 : treated as unlimited.
# (integer value)
# Minimum value: -1
# from .default.nova.conf.quota_metadata_items
{{ if not .default.nova.conf.quota_metadata_items }}#{{ end }}quota_metadata_items = {{ .default.nova.conf.quota_metadata_items | default "128" }}
#
# The number of injected files allowed. It allow 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 won't work. During file
# injection, any existing files that match specified files are renamed to
# include
# .bak extension appended with a timestamp.
#
# Possible values:
#
# * 5 (default) or any positive integer.
# * -1 : treated as unlimited.
# (integer value)
# Minimum value: -1
# from .default.nova.conf.quota_injected_files
{{ if not .default.nova.conf.quota_injected_files }}#{{ end }}quota_injected_files = {{ .default.nova.conf.quota_injected_files | default "5" }}
#
# The number of bytes allowed per injected file.
#
# Possible values:
#
# * 10240 (default) or any positive integer representing number of bytes.
# * -1 : treated as unlimited.
# (integer value)
# Minimum value: -1
# from .default.nova.conf.quota_injected_file_content_bytes
{{ if not .default.nova.conf.quota_injected_file_content_bytes }}#{{ end }}quota_injected_file_content_bytes = {{ .default.nova.conf.quota_injected_file_content_bytes | default "10240" }}
#
# The maximum allowed injected file path length.
#
# Possible values:
#
# * 255 (default) or any positive integer.
# * -1 : treated as unlimited.
# (integer value)
# Minimum value: -1
# from .default.nova.conf.quota_injected_file_path_length
{{ if not .default.nova.conf.quota_injected_file_path_length }}#{{ end }}quota_injected_file_path_length = {{ .default.nova.conf.quota_injected_file_path_length | default "255" }}
#
# The number of security groups per project.
#
# Possible values:
#
# * 10 (default) or any positive integer.
# * -1 : treated as unlimited.
# (integer value)
# Minimum value: -1
# from .default.nova.conf.quota_security_groups
{{ if not .default.nova.conf.quota_security_groups }}#{{ end }}quota_security_groups = {{ .default.nova.conf.quota_security_groups | default "10" }}
#
# 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:
#
# * 20 (default) or any positive integer.
# * -1 : treated as unlimited.
# (integer value)
# Minimum value: -1
# from .default.nova.conf.quota_security_group_rules
{{ if not .default.nova.conf.quota_security_group_rules }}#{{ end }}quota_security_group_rules = {{ .default.nova.conf.quota_security_group_rules | default "20" }}
#
# 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:
#
# * 100 (default) or any positive integer.
# * -1 : treated as unlimited.
# (integer value)
# Minimum value: -1
# from .default.nova.conf.quota_key_pairs
{{ if not .default.nova.conf.quota_key_pairs }}#{{ end }}quota_key_pairs = {{ .default.nova.conf.quota_key_pairs | default "100" }}
#
# Add quota values to constrain the number of server groups per project. Server
# group 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:
#
# * 10 (default) or any positive integer.
# * -1 : treated as unlimited.
# (integer value)
# Minimum value: -1
# from .default.nova.conf.quota_server_groups
{{ if not .default.nova.conf.quota_server_groups }}#{{ end }}quota_server_groups = {{ .default.nova.conf.quota_server_groups | default "10" }}
#
# Add quota values to constrain the number of servers per server group.
#
# Possible values:
#
# * 10 (default) or any positive integer.
# * -1 : treated as unlimited.
# (integer value)
# Minimum value: -1
# from .default.nova.conf.quota_server_group_members
{{ if not .default.nova.conf.quota_server_group_members }}#{{ end }}quota_server_group_members = {{ .default.nova.conf.quota_server_group_members | default "10" }}
#
# The number of seconds until a reservation expires. It represents the time
# period for invalidating quota reservations.
#
# Possible values:
#
# * 86400 (default) or any positive integer representing number of seconds.
# (integer value)
# from .default.nova.conf.reservation_expire
{{ if not .default.nova.conf.reservation_expire }}#{{ end }}reservation_expire = {{ .default.nova.conf.reservation_expire | default "86400" }}
#
# 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.
#
# Possible values:
#
# * 0 (default) or any positive integer.
# (integer value)
# Minimum value: 0
# from .default.nova.conf.until_refresh
{{ if not .default.nova.conf.until_refresh }}#{{ end }}until_refresh = {{ .default.nova.conf.until_refresh | default "0" }}
#
# 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.
#
# Possible values:
#
# * 0 (default) or any positive integer representing number of seconds.
# (integer value)
# Minimum value: 0
# from .default.nova.conf.max_age
{{ if not .default.nova.conf.max_age }}#{{ end }}max_age = {{ .default.nova.conf.max_age | default "0" }}
# DEPRECATED:
# 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.
# (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# from .default.nova.conf.quota_driver
{{ if not .default.nova.conf.quota_driver }}#{{ end }}quota_driver = {{ .default.nova.conf.quota_driver | default "nova.quota.DbQuotaDriver" }}
# 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
#
# Related options:
#
# * None (string value)
# Allowed values: unversioned, versioned, both
# from .default.nova.conf.notification_format
{{ if not .default.nova.conf.notification_format }}#{{ end }}notification_format = {{ .default.nova.conf.notification_format | default "both" }}
# DEPRECATED:
# Parent directory for tempdir used for image decryption
# (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: EC2 API related options are not supported.
# from .default.nova.conf.image_decryption_dir
{{ if not .default.nova.conf.image_decryption_dir }}#{{ end }}image_decryption_dir = {{ .default.nova.conf.image_decryption_dir | default "/tmp" }}
# DEPRECATED:
# Hostname or IP for OpenStack to use when accessing the S3 API
# (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: EC2 API related options are not supported.
# from .default.nova.conf.s3_host
{{ if not .default.nova.conf.s3_host }}#{{ end }}s3_host = {{ .default.nova.conf.s3_host | default "$my_ip" }}
# DEPRECATED:
# Port used when accessing the S3 API. It should be in the range of
# 1 - 65535
# (port value)
# Minimum value: 0
# Maximum value: 65535
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: EC2 API related options are not supported.
# from .default.nova.conf.s3_port
{{ if not .default.nova.conf.s3_port }}#{{ end }}s3_port = {{ .default.nova.conf.s3_port | default "3333" }}
# DEPRECATED: Access key to use S3 server for images (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: EC2 API related options are not supported.
# from .default.nova.conf.s3_access_key
{{ if not .default.nova.conf.s3_access_key }}#{{ end }}s3_access_key = {{ .default.nova.conf.s3_access_key | default "notchecked" }}
# DEPRECATED: Secret key to use for S3 server for images (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: EC2 API related options are not supported.
# from .default.nova.conf.s3_secret_key
{{ if not .default.nova.conf.s3_secret_key }}#{{ end }}s3_secret_key = {{ .default.nova.conf.s3_secret_key | default "notchecked" }}
# DEPRECATED: Whether to use SSL when talking to S3 (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: EC2 API related options are not supported.
# from .default.nova.conf.s3_use_ssl
{{ if not .default.nova.conf.s3_use_ssl }}#{{ end }}s3_use_ssl = {{ .default.nova.conf.s3_use_ssl | default "false" }}
# DEPRECATED:
# Whether to affix the tenant id to the access key when downloading from S3
# (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: EC2 API related options are not supported.
# from .default.nova.conf.s3_affix_tenant
{{ if not .default.nova.conf.s3_affix_tenant }}#{{ end }}s3_affix_tenant = {{ .default.nova.conf.s3_affix_tenant | default "false" }}
#
# 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. Valid values are 1 or
# greater. Any value less than one will be treated as 1.
#
# 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.
#
# * Related options:
#
# None
# (integer value)
# from .default.nova.conf.scheduler_host_subset_size
{{ if not .default.nova.conf.scheduler_host_subset_size }}#{{ end }}scheduler_host_subset_size = {{ .default.nova.conf.scheduler_host_subset_size | default "1" }}
#
# This option specifies the filters used for filtering baremetal hosts. The
# value
# should be a list of strings, with each string being the name of a filter class
# to be used. When used, they will be 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.
#
# * Related options:
#
# If the 'scheduler_use_baremetal_filters' option is False, this option has
# no effect.
# (list value)
# from .default.nova.conf.baremetal_scheduler_default_filters
{{ if not .default.nova.conf.baremetal_scheduler_default_filters }}#{{ end }}baremetal_scheduler_default_filters = {{ .default.nova.conf.baremetal_scheduler_default_filters | default "RetryFilter,AvailabilityZoneFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,ExactRamFilter,ExactDiskFilter,ExactCoreFilter" }}
#
# Set this to True to tell the nova scheduler that it should use the filters
# specified in the 'baremetal_scheduler_default_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_default_filters' are used instead of the filters
# specified in 'scheduler_default_filters'.
# (boolean value)
# from .default.nova.conf.scheduler_use_baremetal_filters
{{ if not .default.nova.conf.scheduler_use_baremetal_filters }}#{{ end }}scheduler_use_baremetal_filters = {{ .default.nova.conf.scheduler_use_baremetal_filters | default "false" }}
#
# This is an unordered list of the filter classes the Nova scheduler may apply.
# Only the filters specified in the 'scheduler_default_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. If you
# wish
# to change this, replace this with a list of strings, where each element is the
# path to a filter.
#
# This option is only used by the FilterScheduler and its subclasses; if you use
# a different scheduler, this option has no effect.
#
# * Related options:
#
# scheduler_default_filters
# (multi valued)
# from .default.nova.conf.scheduler_available_filters (multiopt)
{{ if not .default.nova.conf.scheduler_available_filters }}#scheduler_available_filters = {{ .default.nova.conf.scheduler_available_filters | default "nova.scheduler.filters.all_filters" }}{{ else }}{{ range .default.nova.conf.scheduler_available_filters }}scheduler_available_filters = {{ . }}{{ end }}{{ end }}
#
# This option is the list of filter class names that will be used for filtering
# hosts. The use of 'default' in the name of this option implies that other
# filters may sometimes be used, but that is not the case. These filters 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.
#
# * 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.
# (list value)
# from .default.nova.conf.scheduler_default_filters
{{ if not .default.nova.conf.scheduler_default_filters }}#{{ end }}scheduler_default_filters = {{ .default.nova.conf.scheduler_default_filters | default "RetryFilter,AvailabilityZoneFilter,RamFilter,DiskFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,ServerGroupAntiAffinityFilter,ServerGroupAffinityFilter" }}
#
# This is a list of weigher class names. 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. If you
# wish to change this, replace this with a list of strings, where each element
# is
# the path to a weigher.
#
# This option is only used by the FilterScheduler and its subclasses; if you use
# a different scheduler, this option has no effect.
#
# * Related options:
#
# None
# (list value)
# from .default.nova.conf.scheduler_weight_classes
{{ if not .default.nova.conf.scheduler_weight_classes }}#{{ end }}scheduler_weight_classes = {{ .default.nova.conf.scheduler_weight_classes | default "nova.scheduler.weights.all_weighers" }}
#
# 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.
#
# * Related options:
#
# None
# (boolean value)
# from .default.nova.conf.scheduler_tracks_instance_changes
{{ if not .default.nova.conf.scheduler_tracks_instance_changes }}#{{ end }}scheduler_tracks_instance_changes = {{ .default.nova.conf.scheduler_tracks_instance_changes | default "true" }}
#
# 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.
#
# * Related options:
#
# None
# (string value)
# from .default.nova.conf.scheduler_topic
{{ if not .default.nova.conf.scheduler_topic }}#{{ end }}scheduler_topic = {{ .default.nova.conf.scheduler_topic | default "scheduler" }}
#
# The scheduler host manager to use, which manages the in-memory picture of the
# hosts that the scheduler uses.
#
# The option value should be chosen from one of the entrypoints under the
# namespace 'nova.scheduler.host_manager' of file 'setup.cfg'. For example,
# 'host_manager' is the default setting. Aside from the default, the only other
# option as of the Mitaka release is 'ironic_host_manager', which should be used
# if you're using Ironic to provision bare-metal instances.
#
# * Related options:
#
# None
# (string value)
# Allowed values: host_manager, ironic_host_manager
# from .default.nova.conf.scheduler_host_manager
{{ if not .default.nova.conf.scheduler_host_manager }}#{{ end }}scheduler_host_manager = {{ .default.nova.conf.scheduler_host_manager | default "host_manager" }}
#
# The class of the driver used by the scheduler. This should be chosen from one
# of the entrypoints under the namespace 'nova.scheduler.driver' of file
# 'setup.cfg'. If nothing is specified in this option, the 'filter_scheduler' is
# used.
#
# This option also supports deprecated full Python path to the class to be used.
# For example, "nova.scheduler.filter_scheduler.FilterScheduler". But note: this
# support will be dropped in the N Release.
#
# Other options are:
#
# * '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.
#
# * Related options:
#
# None
# (string value)
# from .default.nova.conf.scheduler_driver
{{ if not .default.nova.conf.scheduler_driver }}#{{ end }}scheduler_driver = {{ .default.nova.conf.scheduler_driver | default "filter_scheduler" }}
#
# 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.
#
# * Related options:
#
# ``nova-service service_down_time``
# (integer value)
# from .default.nova.conf.scheduler_driver_task_period
{{ if not .default.nova.conf.scheduler_driver_task_period }}#{{ end }}scheduler_driver_task_period = {{ .default.nova.conf.scheduler_driver_task_period | default "60" }}
#
# The absolute path to the scheduler configuration JSON file, if any. This file
# location is monitored by the scheduler for changes and reloads it if needed.
# It
# is converted from JSON to a Python data structure, and passed into the
# filtering and weighing functions of the scheduler, which can use it for
# dynamic
# configuration.
#
# * Related options:
#
# None
# (string value)
# from .default.nova.conf.scheduler_json_config_location
{{ if not .default.nova.conf.scheduler_json_config_location }}#{{ end }}scheduler_json_config_location = {{ .default.nova.conf.scheduler_json_config_location | default "" }}
#
# 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.
#
# * Related options:
#
# scheduler/isolated_hosts
# scheduler/restrict_isolated_hosts_to_isolated_images
# (list value)
# from .default.nova.conf.isolated_images
{{ if not .default.nova.conf.isolated_images }}#{{ end }}isolated_images = {{ .default.nova.conf.isolated_images | default "" }}
#
# 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.
#
# * Related options:
#
# scheduler/isolated_images
# scheduler/restrict_isolated_hosts_to_isolated_images
# (list value)
# from .default.nova.conf.isolated_hosts
{{ if not .default.nova.conf.isolated_hosts }}#{{ end }}isolated_hosts = {{ .default.nova.conf.isolated_hosts | default "" }}
#
# This setting determines if the scheduler's isolated_hosts filter will allow
# non-isolated images on a host designated as an isolated host. When set to True
# (the default), non-isolated images will not be allowed to be built on isolated
# hosts. When False, non-isolated images can be built on both isolated and
# non-isolated hosts alike.
#
# 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
# (boolean value)
# from .default.nova.conf.restrict_isolated_hosts_to_isolated_images
{{ if not .default.nova.conf.restrict_isolated_hosts_to_isolated_images }}#{{ end }}restrict_isolated_hosts_to_isolated_images = {{ .default.nova.conf.restrict_isolated_hosts_to_isolated_images | default "true" }}
#
# This setting caps the number of instances on a host that can be actively
# performing IO (in a build, resize, snapshot, migrate, rescue, or unshelve task
# state) before that host becomes ineligible to build new instances.
#
# Valid values are positive integers: 1 or greater.
#
# 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.
#
# * Related options:
#
# None
# (integer value)
# from .default.nova.conf.max_io_ops_per_host
{{ if not .default.nova.conf.max_io_ops_per_host }}#{{ end }}max_io_ops_per_host = {{ .default.nova.conf.max_io_ops_per_host | default "8" }}
#
# 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.
#
# Valid values are strings.
#
# 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.
#
# * Related options:
#
# aggregate_image_properties_isolation_separator
# (string value)
# from .default.nova.conf.aggregate_image_properties_isolation_namespace
{{ if not .default.nova.conf.aggregate_image_properties_isolation_namespace }}#{{ end }}aggregate_image_properties_isolation_namespace = {{ .default.nova.conf.aggregate_image_properties_isolation_namespace | default "<None>" }}
#
# 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. It defaults to a
# period ('.').
#
# Valid values are strings.
#
# 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.
#
# * Related options:
#
# aggregate_image_properties_isolation_namespace
# (string value)
# from .default.nova.conf.aggregate_image_properties_isolation_separator
{{ if not .default.nova.conf.aggregate_image_properties_isolation_separator }}#{{ end }}aggregate_image_properties_isolation_separator = {{ .default.nova.conf.aggregate_image_properties_isolation_separator | default "." }}
#
# 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.
#
# Valid values are positive integers; setting it to zero will cause all hosts to
# be rejected if the num_instances_filter is active.
#
# 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.
#
# * Related options:
#
# None
# (integer value)
# from .default.nova.conf.max_instances_per_host
{{ if not .default.nova.conf.max_instances_per_host }}#{{ end }}max_instances_per_host = {{ .default.nova.conf.max_instances_per_host | default "50" }}
#
# 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.
#
# Valid values are numeric, either integer or float.
#
# * Related options:
#
# None
# (floating point value)
# from .default.nova.conf.ram_weight_multiplier
{{ if not .default.nova.conf.ram_weight_multiplier }}#{{ end }}ram_weight_multiplier = {{ .default.nova.conf.ram_weight_multiplier | default "1.0" }}
# Multiplier used for weighing free disk space. Negative numbers mean to stack
# vs spread. (floating point value)
# from .default.nova.conf.disk_weight_multiplier
{{ if not .default.nova.conf.disk_weight_multiplier }}#{{ end }}disk_weight_multiplier = {{ .default.nova.conf.disk_weight_multiplier | default "1.0" }}
#
# 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.
#
# Valid values are numeric, either integer or float.
#
# * Related options:
#
# None
# (floating point value)
# from .default.nova.conf.io_ops_weight_multiplier
{{ if not .default.nova.conf.io_ops_weight_multiplier }}#{{ end }}io_ops_weight_multiplier = {{ .default.nova.conf.io_ops_weight_multiplier | default "-1.0" }}
#
# 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.
#
# Valid values are positive integers (1 or greater).
#
# * Related options:
#
# None
# (integer value)
# from .default.nova.conf.scheduler_max_attempts
{{ if not .default.nova.conf.scheduler_max_attempts }}#{{ end }}scheduler_max_attempts = {{ .default.nova.conf.scheduler_max_attempts | default "3" }}
# Multiplier used for weighing hosts for group soft-affinity. Only a positive
# value is meaningful. Negative means that the behavior will change to the
# opposite, which is soft-anti-affinity. (floating point value)
# from .default.nova.conf.soft_affinity_weight_multiplier
{{ if not .default.nova.conf.soft_affinity_weight_multiplier }}#{{ end }}soft_affinity_weight_multiplier = {{ .default.nova.conf.soft_affinity_weight_multiplier | default "1.0" }}
# Multiplier used for weighing hosts for group soft-anti-affinity. Only a
# positive value is meaningful. Negative means that the behavior will change to
# the opposite, which is soft-affinity. (floating point value)
# from .default.nova.conf.soft_anti_affinity_weight_multiplier
{{ if not .default.nova.conf.soft_anti_affinity_weight_multiplier }}#{{ end }}soft_anti_affinity_weight_multiplier = {{ .default.nova.conf.soft_anti_affinity_weight_multiplier | default "1.0" }}
# Seconds between nodes reporting state to datastore (integer value)
# from .default.nova.conf.report_interval
{{ if not .default.nova.conf.report_interval }}#{{ end }}report_interval = {{ .default.nova.conf.report_interval | default "10" }}
# Enable periodic tasks (boolean value)
# from .default.nova.conf.periodic_enable
{{ if not .default.nova.conf.periodic_enable }}#{{ end }}periodic_enable = {{ .default.nova.conf.periodic_enable | default "true" }}
# Range of seconds to randomly delay when starting the periodic task scheduler
# to reduce stampeding. (Disable by setting to 0) (integer value)
# from .default.nova.conf.periodic_fuzzy_delay
{{ if not .default.nova.conf.periodic_fuzzy_delay }}#{{ end }}periodic_fuzzy_delay = {{ .default.nova.conf.periodic_fuzzy_delay | default "60" }}
# A list of APIs to enable by default (list value)
# from .default.nova.conf.enabled_apis
{{ if not .default.nova.conf.enabled_apis }}#{{ end }}enabled_apis = {{ .default.nova.conf.enabled_apis | default "osapi_compute,metadata" }}
# A list of APIs with enabled SSL (list value)
# from .default.nova.conf.enabled_ssl_apis
{{ if not .default.nova.conf.enabled_ssl_apis }}#{{ end }}enabled_ssl_apis = {{ .default.nova.conf.enabled_ssl_apis | default "" }}
# The IP address on which the OpenStack API will listen. (string value)
# from .default.nova.conf.osapi_compute_listen
{{ if not .default.nova.conf.osapi_compute_listen }}#{{ end }}osapi_compute_listen = {{ .default.nova.conf.osapi_compute_listen | default "0.0.0.0" }}
# The port on which the OpenStack API will listen. (port value)
# Minimum value: 0
# Maximum value: 65535
# from .default.nova.conf.osapi_compute_listen_port
{{ if not .default.nova.conf.osapi_compute_listen_port }}#{{ end }}osapi_compute_listen_port = {{ .default.nova.conf.osapi_compute_listen_port | default "8774" }}
# Number of workers for OpenStack API service. The default will be the number of
# CPUs available. (integer value)
# from .default.nova.conf.osapi_compute_workers
{{ if not .default.nova.conf.osapi_compute_workers }}#{{ end }}osapi_compute_workers = {{ .default.nova.conf.osapi_compute_workers | default "<None>" }}
# DEPRECATED: OpenStack metadata service manager (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# from .default.nova.conf.metadata_manager
{{ if not .default.nova.conf.metadata_manager }}#{{ end }}metadata_manager = {{ .default.nova.conf.metadata_manager | default "nova.api.manager.MetadataManager" }}
# The IP address on which the metadata API will listen. (string value)
# from .default.nova.conf.metadata_listen
{{ if not .default.nova.conf.metadata_listen }}#{{ end }}metadata_listen = {{ .default.nova.conf.metadata_listen | default "0.0.0.0" }}
# The port on which the metadata API will listen. (port value)
# Minimum value: 0
# Maximum value: 65535
# from .default.nova.conf.metadata_listen_port
{{ if not .default.nova.conf.metadata_listen_port }}#{{ end }}metadata_listen_port = {{ .default.nova.conf.metadata_listen_port | default "8775" }}
# Number of workers for metadata service. The default will be the number of CPUs
# available. (integer value)
# from .default.nova.conf.metadata_workers
{{ if not .default.nova.conf.metadata_workers }}#{{ end }}metadata_workers = {{ .default.nova.conf.metadata_workers | default "<None>" }}
# DEPRECATED: Full class name for the Manager for compute (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# from .default.nova.conf.compute_manager
{{ if not .default.nova.conf.compute_manager }}#{{ end }}compute_manager = {{ .default.nova.conf.compute_manager | default "nova.compute.manager.ComputeManager" }}
# DEPRECATED: Full class name for the Manager for console proxy (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# from .default.nova.conf.console_manager
{{ if not .default.nova.conf.console_manager }}#{{ end }}console_manager = {{ .default.nova.conf.console_manager | default "nova.console.manager.ConsoleProxyManager" }}
# DEPRECATED: Manager for console auth (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# from .default.nova.conf.consoleauth_manager
{{ if not .default.nova.conf.consoleauth_manager }}#{{ end }}consoleauth_manager = {{ .default.nova.conf.consoleauth_manager | default "nova.consoleauth.manager.ConsoleAuthManager" }}
# DEPRECATED: Full class name for the Manager for cert (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# from .default.nova.conf.cert_manager
{{ if not .default.nova.conf.cert_manager }}#{{ end }}cert_manager = {{ .default.nova.conf.cert_manager | default "nova.cert.manager.CertManager" }}
# Full class name for the Manager for network (string value)
# from .default.nova.conf.network_manager
{{ if not .default.nova.conf.network_manager }}#{{ end }}network_manager = {{ .default.nova.conf.network_manager | default "nova.network.manager.VlanManager" }}
# DEPRECATED: Full class name for the Manager for scheduler (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# from .default.nova.conf.scheduler_manager
{{ if not .default.nova.conf.scheduler_manager }}#{{ end }}scheduler_manager = {{ .default.nova.conf.scheduler_manager | default "nova.scheduler.manager.SchedulerManager" }}
# Maximum time since last check-in for up service (integer value)
# from .default.nova.conf.service_down_time
{{ if not .default.nova.conf.service_down_time }}#{{ end }}service_down_time = {{ .default.nova.conf.service_down_time | default "60" }}
#
# 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)
# (string value)
# Allowed values: db, mc
# from .default.nova.conf.servicegroup_driver
{{ if not .default.nova.conf.servicegroup_driver }}#{{ end }}servicegroup_driver = {{ .default.nova.conf.servicegroup_driver | default "db" }}
#
# 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"
# (string value)
# from .default.nova.conf.vcpu_pin_set
{{ if not .default.nova.conf.vcpu_pin_set }}#{{ end }}vcpu_pin_set = {{ .default.nova.conf.vcpu_pin_set | default "<None>" }}
#
# Defines which driver to use for controlling virtualization.
#
# Possible values:
#
# * ``libvirt.LibvirtDriver``
# * ``xenapi.XenAPIDriver``
# * ``fake.FakeDriver``
# * ``ironic.IronicDriver``
# * ``vmwareapi.VMwareVCDriver``
# * ``hyperv.HyperVDriver``
# (string value)
# from .default.nova.conf.compute_driver
{{ if not .default.nova.conf.compute_driver }}#{{ end }}compute_driver = {{ .default.nova.conf.compute_driver | default "<None>" }}
#
# The default format an ephemeral_volume will be formatted with on creation.
#
# Possible values:
#
# * ``ext2``
# * ``ext3``
# * ``ext4``
# * ``xfs``
# * ``ntfs`` (only for Windows guests)
# (string value)
# from .default.nova.conf.default_ephemeral_format
{{ if not .default.nova.conf.default_ephemeral_format }}#{{ end }}default_ephemeral_format = {{ .default.nova.conf.default_ephemeral_format | default "<None>" }}
#
# 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
# (string value)
# Allowed values: none, space
# from .default.nova.conf.preallocate_images
{{ if not .default.nova.conf.preallocate_images }}#{{ end }}preallocate_images = {{ .default.nova.conf.preallocate_images | default "none" }}
#
# 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.
# (boolean value)
# from .default.nova.conf.use_cow_images
{{ if not .default.nova.conf.use_cow_images }}#{{ end }}use_cow_images = {{ .default.nova.conf.use_cow_images | default "true" }}
#
# 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
# (boolean value)
# from .default.nova.conf.vif_plugging_is_fatal
{{ if not .default.nova.conf.vif_plugging_is_fatal }}#{{ end }}vif_plugging_is_fatal = {{ .default.nova.conf.vif_plugging_is_fatal | default "true" }}
#
# 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').
#
# Interdependencies to other 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.
# (integer value)
# Minimum value: 0
# from .default.nova.conf.vif_plugging_timeout
{{ if not .default.nova.conf.vif_plugging_timeout }}#{{ end }}vif_plugging_timeout = {{ .default.nova.conf.vif_plugging_timeout | default "300" }}
#
# 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``.
#
# If unset (the default), this will default to the hypervisor-specified
# default driver.
#
# Possible values:
#
# * nova.virt.firewall.IptablesFirewallDriver
# * nova.virt.firewall.NoopFirewallDriver
# * nova.virt.libvirt.firewall.IptablesFirewallDriver
# * [...]
#
# Interdependencies to other options:
#
# * ``use_neutron``: This must be set to ``False`` to enable ``nova-network``
# networking
# (string value)
# from .default.nova.conf.firewall_driver
{{ if not .default.nova.conf.firewall_driver }}#{{ end }}firewall_driver = {{ .default.nova.conf.firewall_driver | default "<None>" }}
#
# 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
#
# Interdependencies to other 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.
# (boolean value)
# from .default.nova.conf.allow_same_net_traffic
{{ if not .default.nova.conf.allow_same_net_traffic }}#{{ end }}allow_same_net_traffic = {{ .default.nova.conf.allow_same_net_traffic | default "true" }}
#
# 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
#
# Interdependencies to other options:
#
# * ``compute_driver``: Only the libvirt driver uses this option.
# (boolean value)
# from .default.nova.conf.force_raw_images
{{ if not .default.nova.conf.force_raw_images }}#{{ end }}force_raw_images = {{ .default.nova.conf.force_raw_images | default "true" }}
# Template file for injected network (string value)
# from .default.nova.conf.injected_network_template
{{ if not .default.nova.conf.injected_network_template }}#{{ end }}injected_network_template = {{ .default.nova.conf.injected_network_template | default "$pybasedir/nova/virt/interfaces.template" }}
#
# Name of the mkfs commands for ephemeral device. The format is
# <os_type>=<mkfs command>
# (multi valued)
# from .default.nova.conf.virt_mkfs (multiopt)
{{ if not .default.nova.conf.virt_mkfs }}#virt_mkfs = {{ .default.nova.conf.virt_mkfs | default "" }}{{ else }}{{ range .default.nova.conf.virt_mkfs }}virt_mkfs = {{ . }}{{ end }}{{ end }}
#
# 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).
# (boolean value)
# from .default.nova.conf.resize_fs_using_block_device
{{ if not .default.nova.conf.resize_fs_using_block_device }}#{{ end }}resize_fs_using_block_device = {{ .default.nova.conf.resize_fs_using_block_device | default "false" }}
# Amount of time, in seconds, to wait for NBD device start up. (integer value)
# Minimum value: 0
# from .default.nova.conf.timeout_nbd
{{ if not .default.nova.conf.timeout_nbd }}#{{ end }}timeout_nbd = {{ .default.nova.conf.timeout_nbd | default "10" }}
#
# Number of seconds to wait between runs of the image cache manager.
# Set to -1 to disable. Setting this to 0 will run at the default rate.
# (integer value)
# Minimum value: -1
# from .default.nova.conf.image_cache_manager_interval
{{ if not .default.nova.conf.image_cache_manager_interval }}#{{ end }}image_cache_manager_interval = {{ .default.nova.conf.image_cache_manager_interval | default "2400" }}
#
# Where cached images are stored under $instances_path. This is NOT the full
# path - just a folder name. For per-compute-host cached images, set to
# _base_$my_ip
# (string value)
# from .default.nova.conf.image_cache_subdirectory_name
{{ if not .default.nova.conf.image_cache_subdirectory_name }}#{{ end }}image_cache_subdirectory_name = {{ .default.nova.conf.image_cache_subdirectory_name | default "_base" }}
# Should unused base images be removed? (boolean value)
# from .default.nova.conf.remove_unused_base_images
{{ if not .default.nova.conf.remove_unused_base_images }}#{{ end }}remove_unused_base_images = {{ .default.nova.conf.remove_unused_base_images | default "true" }}
#
# Unused unresized base images younger than this will not be removed
# (integer value)
# from .default.nova.conf.remove_unused_original_minimum_age_seconds
{{ if not .default.nova.conf.remove_unused_original_minimum_age_seconds }}#{{ end }}remove_unused_original_minimum_age_seconds = {{ .default.nova.conf.remove_unused_original_minimum_age_seconds | default "86400" }}
#
# 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
#
# Interdependencies to other 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.
# (string value)
# Allowed values: <None>, ps2mouse, usbtablet
# from .default.nova.conf.pointer_model
{{ if not .default.nova.conf.pointer_model }}#{{ end }}pointer_model = {{ .default.nova.conf.pointer_model | default "usbtablet" }}
#
# Reserves a number of huge/large memory pages per NUMA host cells
#
# 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.
# (dict value)
# from .default.nova.conf.reserved_huge_pages (multiopt)
{{ if not .default.nova.conf.reserved_huge_pages }}#reserved_huge_pages = {{ .default.nova.conf.reserved_huge_pages | default "<None>" }}{{ else }}{{ range .default.nova.conf.reserved_huge_pages }}reserved_huge_pages = {{ . }}{{ end }}{{ end }}
#
# From oslo.log
#
# If set to true, the logging level will be set to DEBUG instead of the default
# INFO level. (boolean value)
# Note: This option can be changed without restarting.
# from .default.oslo.log.debug
{{ if not .default.oslo.log.debug }}#{{ end }}debug = {{ .default.oslo.log.debug | default "false" }}
# DEPRECATED: If set to false, the logging level will be set to WARNING instead
# of the default INFO level. (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# from .default.oslo.log.verbose
{{ if not .default.oslo.log.verbose }}#{{ end }}verbose = {{ .default.oslo.log.verbose | default "true" }}
# 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). (string value)
# Note: This option can be changed without restarting.
# Deprecated group/name - [DEFAULT]/log_config
# from .default.oslo.log.log_config_append
{{ if not .default.oslo.log.log_config_append }}#{{ end }}log_config_append = {{ .default.oslo.log.log_config_append | default "<None>" }}
# Defines the format string for %%(asctime)s in log records. Default:
# %(default)s . This option is ignored if log_config_append is set. (string
# value)
# from .default.oslo.log.log_date_format
{{ if not .default.oslo.log.log_date_format }}#{{ end }}log_date_format = {{ .default.oslo.log.log_date_format | default "%Y-%m-%d %H:%M:%S" }}
# (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. (string value)
# Deprecated group/name - [DEFAULT]/logfile
# from .default.oslo.log.log_file
{{ if not .default.oslo.log.log_file }}#{{ end }}log_file = {{ .default.oslo.log.log_file | default "<None>" }}
# (Optional) The base directory used for relative log_file paths. This option
# is ignored if log_config_append is set. (string value)
# Deprecated group/name - [DEFAULT]/logdir
# from .default.oslo.log.log_dir
{{ if not .default.oslo.log.log_dir }}#{{ end }}log_dir = {{ .default.oslo.log.log_dir | default "<None>" }}
# 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. (boolean
# value)
# from .default.oslo.log.watch_log_file
{{ if not .default.oslo.log.watch_log_file }}#{{ end }}watch_log_file = {{ .default.oslo.log.watch_log_file | default "false" }}
# Use syslog for logging. Existing syslog format is DEPRECATED and will be
# changed later to honor RFC5424. This option is ignored if log_config_append is
# set. (boolean value)
# from .default.oslo.log.use_syslog
{{ if not .default.oslo.log.use_syslog }}#{{ end }}use_syslog = {{ .default.oslo.log.use_syslog | default "false" }}
# Syslog facility to receive log lines. This option is ignored if
# log_config_append is set. (string value)
# from .default.oslo.log.syslog_log_facility
{{ if not .default.oslo.log.syslog_log_facility }}#{{ end }}syslog_log_facility = {{ .default.oslo.log.syslog_log_facility | default "LOG_USER" }}
# Log output to standard error. This option is ignored if log_config_append is
# set. (boolean value)
# from .default.oslo.log.use_stderr
{{ if not .default.oslo.log.use_stderr }}#{{ end }}use_stderr = {{ .default.oslo.log.use_stderr | default "true" }}
# Format string to use for log messages with context. (string value)
# from .default.oslo.log.logging_context_format_string
{{ if not .default.oslo.log.logging_context_format_string }}#{{ end }}logging_context_format_string = {{ .default.oslo.log.logging_context_format_string | default "%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s" }}
# Format string to use for log messages when context is undefined. (string
# value)
# from .default.oslo.log.logging_default_format_string
{{ if not .default.oslo.log.logging_default_format_string }}#{{ end }}logging_default_format_string = {{ .default.oslo.log.logging_default_format_string | default "%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s" }}
# Additional data to append to log message when logging level for the message is
# DEBUG. (string value)
# from .default.oslo.log.logging_debug_format_suffix
{{ if not .default.oslo.log.logging_debug_format_suffix }}#{{ end }}logging_debug_format_suffix = {{ .default.oslo.log.logging_debug_format_suffix | default "%(funcName)s %(pathname)s:%(lineno)d" }}
# Prefix each line of exception output with this format. (string value)
# from .default.oslo.log.logging_exception_prefix
{{ if not .default.oslo.log.logging_exception_prefix }}#{{ end }}logging_exception_prefix = {{ .default.oslo.log.logging_exception_prefix | default "%(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s" }}
# Defines the format string for %(user_identity)s that is used in
# logging_context_format_string. (string value)
# from .default.oslo.log.logging_user_identity_format
{{ if not .default.oslo.log.logging_user_identity_format }}#{{ end }}logging_user_identity_format = {{ .default.oslo.log.logging_user_identity_format | default "%(user)s %(tenant)s %(domain)s %(user_domain)s %(project_domain)s" }}
# List of package logging levels in logger=LEVEL pairs. This option is ignored
# if log_config_append is set. (list value)
# from .default.oslo.log.default_log_levels
{{ if not .default.oslo.log.default_log_levels }}#{{ end }}default_log_levels = {{ .default.oslo.log.default_log_levels | default "amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,oslo.messaging=INFO,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,urllib3.connectionpool=WARN,websocket=WARN,requests.packages.urllib3.util.retry=WARN,urllib3.util.retry=WARN,keystonemiddleware=WARN,routes.middleware=WARN,stevedore=WARN,taskflow=WARN,keystoneauth=WARN,oslo.cache=INFO,dogpile.core.dogpile=INFO" }}
# Enables or disables publication of error events. (boolean value)
# from .default.oslo.log.publish_errors
{{ if not .default.oslo.log.publish_errors }}#{{ end }}publish_errors = {{ .default.oslo.log.publish_errors | default "false" }}
# The format for an instance that is passed with the log message. (string value)
# from .default.oslo.log.instance_format
{{ if not .default.oslo.log.instance_format }}#{{ end }}instance_format = {{ .default.oslo.log.instance_format | default "\"[instance: %(uuid)s] \"" }}
# The format for an instance UUID that is passed with the log message. (string
# value)
# from .default.oslo.log.instance_uuid_format
{{ if not .default.oslo.log.instance_uuid_format }}#{{ end }}instance_uuid_format = {{ .default.oslo.log.instance_uuid_format | default "\"[instance: %(uuid)s] \"" }}
# Enables or disables fatal status of deprecations. (boolean value)
# from .default.oslo.log.fatal_deprecations
{{ if not .default.oslo.log.fatal_deprecations }}#{{ end }}fatal_deprecations = {{ .default.oslo.log.fatal_deprecations | default "false" }}
#
# From oslo.messaging
#
# Size of RPC connection pool. (integer value)
# Deprecated group/name - [DEFAULT]/rpc_conn_pool_size
# from .default.oslo.messaging.rpc_conn_pool_size
{{ if not .default.oslo.messaging.rpc_conn_pool_size }}#{{ end }}rpc_conn_pool_size = {{ .default.oslo.messaging.rpc_conn_pool_size | default "30" }}
# The pool size limit for connections expiration policy (integer value)
# from .default.oslo.messaging.conn_pool_min_size
{{ if not .default.oslo.messaging.conn_pool_min_size }}#{{ end }}conn_pool_min_size = {{ .default.oslo.messaging.conn_pool_min_size | default "2" }}
# The time-to-live in sec of idle connections in the pool (integer value)
# from .default.oslo.messaging.conn_pool_ttl
{{ if not .default.oslo.messaging.conn_pool_ttl }}#{{ end }}conn_pool_ttl = {{ .default.oslo.messaging.conn_pool_ttl | default "1200" }}
# ZeroMQ bind address. Should be a wildcard (*), an ethernet interface, or IP.
# The "host" option should point or resolve to this address. (string value)
# Deprecated group/name - [DEFAULT]/rpc_zmq_bind_address
# from .default.oslo.messaging.rpc_zmq_bind_address
{{ if not .default.oslo.messaging.rpc_zmq_bind_address }}#{{ end }}rpc_zmq_bind_address = {{ .default.oslo.messaging.rpc_zmq_bind_address | default "*" }}
# MatchMaker driver. (string value)
# Allowed values: redis, dummy
# Deprecated group/name - [DEFAULT]/rpc_zmq_matchmaker
# from .default.oslo.messaging.rpc_zmq_matchmaker
{{ if not .default.oslo.messaging.rpc_zmq_matchmaker }}#{{ end }}rpc_zmq_matchmaker = {{ .default.oslo.messaging.rpc_zmq_matchmaker | default "redis" }}
# Number of ZeroMQ contexts, defaults to 1. (integer value)
# Deprecated group/name - [DEFAULT]/rpc_zmq_contexts
# from .default.oslo.messaging.rpc_zmq_contexts
{{ if not .default.oslo.messaging.rpc_zmq_contexts }}#{{ end }}rpc_zmq_contexts = {{ .default.oslo.messaging.rpc_zmq_contexts | default "1" }}
# Maximum number of ingress messages to locally buffer per topic. Default is
# unlimited. (integer value)
# Deprecated group/name - [DEFAULT]/rpc_zmq_topic_backlog
# from .default.oslo.messaging.rpc_zmq_topic_backlog
{{ if not .default.oslo.messaging.rpc_zmq_topic_backlog }}#{{ end }}rpc_zmq_topic_backlog = {{ .default.oslo.messaging.rpc_zmq_topic_backlog | default "<None>" }}
# Directory for holding IPC sockets. (string value)
# Deprecated group/name - [DEFAULT]/rpc_zmq_ipc_dir
# from .default.oslo.messaging.rpc_zmq_ipc_dir
{{ if not .default.oslo.messaging.rpc_zmq_ipc_dir }}#{{ end }}rpc_zmq_ipc_dir = {{ .default.oslo.messaging.rpc_zmq_ipc_dir | default "/var/run/openstack" }}
# Name of this node. Must be a valid hostname, FQDN, or IP address. Must match
# "host" option, if running Nova. (string value)
# Deprecated group/name - [DEFAULT]/rpc_zmq_host
# from .default.oslo.messaging.rpc_zmq_host
{{ if not .default.oslo.messaging.rpc_zmq_host }}#{{ end }}rpc_zmq_host = {{ .default.oslo.messaging.rpc_zmq_host | default "localhost" }}
# Seconds to wait before a cast expires (TTL). The default value of -1 specifies
# an infinite linger period. The value of 0 specifies no linger period. Pending
# messages shall be discarded immediately when the socket is closed. Only
# supported by impl_zmq. (integer value)
# Deprecated group/name - [DEFAULT]/rpc_cast_timeout
# from .default.oslo.messaging.rpc_cast_timeout
{{ if not .default.oslo.messaging.rpc_cast_timeout }}#{{ end }}rpc_cast_timeout = {{ .default.oslo.messaging.rpc_cast_timeout | default "-1" }}
# The default number of seconds that poll should wait. Poll raises timeout
# exception when timeout expired. (integer value)
# Deprecated group/name - [DEFAULT]/rpc_poll_timeout
# from .default.oslo.messaging.rpc_poll_timeout
{{ if not .default.oslo.messaging.rpc_poll_timeout }}#{{ end }}rpc_poll_timeout = {{ .default.oslo.messaging.rpc_poll_timeout | default "1" }}
# Expiration timeout in seconds of a name service record about existing target (
# < 0 means no timeout). (integer value)
# Deprecated group/name - [DEFAULT]/zmq_target_expire
# from .default.oslo.messaging.zmq_target_expire
{{ if not .default.oslo.messaging.zmq_target_expire }}#{{ end }}zmq_target_expire = {{ .default.oslo.messaging.zmq_target_expire | default "300" }}
# Update period in seconds of a name service record about existing target.
# (integer value)
# Deprecated group/name - [DEFAULT]/zmq_target_update
# from .default.oslo.messaging.zmq_target_update
{{ if not .default.oslo.messaging.zmq_target_update }}#{{ end }}zmq_target_update = {{ .default.oslo.messaging.zmq_target_update | default "180" }}
# Use PUB/SUB pattern for fanout methods. PUB/SUB always uses proxy. (boolean
# value)
# Deprecated group/name - [DEFAULT]/use_pub_sub
# from .default.oslo.messaging.use_pub_sub
{{ if not .default.oslo.messaging.use_pub_sub }}#{{ end }}use_pub_sub = {{ .default.oslo.messaging.use_pub_sub | default "true" }}
# Use ROUTER remote proxy. (boolean value)
# Deprecated group/name - [DEFAULT]/use_router_proxy
# from .default.oslo.messaging.use_router_proxy
{{ if not .default.oslo.messaging.use_router_proxy }}#{{ end }}use_router_proxy = {{ .default.oslo.messaging.use_router_proxy | default "true" }}
# Minimal port number for random ports range. (port value)
# Minimum value: 0
# Maximum value: 65535
# Deprecated group/name - [DEFAULT]/rpc_zmq_min_port
# from .default.oslo.messaging.rpc_zmq_min_port
{{ if not .default.oslo.messaging.rpc_zmq_min_port }}#{{ end }}rpc_zmq_min_port = {{ .default.oslo.messaging.rpc_zmq_min_port | default "49153" }}
# Maximal port number for random ports range. (integer value)
# Minimum value: 1
# Maximum value: 65536
# Deprecated group/name - [DEFAULT]/rpc_zmq_max_port
# from .default.oslo.messaging.rpc_zmq_max_port
{{ if not .default.oslo.messaging.rpc_zmq_max_port }}#{{ end }}rpc_zmq_max_port = {{ .default.oslo.messaging.rpc_zmq_max_port | default "65536" }}
# Number of retries to find free port number before fail with ZMQBindError.
# (integer value)
# Deprecated group/name - [DEFAULT]/rpc_zmq_bind_port_retries
# from .default.oslo.messaging.rpc_zmq_bind_port_retries
{{ if not .default.oslo.messaging.rpc_zmq_bind_port_retries }}#{{ end }}rpc_zmq_bind_port_retries = {{ .default.oslo.messaging.rpc_zmq_bind_port_retries | default "100" }}
# Default serialization mechanism for serializing/deserializing
# outgoing/incoming messages (string value)
# Allowed values: json, msgpack
# Deprecated group/name - [DEFAULT]/rpc_zmq_serialization
# from .default.oslo.messaging.rpc_zmq_serialization
{{ if not .default.oslo.messaging.rpc_zmq_serialization }}#{{ end }}rpc_zmq_serialization = {{ .default.oslo.messaging.rpc_zmq_serialization | default "json" }}
# This option configures round-robin mode in zmq socket. True means not keeping
# a queue when server side disconnects. False means to keep queue and messages
# even if server is disconnected, when the server appears we send all
# accumulated messages to it. (boolean value)
# from .default.oslo.messaging.zmq_immediate
{{ if not .default.oslo.messaging.zmq_immediate }}#{{ end }}zmq_immediate = {{ .default.oslo.messaging.zmq_immediate | default "false" }}
# Size of executor thread pool. (integer value)
# Deprecated group/name - [DEFAULT]/rpc_thread_pool_size
# from .default.oslo.messaging.executor_thread_pool_size
{{ if not .default.oslo.messaging.executor_thread_pool_size }}#{{ end }}executor_thread_pool_size = {{ .default.oslo.messaging.executor_thread_pool_size | default "64" }}
# Seconds to wait for a response from a call. (integer value)
# from .default.oslo.messaging.rpc_response_timeout
{{ if not .default.oslo.messaging.rpc_response_timeout }}#{{ end }}rpc_response_timeout = {{ .default.oslo.messaging.rpc_response_timeout | default "60" }}
# A URL representing the messaging driver to use and its full configuration.
# (string value)
# from .default.oslo.messaging.transport_url
{{ if not .default.oslo.messaging.transport_url }}#{{ end }}transport_url = {{ .default.oslo.messaging.transport_url | default "<None>" }}
# DEPRECATED: The messaging driver to use, defaults to rabbit. Other drivers
# include amqp and zmq. (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: Replaced by [DEFAULT]/transport_url
# from .default.oslo.messaging.rpc_backend
{{ if not .default.oslo.messaging.rpc_backend }}#{{ end }}rpc_backend = {{ .default.oslo.messaging.rpc_backend | default "rabbit" }}
# The default exchange under which topics are scoped. May be overridden by an
# exchange name specified in the transport_url option. (string value)
# from .default.oslo.messaging.control_exchange
{{ if not .default.oslo.messaging.control_exchange }}#{{ end }}control_exchange = {{ .default.oslo.messaging.control_exchange | default "openstack" }}
#
# From oslo.service.periodic_task
#
# Some periodic tasks can be run in a separate process. Should we run them here?
# (boolean value)
# from .default.oslo.service.periodic_task.run_external_periodic_tasks
{{ if not .default.oslo.service.periodic_task.run_external_periodic_tasks }}#{{ end }}run_external_periodic_tasks = {{ .default.oslo.service.periodic_task.run_external_periodic_tasks | default "true" }}
#
# From oslo.service.service
#
# Enable eventlet backdoor. Acceptable values are 0, <port>, and <start>:<end>,
# where 0 results in listening on a random tcp port number; <port> results in
# listening on the specified port number (and not enabling backdoor if that port
# is in use); and <start>:<end> results in listening on the smallest unused port
# number within the specified range of port numbers. The chosen port is
# displayed in the service's log file. (string value)
# from .default.oslo.service.service.backdoor_port
{{ if not .default.oslo.service.service.backdoor_port }}#{{ end }}backdoor_port = {{ .default.oslo.service.service.backdoor_port | default "<None>" }}
# Enable eventlet backdoor, using the provided path as a unix socket that can
# receive connections. This option is mutually exclusive with 'backdoor_port' in
# that only one should be provided. If both are provided then the existence of
# this option overrides the usage of that option. (string value)
# from .default.oslo.service.service.backdoor_socket
{{ if not .default.oslo.service.service.backdoor_socket }}#{{ end }}backdoor_socket = {{ .default.oslo.service.service.backdoor_socket | default "<None>" }}
# Enables or disables logging values of all registered options when starting a
# service (at DEBUG level). (boolean value)
# from .default.oslo.service.service.log_options
{{ if not .default.oslo.service.service.log_options }}#{{ end }}log_options = {{ .default.oslo.service.service.log_options | default "true" }}
# Specify a timeout after which a gracefully shutdown server will exit. Zero
# value means endless wait. (integer value)
# from .default.oslo.service.service.graceful_shutdown_timeout
{{ if not .default.oslo.service.service.graceful_shutdown_timeout }}#{{ end }}graceful_shutdown_timeout = {{ .default.oslo.service.service.graceful_shutdown_timeout | default "60" }}
[api_database]
#
# The *Nova API Database* is a separate database which is used for information
# which is used across *cells*. This database is mandatory since the Mitaka
# release (13.0.0).
#
# From nova.conf
#
# The SQLAlchemy connection string to use to connect to the database.The
# SQLAlchemy connection string to use to connect to the database. (string value)
# from .api_database.nova.conf.connection
{{ if not .api_database.nova.conf.connection }}#{{ end }}connection = {{ .api_database.nova.conf.connection | default "<None>" }}
# If True, SQLite uses synchronous mode.If True, SQLite uses synchronous mode.
# (boolean value)
# from .api_database.nova.conf.sqlite_synchronous
{{ if not .api_database.nova.conf.sqlite_synchronous }}#{{ end }}sqlite_synchronous = {{ .api_database.nova.conf.sqlite_synchronous | default "true" }}
# The SQLAlchemy connection string to use to connect to the slave database.The
# SQLAlchemy connection string to use to connect to the slave database. (string
# value)
# from .api_database.nova.conf.slave_connection
{{ if not .api_database.nova.conf.slave_connection }}#{{ end }}slave_connection = {{ .api_database.nova.conf.slave_connection | default "<None>" }}
# 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=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= (string
# value)
# from .api_database.nova.conf.mysql_sql_mode
{{ if not .api_database.nova.conf.mysql_sql_mode }}#{{ end }}mysql_sql_mode = {{ .api_database.nova.conf.mysql_sql_mode | default "TRADITIONAL" }}
# Timeout before idle SQL connections are reaped.Timeout before idle SQL
# connections are reaped. (integer value)
# from .api_database.nova.conf.idle_timeout
{{ if not .api_database.nova.conf.idle_timeout }}#{{ end }}idle_timeout = {{ .api_database.nova.conf.idle_timeout | default "3600" }}
# Maximum number of SQL connections to keep open in a pool. Setting a value of 0
# indicates no limit.Maximum number of SQL connections to keep open in a pool.
# Setting a value of 0 indicates no limit. (integer value)
# from .api_database.nova.conf.max_pool_size
{{ if not .api_database.nova.conf.max_pool_size }}#{{ end }}max_pool_size = {{ .api_database.nova.conf.max_pool_size | default "<None>" }}
# Maximum number of database connection retries during startup. Set to -1 to
# specify an infinite retry count.Maximum number of database connection retries
# during startup. Set to -1 to specify an infinite retry count. (integer value)
# from .api_database.nova.conf.max_retries
{{ if not .api_database.nova.conf.max_retries }}#{{ end }}max_retries = {{ .api_database.nova.conf.max_retries | default "10" }}
# Interval between retries of opening a SQL connection.Interval between retries
# of opening a SQL connection. (integer value)
# from .api_database.nova.conf.retry_interval
{{ if not .api_database.nova.conf.retry_interval }}#{{ end }}retry_interval = {{ .api_database.nova.conf.retry_interval | default "10" }}
# If set, use this value for max_overflow with SQLAlchemy.If set, use this value
# for max_overflow with SQLAlchemy. (integer value)
# from .api_database.nova.conf.max_overflow
{{ if not .api_database.nova.conf.max_overflow }}#{{ end }}max_overflow = {{ .api_database.nova.conf.max_overflow | default "<None>" }}
# Verbosity of SQL debugging information: 0=None, 100=Everything.Verbosity of
# SQL debugging information: 0=None, 100=Everything. (integer value)
# from .api_database.nova.conf.connection_debug
{{ if not .api_database.nova.conf.connection_debug }}#{{ end }}connection_debug = {{ .api_database.nova.conf.connection_debug | default "0" }}
# Add Python stack traces to SQL as comment strings.Add Python stack traces to
# SQL as comment strings. (boolean value)
# from .api_database.nova.conf.connection_trace
{{ if not .api_database.nova.conf.connection_trace }}#{{ end }}connection_trace = {{ .api_database.nova.conf.connection_trace | default "false" }}
# If set, use this value for pool_timeout with SQLAlchemy.If set, use this value
# for pool_timeout with SQLAlchemy. (integer value)
# from .api_database.nova.conf.pool_timeout
{{ if not .api_database.nova.conf.pool_timeout }}#{{ end }}pool_timeout = {{ .api_database.nova.conf.pool_timeout | default "<None>" }}
[barbican]
#
# From nova.conf
#
# DEPRECATED:
# Info to match when looking for barbican in the service
# catalog. Format is: separated values of the form:
# <service_type>:<service_name>:<endpoint_type>
# (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: This option have been moved to the Castellan library
# from .barbican.nova.conf.catalog_info
{{ if not .barbican.nova.conf.catalog_info }}#{{ end }}catalog_info = {{ .barbican.nova.conf.catalog_info | default "key-manager:barbican:public" }}
# DEPRECATED:
# Override service catalog lookup with template for
# barbican endpoint e.g.
# http://localhost:9311/v1/%(project_id)s
# (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: This option have been moved to the Castellan library
# from .barbican.nova.conf.endpoint_template
{{ if not .barbican.nova.conf.endpoint_template }}#{{ end }}endpoint_template = {{ .barbican.nova.conf.endpoint_template | default "<None>" }}
# DEPRECATED: Region name of this node (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: This option have been moved to the Castellan library
# from .barbican.nova.conf.os_region_name
{{ if not .barbican.nova.conf.os_region_name }}#{{ end }}os_region_name = {{ .barbican.nova.conf.os_region_name | default "<None>" }}
# Use this endpoint to connect to Barbican, for example:
# "http://localhost:9311/" (string value)
# from .barbican.nova.conf.barbican_endpoint
{{ if not .barbican.nova.conf.barbican_endpoint }}#{{ end }}barbican_endpoint = {{ .barbican.nova.conf.barbican_endpoint | default "<None>" }}
# Version of the Barbican API, for example: "v1" (string value)
# from .barbican.nova.conf.barbican_api_version
{{ if not .barbican.nova.conf.barbican_api_version }}#{{ end }}barbican_api_version = {{ .barbican.nova.conf.barbican_api_version | default "<None>" }}
# Use this endpoint to connect to Keystone (string value)
# from .barbican.nova.conf.auth_endpoint
{{ if not .barbican.nova.conf.auth_endpoint }}#{{ end }}auth_endpoint = {{ .barbican.nova.conf.auth_endpoint | default "http://localhost:5000/v3" }}
# Number of seconds to wait before retrying poll for key creation completion
# (integer value)
# from .barbican.nova.conf.retry_delay
{{ if not .barbican.nova.conf.retry_delay }}#{{ end }}retry_delay = {{ .barbican.nova.conf.retry_delay | default "1" }}
# Number of times to retry poll for key creation completion (integer value)
# from .barbican.nova.conf.number_of_retries
{{ if not .barbican.nova.conf.number_of_retries }}#{{ end }}number_of_retries = {{ .barbican.nova.conf.number_of_retries | default "60" }}
[cache]
#
# From nova.conf
#
# 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. (string value)
# from .cache.nova.conf.config_prefix
{{ if not .cache.nova.conf.config_prefix }}#{{ end }}config_prefix = {{ .cache.nova.conf.config_prefix | default "cache.oslo" }}
# 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. (integer value)
# from .cache.nova.conf.expiration_time
{{ if not .cache.nova.conf.expiration_time }}#{{ end }}expiration_time = {{ .cache.nova.conf.expiration_time | default "600" }}
# 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. (string value)
# from .cache.nova.conf.backend
{{ if not .cache.nova.conf.backend }}#{{ end }}backend = {{ .cache.nova.conf.backend | default "dogpile.cache.null" }}
# Arguments supplied to the backend module. Specify this option once per
# argument to be passed to the dogpile.cache backend. Example format:
# "<argname>:<value>". (multi valued)
# from .cache.nova.conf.backend_argument (multiopt)
{{ if not .cache.nova.conf.backend_argument }}#backend_argument = {{ .cache.nova.conf.backend_argument | default "" }}{{ else }}{{ range .cache.nova.conf.backend_argument }}backend_argument = {{ . }}{{ end }}{{ end }}
# Proxy classes to import that will affect the way the dogpile.cache backend
# functions. See the dogpile.cache documentation on changing-backend-behavior.
# (list value)
# from .cache.nova.conf.proxies
{{ if not .cache.nova.conf.proxies }}#{{ end }}proxies = {{ .cache.nova.conf.proxies | default "" }}
# Global toggle for caching. (boolean value)
# from .cache.nova.conf.enabled
{{ if not .cache.nova.conf.enabled }}#{{ end }}enabled = {{ .cache.nova.conf.enabled | default "false" }}
# Extra debugging from the cache backend (cache keys, get/set/delete/etc calls).
# This is only really useful if you need to see the specific cache-backend
# get/set/delete calls with the keys/values. Typically this should be left set
# to false. (boolean value)
# from .cache.nova.conf.debug_cache_backend
{{ if not .cache.nova.conf.debug_cache_backend }}#{{ end }}debug_cache_backend = {{ .cache.nova.conf.debug_cache_backend | default "false" }}
# Memcache servers in the format of "host:port". (dogpile.cache.memcache and
# oslo_cache.memcache_pool backends only). (list value)
# from .cache.nova.conf.memcache_servers
{{ if not .cache.nova.conf.memcache_servers }}#{{ end }}memcache_servers = {{ .cache.nova.conf.memcache_servers | default "localhost:11211" }}
# Number of seconds memcached server is considered dead before it is tried
# again. (dogpile.cache.memcache and oslo_cache.memcache_pool backends only).
# (integer value)
# from .cache.nova.conf.memcache_dead_retry
{{ if not .cache.nova.conf.memcache_dead_retry }}#{{ end }}memcache_dead_retry = {{ .cache.nova.conf.memcache_dead_retry | default "300" }}
# Timeout in seconds for every call to a server. (dogpile.cache.memcache and
# oslo_cache.memcache_pool backends only). (integer value)
# from .cache.nova.conf.memcache_socket_timeout
{{ if not .cache.nova.conf.memcache_socket_timeout }}#{{ end }}memcache_socket_timeout = {{ .cache.nova.conf.memcache_socket_timeout | default "3" }}
# Max total number of open connections to every memcached server.
# (oslo_cache.memcache_pool backend only). (integer value)
# from .cache.nova.conf.memcache_pool_maxsize
{{ if not .cache.nova.conf.memcache_pool_maxsize }}#{{ end }}memcache_pool_maxsize = {{ .cache.nova.conf.memcache_pool_maxsize | default "10" }}
# Number of seconds a connection to memcached is held unused in the pool before
# it is closed. (oslo_cache.memcache_pool backend only). (integer value)
# from .cache.nova.conf.memcache_pool_unused_timeout
{{ if not .cache.nova.conf.memcache_pool_unused_timeout }}#{{ end }}memcache_pool_unused_timeout = {{ .cache.nova.conf.memcache_pool_unused_timeout | default "60" }}
# Number of seconds that an operation will wait to get a memcache client
# connection. (integer value)
# from .cache.nova.conf.memcache_pool_connection_get_timeout
{{ if not .cache.nova.conf.memcache_pool_connection_get_timeout }}#{{ end }}memcache_pool_connection_get_timeout = {{ .cache.nova.conf.memcache_pool_connection_get_timeout | default "10" }}
[cells]
#
# Cells options allow you to use cells functionality in openstack
# deployment.
#
#
# From nova.conf
#
#
# Enable cell functionality
#
# When this functionality is enabled, it lets you to scale an OpenStack
# Compute cloud in a more distributed fashion without having to use
# complicated technologies like database and message queue clustering.
# Cells are configured as a tree. The top-level cell should have a host
# that runs a nova-api service, but no nova-compute services. Each
# child cell should run all of the typical nova-* services in a regular
# Compute cloud except for nova-api. You can think of cells as a normal
# Compute deployment in that each cell has its own database server and
# message queue broker.
#
# Related options:
#
# * name: A unique cell name must be given when this functionality
# is enabled.
# * cell_type: Cell type should be defined for all cells.
#
# (boolean value)
# from .cells.nova.conf.enable
{{ if not .cells.nova.conf.enable }}#{{ end }}enable = {{ .cells.nova.conf.enable | default "false" }}
#
# Topic
#
# This is the message queue topic that cells nodes listen on. It is
# used when the cells service is started up to configure the queue,
# and whenever an RPC call to the scheduler is made.
#
# Possible values:
#
# * cells: This is the recommended and the default value.
#
# (string value)
# from .cells.nova.conf.topic
{{ if not .cells.nova.conf.topic }}#{{ end }}topic = {{ .cells.nova.conf.topic | default "cells" }}
#
# Name of the current cell
#
# This value must be unique for each cell. Name of a cell is used as
# its id, leaving this option unset or setting the same name for
# two or more cells may cause unexpected behaviour.
#
# Related options:
#
# * enabled: This option is meaningful only when cells service
# is enabled
#
# (string value)
# from .cells.nova.conf.name
{{ if not .cells.nova.conf.name }}#{{ end }}name = {{ .cells.nova.conf.name | default "nova" }}
#
# Cell capabilities
#
# List of arbitrary key=value pairs defining capabilities of the
# current cell to be sent to the parent cells. These capabilities
# are intended to be used in cells scheduler filters/weighers.
#
# Possible values:
#
# * key=value pairs list for example;
# ``hypervisor=xenserver;kvm,os=linux;windows``
#
# (list value)
# from .cells.nova.conf.capabilities
{{ if not .cells.nova.conf.capabilities }}#{{ end }}capabilities = {{ .cells.nova.conf.capabilities | default "hypervisor=xenserver;kvm,os=linux;windows" }}
#
# Call timeout
#
# Cell messaging module waits for response(s) to be put into the
# eventlet queue. This option defines the seconds waited for
# response from a call to a cell.
#
# Possible values:
#
# * Time in seconds.
#
# (integer value)
# Minimum value: 0
# from .cells.nova.conf.call_timeout
{{ if not .cells.nova.conf.call_timeout }}#{{ end }}call_timeout = {{ .cells.nova.conf.call_timeout | default "60" }}
#
# Reserve percentage
#
# Percentage of cell capacity to hold in reserve, so the minimum
# amount of free resource is considered to be;
# min_free = total * (reserve_percent / 100.0)
# This option affects both memory and disk utilization.
# The primary purpose of this reserve is to ensure some space is
# available for users who want to resize their instance to be larger.
# Note that currently once the capacity expands into this reserve
# space this option is ignored.
#
# (floating point value)
# from .cells.nova.conf.reserve_percent
{{ if not .cells.nova.conf.reserve_percent }}#{{ end }}reserve_percent = {{ .cells.nova.conf.reserve_percent | default "10.0" }}
#
# Type of cell
#
# When cells feature is enabled the hosts in the OpenStack Compute
# cloud are partitioned into groups. Cells are configured as a tree.
# The top-level cell's cell_type must be set to ``api``. All other
# cells are defined as a ``compute cell`` by default.
#
# Related options:
#
# * compute_api_class: This option must be set to cells api driver
# for the top-level cell (nova.compute.cells_api.ComputeCellsAPI)
# * quota_driver: Disable quota checking for the child cells.
# (nova.quota.NoopQuotaDriver)
# (string value)
# Allowed values: api, compute
# from .cells.nova.conf.cell_type
{{ if not .cells.nova.conf.cell_type }}#{{ end }}cell_type = {{ .cells.nova.conf.cell_type | default "compute" }}
#
# Mute child interval
#
# Number of seconds after which a lack of capability and capacity
# update the child cell is to be treated as a mute cell. Then the
# child cell will be weighed as recommend highly that it be skipped.
#
# Possible values:
#
# * Time in seconds.
#
# (integer value)
# from .cells.nova.conf.mute_child_interval
{{ if not .cells.nova.conf.mute_child_interval }}#{{ end }}mute_child_interval = {{ .cells.nova.conf.mute_child_interval | default "300" }}
#
# Bandwidth update interval
#
# Seconds between bandwidth usage cache updates for cells.
#
# Possible values:
#
# * Time in seconds.
#
# (integer value)
# from .cells.nova.conf.bandwidth_update_interval
{{ if not .cells.nova.conf.bandwidth_update_interval }}#{{ end }}bandwidth_update_interval = {{ .cells.nova.conf.bandwidth_update_interval | default "600" }}
#
# Instance update sync database limit
#
# Number of instances to pull from the database at one time for
# a sync. If there are more instances to update the results will
# be paged through.
#
# Possible values:
#
# * Number of instances.
#
# (integer value)
# from .cells.nova.conf.instance_update_sync_database_limit
{{ if not .cells.nova.conf.instance_update_sync_database_limit }}#{{ end }}instance_update_sync_database_limit = {{ .cells.nova.conf.instance_update_sync_database_limit | default "100" }}
#
# Mute weight multiplier
#
# Multiplier used to weigh mute children. Mute children cells are
# recommended to be skipped so their weight is multiplied by this
# negative value.
#
# Possible values:
#
# * Negative numeric number
#
# (floating point value)
# from .cells.nova.conf.mute_weight_multiplier
{{ if not .cells.nova.conf.mute_weight_multiplier }}#{{ end }}mute_weight_multiplier = {{ .cells.nova.conf.mute_weight_multiplier | default "-10000.0" }}
#
# Ram weight multiplier
#
# Multiplier used for weighing ram. Negative numbers indicate that
# Compute should stack VMs on one host instead of spreading out new
# VMs to more hosts in the cell.
#
# Possible values:
#
# * Numeric multiplier
#
# (floating point value)
# from .cells.nova.conf.ram_weight_multiplier
{{ if not .cells.nova.conf.ram_weight_multiplier }}#{{ end }}ram_weight_multiplier = {{ .cells.nova.conf.ram_weight_multiplier | default "10.0" }}
#
# Offset weight multiplier
#
# Multiplier used to weigh offset weigher. Cells with higher
# weight_offsets in the DB will be preferred. The weight_offset
# is a property of a cell stored in the database. It can be used
# by a deployer to have scheduling decisions favor or disfavor
# cells based on the setting.
#
# Possible values:
#
# * Numeric multiplier
#
# (floating point value)
# from .cells.nova.conf.offset_weight_multiplier
{{ if not .cells.nova.conf.offset_weight_multiplier }}#{{ end }}offset_weight_multiplier = {{ .cells.nova.conf.offset_weight_multiplier | default "1.0" }}
# DEPRECATED: Cells communication driver
#
# Driver for cell<->cell communication via RPC. This is used to
# setup the RPC consumers as well as to send a message to another cell.
# 'nova.cells.rpc_driver.CellsRPCDriver' starts up 2 separate servers
# for handling inter-cell communication via RPC.
#
# (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: The only available driver is the RPC driver.
# from .cells.nova.conf.driver
{{ if not .cells.nova.conf.driver }}#{{ end }}driver = {{ .cells.nova.conf.driver | default "nova.cells.rpc_driver.CellsRPCDriver" }}
#
# Instance updated at threshold
#
# Number of seconds after an instance was updated or deleted to
# continue to update cells. This option lets cells manager to only
# attempt to sync instances that have been updated recently.
# i.e., a threshold of 3600 means to only update instances that
# have modified in the last hour.
#
# Possible values:
#
# * Threshold in seconds
#
# Related options:
#
# * This value is used with the ``instance_update_num_instances``
# value in a periodic task run.
#
# (integer value)
# from .cells.nova.conf.instance_updated_at_threshold
{{ if not .cells.nova.conf.instance_updated_at_threshold }}#{{ end }}instance_updated_at_threshold = {{ .cells.nova.conf.instance_updated_at_threshold | default "3600" }}
#
# Instance update num instances
#
# On every run of the periodic task, nova cells manager will attempt to
# sync instance_updated_at_threshold number of instances. When the
# manager gets the list of instances, it shuffles them so that multiple
# nova-cells services do not attempt to sync the same instances in
# lockstep.
#
# Possible values:
#
# * Positive integer number
#
# Related options:
#
# * This value is used with the ``instance_updated_at_threshold``
# value in a periodic task run.
#
# (integer value)
# from .cells.nova.conf.instance_update_num_instances
{{ if not .cells.nova.conf.instance_update_num_instances }}#{{ end }}instance_update_num_instances = {{ .cells.nova.conf.instance_update_num_instances | default "1" }}
#
# Maximum hop count
#
# When processing a targeted message, if the local cell is not the
# target, a route is defined between neighbouring cells. And the
# message is processed across the whole routing path. This option
# defines the maximum hop counts until reaching the target.
#
# Possible values:
#
# * Positive integer value
#
# (integer value)
# from .cells.nova.conf.max_hop_count
{{ if not .cells.nova.conf.max_hop_count }}#{{ end }}max_hop_count = {{ .cells.nova.conf.max_hop_count | default "10" }}
#
# Cells scheduler
#
# The class of the driver used by the cells scheduler. This should be
# the full Python path to the class to be used. If nothing is specified
# in this option, the CellsScheduler is used.
#
# (string value)
# from .cells.nova.conf.scheduler
{{ if not .cells.nova.conf.scheduler }}#{{ end }}scheduler = {{ .cells.nova.conf.scheduler | default "nova.cells.scheduler.CellsScheduler" }}
#
# RPC driver queue base
#
# When sending a message to another cell by JSON-ifying the message
# and making an RPC cast to 'process_message', a base queue is used.
# This option defines the base queue name to be used when communicating
# between cells. Various topics by message type will be appended to this.
#
# Possible values:
#
# * The base queue name to be used when communicating between cells.
#
# (string value)
# from .cells.nova.conf.rpc_driver_queue_base
{{ if not .cells.nova.conf.rpc_driver_queue_base }}#{{ end }}rpc_driver_queue_base = {{ .cells.nova.conf.rpc_driver_queue_base | default "cells.intercell" }}
#
# Scheduler filter classes
#
# Filter classes the cells scheduler should use. An entry of
# "nova.cells.filters.all_filters" maps to all cells filters
# included with nova. As of the Mitaka release the following
# filter classes are available:
#
# Different cell filter: A scheduler hint of 'different_cell'
# with a value of a full cell name may be specified to route
# a build away from a particular cell.
#
# Image properties filter: Image metadata named
# 'hypervisor_version_requires' with a version specification
# may be specified to ensure the build goes to a cell which
# has hypervisors of the required version. If either the version
# requirement on the image or the hypervisor capability of the
# cell is not present, this filter returns without filtering out
# the cells.
#
# Target cell filter: A scheduler hint of 'target_cell' with a
# value of a full cell name may be specified to route a build to
# a particular cell. No error handling is done as there's no way
# to know whether the full path is a valid.
#
# As an admin user, you can also add a filter that directs builds
# to a particular cell.
#
# (list value)
# from .cells.nova.conf.scheduler_filter_classes
{{ if not .cells.nova.conf.scheduler_filter_classes }}#{{ end }}scheduler_filter_classes = {{ .cells.nova.conf.scheduler_filter_classes | default "nova.cells.filters.all_filters" }}
#
# Scheduler weight classes
#
# Weigher classes the cells scheduler should use. An entry of
# "nova.cells.weights.all_weighers" maps to all cell weighers
# included with nova. As of the Mitaka release the following
# weight classes are available:
#
# mute_child: Downgrades the likelihood of child cells being
# chosen for scheduling requests, which haven't sent capacity
# or capability updates in a while. Options include
# mute_weight_multiplier (multiplier for mute children; value
# should be negative).
#
# ram_by_instance_type: Select cells with the most RAM capacity
# for the instance type being requested. Because higher weights
# win, Compute returns the number of available units for the
# instance type requested. The ram_weight_multiplier option defaults
# to 10.0 that adds to the weight by a factor of 10. Use a negative
# number to stack VMs on one host instead of spreading out new VMs
# to more hosts in the cell.
#
# weight_offset: Allows modifying the database to weight a particular
# cell. The highest weight will be the first cell to be scheduled for
# launching an instance. When the weight_offset of a cell is set to 0,
# it is unlikely to be picked but it could be picked if other cells
# have a lower weight, like if they're full. And when the weight_offset
# is set to a very high value (for example, '999999999999999'), it is
# likely to be picked if another cell do not have a higher weight.
#
# (list value)
# from .cells.nova.conf.scheduler_weight_classes
{{ if not .cells.nova.conf.scheduler_weight_classes }}#{{ end }}scheduler_weight_classes = {{ .cells.nova.conf.scheduler_weight_classes | default "nova.cells.weights.all_weighers" }}
#
# Scheduler retries
#
# How many retries when no cells are available. Specifies how many
# times the scheduler tries to launch a new instance when no cells
# are available.
#
# Possible values:
#
# * Positive integer value
#
# Related options:
#
# * This value is used with the ``scheduler_retry_delay`` value
# while retrying to find a suitable cell.
#
# (integer value)
# from .cells.nova.conf.scheduler_retries
{{ if not .cells.nova.conf.scheduler_retries }}#{{ end }}scheduler_retries = {{ .cells.nova.conf.scheduler_retries | default "10" }}
#
# Scheduler retry delay
#
# Specifies the delay (in seconds) between scheduling retries when no
# cell can be found to place the new instance on. When the instance
# could not be scheduled to a cell after ``scheduler_retries`` in
# combination with ``scheduler_retry_delay``, then the scheduling
# of the instance failed.
#
# Possible values:
#
# * Time in seconds.
#
# Related options:
#
# * This value is used with the ``scheduler_retries`` value
# while retrying to find a suitable cell.
#
# (integer value)
# from .cells.nova.conf.scheduler_retry_delay
{{ if not .cells.nova.conf.scheduler_retry_delay }}#{{ end }}scheduler_retry_delay = {{ .cells.nova.conf.scheduler_retry_delay | default "2" }}
#
# DB check interval
#
# Cell state manager updates cell status for all cells from the DB
# only after this particular interval time is passed. Otherwise cached
# status are used. If this value is 0 or negative all cell status are
# updated from the DB whenever a state is needed.
#
# Possible values:
#
# * Interval time, in seconds.
#
# (integer value)
# from .cells.nova.conf.db_check_interval
{{ if not .cells.nova.conf.db_check_interval }}#{{ end }}db_check_interval = {{ .cells.nova.conf.db_check_interval | default "60" }}
#
# Optional cells configuration
#
# Configuration file from which to read cells configuration. If given,
# overrides reading cells from the database.
#
# Cells store all inter-cell communication data, including user names
# and passwords, in the database. Because the cells data is not updated
# very frequently, use this option to specify a JSON file to store
# cells data. With this configuration, the database is no longer
# consulted when reloading the cells data. The file must have columns
# present in the Cell model (excluding common database fields and the
# id column). You must specify the queue connection information through
# a transport_url field, instead of username, password, and so on.
#
# The transport_url has the following form:
# rabbit://USERNAME:PASSWORD@HOSTNAME:PORT/VIRTUAL_HOST
#
# Possible values:
#
# The scheme can be either qpid or rabbit, the following sample shows
# this optional configuration:
#
# {
# "parent": {
# "name": "parent",
# "api_url": "http://api.example.com:8774",
# "transport_url": "rabbit://rabbit.example.com",
# "weight_offset": 0.0,
# "weight_scale": 1.0,
# "is_parent": true
# },
# "cell1": {
# "name": "cell1",
# "api_url": "http://api.example.com:8774",
# "transport_url": "rabbit://rabbit1.example.com",
# "weight_offset": 0.0,
# "weight_scale": 1.0,
# "is_parent": false
# },
# "cell2": {
# "name": "cell2",
# "api_url": "http://api.example.com:8774",
# "transport_url": "rabbit://rabbit2.example.com",
# "weight_offset": 0.0,
# "weight_scale": 1.0,
# "is_parent": false
# }
# }
#
# (string value)
# from .cells.nova.conf.cells_config
{{ if not .cells.nova.conf.cells_config }}#{{ end }}cells_config = {{ .cells.nova.conf.cells_config | default "<None>" }}
[cinder]
#
# From nova.conf
#
#
# 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>
#
# Related options:
#
# * endpoint_template - Setting this option will override catalog_info
# (string value)
# from .cinder.nova.conf.catalog_info
{{ if not .cinder.nova.conf.catalog_info }}#{{ end }}catalog_info = {{ .cinder.nova.conf.catalog_info | default "volumev2:cinderv2:publicURL" }}
#
# 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/v1/%(project_id)s
#
# Related options:
#
# * catalog_info - If endpoint_template is not set, catalog_info will be used.
# (string value)
# from .cinder.nova.conf.endpoint_template
{{ if not .cinder.nova.conf.endpoint_template }}#{{ end }}endpoint_template = {{ .cinder.nova.conf.endpoint_template | default "<None>" }}
#
# Region name of this node. This is used when picking the URL in the service
# catalog.
#
# Possible values:
#
# * Any string representing region name
# (string value)
# from .cinder.nova.conf.os_region_name
{{ if not .cinder.nova.conf.os_region_name }}#{{ end }}os_region_name = {{ .cinder.nova.conf.os_region_name | default "<None>" }}
#
# 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
# (integer value)
# Minimum value: 0
# from .cinder.nova.conf.http_retries
{{ if not .cinder.nova.conf.http_retries }}#{{ end }}http_retries = {{ .cinder.nova.conf.http_retries | default "3" }}
#
# 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.
# (boolean value)
# from .cinder.nova.conf.cross_az_attach
{{ if not .cinder.nova.conf.cross_az_attach }}#{{ end }}cross_az_attach = {{ .cinder.nova.conf.cross_az_attach | default "true" }}
[cloudpipe]
#
# From nova.conf
#
#
# Image ID used when starting up a cloudpipe VPN client.
#
# An empty instance is created and configured with OpenVPN using
# boot_script_template. This instance would be snapshotted and stored
# in glance. ID of the stored image is used in 'vpn_image_id' to
# create cloudpipe VPN client.
#
# Possible values:
#
# * Any valid ID of a VPN image
# (string value)
# Deprecated group/name - [DEFAULT]/vpn_image_id
# from .cloudpipe.nova.conf.vpn_image_id
{{ if not .cloudpipe.nova.conf.vpn_image_id }}#{{ end }}vpn_image_id = {{ .cloudpipe.nova.conf.vpn_image_id | default "0" }}
#
# Flavor for VPN instances.
#
# Possible values:
#
# * Any valid flavor name
# (string value)
# Deprecated group/name - [DEFAULT]/vpn_flavor
# from .cloudpipe.nova.conf.vpn_flavor
{{ if not .cloudpipe.nova.conf.vpn_flavor }}#{{ end }}vpn_flavor = {{ .cloudpipe.nova.conf.vpn_flavor | default "m1.tiny" }}
#
# Template for cloudpipe instance boot script.
#
# Possible values:
#
# * Any valid path to a cloudpipe instance boot script template
#
# Related options:
#
# The following options are required to configure cloudpipe-managed
# OpenVPN server.
#
# * dmz_net
# * dmz_mask
# * cnt_vpn_clients
# (string value)
# Deprecated group/name - [DEFAULT]/boot_script_template
# from .cloudpipe.nova.conf.boot_script_template
{{ if not .cloudpipe.nova.conf.boot_script_template }}#{{ end }}boot_script_template = {{ .cloudpipe.nova.conf.boot_script_template | default "$pybasedir/nova/cloudpipe/bootscript.template" }}
#
# Network to push into OpenVPN config.
#
# Note: Above mentioned OpenVPN config can be found at
# /etc/openvpn/server.conf.
#
# Possible values:
#
# * Any valid IPv4/IPV6 address
#
# Related options:
#
# * boot_script_template - dmz_net is pushed into bootscript.template
# to configure cloudpipe-managed OpenVPN server
# (IP address value)
# Deprecated group/name - [DEFAULT]/dmz_net
# from .cloudpipe.nova.conf.dmz_net
{{ if not .cloudpipe.nova.conf.dmz_net }}#{{ end }}dmz_net = {{ .cloudpipe.nova.conf.dmz_net | default "10.0.0.0" }}
#
# Netmask to push into OpenVPN config.
#
# Possible values:
#
# * Any valid IPv4/IPV6 netmask
#
# Related options:
#
# * dmz_net - dmz_net and dmz_mask is pushed into bootscript.template
# to configure cloudpipe-managed OpenVPN server
# * boot_script_template
# (IP address value)
# Deprecated group/name - [DEFAULT]/dmz_mask
# from .cloudpipe.nova.conf.dmz_mask
{{ if not .cloudpipe.nova.conf.dmz_mask }}#{{ end }}dmz_mask = {{ .cloudpipe.nova.conf.dmz_mask | default "255.255.255.0" }}
#
# Suffix to add to project name for VPN key and secgroups
#
# Possible values:
#
# * Any string value representing the VPN key suffix
# (string value)
# Deprecated group/name - [DEFAULT]/vpn_key_suffix
# from .cloudpipe.nova.conf.vpn_key_suffix
{{ if not .cloudpipe.nova.conf.vpn_key_suffix }}#{{ end }}vpn_key_suffix = {{ .cloudpipe.nova.conf.vpn_key_suffix | default "-vpn" }}
[conductor]
#
# Options under this group are used to define Conductor's communication,
# which manager should be act as a proxy between computes and database,
# and finally, how many worker processes will be used.
#
# From nova.conf
#
# DEPRECATED:
# Perform nova-conductor operations locally. This legacy mode was
# introduced to bridge a gap during the transition to the conductor service.
# It no longer represents a reasonable alternative for deployers.
#
# Removal may be as early as 14.0.
# (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# from .conductor.nova.conf.use_local
{{ if not .conductor.nova.conf.use_local }}#{{ end }}use_local = {{ .conductor.nova.conf.use_local | default "false" }}
#
# Topic exchange name on which conductor nodes listen.
# (string value)
# from .conductor.nova.conf.topic
{{ if not .conductor.nova.conf.topic }}#{{ end }}topic = {{ .conductor.nova.conf.topic | default "conductor" }}
# DEPRECATED:
# Full class name for the Manager for conductor.
#
# Removal in 14.0
# (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# from .conductor.nova.conf.manager
{{ if not .conductor.nova.conf.manager }}#{{ end }}manager = {{ .conductor.nova.conf.manager | default "nova.conductor.manager.ConductorManager" }}
#
# Number of workers for OpenStack Conductor service. The default will be the
# number of CPUs available.
# (integer value)
# from .conductor.nova.conf.workers
{{ if not .conductor.nova.conf.workers }}#{{ end }}workers = {{ .conductor.nova.conf.workers | default "<None>" }}
[cors]
#
# From oslo.middleware
#
# 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 (list value)
# from .cors.oslo.middleware.allowed_origin
{{ if not .cors.oslo.middleware.allowed_origin }}#{{ end }}allowed_origin = {{ .cors.oslo.middleware.allowed_origin | default "<None>" }}
# Indicate that the actual request can include user credentials (boolean value)
# from .cors.oslo.middleware.allow_credentials
{{ if not .cors.oslo.middleware.allow_credentials }}#{{ end }}allow_credentials = {{ .cors.oslo.middleware.allow_credentials | default "true" }}
# Indicate which headers are safe to expose to the API. Defaults to HTTP Simple
# Headers. (list value)
# from .cors.oslo.middleware.expose_headers
{{ if not .cors.oslo.middleware.expose_headers }}#{{ end }}expose_headers = {{ .cors.oslo.middleware.expose_headers | default "X-Auth-Token,X-Openstack-Request-Id,X-Subject-Token,X-Service-Token" }}
# Maximum cache age of CORS preflight requests. (integer value)
# from .cors.oslo.middleware.max_age
{{ if not .cors.oslo.middleware.max_age }}#{{ end }}max_age = {{ .cors.oslo.middleware.max_age | default "3600" }}
# Indicate which methods can be used during the actual request. (list value)
# from .cors.oslo.middleware.allow_methods
{{ if not .cors.oslo.middleware.allow_methods }}#{{ end }}allow_methods = {{ .cors.oslo.middleware.allow_methods | default "GET,PUT,POST,DELETE,PATCH" }}
# Indicate which header field names may be used during the actual request. (list
# value)
# from .cors.oslo.middleware.allow_headers
{{ if not .cors.oslo.middleware.allow_headers }}#{{ end }}allow_headers = {{ .cors.oslo.middleware.allow_headers | default "X-Auth-Token,X-Openstack-Request-Id,X-Identity-Status,X-Roles,X-Service-Catalog,X-User-Id,X-Tenant-Id" }}
[cors.subdomain]
#
# From oslo.middleware
#
# 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 (list value)
# from .cors.subdomain.oslo.middleware.allowed_origin
{{ if not .cors.subdomain.oslo.middleware.allowed_origin }}#{{ end }}allowed_origin = {{ .cors.subdomain.oslo.middleware.allowed_origin | default "<None>" }}
# Indicate that the actual request can include user credentials (boolean value)
# from .cors.subdomain.oslo.middleware.allow_credentials
{{ if not .cors.subdomain.oslo.middleware.allow_credentials }}#{{ end }}allow_credentials = {{ .cors.subdomain.oslo.middleware.allow_credentials | default "true" }}
# Indicate which headers are safe to expose to the API. Defaults to HTTP Simple
# Headers. (list value)
# from .cors.subdomain.oslo.middleware.expose_headers
{{ if not .cors.subdomain.oslo.middleware.expose_headers }}#{{ end }}expose_headers = {{ .cors.subdomain.oslo.middleware.expose_headers | default "X-Auth-Token,X-Openstack-Request-Id,X-Subject-Token,X-Service-Token" }}
# Maximum cache age of CORS preflight requests. (integer value)
# from .cors.subdomain.oslo.middleware.max_age
{{ if not .cors.subdomain.oslo.middleware.max_age }}#{{ end }}max_age = {{ .cors.subdomain.oslo.middleware.max_age | default "3600" }}
# Indicate which methods can be used during the actual request. (list value)
# from .cors.subdomain.oslo.middleware.allow_methods
{{ if not .cors.subdomain.oslo.middleware.allow_methods }}#{{ end }}allow_methods = {{ .cors.subdomain.oslo.middleware.allow_methods | default "GET,PUT,POST,DELETE,PATCH" }}
# Indicate which header field names may be used during the actual request. (list
# value)
# from .cors.subdomain.oslo.middleware.allow_headers
{{ if not .cors.subdomain.oslo.middleware.allow_headers }}#{{ end }}allow_headers = {{ .cors.subdomain.oslo.middleware.allow_headers | default "X-Auth-Token,X-Openstack-Request-Id,X-Identity-Status,X-Roles,X-Service-Catalog,X-User-Id,X-Tenant-Id" }}
[crypto]
#
# From nova.conf
#
#
# 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
# (string value)
# Deprecated group/name - [DEFAULT]/ca_file
# from .crypto.nova.conf.ca_file
{{ if not .crypto.nova.conf.ca_file }}#{{ end }}ca_file = {{ .crypto.nova.conf.ca_file | default "cacert.pem" }}
#
# Filename of a private key.
#
# Related options:
#
# * keys_path
# (string value)
# Deprecated group/name - [DEFAULT]/key_file
# from .crypto.nova.conf.key_file
{{ if not .crypto.nova.conf.key_file }}#{{ end }}key_file = {{ .crypto.nova.conf.key_file | default "private/cakey.pem" }}
#
# 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
# (string value)
# Deprecated group/name - [DEFAULT]/crl_file
# from .crypto.nova.conf.crl_file
{{ if not .crypto.nova.conf.crl_file }}#{{ end }}crl_file = {{ .crypto.nova.conf.crl_file | default "crl.pem" }}
#
# Directory path where keys are located.
#
# Related options:
#
# * key_file
# (string value)
# Deprecated group/name - [DEFAULT]/keys_path
# from .crypto.nova.conf.keys_path
{{ if not .crypto.nova.conf.keys_path }}#{{ end }}keys_path = {{ .crypto.nova.conf.keys_path | default "$state_path/keys" }}
#
# Directory path where root CA is located.
#
# Related options:
#
# * ca_file
# (string value)
# Deprecated group/name - [DEFAULT]/ca_path
# from .crypto.nova.conf.ca_path
{{ if not .crypto.nova.conf.ca_path }}#{{ end }}ca_path = {{ .crypto.nova.conf.ca_path | default "$state_path/CA" }}
# Option to enable/disable use of CA for each project. (boolean value)
# Deprecated group/name - [DEFAULT]/use_project_ca
# from .crypto.nova.conf.use_project_ca
{{ if not .crypto.nova.conf.use_project_ca }}#{{ end }}use_project_ca = {{ .crypto.nova.conf.use_project_ca | default "false" }}
#
# Subject for certificate for users, %s for
# project, user, timestamp
# (string value)
# Deprecated group/name - [DEFAULT]/user_cert_subject
# from .crypto.nova.conf.user_cert_subject
{{ if not .crypto.nova.conf.user_cert_subject }}#{{ end }}user_cert_subject = {{ .crypto.nova.conf.user_cert_subject | default "/C=US/ST=California/O=OpenStack/OU=NovaDev/CN=%.16s-%.16s-%s" }}
#
# Subject for certificate for projects, %s for
# project, timestamp
# (string value)
# Deprecated group/name - [DEFAULT]/project_cert_subject
# from .crypto.nova.conf.project_cert_subject
{{ if not .crypto.nova.conf.project_cert_subject }}#{{ end }}project_cert_subject = {{ .crypto.nova.conf.project_cert_subject | default "/C=US/ST=California/O=OpenStack/OU=NovaDev/CN=project-ca-%.16s-%s" }}
[database]
#
# From oslo.db
#
# DEPRECATED: The file name to use with SQLite. (string value)
# Deprecated group/name - [DEFAULT]/sqlite_db
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: Should use config option connection or slave_connection to connect the
# database.
# from .database.oslo.db.sqlite_db
{{ if not .database.oslo.db.sqlite_db }}#{{ end }}sqlite_db = {{ .database.oslo.db.sqlite_db | default "oslo.sqlite" }}
# If True, SQLite uses synchronous mode. (boolean value)
# Deprecated group/name - [DEFAULT]/sqlite_synchronous
# from .database.oslo.db.sqlite_synchronous
{{ if not .database.oslo.db.sqlite_synchronous }}#{{ end }}sqlite_synchronous = {{ .database.oslo.db.sqlite_synchronous | default "true" }}
# The back end to use for the database. (string value)
# Deprecated group/name - [DEFAULT]/db_backend
# from .database.oslo.db.backend
{{ if not .database.oslo.db.backend }}#{{ end }}backend = {{ .database.oslo.db.backend | default "sqlalchemy" }}
# The SQLAlchemy connection string to use to connect to the database. (string
# value)
# Deprecated group/name - [DEFAULT]/sql_connection
# Deprecated group/name - [DATABASE]/sql_connection
# Deprecated group/name - [sql]/connection
# from .database.oslo.db.connection
{{ if not .database.oslo.db.connection }}#{{ end }}connection = {{ .database.oslo.db.connection | default "<None>" }}
# The SQLAlchemy connection string to use to connect to the slave database.
# (string value)
# from .database.oslo.db.slave_connection
{{ if not .database.oslo.db.slave_connection }}#{{ end }}slave_connection = {{ .database.oslo.db.slave_connection | default "<None>" }}
# 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=
# (string value)
# from .database.oslo.db.mysql_sql_mode
{{ if not .database.oslo.db.mysql_sql_mode }}#{{ end }}mysql_sql_mode = {{ .database.oslo.db.mysql_sql_mode | default "TRADITIONAL" }}
# Timeout before idle SQL connections are reaped. (integer value)
# Deprecated group/name - [DEFAULT]/sql_idle_timeout
# Deprecated group/name - [DATABASE]/sql_idle_timeout
# Deprecated group/name - [sql]/idle_timeout
# from .database.oslo.db.idle_timeout
{{ if not .database.oslo.db.idle_timeout }}#{{ end }}idle_timeout = {{ .database.oslo.db.idle_timeout | default "3600" }}
# Minimum number of SQL connections to keep open in a pool. (integer value)
# Deprecated group/name - [DEFAULT]/sql_min_pool_size
# Deprecated group/name - [DATABASE]/sql_min_pool_size
# from .database.oslo.db.min_pool_size
{{ if not .database.oslo.db.min_pool_size }}#{{ end }}min_pool_size = {{ .database.oslo.db.min_pool_size | default "1" }}
# Maximum number of SQL connections to keep open in a pool. Setting a value of 0
# indicates no limit. (integer value)
# Deprecated group/name - [DEFAULT]/sql_max_pool_size
# Deprecated group/name - [DATABASE]/sql_max_pool_size
# from .database.oslo.db.max_pool_size
{{ if not .database.oslo.db.max_pool_size }}#{{ end }}max_pool_size = {{ .database.oslo.db.max_pool_size | default "5" }}
# Maximum number of database connection retries during startup. Set to -1 to
# specify an infinite retry count. (integer value)
# Deprecated group/name - [DEFAULT]/sql_max_retries
# Deprecated group/name - [DATABASE]/sql_max_retries
# from .database.oslo.db.max_retries
{{ if not .database.oslo.db.max_retries }}#{{ end }}max_retries = {{ .database.oslo.db.max_retries | default "10" }}
# Interval between retries of opening a SQL connection. (integer value)
# Deprecated group/name - [DEFAULT]/sql_retry_interval
# Deprecated group/name - [DATABASE]/reconnect_interval
# from .database.oslo.db.retry_interval
{{ if not .database.oslo.db.retry_interval }}#{{ end }}retry_interval = {{ .database.oslo.db.retry_interval | default "10" }}
# If set, use this value for max_overflow with SQLAlchemy. (integer value)
# Deprecated group/name - [DEFAULT]/sql_max_overflow
# Deprecated group/name - [DATABASE]/sqlalchemy_max_overflow
# from .database.oslo.db.max_overflow
{{ if not .database.oslo.db.max_overflow }}#{{ end }}max_overflow = {{ .database.oslo.db.max_overflow | default "50" }}
# Verbosity of SQL debugging information: 0=None, 100=Everything. (integer
# value)
# Minimum value: 0
# Maximum value: 100
# Deprecated group/name - [DEFAULT]/sql_connection_debug
# from .database.oslo.db.connection_debug
{{ if not .database.oslo.db.connection_debug }}#{{ end }}connection_debug = {{ .database.oslo.db.connection_debug | default "0" }}
# Add Python stack traces to SQL as comment strings. (boolean value)
# Deprecated group/name - [DEFAULT]/sql_connection_trace
# from .database.oslo.db.connection_trace
{{ if not .database.oslo.db.connection_trace }}#{{ end }}connection_trace = {{ .database.oslo.db.connection_trace | default "false" }}
# If set, use this value for pool_timeout with SQLAlchemy. (integer value)
# Deprecated group/name - [DATABASE]/sqlalchemy_pool_timeout
# from .database.oslo.db.pool_timeout
{{ if not .database.oslo.db.pool_timeout }}#{{ end }}pool_timeout = {{ .database.oslo.db.pool_timeout | default "<None>" }}
# Enable the experimental use of database reconnect on connection lost. (boolean
# value)
# from .database.oslo.db.use_db_reconnect
{{ if not .database.oslo.db.use_db_reconnect }}#{{ end }}use_db_reconnect = {{ .database.oslo.db.use_db_reconnect | default "false" }}
# Seconds between retries of a database transaction. (integer value)
# from .database.oslo.db.db_retry_interval
{{ if not .database.oslo.db.db_retry_interval }}#{{ end }}db_retry_interval = {{ .database.oslo.db.db_retry_interval | default "1" }}
# If True, increases the interval between retries of a database operation up to
# db_max_retry_interval. (boolean value)
# from .database.oslo.db.db_inc_retry_interval
{{ if not .database.oslo.db.db_inc_retry_interval }}#{{ end }}db_inc_retry_interval = {{ .database.oslo.db.db_inc_retry_interval | default "true" }}
# If db_inc_retry_interval is set, the maximum seconds between retries of a
# database operation. (integer value)
# from .database.oslo.db.db_max_retry_interval
{{ if not .database.oslo.db.db_max_retry_interval }}#{{ end }}db_max_retry_interval = {{ .database.oslo.db.db_max_retry_interval | default "10" }}
# Maximum retries in case of connection error or deadlock error before error is
# raised. Set to -1 to specify an infinite retry count. (integer value)
# from .database.oslo.db.db_max_retries
{{ if not .database.oslo.db.db_max_retries }}#{{ end }}db_max_retries = {{ .database.oslo.db.db_max_retries | default "20" }}
#
# From oslo.db.concurrency
#
# Enable the experimental use of thread pooling for all DB API calls (boolean
# value)
# Deprecated group/name - [DEFAULT]/dbapi_use_tpool
# from .database.oslo.db.concurrency.use_tpool
{{ if not .database.oslo.db.concurrency.use_tpool }}#{{ end }}use_tpool = {{ .database.oslo.db.concurrency.use_tpool | default "false" }}
[ephemeral_storage_encryption]
#
# From nova.conf
#
#
# Enables/disables LVM ephemeral storage encryption.
# (boolean value)
# from .ephemeral_storage_encryption.nova.conf.enabled
{{ if not .ephemeral_storage_encryption.nova.conf.enabled }}#{{ end }}enabled = {{ .ephemeral_storage_encryption.nova.conf.enabled | default "false" }}
#
# 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.
#
# Possible values:
#
# * aes-xts-plain64 (Default), see /proc/crypto for available options.
# (string value)
# from .ephemeral_storage_encryption.nova.conf.cipher
{{ if not .ephemeral_storage_encryption.nova.conf.cipher }}#{{ end }}cipher = {{ .ephemeral_storage_encryption.nova.conf.cipher | default "aes-xts-plain64" }}
#
# 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).
# (integer value)
# Minimum value: 1
# from .ephemeral_storage_encryption.nova.conf.key_size
{{ if not .ephemeral_storage_encryption.nova.conf.key_size }}#{{ end }}key_size = {{ .ephemeral_storage_encryption.nova.conf.key_size | default "512" }}
[glance]
#
# From nova.conf
#
#
# A list of the glance api servers endpoints available to nova. These
# should be fully qualified urls of the form
# "scheme://hostname:port[/path]" (i.e. "http://10.0.1.0:9292" or
# "https://my.glance.server/image") (list value)
# from .glance.nova.conf.api_servers
{{ if not .glance.nova.conf.api_servers }}#{{ end }}api_servers = {{ .glance.nova.conf.api_servers | default "<None>" }}
# Allow to perform insecure SSL (https) requests to glance (boolean value)
# from .glance.nova.conf.api_insecure
{{ if not .glance.nova.conf.api_insecure }}#{{ end }}api_insecure = {{ .glance.nova.conf.api_insecure | default "false" }}
# Number of retries when uploading / downloading an image to / from glance.
# (integer value)
# from .glance.nova.conf.num_retries
{{ if not .glance.nova.conf.num_retries }}#{{ end }}num_retries = {{ .glance.nova.conf.num_retries | default "0" }}
# A list of url scheme that can be downloaded directly via the direct_url.
# Currently supported schemes: [file]. (list value)
# from .glance.nova.conf.allowed_direct_url_schemes
{{ if not .glance.nova.conf.allowed_direct_url_schemes }}#{{ end }}allowed_direct_url_schemes = {{ .glance.nova.conf.allowed_direct_url_schemes | default "" }}
# DEPRECATED:
# This flag allows reverting to glance v1 if for some reason glance v2 doesn't
# work in your environment. This will only exist in Newton, and a fully working
# Glance v2 will be a hard requirement in Ocata.
#
# * Possible values:
#
# True or False
#
# * Services that use this:
#
# ``nova-api``
# ``nova-compute``
# ``nova-conductor``
#
# * Related options:
#
# None
# (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: Glance v1 support will be removed in Ocata
# from .glance.nova.conf.use_glance_v1
{{ if not .glance.nova.conf.use_glance_v1 }}#{{ end }}use_glance_v1 = {{ .glance.nova.conf.use_glance_v1 | default "false" }}
# Require Nova to perform signature verification on each image downloaded from
# Glance. (boolean value)
# from .glance.nova.conf.verify_glance_signatures
{{ if not .glance.nova.conf.verify_glance_signatures }}#{{ end }}verify_glance_signatures = {{ .glance.nova.conf.verify_glance_signatures | default "false" }}
# Enable or disable debug logging with glanceclient. (boolean value)
# from .glance.nova.conf.debug
{{ if not .glance.nova.conf.debug }}#{{ end }}debug = {{ .glance.nova.conf.debug | default "false" }}
[guestfs]
#
# libguestfs is a set of tools for accessing and modifying virtual
# machine (VM) disk images. You can use this for viewing and editing
# files inside guests, scripting changes to VMs, monitoring disk
# used/free statistics, creating guests, P2V, V2V, performing backups,
# cloning VMs, building VMs, formatting disks and resizing disks.
#
# From nova.conf
#
#
# 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
# (boolean value)
# from .guestfs.nova.conf.debug
{{ if not .guestfs.nova.conf.debug }}#{{ end }}debug = {{ .guestfs.nova.conf.debug | default "false" }}
[hyperv]
#
# The hyperv feature allows you to configure the Hyper-V hypervisor
# driver to be used within an OpenStack deployment.
#
# From nova.conf
#
#
# Dynamic memory ratio
#
# Enables dynamic memory allocation (ballooning) when set to a value
# greater than 1. The value expresses the ratio between the total RAM
# assigned to an instance and its startup RAM amount. For example a
# ratio of 2.0 for an instance with 1024MB of RAM implies 512MB of
# RAM allocated at startup.
#
# Possible values:
#
# * 1.0: Disables dynamic memory allocation (Default).
# * Float values greater than 1.0: Enables allocation of total implied
# RAM divided by this value for startup.
# (floating point value)
# from .hyperv.nova.conf.dynamic_memory_ratio
{{ if not .hyperv.nova.conf.dynamic_memory_ratio }}#{{ end }}dynamic_memory_ratio = {{ .hyperv.nova.conf.dynamic_memory_ratio | default "1.0" }}
#
# Enable instance metrics collection
#
# Enables metrics collections for an instance by using Hyper-V's
# metric APIs. Collected data can by retrieved by other apps and
# services, e.g.: Ceilometer.
# (boolean value)
# from .hyperv.nova.conf.enable_instance_metrics_collection
{{ if not .hyperv.nova.conf.enable_instance_metrics_collection }}#{{ end }}enable_instance_metrics_collection = {{ .hyperv.nova.conf.enable_instance_metrics_collection | default "false" }}
#
# Instances path share
#
# The name of a Windows share mapped to the "instances_path" dir
# and used by the resize feature to copy files to the target host.
# If left blank, an administrative share (hidden network share) will
# be used, looking for the same "instances_path" used locally.
#
# Possible values:
#
# * "": An administrative share will be used (Default).
# * Name of a Windows share.
#
# Related options:
#
# * "instances_path": The directory which will be used if this option
# here is left blank.
# (string value)
# from .hyperv.nova.conf.instances_path_share
{{ if not .hyperv.nova.conf.instances_path_share }}#{{ end }}instances_path_share = {{ .hyperv.nova.conf.instances_path_share | default "" }}
#
# Limit CPU features
#
# This flag is needed to support live migration to hosts with
# different CPU features and checked during instance creation
# in order to limit the CPU features used by the instance.
# (boolean value)
# from .hyperv.nova.conf.limit_cpu_features
{{ if not .hyperv.nova.conf.limit_cpu_features }}#{{ end }}limit_cpu_features = {{ .hyperv.nova.conf.limit_cpu_features | default "false" }}
#
# Mounted disk query retry count
#
# The number of times to retry checking for a disk mounted via iSCSI.
# During long stress runs the WMI query that is looking for the iSCSI
# device number can incorrectly return no data. If the query is
# retried the appropriate data can then be obtained. The query runs
# until the device can be found or the retry count is reached.
#
# Possible values:
#
# * Positive integer values. Values greater than 1 is recommended
# (Default: 10).
#
# Related options:
#
# * Time interval between disk mount retries is declared with
# "mounted_disk_query_retry_interval" option.
# (integer value)
# Minimum value: 0
# from .hyperv.nova.conf.mounted_disk_query_retry_count
{{ if not .hyperv.nova.conf.mounted_disk_query_retry_count }}#{{ end }}mounted_disk_query_retry_count = {{ .hyperv.nova.conf.mounted_disk_query_retry_count | default "10" }}
#
# Mounted disk query retry interval
#
# Interval between checks for a mounted iSCSI disk, in seconds.
#
# Possible values:
#
# * Time in seconds (Default: 5).
#
# Related options:
#
# * This option is meaningful when the mounted_disk_query_retry_count
# is greater than 1.
# * The retry loop runs with mounted_disk_query_retry_count and
# mounted_disk_query_retry_interval configuration options.
# (integer value)
# Minimum value: 0
# from .hyperv.nova.conf.mounted_disk_query_retry_interval
{{ if not .hyperv.nova.conf.mounted_disk_query_retry_interval }}#{{ end }}mounted_disk_query_retry_interval = {{ .hyperv.nova.conf.mounted_disk_query_retry_interval | default "5" }}
#
# Power state check timeframe
#
# The timeframe to be checked for instance power state changes.
# This option is used to fetch the state of the instance from Hyper-V
# through the WMI interface, within the specified timeframe.
#
# Possible values:
#
# * Timeframe in seconds (Default: 60).
# (integer value)
# Minimum value: 0
# from .hyperv.nova.conf.power_state_check_timeframe
{{ if not .hyperv.nova.conf.power_state_check_timeframe }}#{{ end }}power_state_check_timeframe = {{ .hyperv.nova.conf.power_state_check_timeframe | default "60" }}
#
# Power state event polling interval
#
# Instance power state change event polling frequency. Sets the
# listener interval for power state events to the given value.
# This option enhances the internal lifecycle notifications of
# instances that reboot themselves. It is unlikely that an operator
# has to change this value.
#
# Possible values:
#
# * Time in seconds (Default: 2).
# (integer value)
# Minimum value: 0
# from .hyperv.nova.conf.power_state_event_polling_interval
{{ if not .hyperv.nova.conf.power_state_event_polling_interval }}#{{ end }}power_state_event_polling_interval = {{ .hyperv.nova.conf.power_state_event_polling_interval | default "2" }}
#
# qemu-img command
#
# qemu-img is required for some of the image related operations
# like converting between different image types. You can get it
# from here: (http://qemu.weilnetz.de/) or you can install the
# Cloudbase OpenStack Hyper-V Compute Driver
# (https://cloudbase.it/openstack-hyperv-driver/) which automatically
# sets the proper path for this config option. You can either give the
# full path of qemu-img.exe or set its path in the PATH environment
# variable and leave this option to the default value.
#
# Possible values:
#
# * Name of the qemu-img executable, in case it is in the same
# directory as the nova-compute service or its path is in the
# PATH environment variable (Default).
# * Path of qemu-img command (DRIVELETTER:\PATH\TO\QEMU-IMG\COMMAND).
#
# Related options:
#
# * If the config_drive_cdrom option is False, qemu-img will be used to
# convert the ISO to a VHD, otherwise the configuration drive will
# remain an ISO. To use configuration drive with Hyper-V, you must
# set the mkisofs_cmd value to the full path to an mkisofs.exe
# installation.
# (string value)
# from .hyperv.nova.conf.qemu_img_cmd
{{ if not .hyperv.nova.conf.qemu_img_cmd }}#{{ end }}qemu_img_cmd = {{ .hyperv.nova.conf.qemu_img_cmd | default "qemu-img.exe" }}
#
# External virtual switch name
#
# The Hyper-V Virtual Switch is a software-based layer-2 Ethernet
# network switch that is available with the installation of the
# Hyper-V server role. The switch includes programmatically managed
# and extensible capabilities to connect virtual machines to both
# virtual networks and the physical network. In addition, Hyper-V
# Virtual Switch provides policy enforcement for security, isolation,
# and service levels. The vSwitch represented by this config option
# must be an external one (not internal or private).
#
# Possible values:
#
# * If not provided, the first of a list of available vswitches
# is used. This list is queried using WQL.
# * Virtual switch name.
# (string value)
# from .hyperv.nova.conf.vswitch_name
{{ if not .hyperv.nova.conf.vswitch_name }}#{{ end }}vswitch_name = {{ .hyperv.nova.conf.vswitch_name | default "<None>" }}
#
# Wait soft reboot seconds
#
# 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.
#
# Possible values:
#
# * Time in seconds (Default: 60).
# (integer value)
# Minimum value: 0
# from .hyperv.nova.conf.wait_soft_reboot_seconds
{{ if not .hyperv.nova.conf.wait_soft_reboot_seconds }}#{{ end }}wait_soft_reboot_seconds = {{ .hyperv.nova.conf.wait_soft_reboot_seconds | default "60" }}
#
# Configuration drive cdrom
#
# OpenStack can be configured to write instance metadata to
# a configuration drive, which is then attached to the
# instance before it boots. The configuration drive can be
# attached as a disk drive (default) or as a CD drive.
#
# Possible values:
#
# * True: Attach the configuration drive image as a CD drive.
# * False: Attach the configuration drive image as a disk drive (Default).
#
# Related options:
#
# * This option is meaningful with force_config_drive option set to 'True'
# or when the REST API call to create an instance will have
# '--config-drive=True' flag.
# * config_drive_format option must be set to 'iso9660' in order to use
# CD drive as the configuration drive image.
# * To use configuration drive with Hyper-V, you must set the
# mkisofs_cmd value to the full path to an mkisofs.exe installation.
# Additionally, you must set the qemu_img_cmd value to the full path
# to an qemu-img command installation.
# * You can configure the Compute service to always create a configuration
# drive by setting the force_config_drive option to 'True'.
# (boolean value)
# from .hyperv.nova.conf.config_drive_cdrom
{{ if not .hyperv.nova.conf.config_drive_cdrom }}#{{ end }}config_drive_cdrom = {{ .hyperv.nova.conf.config_drive_cdrom | default "false" }}
#
# Configuration drive inject password
#
# Enables setting the admin password in the configuration drive image.
#
# Related options:
#
# * This option is meaningful when used with other options that enable
# configuration drive usage with Hyper-V, such as force_config_drive.
# * Currently, the only accepted config_drive_format is 'iso9660'.
# (boolean value)
# from .hyperv.nova.conf.config_drive_inject_password
{{ if not .hyperv.nova.conf.config_drive_inject_password }}#{{ end }}config_drive_inject_password = {{ .hyperv.nova.conf.config_drive_inject_password | default "false" }}
#
# Volume attach retry count
#
# The number of times to retry to attach a volume. This option is used
# to avoid incorrectly returned no data when the system is under load.
# Volume attachment is retried until success or the given retry count
# is reached. To prepare the Hyper-V node to be able to attach to
# volumes provided by cinder you must first make sure the Windows iSCSI
# initiator service is running and started automatically.
#
# Possible values:
#
# * Positive integer values (Default: 10).
#
# Related options:
#
# * Time interval between attachment attempts is declared with
# volume_attach_retry_interval option.
# (integer value)
# Minimum value: 0
# from .hyperv.nova.conf.volume_attach_retry_count
{{ if not .hyperv.nova.conf.volume_attach_retry_count }}#{{ end }}volume_attach_retry_count = {{ .hyperv.nova.conf.volume_attach_retry_count | default "10" }}
#
# Volume attach retry interval
#
# Interval between volume attachment attempts, in seconds.
#
# Possible values:
#
# * Time in seconds (Default: 5).
#
# Related options:
#
# * This options is meaningful when volume_attach_retry_count
# is greater than 1.
# * The retry loop runs with volume_attach_retry_count and
# volume_attach_retry_interval configuration options.
# (integer value)
# Minimum value: 0
# from .hyperv.nova.conf.volume_attach_retry_interval
{{ if not .hyperv.nova.conf.volume_attach_retry_interval }}#{{ end }}volume_attach_retry_interval = {{ .hyperv.nova.conf.volume_attach_retry_interval | default "5" }}
#
# Enable RemoteFX feature
#
# This requires at least one DirectX 11 capable graphics adapter for
# Windows / Hyper-V Server 2012 R2 or newer and RDS-Virtualization
# feature has to be enabled.
#
# Instances with RemoteFX can be requested with the following flavor
# extra specs:
#
# **os:resolution**. Guest VM screen resolution size. Acceptable values::
#
# 1024x768, 1280x1024, 1600x1200, 1920x1200, 2560x1600, 3840x2160
#
# ``3840x2160`` is only available on Windows / Hyper-V Server 2016.
#
# **os:monitors**. Guest VM number of monitors. Acceptable values::
#
# [1, 4] - Windows / Hyper-V Server 2012 R2
# [1, 8] - Windows / Hyper-V Server 2016
#
# **os:vram**. Guest VM VRAM amount. Only available on
# Windows / Hyper-V Server 2016. Acceptable values::
#
# 64, 128, 256, 512, 1024
# (boolean value)
# from .hyperv.nova.conf.enable_remotefx
{{ if not .hyperv.nova.conf.enable_remotefx }}#{{ end }}enable_remotefx = {{ .hyperv.nova.conf.enable_remotefx | default "false" }}
[image_file_url]
#
# From nova.conf
#
# DEPRECATED:
# List of file systems that are configured in this file in the
# image_file_url:<list entry name> sections
# (list value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason:
# The feature to download images from glance via filesystem is not used and will
# be removed in the future.
# from .image_file_url.nova.conf.filesystems
{{ if not .image_file_url.nova.conf.filesystems }}#{{ end }}filesystems = {{ .image_file_url.nova.conf.filesystems | default "" }}
[ironic]
#
# Configuration options for Ironic driver (Bare Metal).
# If using the Ironic driver following options must be set:
# * auth_type
# * auth_url
# * project_name
# * username
# * password
# * project_domain_id or project_domain_name
# * user_domain_id or user_domain_name
#
# Please note that if you are using Identity v2 API (deprecated),
# you don't need to provide domain information, since domains are
# a v3 concept.
#
# From nova.conf
#
# URL override for the Ironic API endpoint. (string value)
# from .ironic.nova.conf.api_endpoint
{{ if not .ironic.nova.conf.api_endpoint }}#{{ end }}api_endpoint = {{ .ironic.nova.conf.api_endpoint | default "http://ironic.example.org:6385/" }}
# DEPRECATED: Ironic keystone admin name. Use ``username`` instead. (string
# value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# from .ironic.nova.conf.admin_username
{{ if not .ironic.nova.conf.admin_username }}#{{ end }}admin_username = {{ .ironic.nova.conf.admin_username | default "<None>" }}
# DEPRECATED: Ironic keystone admin password. Use ``password`` instead. (string
# value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# from .ironic.nova.conf.admin_password
{{ if not .ironic.nova.conf.admin_password }}#{{ end }}admin_password = {{ .ironic.nova.conf.admin_password | default "<None>" }}
# DEPRECATED: Keystone public API endpoint. Use ``auth_url`` instead. (string
# value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# from .ironic.nova.conf.admin_url
{{ if not .ironic.nova.conf.admin_url }}#{{ end }}admin_url = {{ .ironic.nova.conf.admin_url | default "<None>" }}
# DEPRECATED: Ironic keystone tenant name. Use ``project_name`` instead. (string
# value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# from .ironic.nova.conf.admin_tenant_name
{{ if not .ironic.nova.conf.admin_tenant_name }}#{{ end }}admin_tenant_name = {{ .ironic.nova.conf.admin_tenant_name | default "<None>" }}
#
# The number of times to retry when a request conflicts.
# If set to 0, only try once, no retries.
#
# Related options:
#
# * api_retry_interval
# (integer value)
# Minimum value: 0
# from .ironic.nova.conf.api_max_retries
{{ if not .ironic.nova.conf.api_max_retries }}#{{ end }}api_max_retries = {{ .ironic.nova.conf.api_max_retries | default "60" }}
#
# The number of seconds to wait before retrying the request.
#
# Related options:
#
# * api_max_retries
# (integer value)
# Minimum value: 0
# from .ironic.nova.conf.api_retry_interval
{{ if not .ironic.nova.conf.api_retry_interval }}#{{ end }}api_retry_interval = {{ .ironic.nova.conf.api_retry_interval | default "2" }}
# PEM encoded Certificate Authority to use when verifying HTTPs connections.
# (string value)
# from .ironic.nova.conf.cafile
{{ if not .ironic.nova.conf.cafile }}#{{ end }}cafile = {{ .ironic.nova.conf.cafile | default "<None>" }}
# PEM encoded client certificate cert file (string value)
# from .ironic.nova.conf.certfile
{{ if not .ironic.nova.conf.certfile }}#{{ end }}certfile = {{ .ironic.nova.conf.certfile | default "<None>" }}
# PEM encoded client certificate key file (string value)
# from .ironic.nova.conf.keyfile
{{ if not .ironic.nova.conf.keyfile }}#{{ end }}keyfile = {{ .ironic.nova.conf.keyfile | default "<None>" }}
# Verify HTTPS connections. (boolean value)
# from .ironic.nova.conf.insecure
{{ if not .ironic.nova.conf.insecure }}#{{ end }}insecure = {{ .ironic.nova.conf.insecure | default "false" }}
# Timeout value for http requests (integer value)
# from .ironic.nova.conf.timeout
{{ if not .ironic.nova.conf.timeout }}#{{ end }}timeout = {{ .ironic.nova.conf.timeout | default "<None>" }}
# Authentication type to load (string value)
# Deprecated group/name - [ironic]/auth_plugin
# from .ironic.nova.conf.auth_type
{{ if not .ironic.nova.conf.auth_type }}#{{ end }}auth_type = {{ .ironic.nova.conf.auth_type | default "<None>" }}
# Config Section from which to load plugin specific options (string value)
# from .ironic.nova.conf.auth_section
{{ if not .ironic.nova.conf.auth_section }}#{{ end }}auth_section = {{ .ironic.nova.conf.auth_section | default "<None>" }}
# Authentication URL (string value)
# from .ironic.nova.conf.auth_url
{{ if not .ironic.nova.conf.auth_url }}#{{ end }}auth_url = {{ .ironic.nova.conf.auth_url | default "<None>" }}
# Domain ID to scope to (string value)
# from .ironic.nova.conf.domain_id
{{ if not .ironic.nova.conf.domain_id }}#{{ end }}domain_id = {{ .ironic.nova.conf.domain_id | default "<None>" }}
# Domain name to scope to (string value)
# from .ironic.nova.conf.domain_name
{{ if not .ironic.nova.conf.domain_name }}#{{ end }}domain_name = {{ .ironic.nova.conf.domain_name | default "<None>" }}
# Project ID to scope to (string value)
# from .ironic.nova.conf.project_id
{{ if not .ironic.nova.conf.project_id }}#{{ end }}project_id = {{ .ironic.nova.conf.project_id | default "<None>" }}
# Project name to scope to (string value)
# from .ironic.nova.conf.project_name
{{ if not .ironic.nova.conf.project_name }}#{{ end }}project_name = {{ .ironic.nova.conf.project_name | default "<None>" }}
# Domain ID containing project (string value)
# from .ironic.nova.conf.project_domain_id
{{ if not .ironic.nova.conf.project_domain_id }}#{{ end }}project_domain_id = {{ .ironic.nova.conf.project_domain_id | default "<None>" }}
# Domain name containing project (string value)
# from .ironic.nova.conf.project_domain_name
{{ if not .ironic.nova.conf.project_domain_name }}#{{ end }}project_domain_name = {{ .ironic.nova.conf.project_domain_name | default "<None>" }}
# Trust ID (string value)
# from .ironic.nova.conf.trust_id
{{ if not .ironic.nova.conf.trust_id }}#{{ end }}trust_id = {{ .ironic.nova.conf.trust_id | default "<None>" }}
# User ID (string value)
# from .ironic.nova.conf.user_id
{{ if not .ironic.nova.conf.user_id }}#{{ end }}user_id = {{ .ironic.nova.conf.user_id | default "<None>" }}
# Username (string value)
# Deprecated group/name - [ironic]/user-name
# from .ironic.nova.conf.username
{{ if not .ironic.nova.conf.username }}#{{ end }}username = {{ .ironic.nova.conf.username | default "<None>" }}
# User's domain id (string value)
# from .ironic.nova.conf.user_domain_id
{{ if not .ironic.nova.conf.user_domain_id }}#{{ end }}user_domain_id = {{ .ironic.nova.conf.user_domain_id | default "<None>" }}
# User's domain name (string value)
# from .ironic.nova.conf.user_domain_name
{{ if not .ironic.nova.conf.user_domain_name }}#{{ end }}user_domain_name = {{ .ironic.nova.conf.user_domain_name | default "<None>" }}
# User's password (string value)
# from .ironic.nova.conf.password
{{ if not .ironic.nova.conf.password }}#{{ end }}password = {{ .ironic.nova.conf.password | default "<None>" }}
[key_manager]
#
# From nova.conf
#
#
# Fixed key returned by key manager, specified in hex.
#
# Possible values:
#
# * Empty string or a key in hex value
# (string value)
# Deprecated group/name - [keymgr]/fixed_key
# from .key_manager.nova.conf.fixed_key
{{ if not .key_manager.nova.conf.fixed_key }}#{{ end }}fixed_key = {{ .key_manager.nova.conf.fixed_key | default "<None>" }}
# The full class name of the key manager API class (string value)
# from .key_manager.nova.conf.api_class
{{ if not .key_manager.nova.conf.api_class }}#{{ end }}api_class = {{ .key_manager.nova.conf.api_class | default "castellan.key_manager.barbican_key_manager.BarbicanKeyManager" }}
# The type of authentication credential to create. Possible values are 'token',
# 'password', 'keystone_token', and 'keystone_password'. Required if no context
# is passed to the credential factory. (string value)
# from .key_manager.nova.conf.auth_type
{{ if not .key_manager.nova.conf.auth_type }}#{{ end }}auth_type = {{ .key_manager.nova.conf.auth_type | default "<None>" }}
# Token for authentication. Required for 'token' and 'keystone_token' auth_type
# if no context is passed to the credential factory. (string value)
# from .key_manager.nova.conf.token
{{ if not .key_manager.nova.conf.token }}#{{ end }}token = {{ .key_manager.nova.conf.token | default "<None>" }}
# Username for authentication. Required for 'password' auth_type. Optional for
# the 'keystone_password' auth_type. (string value)
# from .key_manager.nova.conf.username
{{ if not .key_manager.nova.conf.username }}#{{ end }}username = {{ .key_manager.nova.conf.username | default "<None>" }}
# Password for authentication. Required for 'password' and 'keystone_password'
# auth_type. (string value)
# from .key_manager.nova.conf.password
{{ if not .key_manager.nova.conf.password }}#{{ end }}password = {{ .key_manager.nova.conf.password | default "<None>" }}
# User ID for authentication. Optional for 'keystone_token' and
# 'keystone_password' auth_type. (string value)
# from .key_manager.nova.conf.user_id
{{ if not .key_manager.nova.conf.user_id }}#{{ end }}user_id = {{ .key_manager.nova.conf.user_id | default "<None>" }}
# User's domain ID for authentication. Optional for 'keystone_token' and
# 'keystone_password' auth_type. (string value)
# from .key_manager.nova.conf.user_domain_id
{{ if not .key_manager.nova.conf.user_domain_id }}#{{ end }}user_domain_id = {{ .key_manager.nova.conf.user_domain_id | default "<None>" }}
# User's domain name for authentication. Optional for 'keystone_token' and
# 'keystone_password' auth_type. (string value)
# from .key_manager.nova.conf.user_domain_name
{{ if not .key_manager.nova.conf.user_domain_name }}#{{ end }}user_domain_name = {{ .key_manager.nova.conf.user_domain_name | default "<None>" }}
# Trust ID for trust scoping. Optional for 'keystone_token' and
# 'keystone_password' auth_type. (string value)
# from .key_manager.nova.conf.trust_id
{{ if not .key_manager.nova.conf.trust_id }}#{{ end }}trust_id = {{ .key_manager.nova.conf.trust_id | default "<None>" }}
# Domain ID for domain scoping. Optional for 'keystone_token' and
# 'keystone_password' auth_type. (string value)
# from .key_manager.nova.conf.domain_id
{{ if not .key_manager.nova.conf.domain_id }}#{{ end }}domain_id = {{ .key_manager.nova.conf.domain_id | default "<None>" }}
# Domain name for domain scoping. Optional for 'keystone_token' and
# 'keystone_password' auth_type. (string value)
# from .key_manager.nova.conf.domain_name
{{ if not .key_manager.nova.conf.domain_name }}#{{ end }}domain_name = {{ .key_manager.nova.conf.domain_name | default "<None>" }}
# Project ID for project scoping. Optional for 'keystone_token' and
# 'keystone_password' auth_type. (string value)
# from .key_manager.nova.conf.project_id
{{ if not .key_manager.nova.conf.project_id }}#{{ end }}project_id = {{ .key_manager.nova.conf.project_id | default "<None>" }}
# Project name for project scoping. Optional for 'keystone_token' and
# 'keystone_password' auth_type. (string value)
# from .key_manager.nova.conf.project_name
{{ if not .key_manager.nova.conf.project_name }}#{{ end }}project_name = {{ .key_manager.nova.conf.project_name | default "<None>" }}
# Project's domain ID for project. Optional for 'keystone_token' and
# 'keystone_password' auth_type. (string value)
# from .key_manager.nova.conf.project_domain_id
{{ if not .key_manager.nova.conf.project_domain_id }}#{{ end }}project_domain_id = {{ .key_manager.nova.conf.project_domain_id | default "<None>" }}
# Project's domain name for project. Optional for 'keystone_token' and
# 'keystone_password' auth_type. (string value)
# from .key_manager.nova.conf.project_domain_name
{{ if not .key_manager.nova.conf.project_domain_name }}#{{ end }}project_domain_name = {{ .key_manager.nova.conf.project_domain_name | default "<None>" }}
# Allow fetching a new token if the current one is going to expire. Optional for
# 'keystone_token' and 'keystone_password' auth_type. (boolean value)
# from .key_manager.nova.conf.reauthenticate
{{ if not .key_manager.nova.conf.reauthenticate }}#{{ end }}reauthenticate = {{ .key_manager.nova.conf.reauthenticate | default "true" }}
[keystone_authtoken]
# FIXME(alanmeadows) - added the next several lines because oslo gen config refuses to generate the line items required in keystonemiddleware
# for authentication - while it does support an "auth_section" parameter to locate these elsewhere, it would be a strange divergence
# from how neutron keystone authentication is stored today - ocata and later appear to use a "service" user section which can house these details
# and does successfully generate beyond newton, so likely this whole section will be removed the next time we generate this file
{{ if not .keystone_authtoken.keystonemiddleware.auth_token.auth_url }}#{{ end }}auth_url = {{ .keystone_authtoken.keystonemiddleware.auth_token.auth_url | default "<None>" }}
{{ if not .keystone_authtoken.keystonemiddleware.auth_token.region_name }}#{{ end }}region_name = {{ .keystone_authtoken.keystonemiddleware.auth_token.region_name | default "<None>" }}
{{ if not .keystone_authtoken.keystonemiddleware.auth_token.project_name }}#{{ end }}project_name = {{ .keystone_authtoken.keystonemiddleware.auth_token.project_name | default "<None>" }}
{{ if not .keystone_authtoken.keystonemiddleware.auth_token.project_domain_name }}#{{ end }}project_domain_name = {{ .keystone_authtoken.keystonemiddleware.auth_token.project_domain_name | default "<None>" }}
{{ if not .keystone_authtoken.keystonemiddleware.auth_token.user_domain_name }}#{{ end }}user_domain_name = {{ .keystone_authtoken.keystonemiddleware.auth_token.user_domain_name | default "<None>" }}
{{ if not .keystone_authtoken.keystonemiddleware.auth_token.username }}#{{ end }}username = {{ .keystone_authtoken.keystonemiddleware.auth_token.username | default "<None>" }}
{{ if not .keystone_authtoken.keystonemiddleware.auth_token.password }}#{{ end }}password = {{ .keystone_authtoken.keystonemiddleware.auth_token.password | default "<None>" }}
# FIXME(alanmeadows) - added for some newton images using older keystoneauth1 libs but are still "newton"
{{ if not .keystone_authtoken.keystonemiddleware.auth_token.auth_url }}#{{ end }}auth_url = {{ .keystone_authtoken.keystonemiddleware.auth_token.auth_url | default "<None>" }}
#
# From keystonemiddleware.auth_token
#
# 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. (string value)
# from .keystone_authtoken.keystonemiddleware.auth_token.auth_uri
{{ if not .keystone_authtoken.keystonemiddleware.auth_token.auth_uri }}#{{ end }}auth_uri = {{ .keystone_authtoken.keystonemiddleware.auth_token.auth_uri | default "<None>" }}
# API version of the admin Identity API endpoint. (string value)
# from .keystone_authtoken.keystonemiddleware.auth_token.auth_version
{{ if not .keystone_authtoken.keystonemiddleware.auth_token.auth_version }}#{{ end }}auth_version = {{ .keystone_authtoken.keystonemiddleware.auth_token.auth_version | default "<None>" }}
# Do not handle authorization requests within the middleware, but delegate the
# authorization decision to downstream WSGI components. (boolean value)
# from .keystone_authtoken.keystonemiddleware.auth_token.delay_auth_decision
{{ if not .keystone_authtoken.keystonemiddleware.auth_token.delay_auth_decision }}#{{ end }}delay_auth_decision = {{ .keystone_authtoken.keystonemiddleware.auth_token.delay_auth_decision | default "false" }}
# Request timeout value for communicating with Identity API server. (integer
# value)
# from .keystone_authtoken.keystonemiddleware.auth_token.http_connect_timeout
{{ if not .keystone_authtoken.keystonemiddleware.auth_token.http_connect_timeout }}#{{ end }}http_connect_timeout = {{ .keystone_authtoken.keystonemiddleware.auth_token.http_connect_timeout | default "<None>" }}
# How many times are we trying to reconnect when communicating with Identity API
# Server. (integer value)
# from .keystone_authtoken.keystonemiddleware.auth_token.http_request_max_retries
{{ if not .keystone_authtoken.keystonemiddleware.auth_token.http_request_max_retries }}#{{ end }}http_request_max_retries = {{ .keystone_authtoken.keystonemiddleware.auth_token.http_request_max_retries | default "3" }}
# 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. (string value)
# from .keystone_authtoken.keystonemiddleware.auth_token.cache
{{ if not .keystone_authtoken.keystonemiddleware.auth_token.cache }}#{{ end }}cache = {{ .keystone_authtoken.keystonemiddleware.auth_token.cache | default "<None>" }}
# Required if identity server requires client certificate (string value)
# from .keystone_authtoken.keystonemiddleware.auth_token.certfile
{{ if not .keystone_authtoken.keystonemiddleware.auth_token.certfile }}#{{ end }}certfile = {{ .keystone_authtoken.keystonemiddleware.auth_token.certfile | default "<None>" }}
# Required if identity server requires client certificate (string value)
# from .keystone_authtoken.keystonemiddleware.auth_token.keyfile
{{ if not .keystone_authtoken.keystonemiddleware.auth_token.keyfile }}#{{ end }}keyfile = {{ .keystone_authtoken.keystonemiddleware.auth_token.keyfile | default "<None>" }}
# A PEM encoded Certificate Authority to use when verifying HTTPs connections.
# Defaults to system CAs. (string value)
# from .keystone_authtoken.keystonemiddleware.auth_token.cafile
{{ if not .keystone_authtoken.keystonemiddleware.auth_token.cafile }}#{{ end }}cafile = {{ .keystone_authtoken.keystonemiddleware.auth_token.cafile | default "<None>" }}
# Verify HTTPS connections. (boolean value)
# from .keystone_authtoken.keystonemiddleware.auth_token.insecure
{{ if not .keystone_authtoken.keystonemiddleware.auth_token.insecure }}#{{ end }}insecure = {{ .keystone_authtoken.keystonemiddleware.auth_token.insecure | default "false" }}
# The region in which the identity server can be found. (string value)
# from .keystone_authtoken.keystonemiddleware.auth_token.region_name
{{ if not .keystone_authtoken.keystonemiddleware.auth_token.region_name }}#{{ end }}region_name = {{ .keystone_authtoken.keystonemiddleware.auth_token.region_name | default "<None>" }}
# Directory used to cache files related to PKI tokens. (string value)
# from .keystone_authtoken.keystonemiddleware.auth_token.signing_dir
{{ if not .keystone_authtoken.keystonemiddleware.auth_token.signing_dir }}#{{ end }}signing_dir = {{ .keystone_authtoken.keystonemiddleware.auth_token.signing_dir | default "<None>" }}
# Optionally specify a list of memcached server(s) to use for caching. If left
# undefined, tokens will instead be cached in-process. (list value)
# Deprecated group/name - [keystone_authtoken]/memcache_servers
# from .keystone_authtoken.keystonemiddleware.auth_token.memcached_servers
{{ if not .keystone_authtoken.keystonemiddleware.auth_token.memcached_servers }}#{{ end }}memcached_servers = {{ .keystone_authtoken.keystonemiddleware.auth_token.memcached_servers | default "<None>" }}
# 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. (integer value)
# from .keystone_authtoken.keystonemiddleware.auth_token.token_cache_time
{{ if not .keystone_authtoken.keystonemiddleware.auth_token.token_cache_time }}#{{ end }}token_cache_time = {{ .keystone_authtoken.keystonemiddleware.auth_token.token_cache_time | default "300" }}
# 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. (integer value)
# from .keystone_authtoken.keystonemiddleware.auth_token.revocation_cache_time
{{ if not .keystone_authtoken.keystonemiddleware.auth_token.revocation_cache_time }}#{{ end }}revocation_cache_time = {{ .keystone_authtoken.keystonemiddleware.auth_token.revocation_cache_time | default "10" }}
# (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. (string value)
# Allowed values: None, MAC, ENCRYPT
# from .keystone_authtoken.keystonemiddleware.auth_token.memcache_security_strategy
{{ if not .keystone_authtoken.keystonemiddleware.auth_token.memcache_security_strategy }}#{{ end }}memcache_security_strategy = {{ .keystone_authtoken.keystonemiddleware.auth_token.memcache_security_strategy | default "None" }}
# (Optional, mandatory if memcache_security_strategy is defined) This string is
# used for key derivation. (string value)
# from .keystone_authtoken.keystonemiddleware.auth_token.memcache_secret_key
{{ if not .keystone_authtoken.keystonemiddleware.auth_token.memcache_secret_key }}#{{ end }}memcache_secret_key = {{ .keystone_authtoken.keystonemiddleware.auth_token.memcache_secret_key | default "<None>" }}
# (Optional) Number of seconds memcached server is considered dead before it is
# tried again. (integer value)
# from .keystone_authtoken.keystonemiddleware.auth_token.memcache_pool_dead_retry
{{ if not .keystone_authtoken.keystonemiddleware.auth_token.memcache_pool_dead_retry }}#{{ end }}memcache_pool_dead_retry = {{ .keystone_authtoken.keystonemiddleware.auth_token.memcache_pool_dead_retry | default "300" }}
# (Optional) Maximum total number of open connections to every memcached server.
# (integer value)
# from .keystone_authtoken.keystonemiddleware.auth_token.memcache_pool_maxsize
{{ if not .keystone_authtoken.keystonemiddleware.auth_token.memcache_pool_maxsize }}#{{ end }}memcache_pool_maxsize = {{ .keystone_authtoken.keystonemiddleware.auth_token.memcache_pool_maxsize | default "10" }}
# (Optional) Socket timeout in seconds for communicating with a memcached
# server. (integer value)
# from .keystone_authtoken.keystonemiddleware.auth_token.memcache_pool_socket_timeout
{{ if not .keystone_authtoken.keystonemiddleware.auth_token.memcache_pool_socket_timeout }}#{{ end }}memcache_pool_socket_timeout = {{ .keystone_authtoken.keystonemiddleware.auth_token.memcache_pool_socket_timeout | default "3" }}
# (Optional) Number of seconds a connection to memcached is held unused in the
# pool before it is closed. (integer value)
# from .keystone_authtoken.keystonemiddleware.auth_token.memcache_pool_unused_timeout
{{ if not .keystone_authtoken.keystonemiddleware.auth_token.memcache_pool_unused_timeout }}#{{ end }}memcache_pool_unused_timeout = {{ .keystone_authtoken.keystonemiddleware.auth_token.memcache_pool_unused_timeout | default "60" }}
# (Optional) Number of seconds that an operation will wait to get a memcached
# client connection from the pool. (integer value)
# from .keystone_authtoken.keystonemiddleware.auth_token.memcache_pool_conn_get_timeout
{{ if not .keystone_authtoken.keystonemiddleware.auth_token.memcache_pool_conn_get_timeout }}#{{ end }}memcache_pool_conn_get_timeout = {{ .keystone_authtoken.keystonemiddleware.auth_token.memcache_pool_conn_get_timeout | default "10" }}
# (Optional) Use the advanced (eventlet safe) memcached client pool. The
# advanced pool will only work under python 2.x. (boolean value)
# from .keystone_authtoken.keystonemiddleware.auth_token.memcache_use_advanced_pool
{{ if not .keystone_authtoken.keystonemiddleware.auth_token.memcache_use_advanced_pool }}#{{ end }}memcache_use_advanced_pool = {{ .keystone_authtoken.keystonemiddleware.auth_token.memcache_use_advanced_pool | default "false" }}
# (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. (boolean value)
# from .keystone_authtoken.keystonemiddleware.auth_token.include_service_catalog
{{ if not .keystone_authtoken.keystonemiddleware.auth_token.include_service_catalog }}#{{ end }}include_service_catalog = {{ .keystone_authtoken.keystonemiddleware.auth_token.include_service_catalog | default "true" }}
# 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. (string
# value)
# from .keystone_authtoken.keystonemiddleware.auth_token.enforce_token_bind
{{ if not .keystone_authtoken.keystonemiddleware.auth_token.enforce_token_bind }}#{{ end }}enforce_token_bind = {{ .keystone_authtoken.keystonemiddleware.auth_token.enforce_token_bind | default "permissive" }}
# If true, the revocation list will be checked for cached tokens. This requires
# that PKI tokens are configured on the identity server. (boolean value)
# from .keystone_authtoken.keystonemiddleware.auth_token.check_revocations_for_cached
{{ if not .keystone_authtoken.keystonemiddleware.auth_token.check_revocations_for_cached }}#{{ end }}check_revocations_for_cached = {{ .keystone_authtoken.keystonemiddleware.auth_token.check_revocations_for_cached | default "false" }}
# 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. (list value)
# from .keystone_authtoken.keystonemiddleware.auth_token.hash_algorithms
{{ if not .keystone_authtoken.keystonemiddleware.auth_token.hash_algorithms }}#{{ end }}hash_algorithms = {{ .keystone_authtoken.keystonemiddleware.auth_token.hash_algorithms | default "md5" }}
# Authentication type to load (string value)
# Deprecated group/name - [keystone_authtoken]/auth_plugin
# from .keystone_authtoken.keystonemiddleware.auth_token.auth_type
{{ if not .keystone_authtoken.keystonemiddleware.auth_token.auth_type }}#{{ end }}auth_type = {{ .keystone_authtoken.keystonemiddleware.auth_token.auth_type | default "<None>" }}
# Config Section from which to load plugin specific options (string value)
# from .keystone_authtoken.keystonemiddleware.auth_token.auth_section
{{ if not .keystone_authtoken.keystonemiddleware.auth_token.auth_section }}#{{ end }}auth_section = {{ .keystone_authtoken.keystonemiddleware.auth_token.auth_section | default "<None>" }}
[libvirt]
#
# Libvirt options allows cloud administrator to configure related
# libvirt hypervisor driver to be used within an OpenStack deployment.
#
# From nova.conf
#
#
# 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.
# (string value)
# from .libvirt.nova.conf.rescue_image_id
{{ if not .libvirt.nova.conf.rescue_image_id }}#{{ end }}rescue_image_id = {{ .libvirt.nova.conf.rescue_image_id | default "<None>" }}
#
# 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.
# (string value)
# from .libvirt.nova.conf.rescue_kernel_id
{{ if not .libvirt.nova.conf.rescue_kernel_id }}#{{ end }}rescue_kernel_id = {{ .libvirt.nova.conf.rescue_kernel_id | default "<None>" }}
#
# 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.
# (string value)
# from .libvirt.nova.conf.rescue_ramdisk_id
{{ if not .libvirt.nova.conf.rescue_ramdisk_id }}#{{ end }}rescue_ramdisk_id = {{ .libvirt.nova.conf.rescue_ramdisk_id | default "<None>" }}
#
# 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
# (string value)
# Allowed values: kvm, lxc, qemu, uml, xen, parallels
# from .libvirt.nova.conf.virt_type
{{ if not .libvirt.nova.conf.virt_type }}#{{ end }}virt_type = {{ .libvirt.nova.conf.virt_type | default "kvm" }}
#
# 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.
# (string value)
# from .libvirt.nova.conf.connection_uri
{{ if not .libvirt.nova.conf.connection_uri }}#{{ end }}connection_uri = {{ .libvirt.nova.conf.connection_uri | default "" }}
#
# 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.
# (boolean value)
# from .libvirt.nova.conf.inject_password
{{ if not .libvirt.nova.conf.inject_password }}#{{ end }}inject_password = {{ .libvirt.nova.conf.inject_password | default "false" }}
#
# 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.
# (boolean value)
# from .libvirt.nova.conf.inject_key
{{ if not .libvirt.nova.conf.inject_key }}#{{ end }}inject_key = {{ .libvirt.nova.conf.inject_key | default "false" }}
#
# 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
# (integer value)
# Minimum value: -2
# from .libvirt.nova.conf.inject_partition
{{ if not .libvirt.nova.conf.inject_partition }}#{{ end }}inject_partition = {{ .libvirt.nova.conf.inject_partition | default "-2" }}
# DEPRECATED:
# 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.
# (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: This option is being replaced by the 'pointer_model' option.
# from .libvirt.nova.conf.use_usb_tablet
{{ if not .libvirt.nova.conf.use_usb_tablet }}#{{ end }}use_usb_tablet = {{ .libvirt.nova.conf.use_usb_tablet | default "true" }}
# Live migration target ip or hostname (if this option is set to None, which is
# the default, the hostname of the migration target compute node will be used)
# (string value)
# from .libvirt.nova.conf.live_migration_inbound_addr
{{ if not .libvirt.nova.conf.live_migration_inbound_addr }}#{{ end }}live_migration_inbound_addr = {{ .libvirt.nova.conf.live_migration_inbound_addr | default "<None>" }}
# Override the default libvirt live migration target URI (which is dependent on
# virt_type) (any included "%s" is replaced with the migration target hostname)
# (string value)
# from .libvirt.nova.conf.live_migration_uri
{{ if not .libvirt.nova.conf.live_migration_uri }}#{{ end }}live_migration_uri = {{ .libvirt.nova.conf.live_migration_uri | default "<None>" }}
# Whether to use tunnelled migration, where migration data is transported over
# the libvirtd connection. If True, 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. (boolean value)
# from .libvirt.nova.conf.live_migration_tunnelled
{{ if not .libvirt.nova.conf.live_migration_tunnelled }}#{{ end }}live_migration_tunnelled = {{ .libvirt.nova.conf.live_migration_tunnelled | default "false" }}
# Maximum bandwidth(in MiB/s) to be used during migration. If set to 0, 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 (integer value)
# from .libvirt.nova.conf.live_migration_bandwidth
{{ if not .libvirt.nova.conf.live_migration_bandwidth }}#{{ end }}live_migration_bandwidth = {{ .libvirt.nova.conf.live_migration_bandwidth | default "0" }}
# Maximum permitted downtime, in milliseconds, for live migration switchover.
# Will be rounded up to a minimum of 100ms. Use a large value if guest liveness
# is unimportant. (integer value)
# from .libvirt.nova.conf.live_migration_downtime
{{ if not .libvirt.nova.conf.live_migration_downtime }}#{{ end }}live_migration_downtime = {{ .libvirt.nova.conf.live_migration_downtime | default "500" }}
# Number of incremental steps to reach max downtime value. Will be rounded up to
# a minimum of 3 steps (integer value)
# from .libvirt.nova.conf.live_migration_downtime_steps
{{ if not .libvirt.nova.conf.live_migration_downtime_steps }}#{{ end }}live_migration_downtime_steps = {{ .libvirt.nova.conf.live_migration_downtime_steps | default "10" }}
# Time to wait, in seconds, between each step increase of the migration
# downtime. Minimum delay is 10 seconds. Value is per GiB of guest RAM + disk to
# be transferred, with lower bound of a minimum of 2 GiB per device (integer
# value)
# from .libvirt.nova.conf.live_migration_downtime_delay
{{ if not .libvirt.nova.conf.live_migration_downtime_delay }}#{{ end }}live_migration_downtime_delay = {{ .libvirt.nova.conf.live_migration_downtime_delay | default "75" }}
# 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. (integer
# value)
# Note: This option can be changed without restarting.
# from .libvirt.nova.conf.live_migration_completion_timeout
{{ if not .libvirt.nova.conf.live_migration_completion_timeout }}#{{ end }}live_migration_completion_timeout = {{ .libvirt.nova.conf.live_migration_completion_timeout | default "800" }}
# Time to wait, in seconds, for migration to make forward progress in
# transferring data before aborting the operation. Set to 0 to disable timeouts.
# (integer value)
# Note: This option can be changed without restarting.
# from .libvirt.nova.conf.live_migration_progress_timeout
{{ if not .libvirt.nova.conf.live_migration_progress_timeout }}#{{ end }}live_migration_progress_timeout = {{ .libvirt.nova.conf.live_migration_progress_timeout | default "150" }}
#
# 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
# (boolean value)
# from .libvirt.nova.conf.live_migration_permit_post_copy
{{ if not .libvirt.nova.conf.live_migration_permit_post_copy }}#{{ end }}live_migration_permit_post_copy = {{ .libvirt.nova.conf.live_migration_permit_post_copy | default "false" }}
#
# 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. Auto converge requires libvirt>=1.2.3 and
# QEMU>=1.6.0.
#
# Related options:
#
# * live_migration_permit_post_copy
# (boolean value)
# from .libvirt.nova.conf.live_migration_permit_auto_converge
{{ if not .libvirt.nova.conf.live_migration_permit_auto_converge }}#{{ end }}live_migration_permit_auto_converge = {{ .libvirt.nova.conf.live_migration_permit_auto_converge | default "false" }}
# Snapshot image format. Defaults to same as source image (string value)
# Allowed values: raw, qcow2, vmdk, vdi
# from .libvirt.nova.conf.snapshot_image_format
{{ if not .libvirt.nova.conf.snapshot_image_format }}#{{ end }}snapshot_image_format = {{ .libvirt.nova.conf.snapshot_image_format | default "<None>" }}
#
# 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.
# (string value)
# from .libvirt.nova.conf.disk_prefix
{{ if not .libvirt.nova.conf.disk_prefix }}#{{ end }}disk_prefix = {{ .libvirt.nova.conf.disk_prefix | default "<None>" }}
# 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. (integer value)
# from .libvirt.nova.conf.wait_soft_reboot_seconds
{{ if not .libvirt.nova.conf.wait_soft_reboot_seconds }}#{{ end }}wait_soft_reboot_seconds = {{ .libvirt.nova.conf.wait_soft_reboot_seconds | default "120" }}
#
# 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.
# (string value)
# Allowed values: host-model, host-passthrough, custom, none
# from .libvirt.nova.conf.cpu_mode
{{ if not .libvirt.nova.conf.cpu_mode }}#{{ end }}cpu_mode = {{ .libvirt.nova.conf.cpu_mode | default "<None>" }}
#
# 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.
# (string value)
# from .libvirt.nova.conf.cpu_model
{{ if not .libvirt.nova.conf.cpu_model }}#{{ end }}cpu_model = {{ .libvirt.nova.conf.cpu_model | default "<None>" }}
# Location where libvirt driver will store snapshots before uploading them to
# image service (string value)
# from .libvirt.nova.conf.snapshots_directory
{{ if not .libvirt.nova.conf.snapshots_directory }}#{{ end }}snapshots_directory = {{ .libvirt.nova.conf.snapshots_directory | default "$instances_path/snapshots" }}
# Location where the Xen hvmloader is kept (string value)
# from .libvirt.nova.conf.xen_hvmloader_path
{{ if not .libvirt.nova.conf.xen_hvmloader_path }}#{{ end }}xen_hvmloader_path = {{ .libvirt.nova.conf.xen_hvmloader_path | default "/usr/lib/xen/boot/hvmloader" }}
# Specific cachemodes to use for different disk types e.g:
# file=directsync,block=none (list value)
# from .libvirt.nova.conf.disk_cachemodes
{{ if not .libvirt.nova.conf.disk_cachemodes }}#{{ end }}disk_cachemodes = {{ .libvirt.nova.conf.disk_cachemodes | default "" }}
# A path to a device that will be used as source of entropy on the host.
# Permitted options are: /dev/random or /dev/hwrng (string value)
# from .libvirt.nova.conf.rng_dev_path
{{ if not .libvirt.nova.conf.rng_dev_path }}#{{ end }}rng_dev_path = {{ .libvirt.nova.conf.rng_dev_path | default "<None>" }}
# 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 (list value)
# from .libvirt.nova.conf.hw_machine_type
{{ if not .libvirt.nova.conf.hw_machine_type }}#{{ end }}hw_machine_type = {{ .libvirt.nova.conf.hw_machine_type | default "<None>" }}
# The data source used to the populate the host "serial" UUID exposed to guest
# in the virtual BIOS. (string value)
# Allowed values: none, os, hardware, auto
# from .libvirt.nova.conf.sysinfo_serial
{{ if not .libvirt.nova.conf.sysinfo_serial }}#{{ end }}sysinfo_serial = {{ .libvirt.nova.conf.sysinfo_serial | default "auto" }}
# A number of seconds to memory usage statistics period. Zero or negative value
# mean to disable memory usage statistics. (integer value)
# from .libvirt.nova.conf.mem_stats_period_seconds
{{ if not .libvirt.nova.conf.mem_stats_period_seconds }}#{{ end }}mem_stats_period_seconds = {{ .libvirt.nova.conf.mem_stats_period_seconds | default "10" }}
# List of uid targets and ranges.Syntax is guest-uid:host-uid:countMaximum of 5
# allowed. (list value)
# from .libvirt.nova.conf.uid_maps
{{ if not .libvirt.nova.conf.uid_maps }}#{{ end }}uid_maps = {{ .libvirt.nova.conf.uid_maps | default "" }}
# List of guid targets and ranges.Syntax is guest-gid:host-gid:countMaximum of 5
# allowed. (list value)
# from .libvirt.nova.conf.gid_maps
{{ if not .libvirt.nova.conf.gid_maps }}#{{ end }}gid_maps = {{ .libvirt.nova.conf.gid_maps | default "" }}
# In a realtime host context vCPUs for guest will run in that scheduling
# priority. Priority depends on the host kernel (usually 1-99) (integer value)
# from .libvirt.nova.conf.realtime_scheduler_priority
{{ if not .libvirt.nova.conf.realtime_scheduler_priority }}#{{ end }}realtime_scheduler_priority = {{ .libvirt.nova.conf.realtime_scheduler_priority | default "1" }}
#
# 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_*``
#
# * Services that use this:
#
# ``nova-compute``
#
# * Related options:
# None
#
# (list value)
# from .libvirt.nova.conf.enabled_perf_events
{{ if not .libvirt.nova.conf.enabled_perf_events }}#{{ end }}enabled_perf_events = {{ .libvirt.nova.conf.enabled_perf_events | default "" }}
# VM Images format. If default is specified, then use_cow_images flag is used
# instead of this one. (string value)
# Allowed values: raw, flat, qcow2, lvm, rbd, ploop, default
# from .libvirt.nova.conf.images_type
{{ if not .libvirt.nova.conf.images_type }}#{{ end }}images_type = {{ .libvirt.nova.conf.images_type | default "default" }}
# LVM Volume Group that is used for VM images, when you specify images_type=lvm.
# (string value)
# from .libvirt.nova.conf.images_volume_group
{{ if not .libvirt.nova.conf.images_volume_group }}#{{ end }}images_volume_group = {{ .libvirt.nova.conf.images_volume_group | default "<None>" }}
# Create sparse logical volumes (with virtualsize) if this flag is set to True.
# (boolean value)
# from .libvirt.nova.conf.sparse_logical_volumes
{{ if not .libvirt.nova.conf.sparse_logical_volumes }}#{{ end }}sparse_logical_volumes = {{ .libvirt.nova.conf.sparse_logical_volumes | default "false" }}
# The RADOS pool in which rbd volumes are stored (string value)
# from .libvirt.nova.conf.images_rbd_pool
{{ if not .libvirt.nova.conf.images_rbd_pool }}#{{ end }}images_rbd_pool = {{ .libvirt.nova.conf.images_rbd_pool | default "rbd" }}
# Path to the ceph configuration file to use (string value)
# from .libvirt.nova.conf.images_rbd_ceph_conf
{{ if not .libvirt.nova.conf.images_rbd_ceph_conf }}#{{ end }}images_rbd_ceph_conf = {{ .libvirt.nova.conf.images_rbd_ceph_conf | default "" }}
# Discard option for nova managed disks. Need Libvirt(1.0.6) Qemu1.5 (raw
# format) Qemu1.6(qcow2 format) (string value)
# Allowed values: ignore, unmap
# from .libvirt.nova.conf.hw_disk_discard
{{ if not .libvirt.nova.conf.hw_disk_discard }}#{{ end }}hw_disk_discard = {{ .libvirt.nova.conf.hw_disk_discard | default "<None>" }}
# DEPRECATED: Allows image information files to be stored in non-standard
# locations (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: Image info files are no longer used by the image cache
# from .libvirt.nova.conf.image_info_filename_pattern
{{ if not .libvirt.nova.conf.image_info_filename_pattern }}#{{ end }}image_info_filename_pattern = {{ .libvirt.nova.conf.image_info_filename_pattern | default "$instances_path/$image_cache_subdirectory_name/%(image)s.info" }}
# Unused resized base images younger than this will not be removed (integer
# value)
# from .libvirt.nova.conf.remove_unused_resized_minimum_age_seconds
{{ if not .libvirt.nova.conf.remove_unused_resized_minimum_age_seconds }}#{{ end }}remove_unused_resized_minimum_age_seconds = {{ .libvirt.nova.conf.remove_unused_resized_minimum_age_seconds | default "3600" }}
# DEPRECATED: Write a checksum for files in _base to disk (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: The image cache no longer periodically calculates checksums of stored
# images. Data integrity can be checked at the block or filesystem level.
# from .libvirt.nova.conf.checksum_base_images
{{ if not .libvirt.nova.conf.checksum_base_images }}#{{ end }}checksum_base_images = {{ .libvirt.nova.conf.checksum_base_images | default "false" }}
# DEPRECATED: How frequently to checksum base images (integer value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: The image cache no longer periodically calculates checksums of stored
# images. Data integrity can be checked at the block or filesystem level.
# from .libvirt.nova.conf.checksum_interval_seconds
{{ if not .libvirt.nova.conf.checksum_interval_seconds }}#{{ end }}checksum_interval_seconds = {{ .libvirt.nova.conf.checksum_interval_seconds | default "3600" }}
# Method used to wipe old volumes. (string value)
# Allowed values: none, zero, shred
# from .libvirt.nova.conf.volume_clear
{{ if not .libvirt.nova.conf.volume_clear }}#{{ end }}volume_clear = {{ .libvirt.nova.conf.volume_clear | default "zero" }}
# Size in MiB to wipe at start of old volumes. 0 => all (integer value)
# from .libvirt.nova.conf.volume_clear_size
{{ if not .libvirt.nova.conf.volume_clear_size }}#{{ end }}volume_clear_size = {{ .libvirt.nova.conf.volume_clear_size | default "0" }}
# Compress snapshot images when possible. This currently applies exclusively to
# qcow2 images (boolean value)
# from .libvirt.nova.conf.snapshot_compression
{{ if not .libvirt.nova.conf.snapshot_compression }}#{{ end }}snapshot_compression = {{ .libvirt.nova.conf.snapshot_compression | default "false" }}
# Use virtio for bridge interfaces with KVM/QEMU (boolean value)
# from .libvirt.nova.conf.use_virtio_for_bridges
{{ if not .libvirt.nova.conf.use_virtio_for_bridges }}#{{ end }}use_virtio_for_bridges = {{ .libvirt.nova.conf.use_virtio_for_bridges | default "true" }}
# Protocols listed here will be accessed directly from QEMU. Currently supported
# protocols: [gluster] (list value)
# from .libvirt.nova.conf.qemu_allowed_storage_drivers
{{ if not .libvirt.nova.conf.qemu_allowed_storage_drivers }}#{{ end }}qemu_allowed_storage_drivers = {{ .libvirt.nova.conf.qemu_allowed_storage_drivers | default "" }}
# Use multipath connection of the iSCSI or FC volume (boolean value)
# Deprecated group/name - [libvirt]/iscsi_use_multipath
# from .libvirt.nova.conf.volume_use_multipath
{{ if not .libvirt.nova.conf.volume_use_multipath }}#{{ end }}volume_use_multipath = {{ .libvirt.nova.conf.volume_use_multipath | default "false" }}
# Number of times to rediscover AoE target to find volume (integer value)
# from .libvirt.nova.conf.num_aoe_discover_tries
{{ if not .libvirt.nova.conf.num_aoe_discover_tries }}#{{ end }}num_aoe_discover_tries = {{ .libvirt.nova.conf.num_aoe_discover_tries | default "3" }}
# Directory where the glusterfs volume is mounted on the compute node (string
# value)
# from .libvirt.nova.conf.glusterfs_mount_point_base
{{ if not .libvirt.nova.conf.glusterfs_mount_point_base }}#{{ end }}glusterfs_mount_point_base = {{ .libvirt.nova.conf.glusterfs_mount_point_base | default "$state_path/mnt" }}
# Number of times to rescan iSCSI target to find volume (integer value)
# from .libvirt.nova.conf.num_iscsi_scan_tries
{{ if not .libvirt.nova.conf.num_iscsi_scan_tries }}#{{ end }}num_iscsi_scan_tries = {{ .libvirt.nova.conf.num_iscsi_scan_tries | default "5" }}
# 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. (string value)
# Deprecated group/name - [libvirt]/iscsi_transport
# from .libvirt.nova.conf.iscsi_iface
{{ if not .libvirt.nova.conf.iscsi_iface }}#{{ end }}iscsi_iface = {{ .libvirt.nova.conf.iscsi_iface | default "<None>" }}
# Number of times to rescan iSER target to find volume (integer value)
# from .libvirt.nova.conf.num_iser_scan_tries
{{ if not .libvirt.nova.conf.num_iser_scan_tries }}#{{ end }}num_iser_scan_tries = {{ .libvirt.nova.conf.num_iser_scan_tries | default "5" }}
# Use multipath connection of the iSER volume (boolean value)
# from .libvirt.nova.conf.iser_use_multipath
{{ if not .libvirt.nova.conf.iser_use_multipath }}#{{ end }}iser_use_multipath = {{ .libvirt.nova.conf.iser_use_multipath | default "false" }}
# The RADOS client name for accessing rbd volumes (string value)
# from .libvirt.nova.conf.rbd_user
{{ if not .libvirt.nova.conf.rbd_user }}#{{ end }}rbd_user = {{ .libvirt.nova.conf.rbd_user | default "<None>" }}
# The libvirt UUID of the secret for the rbd_uservolumes (string value)
# from .libvirt.nova.conf.rbd_secret_uuid
{{ if not .libvirt.nova.conf.rbd_secret_uuid }}#{{ end }}rbd_secret_uuid = {{ .libvirt.nova.conf.rbd_secret_uuid | default "<None>" }}
# Directory where the NFS volume is mounted on the compute node (string value)
# from .libvirt.nova.conf.nfs_mount_point_base
{{ if not .libvirt.nova.conf.nfs_mount_point_base }}#{{ end }}nfs_mount_point_base = {{ .libvirt.nova.conf.nfs_mount_point_base | default "$state_path/mnt" }}
# Mount options passed to the NFS client. See section of the nfs man page for
# details (string value)
# from .libvirt.nova.conf.nfs_mount_options
{{ if not .libvirt.nova.conf.nfs_mount_options }}#{{ end }}nfs_mount_options = {{ .libvirt.nova.conf.nfs_mount_options | default "<None>" }}
# Directory where the Quobyte volume is mounted on the compute node (string
# value)
# from .libvirt.nova.conf.quobyte_mount_point_base
{{ if not .libvirt.nova.conf.quobyte_mount_point_base }}#{{ end }}quobyte_mount_point_base = {{ .libvirt.nova.conf.quobyte_mount_point_base | default "$state_path/mnt" }}
# Path to a Quobyte Client configuration file. (string value)
# from .libvirt.nova.conf.quobyte_client_cfg
{{ if not .libvirt.nova.conf.quobyte_client_cfg }}#{{ end }}quobyte_client_cfg = {{ .libvirt.nova.conf.quobyte_client_cfg | default "<None>" }}
# Path or URL to Scality SOFS configuration file (string value)
# from .libvirt.nova.conf.scality_sofs_config
{{ if not .libvirt.nova.conf.scality_sofs_config }}#{{ end }}scality_sofs_config = {{ .libvirt.nova.conf.scality_sofs_config | default "<None>" }}
# Base dir where Scality SOFS shall be mounted (string value)
# from .libvirt.nova.conf.scality_sofs_mount_point
{{ if not .libvirt.nova.conf.scality_sofs_mount_point }}#{{ end }}scality_sofs_mount_point = {{ .libvirt.nova.conf.scality_sofs_mount_point | default "$state_path/scality" }}
# Directory where the SMBFS shares are mounted on the compute node (string
# value)
# from .libvirt.nova.conf.smbfs_mount_point_base
{{ if not .libvirt.nova.conf.smbfs_mount_point_base }}#{{ end }}smbfs_mount_point_base = {{ .libvirt.nova.conf.smbfs_mount_point_base | default "$state_path/mnt" }}
# Mount options passed to the SMBFS client. See mount.cifs man page for details.
# Note that the libvirt-qemu uid and gid must be specified. (string value)
# from .libvirt.nova.conf.smbfs_mount_options
{{ if not .libvirt.nova.conf.smbfs_mount_options }}#{{ end }}smbfs_mount_options = {{ .libvirt.nova.conf.smbfs_mount_options | default "" }}
# Use ssh or rsync transport for creating, copying, removing files on the remote
# host. (string value)
# Allowed values: ssh, rsync
# from .libvirt.nova.conf.remote_filesystem_transport
{{ if not .libvirt.nova.conf.remote_filesystem_transport }}#{{ end }}remote_filesystem_transport = {{ .libvirt.nova.conf.remote_filesystem_transport | default "ssh" }}
#
# Directory where the Virtuozzo Storage clusters are mounted on the compute
# node.
#
# This option defines non-standard mountpoint for Vzstorage cluster.
#
# * Services that use this:
#
# ``nova-compute``
#
# * Related options:
#
# vzstorage_mount_* group of parameters
# (string value)
# from .libvirt.nova.conf.vzstorage_mount_point_base
{{ if not .libvirt.nova.conf.vzstorage_mount_point_base }}#{{ end }}vzstorage_mount_point_base = {{ .libvirt.nova.conf.vzstorage_mount_point_base | default "$state_path/mnt" }}
#
# Mount owner user name.
#
# This option defines the owner user of Vzstorage cluster mountpoint.
#
# * Services that use this:
#
# ``nova-compute``
#
# * Related options:
#
# vzstorage_mount_* group of parameters
# (string value)
# from .libvirt.nova.conf.vzstorage_mount_user
{{ if not .libvirt.nova.conf.vzstorage_mount_user }}#{{ end }}vzstorage_mount_user = {{ .libvirt.nova.conf.vzstorage_mount_user | default "stack" }}
#
# Mount owner group name.
#
# This option defines the owner group of Vzstorage cluster mountpoint.
#
# * Services that use this:
#
# ``nova-compute``
#
# * Related options:
#
# vzstorage_mount_* group of parameters
# (string value)
# from .libvirt.nova.conf.vzstorage_mount_group
{{ if not .libvirt.nova.conf.vzstorage_mount_group }}#{{ end }}vzstorage_mount_group = {{ .libvirt.nova.conf.vzstorage_mount_group | default "qemu" }}
#
# 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.
#
# * Services that use this:
#
# ``nova-compute``
#
# * Related options:
#
# vzstorage_mount_* group of parameters
# (string value)
# from .libvirt.nova.conf.vzstorage_mount_perms
{{ if not .libvirt.nova.conf.vzstorage_mount_perms }}#{{ end }}vzstorage_mount_perms = {{ .libvirt.nova.conf.vzstorage_mount_perms | default "0770" }}
#
# 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.
#
# * Services that use this:
#
# ``nova-compute``
#
# * Related options:
#
# vzstorage_mount_opts may include more detailed logging options.
# (string value)
# from .libvirt.nova.conf.vzstorage_log_path
{{ if not .libvirt.nova.conf.vzstorage_log_path }}#{{ end }}vzstorage_log_path = {{ .libvirt.nova.conf.vzstorage_log_path | default "/var/log/pstorage/%(cluster_name)s/nova.log.gz" }}
#
# 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.
#
# * Services that use this:
#
# ``nova-compute``
#
# * Related options:
#
# vzstorage_mount_opts may include more detailed cache options.
# (string value)
# from .libvirt.nova.conf.vzstorage_cache_path
{{ if not .libvirt.nova.conf.vzstorage_cache_path }}#{{ end }}vzstorage_cache_path = {{ .libvirt.nova.conf.vzstorage_cache_path | default "<None>" }}
#
# 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.
#
# * Services that use this:
#
# ``nova-compute``
#
# * Related options:
#
# All other vzstorage_* options
# (list value)
# from .libvirt.nova.conf.vzstorage_mount_opts
{{ if not .libvirt.nova.conf.vzstorage_mount_opts }}#{{ end }}vzstorage_mount_opts = {{ .libvirt.nova.conf.vzstorage_mount_opts | default "" }}
[matchmaker_redis]
#
# From oslo.messaging
#
# DEPRECATED: Host to locate redis. (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: Replaced by [DEFAULT]/transport_url
# from .matchmaker_redis.oslo.messaging.host
{{ if not .matchmaker_redis.oslo.messaging.host }}#{{ end }}host = {{ .matchmaker_redis.oslo.messaging.host | default "127.0.0.1" }}
# DEPRECATED: Use this port to connect to redis host. (port value)
# Minimum value: 0
# Maximum value: 65535
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: Replaced by [DEFAULT]/transport_url
# from .matchmaker_redis.oslo.messaging.port
{{ if not .matchmaker_redis.oslo.messaging.port }}#{{ end }}port = {{ .matchmaker_redis.oslo.messaging.port | default "6379" }}
# DEPRECATED: Password for Redis server (optional). (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: Replaced by [DEFAULT]/transport_url
# from .matchmaker_redis.oslo.messaging.password
{{ if not .matchmaker_redis.oslo.messaging.password }}#{{ end }}password = {{ .matchmaker_redis.oslo.messaging.password | default "" }}
# DEPRECATED: List of Redis Sentinel hosts (fault tolerance mode) e.g.
# [host:port, host1:port ... ] (list value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: Replaced by [DEFAULT]/transport_url
# from .matchmaker_redis.oslo.messaging.sentinel_hosts
{{ if not .matchmaker_redis.oslo.messaging.sentinel_hosts }}#{{ end }}sentinel_hosts = {{ .matchmaker_redis.oslo.messaging.sentinel_hosts | default "" }}
# Redis replica set name. (string value)
# from .matchmaker_redis.oslo.messaging.sentinel_group_name
{{ if not .matchmaker_redis.oslo.messaging.sentinel_group_name }}#{{ end }}sentinel_group_name = {{ .matchmaker_redis.oslo.messaging.sentinel_group_name | default "oslo-messaging-zeromq" }}
# Time in ms to wait between connection attempts. (integer value)
# from .matchmaker_redis.oslo.messaging.wait_timeout
{{ if not .matchmaker_redis.oslo.messaging.wait_timeout }}#{{ end }}wait_timeout = {{ .matchmaker_redis.oslo.messaging.wait_timeout | default "2000" }}
# Time in ms to wait before the transaction is killed. (integer value)
# from .matchmaker_redis.oslo.messaging.check_timeout
{{ if not .matchmaker_redis.oslo.messaging.check_timeout }}#{{ end }}check_timeout = {{ .matchmaker_redis.oslo.messaging.check_timeout | default "20000" }}
# Timeout in ms on blocking socket operations (integer value)
# from .matchmaker_redis.oslo.messaging.socket_timeout
{{ if not .matchmaker_redis.oslo.messaging.socket_timeout }}#{{ end }}socket_timeout = {{ .matchmaker_redis.oslo.messaging.socket_timeout | default "10000" }}
[metrics]
#
# From nova.conf
#
#
# 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:
#
# * Greater than 1.0: increases the effect of the metric on overall weight.
#
# * Equal to 1.0: No change to the calculated weight.
#
# * Less than 1.0, greater than 0: reduces the effect of the metric on
# overall weight.
#
# * 0: The metric value is ignored, and the value of the
# 'weight_of_unavailable' option is returned instead.
#
# * Greater than -1.0, less than 0: the effect is reduced and reversed.
#
# * -1.0: the effect is reversed
#
# * Less than -1.0: the effect is increased proportionally and reversed.
#
# Valid values are numeric, either integer or float.
#
# This option is only used by the FilterScheduler and its subclasses; if you use
# a different scheduler, this option has no effect.
#
# * Related options:
#
# weight_of_unavailable
# (floating point value)
# from .metrics.nova.conf.weight_multiplier
{{ if not .metrics.nova.conf.weight_multiplier }}#{{ end }}weight_multiplier = {{ .metrics.nova.conf.weight_multiplier | default "1.0" }}
#
# 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.
#
# * Related options:
#
# weight_of_unavailable
# (list value)
# from .metrics.nova.conf.weight_setting
{{ if not .metrics.nova.conf.weight_setting }}#{{ end }}weight_setting = {{ .metrics.nova.conf.weight_setting | default "" }}
#
# 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.
#
# When this option is False, any metric being unavailable for a host will set
# the
# host weight to 'weight_of_unavailable'.
#
# This option is only used by the FilterScheduler and its subclasses; if you use
# a different scheduler, this option has no effect.
#
# * Related options:
#
# weight_of_unavailable
# (boolean value)
# from .metrics.nova.conf.required
{{ if not .metrics.nova.conf.required }}#{{ end }}required = {{ .metrics.nova.conf.required | default "true" }}
#
# 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.
#
# * Related options:
#
# weight_setting
# required
# weight_multiplier
# (floating point value)
# from .metrics.nova.conf.weight_of_unavailable
{{ if not .metrics.nova.conf.weight_of_unavailable }}#{{ end }}weight_of_unavailable = {{ .metrics.nova.conf.weight_of_unavailable | default "-10000.0" }}
[mks]
#
# Nova compute node uses WebMKS, a desktop sharing protocol to provide
# instance console access to VM's created by VMware hypervisors.
#
# Related options:
# Following options must be set to provide console access.
# * mksproxy_base_url
# * enabled
#
# From nova.conf
#
#
# Location of MKS web console proxy
#
# The URL in the response points to a WebMKS proxy which
# starts proxying between client and corresponding vCenter
# server where instance runs. In order to use the web based
# console access, WebMKS proxy should be installed and configured
#
# Possible values:
#
# * Must be a valid URL of the form:``http://host:port/``
# (string value)
# from .mks.nova.conf.mksproxy_base_url
{{ if not .mks.nova.conf.mksproxy_base_url }}#{{ end }}mksproxy_base_url = {{ .mks.nova.conf.mksproxy_base_url | default "http://127.0.0.1:6090/" }}
#
# Enables graphical console access for virtual machines.
# (boolean value)
# from .mks.nova.conf.enabled
{{ if not .mks.nova.conf.enabled }}#{{ end }}enabled = {{ .mks.nova.conf.enabled | default "false" }}
[neutron]
#
# Configuration options for neutron (network connectivity as a service).
#
# From nova.conf
#
#
# 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.
# (uri value)
# from .neutron.nova.conf.url
{{ if not .neutron.nova.conf.url }}#{{ end }}url = {{ .neutron.nova.conf.url | default "http://127.0.0.1:9696" }}
#
# 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.
# (string value)
# from .neutron.nova.conf.region_name
{{ if not .neutron.nova.conf.region_name }}#{{ end }}region_name = {{ .neutron.nova.conf.region_name | default "RegionOne" }}
#
# Specifies the name of an integration bridge interface used by OpenvSwitch.
# This option is used only if Neutron does not specify the OVS bridge name.
#
# Possible values:
#
# * Any string representing OVS bridge name.
# (string value)
# from .neutron.nova.conf.ovs_bridge
{{ if not .neutron.nova.conf.ovs_bridge }}#{{ end }}ovs_bridge = {{ .neutron.nova.conf.ovs_bridge | default "br-int" }}
#
# 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.
# (integer value)
# Minimum value: 0
# from .neutron.nova.conf.extension_sync_interval
{{ if not .neutron.nova.conf.extension_sync_interval }}#{{ end }}extension_sync_interval = {{ .neutron.nova.conf.extension_sync_interval | default "600" }}
#
# 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
# (boolean value)
# from .neutron.nova.conf.service_metadata_proxy
{{ if not .neutron.nova.conf.service_metadata_proxy }}#{{ end }}service_metadata_proxy = {{ .neutron.nova.conf.service_metadata_proxy | default "false" }}
#
# 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
# (string value)
# from .neutron.nova.conf.metadata_proxy_shared_secret
{{ if not .neutron.nova.conf.metadata_proxy_shared_secret }}#{{ end }}metadata_proxy_shared_secret = {{ .neutron.nova.conf.metadata_proxy_shared_secret | default "" }}
# PEM encoded Certificate Authority to use when verifying HTTPs connections.
# (string value)
# from .neutron.nova.conf.cafile
{{ if not .neutron.nova.conf.cafile }}#{{ end }}cafile = {{ .neutron.nova.conf.cafile | default "<None>" }}
# PEM encoded client certificate cert file (string value)
# from .neutron.nova.conf.certfile
{{ if not .neutron.nova.conf.certfile }}#{{ end }}certfile = {{ .neutron.nova.conf.certfile | default "<None>" }}
# PEM encoded client certificate key file (string value)
# from .neutron.nova.conf.keyfile
{{ if not .neutron.nova.conf.keyfile }}#{{ end }}keyfile = {{ .neutron.nova.conf.keyfile | default "<None>" }}
# Verify HTTPS connections. (boolean value)
# from .neutron.nova.conf.insecure
{{ if not .neutron.nova.conf.insecure }}#{{ end }}insecure = {{ .neutron.nova.conf.insecure | default "false" }}
# Timeout value for http requests (integer value)
# from .neutron.nova.conf.timeout
{{ if not .neutron.nova.conf.timeout }}#{{ end }}timeout = {{ .neutron.nova.conf.timeout | default "<None>" }}
# Authentication type to load (string value)
# Deprecated group/name - [neutron]/auth_plugin
# from .neutron.nova.conf.auth_type
{{ if not .neutron.nova.conf.auth_type }}#{{ end }}auth_type = {{ .neutron.nova.conf.auth_type | default "<None>" }}
# Config Section from which to load plugin specific options (string value)
# from .neutron.nova.conf.auth_section
{{ if not .neutron.nova.conf.auth_section }}#{{ end }}auth_section = {{ .neutron.nova.conf.auth_section | default "<None>" }}
# Authentication URL (string value)
# from .neutron.nova.conf.auth_url
{{ if not .neutron.nova.conf.auth_url }}#{{ end }}auth_url = {{ .neutron.nova.conf.auth_url | default "<None>" }}
# Domain ID to scope to (string value)
# from .neutron.nova.conf.domain_id
{{ if not .neutron.nova.conf.domain_id }}#{{ end }}domain_id = {{ .neutron.nova.conf.domain_id | default "<None>" }}
# Domain name to scope to (string value)
# from .neutron.nova.conf.domain_name
{{ if not .neutron.nova.conf.domain_name }}#{{ end }}domain_name = {{ .neutron.nova.conf.domain_name | default "<None>" }}
# Project ID to scope to (string value)
# from .neutron.nova.conf.project_id
{{ if not .neutron.nova.conf.project_id }}#{{ end }}project_id = {{ .neutron.nova.conf.project_id | default "<None>" }}
# Project name to scope to (string value)
# from .neutron.nova.conf.project_name
{{ if not .neutron.nova.conf.project_name }}#{{ end }}project_name = {{ .neutron.nova.conf.project_name | default "<None>" }}
# Domain ID containing project (string value)
# from .neutron.nova.conf.project_domain_id
{{ if not .neutron.nova.conf.project_domain_id }}#{{ end }}project_domain_id = {{ .neutron.nova.conf.project_domain_id | default "<None>" }}
# Domain name containing project (string value)
# from .neutron.nova.conf.project_domain_name
{{ if not .neutron.nova.conf.project_domain_name }}#{{ end }}project_domain_name = {{ .neutron.nova.conf.project_domain_name | default "<None>" }}
# Trust ID (string value)
# from .neutron.nova.conf.trust_id
{{ if not .neutron.nova.conf.trust_id }}#{{ end }}trust_id = {{ .neutron.nova.conf.trust_id | default "<None>" }}
# Optional domain ID to use with v3 and v2 parameters. It will be used for both
# the user and project domain in v3 and ignored in v2 authentication. (string
# value)
# from .neutron.nova.conf.default_domain_id
{{ if not .neutron.nova.conf.default_domain_id }}#{{ end }}default_domain_id = {{ .neutron.nova.conf.default_domain_id | default "<None>" }}
# Optional domain name to use with v3 API and v2 parameters. It will be used for
# both the user and project domain in v3 and ignored in v2 authentication.
# (string value)
# from .neutron.nova.conf.default_domain_name
{{ if not .neutron.nova.conf.default_domain_name }}#{{ end }}default_domain_name = {{ .neutron.nova.conf.default_domain_name | default "<None>" }}
# User ID (string value)
# from .neutron.nova.conf.user_id
{{ if not .neutron.nova.conf.user_id }}#{{ end }}user_id = {{ .neutron.nova.conf.user_id | default "<None>" }}
# Username (string value)
# Deprecated group/name - [neutron]/user-name
# from .neutron.nova.conf.username
{{ if not .neutron.nova.conf.username }}#{{ end }}username = {{ .neutron.nova.conf.username | default "<None>" }}
# User's domain id (string value)
# from .neutron.nova.conf.user_domain_id
{{ if not .neutron.nova.conf.user_domain_id }}#{{ end }}user_domain_id = {{ .neutron.nova.conf.user_domain_id | default "<None>" }}
# User's domain name (string value)
# from .neutron.nova.conf.user_domain_name
{{ if not .neutron.nova.conf.user_domain_name }}#{{ end }}user_domain_name = {{ .neutron.nova.conf.user_domain_name | default "<None>" }}
# User's password (string value)
# from .neutron.nova.conf.password
{{ if not .neutron.nova.conf.password }}#{{ end }}password = {{ .neutron.nova.conf.password | default "<None>" }}
# Tenant ID (string value)
# from .neutron.nova.conf.tenant_id
{{ if not .neutron.nova.conf.tenant_id }}#{{ end }}tenant_id = {{ .neutron.nova.conf.tenant_id | default "<None>" }}
# Tenant Name (string value)
# from .neutron.nova.conf.tenant_name
{{ if not .neutron.nova.conf.tenant_name }}#{{ end }}tenant_name = {{ .neutron.nova.conf.tenant_name | default "<None>" }}
[osapi_v21]
#
# From nova.conf
#
# DEPRECATED:
# This option is a list of all of the v2.1 API extensions to never load.
# However,
# it will be removed in the near future, after which all the functionality
# that was previously in extensions will be part of the standard API, and thus
# always accessible.
#
# Possible values:
#
# * A list of strings, each being the alias of an extension that you do not
# wish to load.
#
# Related options:
#
# * enabled
# * extensions_whitelist
# (list value)
# Deprecated group/name - [osapi_v21]/extensions_blacklist
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# from .osapi_v21.nova.conf.extensions_blacklist
{{ if not .osapi_v21.nova.conf.extensions_blacklist }}#{{ end }}extensions_blacklist = {{ .osapi_v21.nova.conf.extensions_blacklist | default "" }}
# DEPRECATED:
# This is a list of extensions. If it is empty, then *all* extensions except
# those specified in the extensions_blacklist option will be loaded. If it is
# not
# empty, then only those extensions in this list will be loaded, provided that
# they are also not in the extensions_blacklist option. Once this deprecated
# option is removed, after which the all the functionality that was previously
# in
# extensions will be part of the standard API, and thus always accessible.
#
# Possible values:
#
# * A list of strings, each being the alias of an extension that you wish to
# load, or an empty list, which indicates that all extensions are to be run.
#
# Related options:
#
# * enabled
# * extensions_blacklist
# (list value)
# Deprecated group/name - [osapi_v21]/extensions_whitelist
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# from .osapi_v21.nova.conf.extensions_whitelist
{{ if not .osapi_v21.nova.conf.extensions_whitelist }}#{{ end }}extensions_whitelist = {{ .osapi_v21.nova.conf.extensions_whitelist | default "" }}
# DEPRECATED:
# 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
# (string value)
# Deprecated group/name - [osapi_v21]/project_id_regex
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# from .osapi_v21.nova.conf.project_id_regex
{{ if not .osapi_v21.nova.conf.project_id_regex }}#{{ end }}project_id_regex = {{ .osapi_v21.nova.conf.project_id_regex | default "<None>" }}
[oslo_concurrency]
#
# From oslo.concurrency
#
# Enables or disables inter-process locks. (boolean value)
# Deprecated group/name - [DEFAULT]/disable_process_locking
# from .oslo_concurrency.oslo.concurrency.disable_process_locking
{{ if not .oslo_concurrency.oslo.concurrency.disable_process_locking }}#{{ end }}disable_process_locking = {{ .oslo_concurrency.oslo.concurrency.disable_process_locking | default "false" }}
# 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. (string value)
# Deprecated group/name - [DEFAULT]/lock_path
# from .oslo_concurrency.oslo.concurrency.lock_path
{{ if not .oslo_concurrency.oslo.concurrency.lock_path }}#{{ end }}lock_path = {{ .oslo_concurrency.oslo.concurrency.lock_path | default "<None>" }}
[oslo_messaging_amqp]
#
# From oslo.messaging
#
# Name for the AMQP container. must be globally unique. Defaults to a generated
# UUID (string value)
# Deprecated group/name - [amqp1]/container_name
# from .oslo_messaging_amqp.oslo.messaging.container_name
{{ if not .oslo_messaging_amqp.oslo.messaging.container_name }}#{{ end }}container_name = {{ .oslo_messaging_amqp.oslo.messaging.container_name | default "<None>" }}
# Timeout for inactive connections (in seconds) (integer value)
# Deprecated group/name - [amqp1]/idle_timeout
# from .oslo_messaging_amqp.oslo.messaging.idle_timeout
{{ if not .oslo_messaging_amqp.oslo.messaging.idle_timeout }}#{{ end }}idle_timeout = {{ .oslo_messaging_amqp.oslo.messaging.idle_timeout | default "0" }}
# Debug: dump AMQP frames to stdout (boolean value)
# Deprecated group/name - [amqp1]/trace
# from .oslo_messaging_amqp.oslo.messaging.trace
{{ if not .oslo_messaging_amqp.oslo.messaging.trace }}#{{ end }}trace = {{ .oslo_messaging_amqp.oslo.messaging.trace | default "false" }}
# CA certificate PEM file to verify server certificate (string value)
# Deprecated group/name - [amqp1]/ssl_ca_file
# from .oslo_messaging_amqp.oslo.messaging.ssl_ca_file
{{ if not .oslo_messaging_amqp.oslo.messaging.ssl_ca_file }}#{{ end }}ssl_ca_file = {{ .oslo_messaging_amqp.oslo.messaging.ssl_ca_file | default "" }}
# Identifying certificate PEM file to present to clients (string value)
# Deprecated group/name - [amqp1]/ssl_cert_file
# from .oslo_messaging_amqp.oslo.messaging.ssl_cert_file
{{ if not .oslo_messaging_amqp.oslo.messaging.ssl_cert_file }}#{{ end }}ssl_cert_file = {{ .oslo_messaging_amqp.oslo.messaging.ssl_cert_file | default "" }}
# Private key PEM file used to sign cert_file certificate (string value)
# Deprecated group/name - [amqp1]/ssl_key_file
# from .oslo_messaging_amqp.oslo.messaging.ssl_key_file
{{ if not .oslo_messaging_amqp.oslo.messaging.ssl_key_file }}#{{ end }}ssl_key_file = {{ .oslo_messaging_amqp.oslo.messaging.ssl_key_file | default "" }}
# Password for decrypting ssl_key_file (if encrypted) (string value)
# Deprecated group/name - [amqp1]/ssl_key_password
# from .oslo_messaging_amqp.oslo.messaging.ssl_key_password
{{ if not .oslo_messaging_amqp.oslo.messaging.ssl_key_password }}#{{ end }}ssl_key_password = {{ .oslo_messaging_amqp.oslo.messaging.ssl_key_password | default "<None>" }}
# Accept clients using either SSL or plain TCP (boolean value)
# Deprecated group/name - [amqp1]/allow_insecure_clients
# from .oslo_messaging_amqp.oslo.messaging.allow_insecure_clients
{{ if not .oslo_messaging_amqp.oslo.messaging.allow_insecure_clients }}#{{ end }}allow_insecure_clients = {{ .oslo_messaging_amqp.oslo.messaging.allow_insecure_clients | default "false" }}
# Space separated list of acceptable SASL mechanisms (string value)
# Deprecated group/name - [amqp1]/sasl_mechanisms
# from .oslo_messaging_amqp.oslo.messaging.sasl_mechanisms
{{ if not .oslo_messaging_amqp.oslo.messaging.sasl_mechanisms }}#{{ end }}sasl_mechanisms = {{ .oslo_messaging_amqp.oslo.messaging.sasl_mechanisms | default "" }}
# Path to directory that contains the SASL configuration (string value)
# Deprecated group/name - [amqp1]/sasl_config_dir
# from .oslo_messaging_amqp.oslo.messaging.sasl_config_dir
{{ if not .oslo_messaging_amqp.oslo.messaging.sasl_config_dir }}#{{ end }}sasl_config_dir = {{ .oslo_messaging_amqp.oslo.messaging.sasl_config_dir | default "" }}
# Name of configuration file (without .conf suffix) (string value)
# Deprecated group/name - [amqp1]/sasl_config_name
# from .oslo_messaging_amqp.oslo.messaging.sasl_config_name
{{ if not .oslo_messaging_amqp.oslo.messaging.sasl_config_name }}#{{ end }}sasl_config_name = {{ .oslo_messaging_amqp.oslo.messaging.sasl_config_name | default "" }}
# User name for message broker authentication (string value)
# Deprecated group/name - [amqp1]/username
# from .oslo_messaging_amqp.oslo.messaging.username
{{ if not .oslo_messaging_amqp.oslo.messaging.username }}#{{ end }}username = {{ .oslo_messaging_amqp.oslo.messaging.username | default "" }}
# Password for message broker authentication (string value)
# Deprecated group/name - [amqp1]/password
# from .oslo_messaging_amqp.oslo.messaging.password
{{ if not .oslo_messaging_amqp.oslo.messaging.password }}#{{ end }}password = {{ .oslo_messaging_amqp.oslo.messaging.password | default "" }}
# Seconds to pause before attempting to re-connect. (integer value)
# Minimum value: 1
# from .oslo_messaging_amqp.oslo.messaging.connection_retry_interval
{{ if not .oslo_messaging_amqp.oslo.messaging.connection_retry_interval }}#{{ end }}connection_retry_interval = {{ .oslo_messaging_amqp.oslo.messaging.connection_retry_interval | default "1" }}
# Increase the connection_retry_interval by this many seconds after each
# unsuccessful failover attempt. (integer value)
# Minimum value: 0
# from .oslo_messaging_amqp.oslo.messaging.connection_retry_backoff
{{ if not .oslo_messaging_amqp.oslo.messaging.connection_retry_backoff }}#{{ end }}connection_retry_backoff = {{ .oslo_messaging_amqp.oslo.messaging.connection_retry_backoff | default "2" }}
# Maximum limit for connection_retry_interval + connection_retry_backoff
# (integer value)
# Minimum value: 1
# from .oslo_messaging_amqp.oslo.messaging.connection_retry_interval_max
{{ if not .oslo_messaging_amqp.oslo.messaging.connection_retry_interval_max }}#{{ end }}connection_retry_interval_max = {{ .oslo_messaging_amqp.oslo.messaging.connection_retry_interval_max | default "30" }}
# Time to pause between re-connecting an AMQP 1.0 link that failed due to a
# recoverable error. (integer value)
# Minimum value: 1
# from .oslo_messaging_amqp.oslo.messaging.link_retry_delay
{{ if not .oslo_messaging_amqp.oslo.messaging.link_retry_delay }}#{{ end }}link_retry_delay = {{ .oslo_messaging_amqp.oslo.messaging.link_retry_delay | default "10" }}
# The deadline for an rpc reply message delivery. Only used when caller does not
# provide a timeout expiry. (integer value)
# Minimum value: 5
# from .oslo_messaging_amqp.oslo.messaging.default_reply_timeout
{{ if not .oslo_messaging_amqp.oslo.messaging.default_reply_timeout }}#{{ end }}default_reply_timeout = {{ .oslo_messaging_amqp.oslo.messaging.default_reply_timeout | default "30" }}
# The deadline for an rpc cast or call message delivery. Only used when caller
# does not provide a timeout expiry. (integer value)
# Minimum value: 5
# from .oslo_messaging_amqp.oslo.messaging.default_send_timeout
{{ if not .oslo_messaging_amqp.oslo.messaging.default_send_timeout }}#{{ end }}default_send_timeout = {{ .oslo_messaging_amqp.oslo.messaging.default_send_timeout | default "30" }}
# The deadline for a sent notification message delivery. Only used when caller
# does not provide a timeout expiry. (integer value)
# Minimum value: 5
# from .oslo_messaging_amqp.oslo.messaging.default_notify_timeout
{{ if not .oslo_messaging_amqp.oslo.messaging.default_notify_timeout }}#{{ end }}default_notify_timeout = {{ .oslo_messaging_amqp.oslo.messaging.default_notify_timeout | default "30" }}
# 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 (string value)
# from .oslo_messaging_amqp.oslo.messaging.addressing_mode
{{ if not .oslo_messaging_amqp.oslo.messaging.addressing_mode }}#{{ end }}addressing_mode = {{ .oslo_messaging_amqp.oslo.messaging.addressing_mode | default "dynamic" }}
# address prefix used when sending to a specific server (string value)
# Deprecated group/name - [amqp1]/server_request_prefix
# from .oslo_messaging_amqp.oslo.messaging.server_request_prefix
{{ if not .oslo_messaging_amqp.oslo.messaging.server_request_prefix }}#{{ end }}server_request_prefix = {{ .oslo_messaging_amqp.oslo.messaging.server_request_prefix | default "exclusive" }}
# address prefix used when broadcasting to all servers (string value)
# Deprecated group/name - [amqp1]/broadcast_prefix
# from .oslo_messaging_amqp.oslo.messaging.broadcast_prefix
{{ if not .oslo_messaging_amqp.oslo.messaging.broadcast_prefix }}#{{ end }}broadcast_prefix = {{ .oslo_messaging_amqp.oslo.messaging.broadcast_prefix | default "broadcast" }}
# address prefix when sending to any server in group (string value)
# Deprecated group/name - [amqp1]/group_request_prefix
# from .oslo_messaging_amqp.oslo.messaging.group_request_prefix
{{ if not .oslo_messaging_amqp.oslo.messaging.group_request_prefix }}#{{ end }}group_request_prefix = {{ .oslo_messaging_amqp.oslo.messaging.group_request_prefix | default "unicast" }}
# Address prefix for all generated RPC addresses (string value)
# from .oslo_messaging_amqp.oslo.messaging.rpc_address_prefix
{{ if not .oslo_messaging_amqp.oslo.messaging.rpc_address_prefix }}#{{ end }}rpc_address_prefix = {{ .oslo_messaging_amqp.oslo.messaging.rpc_address_prefix | default "openstack.org/om/rpc" }}
# Address prefix for all generated Notification addresses (string value)
# from .oslo_messaging_amqp.oslo.messaging.notify_address_prefix
{{ if not .oslo_messaging_amqp.oslo.messaging.notify_address_prefix }}#{{ end }}notify_address_prefix = {{ .oslo_messaging_amqp.oslo.messaging.notify_address_prefix | default "openstack.org/om/notify" }}
# Appended to the address prefix when sending a fanout message. Used by the
# message bus to identify fanout messages. (string value)
# from .oslo_messaging_amqp.oslo.messaging.multicast_address
{{ if not .oslo_messaging_amqp.oslo.messaging.multicast_address }}#{{ end }}multicast_address = {{ .oslo_messaging_amqp.oslo.messaging.multicast_address | default "multicast" }}
# 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. (string value)
# from .oslo_messaging_amqp.oslo.messaging.unicast_address
{{ if not .oslo_messaging_amqp.oslo.messaging.unicast_address }}#{{ end }}unicast_address = {{ .oslo_messaging_amqp.oslo.messaging.unicast_address | default "unicast" }}
# 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. (string value)
# from .oslo_messaging_amqp.oslo.messaging.anycast_address
{{ if not .oslo_messaging_amqp.oslo.messaging.anycast_address }}#{{ end }}anycast_address = {{ .oslo_messaging_amqp.oslo.messaging.anycast_address | default "anycast" }}
# 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' (string value)
# from .oslo_messaging_amqp.oslo.messaging.default_notification_exchange
{{ if not .oslo_messaging_amqp.oslo.messaging.default_notification_exchange }}#{{ end }}default_notification_exchange = {{ .oslo_messaging_amqp.oslo.messaging.default_notification_exchange | default "<None>" }}
# Exchange name used in RPC addresses.
# Exchange name resolution precedence:
# Target.exchange if set
# else default_rpc_exchange if set
# else control_exchange if set
# else 'rpc' (string value)
# from .oslo_messaging_amqp.oslo.messaging.default_rpc_exchange
{{ if not .oslo_messaging_amqp.oslo.messaging.default_rpc_exchange }}#{{ end }}default_rpc_exchange = {{ .oslo_messaging_amqp.oslo.messaging.default_rpc_exchange | default "<None>" }}
# Window size for incoming RPC Reply messages. (integer value)
# Minimum value: 1
# from .oslo_messaging_amqp.oslo.messaging.reply_link_credit
{{ if not .oslo_messaging_amqp.oslo.messaging.reply_link_credit }}#{{ end }}reply_link_credit = {{ .oslo_messaging_amqp.oslo.messaging.reply_link_credit | default "200" }}
# Window size for incoming RPC Request messages (integer value)
# Minimum value: 1
# from .oslo_messaging_amqp.oslo.messaging.rpc_server_credit
{{ if not .oslo_messaging_amqp.oslo.messaging.rpc_server_credit }}#{{ end }}rpc_server_credit = {{ .oslo_messaging_amqp.oslo.messaging.rpc_server_credit | default "100" }}
# Window size for incoming Notification messages (integer value)
# Minimum value: 1
# from .oslo_messaging_amqp.oslo.messaging.notify_server_credit
{{ if not .oslo_messaging_amqp.oslo.messaging.notify_server_credit }}#{{ end }}notify_server_credit = {{ .oslo_messaging_amqp.oslo.messaging.notify_server_credit | default "100" }}
[oslo_messaging_notifications]
#
# From oslo.messaging
#
# The Drivers(s) to handle sending notifications. Possible values are messaging,
# messagingv2, routing, log, test, noop (multi valued)
# Deprecated group/name - [DEFAULT]/notification_driver
# from .oslo_messaging_notifications.oslo.messaging.driver (multiopt)
{{ if not .oslo_messaging_notifications.oslo.messaging.driver }}#driver = {{ .oslo_messaging_notifications.oslo.messaging.driver | default "" }}{{ else }}{{ range .oslo_messaging_notifications.oslo.messaging.driver }}driver = {{ . }}{{ end }}{{ end }}
# A URL representing the messaging driver to use for notifications. If not set,
# we fall back to the same configuration used for RPC. (string value)
# Deprecated group/name - [DEFAULT]/notification_transport_url
# from .oslo_messaging_notifications.oslo.messaging.transport_url
{{ if not .oslo_messaging_notifications.oslo.messaging.transport_url }}#{{ end }}transport_url = {{ .oslo_messaging_notifications.oslo.messaging.transport_url | default "<None>" }}
# AMQP topic used for OpenStack notifications. (list value)
# Deprecated group/name - [rpc_notifier2]/topics
# Deprecated group/name - [DEFAULT]/notification_topics
# from .oslo_messaging_notifications.oslo.messaging.topics
{{ if not .oslo_messaging_notifications.oslo.messaging.topics }}#{{ end }}topics = {{ .oslo_messaging_notifications.oslo.messaging.topics | default "notifications" }}
[oslo_messaging_rabbit]
#
# From oslo.messaging
#
# Use durable queues in AMQP. (boolean value)
# Deprecated group/name - [DEFAULT]/amqp_durable_queues
# Deprecated group/name - [DEFAULT]/rabbit_durable_queues
# from .oslo_messaging_rabbit.oslo.messaging.amqp_durable_queues
{{ if not .oslo_messaging_rabbit.oslo.messaging.amqp_durable_queues }}#{{ end }}amqp_durable_queues = {{ .oslo_messaging_rabbit.oslo.messaging.amqp_durable_queues | default "false" }}
# Auto-delete queues in AMQP. (boolean value)
# Deprecated group/name - [DEFAULT]/amqp_auto_delete
# from .oslo_messaging_rabbit.oslo.messaging.amqp_auto_delete
{{ if not .oslo_messaging_rabbit.oslo.messaging.amqp_auto_delete }}#{{ end }}amqp_auto_delete = {{ .oslo_messaging_rabbit.oslo.messaging.amqp_auto_delete | default "false" }}
# 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. (string value)
# Deprecated group/name - [DEFAULT]/kombu_ssl_version
# from .oslo_messaging_rabbit.oslo.messaging.kombu_ssl_version
{{ if not .oslo_messaging_rabbit.oslo.messaging.kombu_ssl_version }}#{{ end }}kombu_ssl_version = {{ .oslo_messaging_rabbit.oslo.messaging.kombu_ssl_version | default "" }}
# SSL key file (valid only if SSL enabled). (string value)
# Deprecated group/name - [DEFAULT]/kombu_ssl_keyfile
# from .oslo_messaging_rabbit.oslo.messaging.kombu_ssl_keyfile
{{ if not .oslo_messaging_rabbit.oslo.messaging.kombu_ssl_keyfile }}#{{ end }}kombu_ssl_keyfile = {{ .oslo_messaging_rabbit.oslo.messaging.kombu_ssl_keyfile | default "" }}
# SSL cert file (valid only if SSL enabled). (string value)
# Deprecated group/name - [DEFAULT]/kombu_ssl_certfile
# from .oslo_messaging_rabbit.oslo.messaging.kombu_ssl_certfile
{{ if not .oslo_messaging_rabbit.oslo.messaging.kombu_ssl_certfile }}#{{ end }}kombu_ssl_certfile = {{ .oslo_messaging_rabbit.oslo.messaging.kombu_ssl_certfile | default "" }}
# SSL certification authority file (valid only if SSL enabled). (string value)
# Deprecated group/name - [DEFAULT]/kombu_ssl_ca_certs
# from .oslo_messaging_rabbit.oslo.messaging.kombu_ssl_ca_certs
{{ if not .oslo_messaging_rabbit.oslo.messaging.kombu_ssl_ca_certs }}#{{ end }}kombu_ssl_ca_certs = {{ .oslo_messaging_rabbit.oslo.messaging.kombu_ssl_ca_certs | default "" }}
# How long to wait before reconnecting in response to an AMQP consumer cancel
# notification. (floating point value)
# Deprecated group/name - [DEFAULT]/kombu_reconnect_delay
# from .oslo_messaging_rabbit.oslo.messaging.kombu_reconnect_delay
{{ if not .oslo_messaging_rabbit.oslo.messaging.kombu_reconnect_delay }}#{{ end }}kombu_reconnect_delay = {{ .oslo_messaging_rabbit.oslo.messaging.kombu_reconnect_delay | default "1.0" }}
# EXPERIMENTAL: Possible values are: gzip, bz2. If not set compression will not
# be used. This option may not be available in future versions. (string value)
# from .oslo_messaging_rabbit.oslo.messaging.kombu_compression
{{ if not .oslo_messaging_rabbit.oslo.messaging.kombu_compression }}#{{ end }}kombu_compression = {{ .oslo_messaging_rabbit.oslo.messaging.kombu_compression | default "<None>" }}
# How long to wait a missing client before abandoning to send it its replies.
# This value should not be longer than rpc_response_timeout. (integer value)
# Deprecated group/name - [oslo_messaging_rabbit]/kombu_reconnect_timeout
# from .oslo_messaging_rabbit.oslo.messaging.kombu_missing_consumer_retry_timeout
{{ if not .oslo_messaging_rabbit.oslo.messaging.kombu_missing_consumer_retry_timeout }}#{{ end }}kombu_missing_consumer_retry_timeout = {{ .oslo_messaging_rabbit.oslo.messaging.kombu_missing_consumer_retry_timeout | default "60" }}
# 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. (string value)
# Allowed values: round-robin, shuffle
# from .oslo_messaging_rabbit.oslo.messaging.kombu_failover_strategy
{{ if not .oslo_messaging_rabbit.oslo.messaging.kombu_failover_strategy }}#{{ end }}kombu_failover_strategy = {{ .oslo_messaging_rabbit.oslo.messaging.kombu_failover_strategy | default "round-robin" }}
# DEPRECATED: The RabbitMQ broker address where a single node is used. (string
# value)
# Deprecated group/name - [DEFAULT]/rabbit_host
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: Replaced by [DEFAULT]/transport_url
# from .oslo_messaging_rabbit.oslo.messaging.rabbit_host
{{ if not .oslo_messaging_rabbit.oslo.messaging.rabbit_host }}#{{ end }}rabbit_host = {{ .oslo_messaging_rabbit.oslo.messaging.rabbit_host | default "localhost" }}
# DEPRECATED: The RabbitMQ broker port where a single node is used. (port value)
# Minimum value: 0
# Maximum value: 65535
# Deprecated group/name - [DEFAULT]/rabbit_port
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: Replaced by [DEFAULT]/transport_url
# from .oslo_messaging_rabbit.oslo.messaging.rabbit_port
{{ if not .oslo_messaging_rabbit.oslo.messaging.rabbit_port }}#{{ end }}rabbit_port = {{ .oslo_messaging_rabbit.oslo.messaging.rabbit_port | default "5672" }}
# DEPRECATED: RabbitMQ HA cluster host:port pairs. (list value)
# Deprecated group/name - [DEFAULT]/rabbit_hosts
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: Replaced by [DEFAULT]/transport_url
# from .oslo_messaging_rabbit.oslo.messaging.rabbit_hosts
{{ if not .oslo_messaging_rabbit.oslo.messaging.rabbit_hosts }}#{{ end }}rabbit_hosts = {{ .oslo_messaging_rabbit.oslo.messaging.rabbit_hosts | default "$rabbit_host:$rabbit_port" }}
# Connect over SSL for RabbitMQ. (boolean value)
# Deprecated group/name - [DEFAULT]/rabbit_use_ssl
# from .oslo_messaging_rabbit.oslo.messaging.rabbit_use_ssl
{{ if not .oslo_messaging_rabbit.oslo.messaging.rabbit_use_ssl }}#{{ end }}rabbit_use_ssl = {{ .oslo_messaging_rabbit.oslo.messaging.rabbit_use_ssl | default "false" }}
# DEPRECATED: The RabbitMQ userid. (string value)
# Deprecated group/name - [DEFAULT]/rabbit_userid
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: Replaced by [DEFAULT]/transport_url
# from .oslo_messaging_rabbit.oslo.messaging.rabbit_userid
{{ if not .oslo_messaging_rabbit.oslo.messaging.rabbit_userid }}#{{ end }}rabbit_userid = {{ .oslo_messaging_rabbit.oslo.messaging.rabbit_userid | default "guest" }}
# DEPRECATED: The RabbitMQ password. (string value)
# Deprecated group/name - [DEFAULT]/rabbit_password
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: Replaced by [DEFAULT]/transport_url
# from .oslo_messaging_rabbit.oslo.messaging.rabbit_password
{{ if not .oslo_messaging_rabbit.oslo.messaging.rabbit_password }}#{{ end }}rabbit_password = {{ .oslo_messaging_rabbit.oslo.messaging.rabbit_password | default "guest" }}
# The RabbitMQ login method. (string value)
# Deprecated group/name - [DEFAULT]/rabbit_login_method
# from .oslo_messaging_rabbit.oslo.messaging.rabbit_login_method
{{ if not .oslo_messaging_rabbit.oslo.messaging.rabbit_login_method }}#{{ end }}rabbit_login_method = {{ .oslo_messaging_rabbit.oslo.messaging.rabbit_login_method | default "AMQPLAIN" }}
# DEPRECATED: The RabbitMQ virtual host. (string value)
# Deprecated group/name - [DEFAULT]/rabbit_virtual_host
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: Replaced by [DEFAULT]/transport_url
# from .oslo_messaging_rabbit.oslo.messaging.rabbit_virtual_host
{{ if not .oslo_messaging_rabbit.oslo.messaging.rabbit_virtual_host }}#{{ end }}rabbit_virtual_host = {{ .oslo_messaging_rabbit.oslo.messaging.rabbit_virtual_host | default "/" }}
# How frequently to retry connecting with RabbitMQ. (integer value)
# from .oslo_messaging_rabbit.oslo.messaging.rabbit_retry_interval
{{ if not .oslo_messaging_rabbit.oslo.messaging.rabbit_retry_interval }}#{{ end }}rabbit_retry_interval = {{ .oslo_messaging_rabbit.oslo.messaging.rabbit_retry_interval | default "1" }}
# How long to backoff for between retries when connecting to RabbitMQ. (integer
# value)
# Deprecated group/name - [DEFAULT]/rabbit_retry_backoff
# from .oslo_messaging_rabbit.oslo.messaging.rabbit_retry_backoff
{{ if not .oslo_messaging_rabbit.oslo.messaging.rabbit_retry_backoff }}#{{ end }}rabbit_retry_backoff = {{ .oslo_messaging_rabbit.oslo.messaging.rabbit_retry_backoff | default "2" }}
# Maximum interval of RabbitMQ connection retries. Default is 30 seconds.
# (integer value)
# from .oslo_messaging_rabbit.oslo.messaging.rabbit_interval_max
{{ if not .oslo_messaging_rabbit.oslo.messaging.rabbit_interval_max }}#{{ end }}rabbit_interval_max = {{ .oslo_messaging_rabbit.oslo.messaging.rabbit_interval_max | default "30" }}
# DEPRECATED: Maximum number of RabbitMQ connection retries. Default is 0
# (infinite retry count). (integer value)
# Deprecated group/name - [DEFAULT]/rabbit_max_retries
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# from .oslo_messaging_rabbit.oslo.messaging.rabbit_max_retries
{{ if not .oslo_messaging_rabbit.oslo.messaging.rabbit_max_retries }}#{{ end }}rabbit_max_retries = {{ .oslo_messaging_rabbit.oslo.messaging.rabbit_max_retries | default "0" }}
# 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"}' " (boolean value)
# Deprecated group/name - [DEFAULT]/rabbit_ha_queues
# from .oslo_messaging_rabbit.oslo.messaging.rabbit_ha_queues
{{ if not .oslo_messaging_rabbit.oslo.messaging.rabbit_ha_queues }}#{{ end }}rabbit_ha_queues = {{ .oslo_messaging_rabbit.oslo.messaging.rabbit_ha_queues | default "false" }}
# 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. (integer value)
# Minimum value: 1
# from .oslo_messaging_rabbit.oslo.messaging.rabbit_transient_queues_ttl
{{ if not .oslo_messaging_rabbit.oslo.messaging.rabbit_transient_queues_ttl }}#{{ end }}rabbit_transient_queues_ttl = {{ .oslo_messaging_rabbit.oslo.messaging.rabbit_transient_queues_ttl | default "1800" }}
# Specifies the number of messages to prefetch. Setting to zero allows unlimited
# messages. (integer value)
# from .oslo_messaging_rabbit.oslo.messaging.rabbit_qos_prefetch_count
{{ if not .oslo_messaging_rabbit.oslo.messaging.rabbit_qos_prefetch_count }}#{{ end }}rabbit_qos_prefetch_count = {{ .oslo_messaging_rabbit.oslo.messaging.rabbit_qos_prefetch_count | default "0" }}
# Number of seconds after which the Rabbit broker is considered down if
# heartbeat's keep-alive fails (0 disable the heartbeat). EXPERIMENTAL (integer
# value)
# from .oslo_messaging_rabbit.oslo.messaging.heartbeat_timeout_threshold
{{ if not .oslo_messaging_rabbit.oslo.messaging.heartbeat_timeout_threshold }}#{{ end }}heartbeat_timeout_threshold = {{ .oslo_messaging_rabbit.oslo.messaging.heartbeat_timeout_threshold | default "60" }}
# How often times during the heartbeat_timeout_threshold we check the heartbeat.
# (integer value)
# from .oslo_messaging_rabbit.oslo.messaging.heartbeat_rate
{{ if not .oslo_messaging_rabbit.oslo.messaging.heartbeat_rate }}#{{ end }}heartbeat_rate = {{ .oslo_messaging_rabbit.oslo.messaging.heartbeat_rate | default "2" }}
# Deprecated, use rpc_backend=kombu+memory or rpc_backend=fake (boolean value)
# Deprecated group/name - [DEFAULT]/fake_rabbit
# from .oslo_messaging_rabbit.oslo.messaging.fake_rabbit
{{ if not .oslo_messaging_rabbit.oslo.messaging.fake_rabbit }}#{{ end }}fake_rabbit = {{ .oslo_messaging_rabbit.oslo.messaging.fake_rabbit | default "false" }}
# Maximum number of channels to allow (integer value)
# from .oslo_messaging_rabbit.oslo.messaging.channel_max
{{ if not .oslo_messaging_rabbit.oslo.messaging.channel_max }}#{{ end }}channel_max = {{ .oslo_messaging_rabbit.oslo.messaging.channel_max | default "<None>" }}
# The maximum byte size for an AMQP frame (integer value)
# from .oslo_messaging_rabbit.oslo.messaging.frame_max
{{ if not .oslo_messaging_rabbit.oslo.messaging.frame_max }}#{{ end }}frame_max = {{ .oslo_messaging_rabbit.oslo.messaging.frame_max | default "<None>" }}
# How often to send heartbeats for consumer's connections (integer value)
# from .oslo_messaging_rabbit.oslo.messaging.heartbeat_interval
{{ if not .oslo_messaging_rabbit.oslo.messaging.heartbeat_interval }}#{{ end }}heartbeat_interval = {{ .oslo_messaging_rabbit.oslo.messaging.heartbeat_interval | default "3" }}
# Enable SSL (boolean value)
# from .oslo_messaging_rabbit.oslo.messaging.ssl
{{ if not .oslo_messaging_rabbit.oslo.messaging.ssl }}#{{ end }}ssl = {{ .oslo_messaging_rabbit.oslo.messaging.ssl | default "<None>" }}
# Arguments passed to ssl.wrap_socket (dict value)
# from .oslo_messaging_rabbit.oslo.messaging.ssl_options
{{ if not .oslo_messaging_rabbit.oslo.messaging.ssl_options }}#{{ end }}ssl_options = {{ .oslo_messaging_rabbit.oslo.messaging.ssl_options | default "<None>" }}
# Set socket timeout in seconds for connection's socket (floating point value)
# from .oslo_messaging_rabbit.oslo.messaging.socket_timeout
{{ if not .oslo_messaging_rabbit.oslo.messaging.socket_timeout }}#{{ end }}socket_timeout = {{ .oslo_messaging_rabbit.oslo.messaging.socket_timeout | default "0.25" }}
# Set TCP_USER_TIMEOUT in seconds for connection's socket (floating point value)
# from .oslo_messaging_rabbit.oslo.messaging.tcp_user_timeout
{{ if not .oslo_messaging_rabbit.oslo.messaging.tcp_user_timeout }}#{{ end }}tcp_user_timeout = {{ .oslo_messaging_rabbit.oslo.messaging.tcp_user_timeout | default "0.25" }}
# Set delay for reconnection to some host which has connection error (floating
# point value)
# from .oslo_messaging_rabbit.oslo.messaging.host_connection_reconnect_delay
{{ if not .oslo_messaging_rabbit.oslo.messaging.host_connection_reconnect_delay }}#{{ end }}host_connection_reconnect_delay = {{ .oslo_messaging_rabbit.oslo.messaging.host_connection_reconnect_delay | default "0.25" }}
# Connection factory implementation (string value)
# Allowed values: new, single, read_write
# from .oslo_messaging_rabbit.oslo.messaging.connection_factory
{{ if not .oslo_messaging_rabbit.oslo.messaging.connection_factory }}#{{ end }}connection_factory = {{ .oslo_messaging_rabbit.oslo.messaging.connection_factory | default "single" }}
# Maximum number of connections to keep queued. (integer value)
# from .oslo_messaging_rabbit.oslo.messaging.pool_max_size
{{ if not .oslo_messaging_rabbit.oslo.messaging.pool_max_size }}#{{ end }}pool_max_size = {{ .oslo_messaging_rabbit.oslo.messaging.pool_max_size | default "30" }}
# Maximum number of connections to create above `pool_max_size`. (integer value)
# from .oslo_messaging_rabbit.oslo.messaging.pool_max_overflow
{{ if not .oslo_messaging_rabbit.oslo.messaging.pool_max_overflow }}#{{ end }}pool_max_overflow = {{ .oslo_messaging_rabbit.oslo.messaging.pool_max_overflow | default "0" }}
# Default number of seconds to wait for a connections to available (integer
# value)
# from .oslo_messaging_rabbit.oslo.messaging.pool_timeout
{{ if not .oslo_messaging_rabbit.oslo.messaging.pool_timeout }}#{{ end }}pool_timeout = {{ .oslo_messaging_rabbit.oslo.messaging.pool_timeout | default "30" }}
# Lifetime of a connection (since creation) in seconds or None for no recycling.
# Expired connections are closed on acquire. (integer value)
# from .oslo_messaging_rabbit.oslo.messaging.pool_recycle
{{ if not .oslo_messaging_rabbit.oslo.messaging.pool_recycle }}#{{ end }}pool_recycle = {{ .oslo_messaging_rabbit.oslo.messaging.pool_recycle | default "600" }}
# Threshold at which inactive (since release) connections are considered stale
# in seconds or None for no staleness. Stale connections are closed on acquire.
# (integer value)
# from .oslo_messaging_rabbit.oslo.messaging.pool_stale
{{ if not .oslo_messaging_rabbit.oslo.messaging.pool_stale }}#{{ end }}pool_stale = {{ .oslo_messaging_rabbit.oslo.messaging.pool_stale | default "60" }}
# Persist notification messages. (boolean value)
# from .oslo_messaging_rabbit.oslo.messaging.notification_persistence
{{ if not .oslo_messaging_rabbit.oslo.messaging.notification_persistence }}#{{ end }}notification_persistence = {{ .oslo_messaging_rabbit.oslo.messaging.notification_persistence | default "false" }}
# Exchange name for sending notifications (string value)
# from .oslo_messaging_rabbit.oslo.messaging.default_notification_exchange
{{ if not .oslo_messaging_rabbit.oslo.messaging.default_notification_exchange }}#{{ end }}default_notification_exchange = {{ .oslo_messaging_rabbit.oslo.messaging.default_notification_exchange | default "${control_exchange}_notification" }}
# Max number of not acknowledged message which RabbitMQ can send to notification
# listener. (integer value)
# from .oslo_messaging_rabbit.oslo.messaging.notification_listener_prefetch_count
{{ if not .oslo_messaging_rabbit.oslo.messaging.notification_listener_prefetch_count }}#{{ end }}notification_listener_prefetch_count = {{ .oslo_messaging_rabbit.oslo.messaging.notification_listener_prefetch_count | default "100" }}
# Reconnecting retry count in case of connectivity problem during sending
# notification, -1 means infinite retry. (integer value)
# from .oslo_messaging_rabbit.oslo.messaging.default_notification_retry_attempts
{{ if not .oslo_messaging_rabbit.oslo.messaging.default_notification_retry_attempts }}#{{ end }}default_notification_retry_attempts = {{ .oslo_messaging_rabbit.oslo.messaging.default_notification_retry_attempts | default "-1" }}
# Reconnecting retry delay in case of connectivity problem during sending
# notification message (floating point value)
# from .oslo_messaging_rabbit.oslo.messaging.notification_retry_delay
{{ if not .oslo_messaging_rabbit.oslo.messaging.notification_retry_delay }}#{{ end }}notification_retry_delay = {{ .oslo_messaging_rabbit.oslo.messaging.notification_retry_delay | default "0.25" }}
# Time to live for rpc queues without consumers in seconds. (integer value)
# from .oslo_messaging_rabbit.oslo.messaging.rpc_queue_expiration
{{ if not .oslo_messaging_rabbit.oslo.messaging.rpc_queue_expiration }}#{{ end }}rpc_queue_expiration = {{ .oslo_messaging_rabbit.oslo.messaging.rpc_queue_expiration | default "60" }}
# Exchange name for sending RPC messages (string value)
# from .oslo_messaging_rabbit.oslo.messaging.default_rpc_exchange
{{ if not .oslo_messaging_rabbit.oslo.messaging.default_rpc_exchange }}#{{ end }}default_rpc_exchange = {{ .oslo_messaging_rabbit.oslo.messaging.default_rpc_exchange | default "${control_exchange}_rpc" }}
# Exchange name for receiving RPC replies (string value)
# from .oslo_messaging_rabbit.oslo.messaging.rpc_reply_exchange
{{ if not .oslo_messaging_rabbit.oslo.messaging.rpc_reply_exchange }}#{{ end }}rpc_reply_exchange = {{ .oslo_messaging_rabbit.oslo.messaging.rpc_reply_exchange | default "${control_exchange}_rpc_reply" }}
# Max number of not acknowledged message which RabbitMQ can send to rpc
# listener. (integer value)
# from .oslo_messaging_rabbit.oslo.messaging.rpc_listener_prefetch_count
{{ if not .oslo_messaging_rabbit.oslo.messaging.rpc_listener_prefetch_count }}#{{ end }}rpc_listener_prefetch_count = {{ .oslo_messaging_rabbit.oslo.messaging.rpc_listener_prefetch_count | default "100" }}
# Max number of not acknowledged message which RabbitMQ can send to rpc reply
# listener. (integer value)
# from .oslo_messaging_rabbit.oslo.messaging.rpc_reply_listener_prefetch_count
{{ if not .oslo_messaging_rabbit.oslo.messaging.rpc_reply_listener_prefetch_count }}#{{ end }}rpc_reply_listener_prefetch_count = {{ .oslo_messaging_rabbit.oslo.messaging.rpc_reply_listener_prefetch_count | default "100" }}
# Reconnecting retry count in case of connectivity problem during sending reply.
# -1 means infinite retry during rpc_timeout (integer value)
# from .oslo_messaging_rabbit.oslo.messaging.rpc_reply_retry_attempts
{{ if not .oslo_messaging_rabbit.oslo.messaging.rpc_reply_retry_attempts }}#{{ end }}rpc_reply_retry_attempts = {{ .oslo_messaging_rabbit.oslo.messaging.rpc_reply_retry_attempts | default "-1" }}
# Reconnecting retry delay in case of connectivity problem during sending reply.
# (floating point value)
# from .oslo_messaging_rabbit.oslo.messaging.rpc_reply_retry_delay
{{ if not .oslo_messaging_rabbit.oslo.messaging.rpc_reply_retry_delay }}#{{ end }}rpc_reply_retry_delay = {{ .oslo_messaging_rabbit.oslo.messaging.rpc_reply_retry_delay | default "0.25" }}
# Reconnecting retry count in case of connectivity problem during sending RPC
# message, -1 means infinite retry. If actual retry attempts in not 0 the rpc
# request could be processed more then one time (integer value)
# from .oslo_messaging_rabbit.oslo.messaging.default_rpc_retry_attempts
{{ if not .oslo_messaging_rabbit.oslo.messaging.default_rpc_retry_attempts }}#{{ end }}default_rpc_retry_attempts = {{ .oslo_messaging_rabbit.oslo.messaging.default_rpc_retry_attempts | default "-1" }}
# Reconnecting retry delay in case of connectivity problem during sending RPC
# message (floating point value)
# from .oslo_messaging_rabbit.oslo.messaging.rpc_retry_delay
{{ if not .oslo_messaging_rabbit.oslo.messaging.rpc_retry_delay }}#{{ end }}rpc_retry_delay = {{ .oslo_messaging_rabbit.oslo.messaging.rpc_retry_delay | default "0.25" }}
[oslo_messaging_zmq]
#
# From oslo.messaging
#
# ZeroMQ bind address. Should be a wildcard (*), an ethernet interface, or IP.
# The "host" option should point or resolve to this address. (string value)
# Deprecated group/name - [DEFAULT]/rpc_zmq_bind_address
# from .oslo_messaging_zmq.oslo.messaging.rpc_zmq_bind_address
{{ if not .oslo_messaging_zmq.oslo.messaging.rpc_zmq_bind_address }}#{{ end }}rpc_zmq_bind_address = {{ .oslo_messaging_zmq.oslo.messaging.rpc_zmq_bind_address | default "*" }}
# MatchMaker driver. (string value)
# Allowed values: redis, dummy
# Deprecated group/name - [DEFAULT]/rpc_zmq_matchmaker
# from .oslo_messaging_zmq.oslo.messaging.rpc_zmq_matchmaker
{{ if not .oslo_messaging_zmq.oslo.messaging.rpc_zmq_matchmaker }}#{{ end }}rpc_zmq_matchmaker = {{ .oslo_messaging_zmq.oslo.messaging.rpc_zmq_matchmaker | default "redis" }}
# Number of ZeroMQ contexts, defaults to 1. (integer value)
# Deprecated group/name - [DEFAULT]/rpc_zmq_contexts
# from .oslo_messaging_zmq.oslo.messaging.rpc_zmq_contexts
{{ if not .oslo_messaging_zmq.oslo.messaging.rpc_zmq_contexts }}#{{ end }}rpc_zmq_contexts = {{ .oslo_messaging_zmq.oslo.messaging.rpc_zmq_contexts | default "1" }}
# Maximum number of ingress messages to locally buffer per topic. Default is
# unlimited. (integer value)
# Deprecated group/name - [DEFAULT]/rpc_zmq_topic_backlog
# from .oslo_messaging_zmq.oslo.messaging.rpc_zmq_topic_backlog
{{ if not .oslo_messaging_zmq.oslo.messaging.rpc_zmq_topic_backlog }}#{{ end }}rpc_zmq_topic_backlog = {{ .oslo_messaging_zmq.oslo.messaging.rpc_zmq_topic_backlog | default "<None>" }}
# Directory for holding IPC sockets. (string value)
# Deprecated group/name - [DEFAULT]/rpc_zmq_ipc_dir
# from .oslo_messaging_zmq.oslo.messaging.rpc_zmq_ipc_dir
{{ if not .oslo_messaging_zmq.oslo.messaging.rpc_zmq_ipc_dir }}#{{ end }}rpc_zmq_ipc_dir = {{ .oslo_messaging_zmq.oslo.messaging.rpc_zmq_ipc_dir | default "/var/run/openstack" }}
# Name of this node. Must be a valid hostname, FQDN, or IP address. Must match
# "host" option, if running Nova. (string value)
# Deprecated group/name - [DEFAULT]/rpc_zmq_host
# from .oslo_messaging_zmq.oslo.messaging.rpc_zmq_host
{{ if not .oslo_messaging_zmq.oslo.messaging.rpc_zmq_host }}#{{ end }}rpc_zmq_host = {{ .oslo_messaging_zmq.oslo.messaging.rpc_zmq_host | default "localhost" }}
# Seconds to wait before a cast expires (TTL). The default value of -1 specifies
# an infinite linger period. The value of 0 specifies no linger period. Pending
# messages shall be discarded immediately when the socket is closed. Only
# supported by impl_zmq. (integer value)
# Deprecated group/name - [DEFAULT]/rpc_cast_timeout
# from .oslo_messaging_zmq.oslo.messaging.rpc_cast_timeout
{{ if not .oslo_messaging_zmq.oslo.messaging.rpc_cast_timeout }}#{{ end }}rpc_cast_timeout = {{ .oslo_messaging_zmq.oslo.messaging.rpc_cast_timeout | default "-1" }}
# The default number of seconds that poll should wait. Poll raises timeout
# exception when timeout expired. (integer value)
# Deprecated group/name - [DEFAULT]/rpc_poll_timeout
# from .oslo_messaging_zmq.oslo.messaging.rpc_poll_timeout
{{ if not .oslo_messaging_zmq.oslo.messaging.rpc_poll_timeout }}#{{ end }}rpc_poll_timeout = {{ .oslo_messaging_zmq.oslo.messaging.rpc_poll_timeout | default "1" }}
# Expiration timeout in seconds of a name service record about existing target (
# < 0 means no timeout). (integer value)
# Deprecated group/name - [DEFAULT]/zmq_target_expire
# from .oslo_messaging_zmq.oslo.messaging.zmq_target_expire
{{ if not .oslo_messaging_zmq.oslo.messaging.zmq_target_expire }}#{{ end }}zmq_target_expire = {{ .oslo_messaging_zmq.oslo.messaging.zmq_target_expire | default "300" }}
# Update period in seconds of a name service record about existing target.
# (integer value)
# Deprecated group/name - [DEFAULT]/zmq_target_update
# from .oslo_messaging_zmq.oslo.messaging.zmq_target_update
{{ if not .oslo_messaging_zmq.oslo.messaging.zmq_target_update }}#{{ end }}zmq_target_update = {{ .oslo_messaging_zmq.oslo.messaging.zmq_target_update | default "180" }}
# Use PUB/SUB pattern for fanout methods. PUB/SUB always uses proxy. (boolean
# value)
# Deprecated group/name - [DEFAULT]/use_pub_sub
# from .oslo_messaging_zmq.oslo.messaging.use_pub_sub
{{ if not .oslo_messaging_zmq.oslo.messaging.use_pub_sub }}#{{ end }}use_pub_sub = {{ .oslo_messaging_zmq.oslo.messaging.use_pub_sub | default "true" }}
# Use ROUTER remote proxy. (boolean value)
# Deprecated group/name - [DEFAULT]/use_router_proxy
# from .oslo_messaging_zmq.oslo.messaging.use_router_proxy
{{ if not .oslo_messaging_zmq.oslo.messaging.use_router_proxy }}#{{ end }}use_router_proxy = {{ .oslo_messaging_zmq.oslo.messaging.use_router_proxy | default "true" }}
# Minimal port number for random ports range. (port value)
# Minimum value: 0
# Maximum value: 65535
# Deprecated group/name - [DEFAULT]/rpc_zmq_min_port
# from .oslo_messaging_zmq.oslo.messaging.rpc_zmq_min_port
{{ if not .oslo_messaging_zmq.oslo.messaging.rpc_zmq_min_port }}#{{ end }}rpc_zmq_min_port = {{ .oslo_messaging_zmq.oslo.messaging.rpc_zmq_min_port | default "49153" }}
# Maximal port number for random ports range. (integer value)
# Minimum value: 1
# Maximum value: 65536
# Deprecated group/name - [DEFAULT]/rpc_zmq_max_port
# from .oslo_messaging_zmq.oslo.messaging.rpc_zmq_max_port
{{ if not .oslo_messaging_zmq.oslo.messaging.rpc_zmq_max_port }}#{{ end }}rpc_zmq_max_port = {{ .oslo_messaging_zmq.oslo.messaging.rpc_zmq_max_port | default "65536" }}
# Number of retries to find free port number before fail with ZMQBindError.
# (integer value)
# Deprecated group/name - [DEFAULT]/rpc_zmq_bind_port_retries
# from .oslo_messaging_zmq.oslo.messaging.rpc_zmq_bind_port_retries
{{ if not .oslo_messaging_zmq.oslo.messaging.rpc_zmq_bind_port_retries }}#{{ end }}rpc_zmq_bind_port_retries = {{ .oslo_messaging_zmq.oslo.messaging.rpc_zmq_bind_port_retries | default "100" }}
# Default serialization mechanism for serializing/deserializing
# outgoing/incoming messages (string value)
# Allowed values: json, msgpack
# Deprecated group/name - [DEFAULT]/rpc_zmq_serialization
# from .oslo_messaging_zmq.oslo.messaging.rpc_zmq_serialization
{{ if not .oslo_messaging_zmq.oslo.messaging.rpc_zmq_serialization }}#{{ end }}rpc_zmq_serialization = {{ .oslo_messaging_zmq.oslo.messaging.rpc_zmq_serialization | default "json" }}
# This option configures round-robin mode in zmq socket. True means not keeping
# a queue when server side disconnects. False means to keep queue and messages
# even if server is disconnected, when the server appears we send all
# accumulated messages to it. (boolean value)
# from .oslo_messaging_zmq.oslo.messaging.zmq_immediate
{{ if not .oslo_messaging_zmq.oslo.messaging.zmq_immediate }}#{{ end }}zmq_immediate = {{ .oslo_messaging_zmq.oslo.messaging.zmq_immediate | default "false" }}
[oslo_middleware]
#
# From oslo.middleware
#
# The maximum body size for each request, in bytes. (integer value)
# Deprecated group/name - [DEFAULT]/osapi_max_request_body_size
# Deprecated group/name - [DEFAULT]/max_request_body_size
# from .oslo_middleware.oslo.middleware.max_request_body_size
{{ if not .oslo_middleware.oslo.middleware.max_request_body_size }}#{{ end }}max_request_body_size = {{ .oslo_middleware.oslo.middleware.max_request_body_size | default "114688" }}
# DEPRECATED: The HTTP Header that will be used to determine what the original
# request protocol scheme was, even if it was hidden by a SSL termination proxy.
# (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# from .oslo_middleware.oslo.middleware.secure_proxy_ssl_header
{{ if not .oslo_middleware.oslo.middleware.secure_proxy_ssl_header }}#{{ end }}secure_proxy_ssl_header = {{ .oslo_middleware.oslo.middleware.secure_proxy_ssl_header | default "X-Forwarded-Proto" }}
# Whether the application is behind a proxy or not. This determines if the
# middleware should parse the headers or not. (boolean value)
# from .oslo_middleware.oslo.middleware.enable_proxy_headers_parsing
{{ if not .oslo_middleware.oslo.middleware.enable_proxy_headers_parsing }}#{{ end }}enable_proxy_headers_parsing = {{ .oslo_middleware.oslo.middleware.enable_proxy_headers_parsing | default "false" }}
[oslo_policy]
#
# From oslo.policy
#
# The JSON file that defines policies. (string value)
# Deprecated group/name - [DEFAULT]/policy_file
# from .oslo_policy.oslo.policy.policy_file
{{ if not .oslo_policy.oslo.policy.policy_file }}#{{ end }}policy_file = {{ .oslo_policy.oslo.policy.policy_file | default "policy.json" }}
# Default rule. Enforced when a requested rule is not found. (string value)
# Deprecated group/name - [DEFAULT]/policy_default_rule
# from .oslo_policy.oslo.policy.policy_default_rule
{{ if not .oslo_policy.oslo.policy.policy_default_rule }}#{{ end }}policy_default_rule = {{ .oslo_policy.oslo.policy.policy_default_rule | default "default" }}
# 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. (multi
# valued)
# Deprecated group/name - [DEFAULT]/policy_dirs
# from .oslo_policy.oslo.policy.policy_dirs (multiopt)
{{ if not .oslo_policy.oslo.policy.policy_dirs }}#policy_dirs = {{ .oslo_policy.oslo.policy.policy_dirs | default "policy.d" }}{{ else }}{{ range .oslo_policy.oslo.policy.policy_dirs }}policy_dirs = {{ . }}{{ end }}{{ end }}
[placement]
#
# From nova.conf
#
#
# Region name of this node. This is used when picking the URL in the service
# catalog.
#
# Possible values:
#
# * Any string representing region name
# (string value)
# from .placement.nova.conf.os_region_name
{{ if not .placement.nova.conf.os_region_name }}#{{ end }}os_region_name = {{ .placement.nova.conf.os_region_name | default "<None>" }}
# PEM encoded Certificate Authority to use when verifying HTTPs connections.
# (string value)
# from .placement.nova.conf.cafile
{{ if not .placement.nova.conf.cafile }}#{{ end }}cafile = {{ .placement.nova.conf.cafile | default "<None>" }}
# PEM encoded client certificate cert file (string value)
# from .placement.nova.conf.certfile
{{ if not .placement.nova.conf.certfile }}#{{ end }}certfile = {{ .placement.nova.conf.certfile | default "<None>" }}
# PEM encoded client certificate key file (string value)
# from .placement.nova.conf.keyfile
{{ if not .placement.nova.conf.keyfile }}#{{ end }}keyfile = {{ .placement.nova.conf.keyfile | default "<None>" }}
# Verify HTTPS connections. (boolean value)
# from .placement.nova.conf.insecure
{{ if not .placement.nova.conf.insecure }}#{{ end }}insecure = {{ .placement.nova.conf.insecure | default "false" }}
# Timeout value for http requests (integer value)
# from .placement.nova.conf.timeout
{{ if not .placement.nova.conf.timeout }}#{{ end }}timeout = {{ .placement.nova.conf.timeout | default "<None>" }}
# Authentication type to load (string value)
# Deprecated group/name - [placement]/auth_plugin
# from .placement.nova.conf.auth_type
{{ if not .placement.nova.conf.auth_type }}#{{ end }}auth_type = {{ .placement.nova.conf.auth_type | default "<None>" }}
# Config Section from which to load plugin specific options (string value)
# from .placement.nova.conf.auth_section
{{ if not .placement.nova.conf.auth_section }}#{{ end }}auth_section = {{ .placement.nova.conf.auth_section | default "<None>" }}
# Authentication URL (string value)
# from .placement.nova.conf.auth_url
{{ if not .placement.nova.conf.auth_url }}#{{ end }}auth_url = {{ .placement.nova.conf.auth_url | default "<None>" }}
# Domain ID to scope to (string value)
# from .placement.nova.conf.domain_id
{{ if not .placement.nova.conf.domain_id }}#{{ end }}domain_id = {{ .placement.nova.conf.domain_id | default "<None>" }}
# Domain name to scope to (string value)
# from .placement.nova.conf.domain_name
{{ if not .placement.nova.conf.domain_name }}#{{ end }}domain_name = {{ .placement.nova.conf.domain_name | default "<None>" }}
# Project ID to scope to (string value)
# from .placement.nova.conf.project_id
{{ if not .placement.nova.conf.project_id }}#{{ end }}project_id = {{ .placement.nova.conf.project_id | default "<None>" }}
# Project name to scope to (string value)
# from .placement.nova.conf.project_name
{{ if not .placement.nova.conf.project_name }}#{{ end }}project_name = {{ .placement.nova.conf.project_name | default "<None>" }}
# Domain ID containing project (string value)
# from .placement.nova.conf.project_domain_id
{{ if not .placement.nova.conf.project_domain_id }}#{{ end }}project_domain_id = {{ .placement.nova.conf.project_domain_id | default "<None>" }}
# Domain name containing project (string value)
# from .placement.nova.conf.project_domain_name
{{ if not .placement.nova.conf.project_domain_name }}#{{ end }}project_domain_name = {{ .placement.nova.conf.project_domain_name | default "<None>" }}
# Trust ID (string value)
# from .placement.nova.conf.trust_id
{{ if not .placement.nova.conf.trust_id }}#{{ end }}trust_id = {{ .placement.nova.conf.trust_id | default "<None>" }}
# Optional domain ID to use with v3 and v2 parameters. It will be used for both
# the user and project domain in v3 and ignored in v2 authentication. (string
# value)
# from .placement.nova.conf.default_domain_id
{{ if not .placement.nova.conf.default_domain_id }}#{{ end }}default_domain_id = {{ .placement.nova.conf.default_domain_id | default "<None>" }}
# Optional domain name to use with v3 API and v2 parameters. It will be used for
# both the user and project domain in v3 and ignored in v2 authentication.
# (string value)
# from .placement.nova.conf.default_domain_name
{{ if not .placement.nova.conf.default_domain_name }}#{{ end }}default_domain_name = {{ .placement.nova.conf.default_domain_name | default "<None>" }}
# User ID (string value)
# from .placement.nova.conf.user_id
{{ if not .placement.nova.conf.user_id }}#{{ end }}user_id = {{ .placement.nova.conf.user_id | default "<None>" }}
# Username (string value)
# Deprecated group/name - [placement]/user-name
# from .placement.nova.conf.username
{{ if not .placement.nova.conf.username }}#{{ end }}username = {{ .placement.nova.conf.username | default "<None>" }}
# User's domain id (string value)
# from .placement.nova.conf.user_domain_id
{{ if not .placement.nova.conf.user_domain_id }}#{{ end }}user_domain_id = {{ .placement.nova.conf.user_domain_id | default "<None>" }}
# User's domain name (string value)
# from .placement.nova.conf.user_domain_name
{{ if not .placement.nova.conf.user_domain_name }}#{{ end }}user_domain_name = {{ .placement.nova.conf.user_domain_name | default "<None>" }}
# User's password (string value)
# from .placement.nova.conf.password
{{ if not .placement.nova.conf.password }}#{{ end }}password = {{ .placement.nova.conf.password | default "<None>" }}
# Tenant ID (string value)
# from .placement.nova.conf.tenant_id
{{ if not .placement.nova.conf.tenant_id }}#{{ end }}tenant_id = {{ .placement.nova.conf.tenant_id | default "<None>" }}
# Tenant Name (string value)
# from .placement.nova.conf.tenant_name
{{ if not .placement.nova.conf.tenant_name }}#{{ end }}tenant_name = {{ .placement.nova.conf.tenant_name | default "<None>" }}
[placement_database]
#
# The *Placement API Database* is a separate database which is used for the new
# placement-api service. In Ocata release (14.0.0) this database is optional: if
# connection option is not set, api database will be used instead. However,
# this
# is not recommended, as it implies a potentially lengthy data migration in the
# future. Operators are advised to use a separate database for Placement API
# from
# the start.
#
# From nova.conf
#
# The SQLAlchemy connection string to use to connect to the database.The
# SQLAlchemy connection string to use to connect to the database. (string value)
# from .placement_database.nova.conf.connection
{{ if not .placement_database.nova.conf.connection }}#{{ end }}connection = {{ .placement_database.nova.conf.connection | default "<None>" }}
# If True, SQLite uses synchronous mode.If True, SQLite uses synchronous mode.
# (boolean value)
# from .placement_database.nova.conf.sqlite_synchronous
{{ if not .placement_database.nova.conf.sqlite_synchronous }}#{{ end }}sqlite_synchronous = {{ .placement_database.nova.conf.sqlite_synchronous | default "true" }}
# The SQLAlchemy connection string to use to connect to the slave database.The
# SQLAlchemy connection string to use to connect to the slave database. (string
# value)
# from .placement_database.nova.conf.slave_connection
{{ if not .placement_database.nova.conf.slave_connection }}#{{ end }}slave_connection = {{ .placement_database.nova.conf.slave_connection | default "<None>" }}
# 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=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= (string
# value)
# from .placement_database.nova.conf.mysql_sql_mode
{{ if not .placement_database.nova.conf.mysql_sql_mode }}#{{ end }}mysql_sql_mode = {{ .placement_database.nova.conf.mysql_sql_mode | default "TRADITIONAL" }}
# Timeout before idle SQL connections are reaped.Timeout before idle SQL
# connections are reaped. (integer value)
# from .placement_database.nova.conf.idle_timeout
{{ if not .placement_database.nova.conf.idle_timeout }}#{{ end }}idle_timeout = {{ .placement_database.nova.conf.idle_timeout | default "3600" }}
# Maximum number of SQL connections to keep open in a pool. Setting a value of 0
# indicates no limit.Maximum number of SQL connections to keep open in a pool.
# Setting a value of 0 indicates no limit. (integer value)
# from .placement_database.nova.conf.max_pool_size
{{ if not .placement_database.nova.conf.max_pool_size }}#{{ end }}max_pool_size = {{ .placement_database.nova.conf.max_pool_size | default "<None>" }}
# Maximum number of database connection retries during startup. Set to -1 to
# specify an infinite retry count.Maximum number of database connection retries
# during startup. Set to -1 to specify an infinite retry count. (integer value)
# from .placement_database.nova.conf.max_retries
{{ if not .placement_database.nova.conf.max_retries }}#{{ end }}max_retries = {{ .placement_database.nova.conf.max_retries | default "10" }}
# Interval between retries of opening a SQL connection.Interval between retries
# of opening a SQL connection. (integer value)
# from .placement_database.nova.conf.retry_interval
{{ if not .placement_database.nova.conf.retry_interval }}#{{ end }}retry_interval = {{ .placement_database.nova.conf.retry_interval | default "10" }}
# If set, use this value for max_overflow with SQLAlchemy.If set, use this value
# for max_overflow with SQLAlchemy. (integer value)
# from .placement_database.nova.conf.max_overflow
{{ if not .placement_database.nova.conf.max_overflow }}#{{ end }}max_overflow = {{ .placement_database.nova.conf.max_overflow | default "<None>" }}
# Verbosity of SQL debugging information: 0=None, 100=Everything.Verbosity of
# SQL debugging information: 0=None, 100=Everything. (integer value)
# from .placement_database.nova.conf.connection_debug
{{ if not .placement_database.nova.conf.connection_debug }}#{{ end }}connection_debug = {{ .placement_database.nova.conf.connection_debug | default "0" }}
# Add Python stack traces to SQL as comment strings.Add Python stack traces to
# SQL as comment strings. (boolean value)
# from .placement_database.nova.conf.connection_trace
{{ if not .placement_database.nova.conf.connection_trace }}#{{ end }}connection_trace = {{ .placement_database.nova.conf.connection_trace | default "false" }}
# If set, use this value for pool_timeout with SQLAlchemy.If set, use this value
# for pool_timeout with SQLAlchemy. (integer value)
# from .placement_database.nova.conf.pool_timeout
{{ if not .placement_database.nova.conf.pool_timeout }}#{{ end }}pool_timeout = {{ .placement_database.nova.conf.pool_timeout | default "<None>" }}
[rdp]
#
# Options under this group enable and configure Remote Desktop Protocol (
# RDP) related features.
#
# This group is only relevant to Hyper-V users.
#
# From nova.conf
#
#
# Enable Remote Desktop Protocol (RDP) related features.
#
# Hyper-V, unlike the majority of the hypervisors employed on Nova compute
# nodes, uses RDP instead of VNC and SPICE as a desktop sharing protocol to
# provide instance console access. This option enables RDP for graphical
# console access for virtual machines created by Hyper-V.
#
# **Note:** RDP should only be enabled on compute nodes that support the Hyper-V
# virtualization platform.
#
# Related options:
#
# * ``compute_driver``: Must be hyperv.
#
# (boolean value)
# from .rdp.nova.conf.enabled
{{ if not .rdp.nova.conf.enabled }}#{{ end }}enabled = {{ .rdp.nova.conf.enabled | default "false" }}
#
# The URL an end user would use to connect to the RDP HTML5 console proxy.
# The console proxy service is called with this token-embedded URL and
# establishes the connection to the proper instance.
#
# An RDP HTML5 console proxy service will need to be configured to listen on the
# address configured here. Typically the console proxy service would be run on a
# controller node. The localhost address used as default would only work in a
# single node environment i.e. devstack.
#
# An RDP HTML5 proxy allows a user to access via the web the text or graphical
# console of any Windows server or workstation using RDP. RDP HTML5 console
# proxy services include FreeRDP, wsgate.
# See https://github.com/FreeRDP/FreeRDP-WebConnect
#
# Possible values:
#
# * <scheme>://<ip-address>:<port-number>/
#
# The scheme must be identical to the scheme configured for the RDP HTML5
# console proxy service.
#
# The IP address must be identical to the address on which the RDP HTML5
# console proxy service is listening.
#
# The port must be identical to the port on which the RDP HTML5 console proxy
# service is listening.
#
# Related options:
#
# * ``rdp.enabled``: Must be set to ``True`` for ``html5_proxy_base_url`` to be
# effective.
# (string value)
# from .rdp.nova.conf.html5_proxy_base_url
{{ if not .rdp.nova.conf.html5_proxy_base_url }}#{{ end }}html5_proxy_base_url = {{ .rdp.nova.conf.html5_proxy_base_url | default "http://127.0.0.1:6083/" }}
[remote_debug]
#
# From nova.conf
#
#
# 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>
# (string value)
# from .remote_debug.nova.conf.host
{{ if not .remote_debug.nova.conf.host }}#{{ end }}host = {{ .remote_debug.nova.conf.host | default "<None>" }}
#
# 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>.
# (port value)
# Minimum value: 0
# Maximum value: 65535
# from .remote_debug.nova.conf.port
{{ if not .remote_debug.nova.conf.port }}#{{ end }}port = {{ .remote_debug.nova.conf.port | default "<None>" }}
[serial_console]
#
# The serial console feature allows you to connect to a guest in case a
# graphical console like VNC, RDP or SPICE is not available. This is only
# currently supported for the libvirt and hyper-v drivers.
#
# From nova.conf
#
#
# 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.
#
# Possible values:
#
# * True: Enables the feature
# * False: Disables the feature
#
# Services which consume this:
#
# * ``nova-compute``
#
# Interdependencies to other options:
#
# * None
# (boolean value)
# from .serial_console.nova.conf.enabled
{{ if not .serial_console.nova.conf.enabled }}#{{ end }}enabled = {{ .serial_console.nova.conf.enabled | default "false" }}
#
# 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.
#
# Services which consume this:
#
# * ``nova-compute``
#
# Interdependencies to other options:
#
# * None
# (string value)
# from .serial_console.nova.conf.port_range
{{ if not .serial_console.nova.conf.port_range }}#{{ end }}port_range = {{ .serial_console.nova.conf.port_range | default "10000:20000" }}
#
# 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.
#
# Possible values:
#
# * <scheme><IP-address><port-number>
#
# Services which consume this:
#
# * ``nova-compute``
#
# Interdependencies to other 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.
# (string value)
# from .serial_console.nova.conf.base_url
{{ if not .serial_console.nova.conf.base_url }}#{{ end }}base_url = {{ .serial_console.nova.conf.base_url | default "ws://127.0.0.1:6083/" }}
#
# 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.
#
# Possible values:
#
# * An IP address
#
# Services which consume this:
#
# * ``nova-compute``
#
# Interdependencies to other options:
#
# * None
# (string value)
# from .serial_console.nova.conf.proxyclient_address
{{ if not .serial_console.nova.conf.proxyclient_address }}#{{ end }}proxyclient_address = {{ .serial_console.nova.conf.proxyclient_address | default "127.0.0.1" }}
#
# 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.
#
# Possible values:
#
# * An IP address
#
# Services which consume this:
#
# * ``nova-serialproxy``
#
# Interdependencies to other 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.
# (string value)
# from .serial_console.nova.conf.serialproxy_host
{{ if not .serial_console.nova.conf.serialproxy_host }}#{{ end }}serialproxy_host = {{ .serial_console.nova.conf.serialproxy_host | default "0.0.0.0" }}
#
# 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.
#
# Possible values:
#
# * A port number
#
# Services which consume this:
#
# * ``nova-serialproxy``
#
# Interdependencies to other options:
#
# * Ensure that this is the same port number which is defined in the option
# ``base_url`` of this section.
# (port value)
# Minimum value: 0
# Maximum value: 65535
# from .serial_console.nova.conf.serialproxy_port
{{ if not .serial_console.nova.conf.serialproxy_port }}#{{ end }}serialproxy_port = {{ .serial_console.nova.conf.serialproxy_port | default "6083" }}
[spice]
#
# From nova.conf
#
#
# Location of spice HTML5 console proxy, in the form
# "http://127.0.0.1:6082/spice_auto.html"
# (string value)
# from .spice.nova.conf.html5proxy_base_url
{{ if not .spice.nova.conf.html5proxy_base_url }}#{{ end }}html5proxy_base_url = {{ .spice.nova.conf.html5proxy_base_url | default "http://127.0.0.1:6082/spice_auto.html" }}
#
# IP address on which instance spice server should listen
# (string value)
# from .spice.nova.conf.server_listen
{{ if not .spice.nova.conf.server_listen }}#{{ end }}server_listen = {{ .spice.nova.conf.server_listen | default "127.0.0.1" }}
#
# The address to which proxy clients (like nova-spicehtml5proxy) should connect
# (string value)
# from .spice.nova.conf.server_proxyclient_address
{{ if not .spice.nova.conf.server_proxyclient_address }}#{{ end }}server_proxyclient_address = {{ .spice.nova.conf.server_proxyclient_address | default "127.0.0.1" }}
#
# Enable spice related features.
# (boolean value)
# from .spice.nova.conf.enabled
{{ if not .spice.nova.conf.enabled }}#{{ end }}enabled = {{ .spice.nova.conf.enabled | default "false" }}
#
# Enable the spice guest agent support.
# (boolean value)
# from .spice.nova.conf.agent_enabled
{{ if not .spice.nova.conf.agent_enabled }}#{{ end }}agent_enabled = {{ .spice.nova.conf.agent_enabled | default "true" }}
#
# Keymap for spice
# (string value)
# from .spice.nova.conf.keymap
{{ if not .spice.nova.conf.keymap }}#{{ end }}keymap = {{ .spice.nova.conf.keymap | default "en-us" }}
#
# Host on which to listen for incoming requests
# (string value)
# from .spice.nova.conf.html5proxy_host
{{ if not .spice.nova.conf.html5proxy_host }}#{{ end }}html5proxy_host = {{ .spice.nova.conf.html5proxy_host | default "0.0.0.0" }}
#
# Port on which to listen for incoming requests
# (port value)
# Minimum value: 0
# Maximum value: 65535
# from .spice.nova.conf.html5proxy_port
{{ if not .spice.nova.conf.html5proxy_port }}#{{ end }}html5proxy_port = {{ .spice.nova.conf.html5proxy_port | default "6082" }}
[ssl]
#
# From nova.conf
#
# CA certificate file to use to verify connecting clients. (string value)
# Deprecated group/name - [DEFAULT]/ssl_ca_file
# from .ssl.nova.conf.ca_file
{{ if not .ssl.nova.conf.ca_file }}#{{ end }}ca_file = {{ .ssl.nova.conf.ca_file | default "<None>" }}
# Certificate file to use when starting the server securely. (string value)
# Deprecated group/name - [DEFAULT]/ssl_cert_file
# from .ssl.nova.conf.cert_file
{{ if not .ssl.nova.conf.cert_file }}#{{ end }}cert_file = {{ .ssl.nova.conf.cert_file | default "<None>" }}
# Private key file to use when starting the server securely. (string value)
# Deprecated group/name - [DEFAULT]/ssl_key_file
# from .ssl.nova.conf.key_file
{{ if not .ssl.nova.conf.key_file }}#{{ end }}key_file = {{ .ssl.nova.conf.key_file | default "<None>" }}
# SSL version to use (valid only if SSL enabled). Valid values are TLSv1 and
# SSLv23. SSLv2, SSLv3, TLSv1_1, and TLSv1_2 may be available on some
# distributions. (string value)
# from .ssl.nova.conf.version
{{ if not .ssl.nova.conf.version }}#{{ end }}version = {{ .ssl.nova.conf.version | default "<None>" }}
# Sets the list of available ciphers. value should be a string in the OpenSSL
# cipher list format. (string value)
# from .ssl.nova.conf.ciphers
{{ if not .ssl.nova.conf.ciphers }}#{{ end }}ciphers = {{ .ssl.nova.conf.ciphers | default "<None>" }}
[trusted_computing]
#
# From nova.conf
#
#
# 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.
#
# The value is a string, and can be either an IP address or FQDN.
#
# 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_ca_file
# attestation_port
# attestation_api_url
# attestation_auth_blob
# attestation_auth_timeout
# attestation_insecure_ssl
# (string value)
# from .trusted_computing.nova.conf.attestation_server
{{ if not .trusted_computing.nova.conf.attestation_server }}#{{ end }}attestation_server = {{ .trusted_computing.nova.conf.attestation_server | default "<None>" }}
#
# 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.
#
# The value is a string, and must point to a file that is readable by the
# scheduler.
#
# 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_port
# attestation_api_url
# attestation_auth_blob
# attestation_auth_timeout
# attestation_insecure_ssl
# (string value)
# from .trusted_computing.nova.conf.attestation_server_ca_file
{{ if not .trusted_computing.nova.conf.attestation_server_ca_file }}#{{ end }}attestation_server_ca_file = {{ .trusted_computing.nova.conf.attestation_server_ca_file | default "<None>" }}
#
# The port to use when connecting to the attestation server. See the
# `attestation_server` help text for more information about host verification.
#
# Valid values are strings, not integers, but must be digits only.
#
# 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
# (string value)
# from .trusted_computing.nova.conf.attestation_port
{{ if not .trusted_computing.nova.conf.attestation_port }}#{{ end }}attestation_port = {{ .trusted_computing.nova.conf.attestation_port | default "8443" }}
#
# 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.
#
# * Related options:
#
# attestation_server
# attestation_server_ca_file
# attestation_port
# attestation_auth_blob
# attestation_auth_timeout
# attestation_insecure_ssl
# (string value)
# from .trusted_computing.nova.conf.attestation_api_url
{{ if not .trusted_computing.nova.conf.attestation_api_url }}#{{ end }}attestation_api_url = {{ .trusted_computing.nova.conf.attestation_api_url | default "/OpenAttestationWebServices/V1.0" }}
#
# 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.
#
# * Related options:
#
# attestation_server
# attestation_server_ca_file
# attestation_port
# attestation_api_url
# attestation_auth_timeout
# attestation_insecure_ssl
# (string value)
# from .trusted_computing.nova.conf.attestation_auth_blob
{{ if not .trusted_computing.nova.conf.attestation_auth_blob }}#{{ end }}attestation_auth_blob = {{ .trusted_computing.nova.conf.attestation_auth_blob | default "<None>" }}
#
# 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.
#
# The value is in seconds. Valid values must be positive integers for any
# caching; setting this to zero or a negative value will result in calls to the
# attestation_server for every request, which may impact performance.
#
# 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_insecure_ssl
# (integer value)
# from .trusted_computing.nova.conf.attestation_auth_timeout
{{ if not .trusted_computing.nova.conf.attestation_auth_timeout }}#{{ end }}attestation_auth_timeout = {{ .trusted_computing.nova.conf.attestation_auth_timeout | default "60" }}
#
# 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.
#
# Valid values are True or False. The default is False.
#
# 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
# (boolean value)
# from .trusted_computing.nova.conf.attestation_insecure_ssl
{{ if not .trusted_computing.nova.conf.attestation_insecure_ssl }}#{{ end }}attestation_insecure_ssl = {{ .trusted_computing.nova.conf.attestation_insecure_ssl | default "false" }}
[upgrade_levels]
#
# From nova.conf
#
#
# Cells version
#
# Cells client-side RPC API version. Use this option to set a version
# cap for messages sent to local cells services.
#
# Possible values:
#
# * None: This is the default value.
# * grizzly: message version 1.6.
# * havana: message version 1.24.
# * icehouse: message version 1.27.
# * juno: message version 1.29.
# * kilo: message version 1.34.
# * liberty: message version 1.37.
#
# Services which consume this:
#
# * nova-cells
#
# Related options:
#
# * None
# (string value)
# from .upgrade_levels.nova.conf.cells
{{ if not .upgrade_levels.nova.conf.cells }}#{{ end }}cells = {{ .upgrade_levels.nova.conf.cells | default "<None>" }}
#
# Intercell version
#
# Intercell RPC API is the client side of the Cell<->Cell RPC API.
# Use this option to set a version cap for messages sent between
# cells services.
#
# Possible values:
#
# * None: This is the default value.
# * grizzly: message version 1.0.
#
# Services which consume this:
#
# * nova-cells
#
# Related options:
#
# * None
# (string value)
# from .upgrade_levels.nova.conf.intercell
{{ if not .upgrade_levels.nova.conf.intercell }}#{{ end }}intercell = {{ .upgrade_levels.nova.conf.intercell | default "<None>" }}
#
#
# Specifies the maximum version for messages sent from cert services. This
# should
# be the minimum value that is supported by all of the deployed cert services.
#
# Possible values:
#
# Any valid OpenStack release name, in lower case, such as 'mitaka' or
# 'liberty'.
# Alternatively, it can be any string representing a version number in the
# format
# 'N.N'; for example, possible values might be '1.12' or '2.0'.
#
# Services which consume this:
#
# * nova-cert
#
# Related options:
#
# * None
# (string value)
# from .upgrade_levels.nova.conf.cert
{{ if not .upgrade_levels.nova.conf.cert }}#{{ end }}cert = {{ .upgrade_levels.nova.conf.cert | default "<None>" }}
# Set a version cap for messages sent to compute services. 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. Otherwise, you
# can set this to a specific version to pin this service to messages at a
# particular level. All services of a single type (i.e. compute) should be
# configured to use the same version, and it should be set to the minimum
# commonly-supported version of all those services in the deployment. (string
# value)
# from .upgrade_levels.nova.conf.compute
{{ if not .upgrade_levels.nova.conf.compute }}#{{ end }}compute = {{ .upgrade_levels.nova.conf.compute | default "<None>" }}
#
# Sets a version cap (limit) for messages sent to scheduler services. In the
# situation where there were multiple scheduler services running, and they were
# not being upgraded together, you would set this to the lowest deployed version
# to guarantee that other services never send messages that any of your running
# schedulers cannot understand.
#
# This is rarely needed in practice as most deployments run a single scheduler.
# It exists mainly for design compatibility with the other services, such as
# compute, which are routinely upgraded in a rolling fashion.
#
# Services that use this:
#
# * nova-compute, nova-conductor
#
# Related options:
#
# * None
# (string value)
# from .upgrade_levels.nova.conf.scheduler
{{ if not .upgrade_levels.nova.conf.scheduler }}#{{ end }}scheduler = {{ .upgrade_levels.nova.conf.scheduler | default "<None>" }}
# Set a version cap for messages sent to conductor services (string value)
# from .upgrade_levels.nova.conf.conductor
{{ if not .upgrade_levels.nova.conf.conductor }}#{{ end }}conductor = {{ .upgrade_levels.nova.conf.conductor | default "<None>" }}
# Set a version cap for messages sent to console services (string value)
# from .upgrade_levels.nova.conf.console
{{ if not .upgrade_levels.nova.conf.console }}#{{ end }}console = {{ .upgrade_levels.nova.conf.console | default "<None>" }}
# Set a version cap for messages sent to consoleauth services (string value)
# from .upgrade_levels.nova.conf.consoleauth
{{ if not .upgrade_levels.nova.conf.consoleauth }}#{{ end }}consoleauth = {{ .upgrade_levels.nova.conf.consoleauth | default "<None>" }}
# Set a version cap for messages sent to network services (string value)
# from .upgrade_levels.nova.conf.network
{{ if not .upgrade_levels.nova.conf.network }}#{{ end }}network = {{ .upgrade_levels.nova.conf.network | default "<None>" }}
# Set a version cap for messages sent to the base api in any service (string
# value)
# from .upgrade_levels.nova.conf.baseapi
{{ if not .upgrade_levels.nova.conf.baseapi }}#{{ end }}baseapi = {{ .upgrade_levels.nova.conf.baseapi | default "<None>" }}
[vmware]
#
# Related options:
# Following options must be set in order to launch VMware-based
# virtual machines.
#
# * compute_driver: Must use vmwareapi.VMwareVCDriver.
# * vmware.host_username
# * vmware.host_password
# * vmware.cluster_name
#
# From nova.conf
#
#
# This option specifies the physical ethernet adapter name for VLAN
# networking.
#
# Set the vlan_interface configuration option to match the ESX host
# interface that handles VLAN-tagged VM traffic.
#
# Possible values:
#
# * Any valid string representing VLAN interface name
# (string value)
# from .vmware.nova.conf.vlan_interface
{{ if not .vmware.nova.conf.vlan_interface }}#{{ end }}vlan_interface = {{ .vmware.nova.conf.vlan_interface | default "vmnic0" }}
#
# This option should be configured only when using the NSX-MH Neutron
# plugin. This is the name of the integration bridge on the ESXi server
# or host. This should not be set for any other Neutron plugin. Hence
# the default value is not set.
#
# Possible values:
#
# * Any valid string representing the name of the integration bridge
# (string value)
# from .vmware.nova.conf.integration_bridge
{{ if not .vmware.nova.conf.integration_bridge }}#{{ end }}integration_bridge = {{ .vmware.nova.conf.integration_bridge | default "<None>" }}
#
# Set this value if affected by an increased network latency causing
# repeated characters when typing in a remote console.
# (integer value)
# Minimum value: 0
# from .vmware.nova.conf.console_delay_seconds
{{ if not .vmware.nova.conf.console_delay_seconds }}#{{ end }}console_delay_seconds = {{ .vmware.nova.conf.console_delay_seconds | default "<None>" }}
#
# Identifies the remote system where the serial port traffic will
# be sent.
#
# This option adds a virtual serial port which sends console output to
# a configurable service URI. At the service URI address there will be
# virtual serial port concentrator that will collect console logs.
# If this is not set, no serial ports will be added to the created VMs.
#
# Possible values:
#
# * Any valid URI
# (string value)
# from .vmware.nova.conf.serial_port_service_uri
{{ if not .vmware.nova.conf.serial_port_service_uri }}#{{ end }}serial_port_service_uri = {{ .vmware.nova.conf.serial_port_service_uri | default "<None>" }}
#
# Identifies a proxy service that provides network access to the
# serial_port_service_uri.
#
# Possible values:
#
# * Any valid URI
#
# Related options:
# This option is ignored if serial_port_service_uri is not specified.
# * serial_port_service_uri
# (string value)
# from .vmware.nova.conf.serial_port_proxy_uri
{{ if not .vmware.nova.conf.serial_port_proxy_uri }}#{{ end }}serial_port_proxy_uri = {{ .vmware.nova.conf.serial_port_proxy_uri | default "<None>" }}
#
# Hostname or IP address for connection to VMware vCenter host. (string value)
# from .vmware.nova.conf.host_ip
{{ if not .vmware.nova.conf.host_ip }}#{{ end }}host_ip = {{ .vmware.nova.conf.host_ip | default "<None>" }}
# Port for connection to VMware vCenter host. (port value)
# Minimum value: 0
# Maximum value: 65535
# from .vmware.nova.conf.host_port
{{ if not .vmware.nova.conf.host_port }}#{{ end }}host_port = {{ .vmware.nova.conf.host_port | default "443" }}
# Username for connection to VMware vCenter host. (string value)
# from .vmware.nova.conf.host_username
{{ if not .vmware.nova.conf.host_username }}#{{ end }}host_username = {{ .vmware.nova.conf.host_username | default "<None>" }}
# Password for connection to VMware vCenter host. (string value)
# from .vmware.nova.conf.host_password
{{ if not .vmware.nova.conf.host_password }}#{{ end }}host_password = {{ .vmware.nova.conf.host_password | default "<None>" }}
#
# Specifies the CA bundle file to be used in verifying the vCenter
# server certificate.
# (string value)
# from .vmware.nova.conf.ca_file
{{ if not .vmware.nova.conf.ca_file }}#{{ end }}ca_file = {{ .vmware.nova.conf.ca_file | default "<None>" }}
#
# If true, the vCenter server certificate is not verified. If false,
# then the default CA truststore is used for verification.
#
# Related options:
# * ca_file: This option is ignored if "ca_file" is set.
# (boolean value)
# from .vmware.nova.conf.insecure
{{ if not .vmware.nova.conf.insecure }}#{{ end }}insecure = {{ .vmware.nova.conf.insecure | default "false" }}
# Name of a VMware Cluster ComputeResource. (string value)
# from .vmware.nova.conf.cluster_name
{{ if not .vmware.nova.conf.cluster_name }}#{{ end }}cluster_name = {{ .vmware.nova.conf.cluster_name | default "<None>" }}
#
# Regular expression pattern to match the name of datastore.
#
# The datastore_regex setting specifies the datastores to use with
# Compute. For example, datastore_regex="nas.*" selects all the data
# stores that have a name starting with "nas".
#
# NOTE: If no regex is given, it just picks the datastore with the
# most freespace.
#
# Possible values:
#
# * Any matching regular expression to a datastore must be given
# (string value)
# from .vmware.nova.conf.datastore_regex
{{ if not .vmware.nova.conf.datastore_regex }}#{{ end }}datastore_regex = {{ .vmware.nova.conf.datastore_regex | default "<None>" }}
#
# Time interval in seconds to poll remote tasks invoked on
# VMware VC server.
# (floating point value)
# from .vmware.nova.conf.task_poll_interval
{{ if not .vmware.nova.conf.task_poll_interval }}#{{ end }}task_poll_interval = {{ .vmware.nova.conf.task_poll_interval | default "0.5" }}
#
# Number of times VMware vCenter server API must be retried on connection
# failures, e.g. socket error, etc.
# (integer value)
# Minimum value: 0
# from .vmware.nova.conf.api_retry_count
{{ if not .vmware.nova.conf.api_retry_count }}#{{ end }}api_retry_count = {{ .vmware.nova.conf.api_retry_count | default "10" }}
#
# This option specifies VNC starting port.
#
# Every VM created by ESX host has an option of enabling VNC client
# for remote connection. Above option 'vnc_port' helps you to set
# default starting port for the VNC client.
#
# Possible values:
#
# * Any valid port number within 5900 -(5900 + vnc_port_total)
#
# Related options:
# Below options should be set to enable VNC client.
# * vnc.enabled = True
# * vnc_port_total
# (port value)
# Minimum value: 0
# Maximum value: 65535
# from .vmware.nova.conf.vnc_port
{{ if not .vmware.nova.conf.vnc_port }}#{{ end }}vnc_port = {{ .vmware.nova.conf.vnc_port | default "5900" }}
#
# Total number of VNC ports.
# (integer value)
# Minimum value: 0
# from .vmware.nova.conf.vnc_port_total
{{ if not .vmware.nova.conf.vnc_port_total }}#{{ end }}vnc_port_total = {{ .vmware.nova.conf.vnc_port_total | default "10000" }}
#
# This option enables/disables the use of linked clone.
#
# The ESX hypervisor requires a copy of the VMDK file in order to boot
# up a virtual machine. The compute driver must download the VMDK via
# HTTP from the OpenStack Image service to a datastore that is visible
# to the hypervisor and cache it. Subsequent virtual machines that need
# the VMDK use the cached version and don't have to copy the file again
# from the OpenStack Image service.
#
# If set to false, even with a cached VMDK, there is still a copy
# operation from the cache location to the hypervisor file directory
# in the shared datastore. If set to true, the above copy operation
# is avoided as it creates copy of the virtual machine that shares
# virtual disks with its parent VM.
# (boolean value)
# from .vmware.nova.conf.use_linked_clone
{{ if not .vmware.nova.conf.use_linked_clone }}#{{ end }}use_linked_clone = {{ .vmware.nova.conf.use_linked_clone | default "true" }}
#
# This option specifies VIM Service WSDL Location
#
# If vSphere API versions 5.1 and later is being used, this section can
# be ignored. If version is less than 5.1, WSDL files must be hosted
# locally and their location must be specified in the above section.
#
# Optional over-ride to default location for bug work-arounds.
#
# Possible values:
#
# * http://<server>/vimService.wsdl
# * file:///opt/stack/vmware/SDK/wsdl/vim25/vimService.wsdl
# (string value)
# from .vmware.nova.conf.wsdl_location
{{ if not .vmware.nova.conf.wsdl_location }}#{{ end }}wsdl_location = {{ .vmware.nova.conf.wsdl_location | default "<None>" }}
#
# This option enables or disables storage policy based placement
# of instances.
#
# Related options:
#
# * pbm_default_policy
# (boolean value)
# from .vmware.nova.conf.pbm_enabled
{{ if not .vmware.nova.conf.pbm_enabled }}#{{ end }}pbm_enabled = {{ .vmware.nova.conf.pbm_enabled | default "false" }}
#
# This option specifies the PBM service WSDL file location URL.
#
# Setting this will disable storage policy based placement
# of instances.
#
# Possible values:
#
# * Any valid file path
# e.g file:///opt/SDK/spbm/wsdl/pbmService.wsdl
# (string value)
# from .vmware.nova.conf.pbm_wsdl_location
{{ if not .vmware.nova.conf.pbm_wsdl_location }}#{{ end }}pbm_wsdl_location = {{ .vmware.nova.conf.pbm_wsdl_location | default "<None>" }}
#
# This option specifies the default policy to be used.
#
# If pbm_enabled is set and there is no defined storage policy for the
# specific request, then this policy will be used.
#
# Possible values:
#
# * Any valid storage policy such as VSAN default storage policy
#
# Related options:
#
# * pbm_enabled
# (string value)
# from .vmware.nova.conf.pbm_default_policy
{{ if not .vmware.nova.conf.pbm_default_policy }}#{{ end }}pbm_default_policy = {{ .vmware.nova.conf.pbm_default_policy | default "<None>" }}
#
# This option specifies the limit on the maximum number of objects to
# return in a single result.
#
# A positive value will cause the operation to suspend the retrieval
# when the count of objects reaches the specified limit. The server may
# still limit the count to something less than the configured value.
# Any remaining objects may be retrieved with additional requests.
# (integer value)
# Minimum value: 0
# from .vmware.nova.conf.maximum_objects
{{ if not .vmware.nova.conf.maximum_objects }}#{{ end }}maximum_objects = {{ .vmware.nova.conf.maximum_objects | default "100" }}
#
# This option adds a prefix to the folder where cached images are stored
#
# This is not the full path - just a folder prefix. This should only be
# used when a datastore cache is shared between compute nodes.
#
# Note: This should only be used when the compute nodes are running on same
# host or they have a shared file system.
#
# Possible values:
#
# * Any string representing the cache prefix to the folder
# (string value)
# from .vmware.nova.conf.cache_prefix
{{ if not .vmware.nova.conf.cache_prefix }}#{{ end }}cache_prefix = {{ .vmware.nova.conf.cache_prefix | default "<None>" }}
[vnc]
#
# Virtual Network Computer (VNC) can be used to provide remote desktop
# console access to instances for tenants and/or administrators.
#
# From nova.conf
#
#
# 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.
# (boolean value)
# Deprecated group/name - [DEFAULT]/vnc_enabled
# from .vnc.nova.conf.enabled
{{ if not .vnc.nova.conf.enabled }}#{{ end }}enabled = {{ .vnc.nova.conf.enabled | default "true" }}
#
# 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``.
# (string value)
# Deprecated group/name - [DEFAULT]/vnc_keymap
# from .vnc.nova.conf.keymap
{{ if not .vnc.nova.conf.keymap }}#{{ end }}keymap = {{ .vnc.nova.conf.keymap | default "en-us" }}
#
# The IP address or hostname on which an instance should listen to for
# incoming VNC connection requests on this node.
# (string value)
# Deprecated group/name - [DEFAULT]/vncserver_listen
# from .vnc.nova.conf.vncserver_listen
{{ if not .vnc.nova.conf.vncserver_listen }}#{{ end }}vncserver_listen = {{ .vnc.nova.conf.vncserver_listen | default "127.0.0.1" }}
#
# 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.
# (string value)
# Deprecated group/name - [DEFAULT]/vncserver_proxyclient_address
# from .vnc.nova.conf.vncserver_proxyclient_address
{{ if not .vnc.nova.conf.vncserver_proxyclient_address }}#{{ end }}vncserver_proxyclient_address = {{ .vnc.nova.conf.vncserver_proxyclient_address | default "127.0.0.1" }}
#
# 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
# (uri value)
# Deprecated group/name - [DEFAULT]/novncproxy_base_url
# from .vnc.nova.conf.novncproxy_base_url
{{ if not .vnc.nova.conf.novncproxy_base_url }}#{{ end }}novncproxy_base_url = {{ .vnc.nova.conf.novncproxy_base_url | default "http://127.0.0.1:6080/vnc_auto.html" }}
#
# IP address or hostname that the XVP VNC console proxy should bind to.
#
# The VNC proxy is an OpenStack component that enables compute service
# users to access their instances through VNC clients. Xen provides
# the Xenserver VNC Proxy, or XVP, as an alternative to the
# websocket-based noVNC proxy used by Libvirt. In contrast to noVNC,
# XVP clients are Java-based.
#
# This option sets the private address to which the XVP VNC console proxy
# service should bind to.
#
# Related options:
#
# * xvpvncproxy_port
# * xvpvncproxy_base_url
# (string value)
# Deprecated group/name - [DEFAULT]/xvpvncproxy_host
# from .vnc.nova.conf.xvpvncproxy_host
{{ if not .vnc.nova.conf.xvpvncproxy_host }}#{{ end }}xvpvncproxy_host = {{ .vnc.nova.conf.xvpvncproxy_host | default "0.0.0.0" }}
#
# Port that the XVP VNC console proxy should bind to.
#
# The VNC proxy is an OpenStack component that enables compute service
# users to access their instances through VNC clients. Xen provides
# the Xenserver VNC Proxy, or XVP, as an alternative to the
# websocket-based noVNC proxy used by Libvirt. In contrast to noVNC,
# XVP clients are Java-based.
#
# This option sets the private port to which the XVP VNC console proxy
# service should bind to.
#
# Related options:
#
# * xvpvncproxy_host
# * xvpvncproxy_base_url
# (port value)
# Minimum value: 0
# Maximum value: 65535
# Deprecated group/name - [DEFAULT]/xvpvncproxy_port
# from .vnc.nova.conf.xvpvncproxy_port
{{ if not .vnc.nova.conf.xvpvncproxy_port }}#{{ end }}xvpvncproxy_port = {{ .vnc.nova.conf.xvpvncproxy_port | default "6081" }}
#
# Public URL address of XVP VNC console proxy.
#
# The VNC proxy is an OpenStack component that enables compute service
# users to access their instances through VNC clients. Xen provides
# the Xenserver VNC Proxy, or XVP, as an alternative to the
# websocket-based noVNC proxy used by Libvirt. In contrast to noVNC,
# XVP clients are Java-based.
#
# This option sets the public base URL to which client systems will
# connect. XVP clients can use this address to connect to the XVP
# instance and, by extension, the VNC sessions.
#
# Related options:
#
# * xvpvncproxy_host
# * xvpvncproxy_port
# (uri value)
# Deprecated group/name - [DEFAULT]/xvpvncproxy_base_url
# from .vnc.nova.conf.xvpvncproxy_base_url
{{ if not .vnc.nova.conf.xvpvncproxy_base_url }}#{{ end }}xvpvncproxy_base_url = {{ .vnc.nova.conf.xvpvncproxy_base_url | default "http://127.0.0.1:6081/console" }}
#
# 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
# (string value)
# Deprecated group/name - [DEFAULT]/novncproxy_host
# from .vnc.nova.conf.novncproxy_host
{{ if not .vnc.nova.conf.novncproxy_host }}#{{ end }}novncproxy_host = {{ .vnc.nova.conf.novncproxy_host | default "0.0.0.0" }}
#
# 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
# (port value)
# Minimum value: 0
# Maximum value: 65535
# Deprecated group/name - [DEFAULT]/novncproxy_port
# from .vnc.nova.conf.novncproxy_port
{{ if not .vnc.nova.conf.novncproxy_port }}#{{ end }}novncproxy_port = {{ .vnc.nova.conf.novncproxy_port | default "6080" }}
[workarounds]
#
# A collection of workarounds used to mitigate bugs or issues found in system
# tools (e.g. Libvirt or QEMU) or Nova itself under certain conditions. These
# should only be enabled in exceptional circumstances. All options are linked
# against bug IDs, where more information on the issue can be found.
#
# From nova.conf
#
#
# 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.
# (boolean value)
# from .workarounds.nova.conf.disable_rootwrap
{{ if not .workarounds.nova.conf.disable_rootwrap }}#{{ end }}disable_rootwrap = {{ .workarounds.nova.conf.disable_rootwrap | default "false" }}
#
# 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)
# (boolean value)
# from .workarounds.nova.conf.disable_libvirt_livesnapshot
{{ if not .workarounds.nova.conf.disable_libvirt_livesnapshot }}#{{ end }}disable_libvirt_livesnapshot = {{ .workarounds.nova.conf.disable_libvirt_livesnapshot | default "true" }}
#
# 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.
# (boolean value)
# from .workarounds.nova.conf.handle_virt_lifecycle_events
{{ if not .workarounds.nova.conf.handle_virt_lifecycle_events }}#{{ end }}handle_virt_lifecycle_events = {{ .workarounds.nova.conf.handle_virt_lifecycle_events | default "true" }}
[wsgi]
#
# Options under this group are used to configure WSGI (Web Server Gateway
# Interface). WSGI is used to serve API requests.
#
# From nova.conf
#
#
# 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.
# (string value)
# Deprecated group/name - [DEFAULT]/api_paste_config
# from .wsgi.nova.conf.api_paste_config
{{ if not .wsgi.nova.conf.api_paste_config }}#{{ end }}api_paste_config = {{ .wsgi.nova.conf.api_paste_config | default "api-paste.ini" }}
#
# 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.
# (string value)
# Deprecated group/name - [DEFAULT]/wsgi_log_format
# from .wsgi.nova.conf.wsgi_log_format
{{ if not .wsgi.nova.conf.wsgi_log_format }}#{{ end }}wsgi_log_format = {{ .wsgi.nova.conf.wsgi_log_format | default "%(client_ip)s \"%(request_line)s\" status: %(status_code)s len: %(body_length)s time: %(wall_seconds).7f" }}
#
# 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
# (string value)
# Deprecated group/name - [DEFAULT]/secure_proxy_ssl_header
# from .wsgi.nova.conf.secure_proxy_ssl_header
{{ if not .wsgi.nova.conf.secure_proxy_ssl_header }}#{{ end }}secure_proxy_ssl_header = {{ .wsgi.nova.conf.secure_proxy_ssl_header | default "<None>" }}
#
# 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
# (string value)
# Deprecated group/name - [DEFAULT]/ssl_ca_file
# from .wsgi.nova.conf.ssl_ca_file
{{ if not .wsgi.nova.conf.ssl_ca_file }}#{{ end }}ssl_ca_file = {{ .wsgi.nova.conf.ssl_ca_file | default "<None>" }}
#
# 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
# (string value)
# Deprecated group/name - [DEFAULT]/ssl_cert_file
# from .wsgi.nova.conf.ssl_cert_file
{{ if not .wsgi.nova.conf.ssl_cert_file }}#{{ end }}ssl_cert_file = {{ .wsgi.nova.conf.ssl_cert_file | default "<None>" }}
#
# 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
# (string value)
# Deprecated group/name - [DEFAULT]/ssl_key_file
# from .wsgi.nova.conf.ssl_key_file
{{ if not .wsgi.nova.conf.ssl_key_file }}#{{ end }}ssl_key_file = {{ .wsgi.nova.conf.ssl_key_file | default "<None>" }}
#
# 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
# (integer value)
# Minimum value: 0
# Deprecated group/name - [DEFAULT]/tcp_keepidle
# from .wsgi.nova.conf.tcp_keepidle
{{ if not .wsgi.nova.conf.tcp_keepidle }}#{{ end }}tcp_keepidle = {{ .wsgi.nova.conf.tcp_keepidle | default "600" }}
#
# 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.
# (integer value)
# Minimum value: 0
# Deprecated group/name - [DEFAULT]/wsgi_default_pool_size
# from .wsgi.nova.conf.default_pool_size
{{ if not .wsgi.nova.conf.default_pool_size }}#{{ end }}default_pool_size = {{ .wsgi.nova.conf.default_pool_size | default "1000" }}
#
# 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.
# (integer value)
# Minimum value: 0
# Deprecated group/name - [DEFAULT]/max_header_line
# from .wsgi.nova.conf.max_header_line
{{ if not .wsgi.nova.conf.max_header_line }}#{{ end }}max_header_line = {{ .wsgi.nova.conf.max_header_line | default "16384" }}
#
# 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
# (boolean value)
# Deprecated group/name - [DEFAULT]/wsgi_keep_alive
# from .wsgi.nova.conf.keep_alive
{{ if not .wsgi.nova.conf.keep_alive }}#{{ end }}keep_alive = {{ .wsgi.nova.conf.keep_alive | default "true" }}
#
# 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.
# (integer value)
# Minimum value: 0
# Deprecated group/name - [DEFAULT]/client_socket_timeout
# from .wsgi.nova.conf.client_socket_timeout
{{ if not .wsgi.nova.conf.client_socket_timeout }}#{{ end }}client_socket_timeout = {{ .wsgi.nova.conf.client_socket_timeout | default "900" }}
[xenserver]
#
# XenServer options are used when the compute_driver is set to use
# XenServer (compute_driver=xenapi.XenAPIDriver).
#
# Must specify connection_url, and connection_password to use
# compute_driver=xenapi.XenAPIDriver.
#
# From nova.conf
#
#
# Number of seconds to wait for agent's reply to a request.
#
# Nova configures/performs certain administrative actions on a server with the
# help of an agent that's installed on the server. The communication between
# Nova and the agent is achieved via sharing messages, called records, over
# xenstore, a shared storage across all the domains on a Xenserver host.
# Operations performed by the agent on behalf of nova are: 'version','
# key_init',
# 'password','resetnetwork','inject_file', and 'agentupdate'.
#
# To perform one of the above operations, the xapi 'agent' plugin writes the
# command and its associated parameters to a certain location known to the
# domain
# and awaits response. On being notified of the message, the agent performs
# appropriate actions on the server and writes the result back to xenstore. This
# result is then read by the xapi 'agent' plugin to determine the
# success/failure
# of the operation.
#
# This config option determines how long the xapi 'agent' plugin shall wait to
# read the response off of xenstore for a given request/command. If the agent on
# the instance fails to write the result in this time period, the operation is
# considered to have timed out.
#
# Related options:
# * ``agent_version_timeout``
# * ``agent_resetnetwork_timeout``
# (integer value)
# Minimum value: 0
# from .xenserver.nova.conf.agent_timeout
{{ if not .xenserver.nova.conf.agent_timeout }}#{{ end }}agent_timeout = {{ .xenserver.nova.conf.agent_timeout | default "30" }}
#
# Number of seconds to wait for agent't reply to version request.
#
# This indicates the amount of time xapi 'agent' plugin waits for the agent to
# respond to the 'version' request specifically. The generic timeout for agent
# communication ``agent_timeout`` is ignored in this case.
#
# During the build process the 'version' request is used to determine if the
# agent is available/operational to perform other requests such as
# 'resetnetwork', 'password', 'key_init' and 'inject_file'. If the 'version'
# call
# fails, the other configuration is skipped. So, this configuration option can
# also be interpreted as time in which agent is expected to be fully
# operational.
# (integer value)
# Minimum value: 0
# from .xenserver.nova.conf.agent_version_timeout
{{ if not .xenserver.nova.conf.agent_version_timeout }}#{{ end }}agent_version_timeout = {{ .xenserver.nova.conf.agent_version_timeout | default "300" }}
#
# Number of seconds to wait for agent's reply to resetnetwork
# request.
#
# This indicates the amount of time xapi 'agent' plugin waits for the agent to
# respond to the 'resetnetwork' request specifically. The generic timeout for
# agent communication ``agent_timeout`` is ignored in this case.
# (integer value)
# Minimum value: 0
# from .xenserver.nova.conf.agent_resetnetwork_timeout
{{ if not .xenserver.nova.conf.agent_resetnetwork_timeout }}#{{ end }}agent_resetnetwork_timeout = {{ .xenserver.nova.conf.agent_resetnetwork_timeout | default "60" }}
#
# Path to locate guest agent on the server.
#
# Specifies the path in which the XenAPI guest agent should be located. If the
# agent is present, network configuration is not injected into the image.
#
# Related options:
# For this option to have an effect:
# * ``flat_injected`` should be set to ``True``
# * ``compute_driver`` should be set to ``xenapi.XenAPIDriver``
# (string value)
# from .xenserver.nova.conf.agent_path
{{ if not .xenserver.nova.conf.agent_path }}#{{ end }}agent_path = {{ .xenserver.nova.conf.agent_path | default "usr/sbin/xe-update-networking" }}
#
# Disables the use of XenAPI agent.
#
# This configuration option suggests whether the use of agent should be enabled
# or not regardless of what image properties are present. Image properties have
# an effect only when this is set to ``True``. Read description of config option
# ``use_agent_default`` for more information.
#
# Related options:
# * ``use_agent_default``
# (boolean value)
# from .xenserver.nova.conf.disable_agent
{{ if not .xenserver.nova.conf.disable_agent }}#{{ end }}disable_agent = {{ .xenserver.nova.conf.disable_agent | default "false" }}
#
# Whether or not to use the agent by default when its usage is enabled but not
# indicated by the image.
#
# The use of XenAPI agent can be disabled altogether using the configuration
# option ``disable_agent``. However, if it is not disabled, the use of an agent
# can still be controlled by the image in use through one of its properties,
# ``xenapi_use_agent``. If this property is either not present or specified
# incorrectly on the image, the use of agent is determined by this configuration
# option.
#
# Note that if this configuration is set to ``True`` when the agent is not
# present, the boot times will increase significantly.
#
# Related options:
# * ``disable_agent``
# (boolean value)
# from .xenserver.nova.conf.use_agent_default
{{ if not .xenserver.nova.conf.use_agent_default }}#{{ end }}use_agent_default = {{ .xenserver.nova.conf.use_agent_default | default "false" }}
# Timeout in seconds for XenAPI login. (integer value)
# from .xenserver.nova.conf.login_timeout
{{ if not .xenserver.nova.conf.login_timeout }}#{{ end }}login_timeout = {{ .xenserver.nova.conf.login_timeout | default "10" }}
# Maximum number of concurrent XenAPI connections. Used only if
# compute_driver=xenapi.XenAPIDriver (integer value)
# from .xenserver.nova.conf.connection_concurrent
{{ if not .xenserver.nova.conf.connection_concurrent }}#{{ end }}connection_concurrent = {{ .xenserver.nova.conf.connection_concurrent | default "5" }}
# Base URL for torrent files; must contain a slash character (see RFC 1808, step
# 6) (string value)
# from .xenserver.nova.conf.torrent_base_url
{{ if not .xenserver.nova.conf.torrent_base_url }}#{{ end }}torrent_base_url = {{ .xenserver.nova.conf.torrent_base_url | default "<None>" }}
# Probability that peer will become a seeder. (1.0 = 100%) (floating point
# value)
# from .xenserver.nova.conf.torrent_seed_chance
{{ if not .xenserver.nova.conf.torrent_seed_chance }}#{{ end }}torrent_seed_chance = {{ .xenserver.nova.conf.torrent_seed_chance | default "1.0" }}
# Number of seconds after downloading an image via BitTorrent that it should be
# seeded for other peers. (integer value)
# from .xenserver.nova.conf.torrent_seed_duration
{{ if not .xenserver.nova.conf.torrent_seed_duration }}#{{ end }}torrent_seed_duration = {{ .xenserver.nova.conf.torrent_seed_duration | default "3600" }}
# Cached torrent files not accessed within this number of seconds can be reaped
# (integer value)
# from .xenserver.nova.conf.torrent_max_last_accessed
{{ if not .xenserver.nova.conf.torrent_max_last_accessed }}#{{ end }}torrent_max_last_accessed = {{ .xenserver.nova.conf.torrent_max_last_accessed | default "86400" }}
# Beginning of port range to listen on (port value)
# Minimum value: 0
# Maximum value: 65535
# from .xenserver.nova.conf.torrent_listen_port_start
{{ if not .xenserver.nova.conf.torrent_listen_port_start }}#{{ end }}torrent_listen_port_start = {{ .xenserver.nova.conf.torrent_listen_port_start | default "6881" }}
# End of port range to listen on (port value)
# Minimum value: 0
# Maximum value: 65535
# from .xenserver.nova.conf.torrent_listen_port_end
{{ if not .xenserver.nova.conf.torrent_listen_port_end }}#{{ end }}torrent_listen_port_end = {{ .xenserver.nova.conf.torrent_listen_port_end | default "6891" }}
# Number of seconds a download can remain at the same progress percentage w/o
# being considered a stall (integer value)
# from .xenserver.nova.conf.torrent_download_stall_cutoff
{{ if not .xenserver.nova.conf.torrent_download_stall_cutoff }}#{{ end }}torrent_download_stall_cutoff = {{ .xenserver.nova.conf.torrent_download_stall_cutoff | default "600" }}
# Maximum number of seeder processes to run concurrently within a given dom0.
# (-1 = no limit) (integer value)
# from .xenserver.nova.conf.torrent_max_seeder_processes_per_host
{{ if not .xenserver.nova.conf.torrent_max_seeder_processes_per_host }}#{{ end }}torrent_max_seeder_processes_per_host = {{ .xenserver.nova.conf.torrent_max_seeder_processes_per_host | default "1" }}
#
# Cache glance images locally.
#
# The value for this option must be choosen from the choices listed
# here. Configuring a value other than these will default to 'all'.
#
# Note: There is nothing that deletes these images.
#
# Possible values:
#
# * `all`: will cache all images.
# * `some`: will only cache images that have the
# image_property `cache_in_nova=True`.
# * `none`: turns off caching entirely.
# (string value)
# Allowed values: all, some, none
# from .xenserver.nova.conf.cache_images
{{ if not .xenserver.nova.conf.cache_images }}#{{ end }}cache_images = {{ .xenserver.nova.conf.cache_images | default "all" }}
#
# Compression level for images.
#
# By setting this option we can configure the gzip compression level.
# This option sets GZIP environment variable before spawning tar -cz
# to force the compression level. It defaults to none, which means the
# GZIP environment variable is not set and the default (usually -6)
# is used.
#
# Possible values:
#
# * Range is 1-9, e.g., 9 for gzip -9, 9 being most
# compressed but most CPU intensive on dom0.
# * Any values out of this range will default to None.
# (integer value)
# Minimum value: 1
# Maximum value: 9
# from .xenserver.nova.conf.image_compression_level
{{ if not .xenserver.nova.conf.image_compression_level }}#{{ end }}image_compression_level = {{ .xenserver.nova.conf.image_compression_level | default "<None>" }}
# Default OS type used when uploading an image to glance (string value)
# from .xenserver.nova.conf.default_os_type
{{ if not .xenserver.nova.conf.default_os_type }}#{{ end }}default_os_type = {{ .xenserver.nova.conf.default_os_type | default "linux" }}
# Time in secs to wait for a block device to be created (integer value)
# Minimum value: 1
# from .xenserver.nova.conf.block_device_creation_timeout
{{ if not .xenserver.nova.conf.block_device_creation_timeout }}#{{ end }}block_device_creation_timeout = {{ .xenserver.nova.conf.block_device_creation_timeout | default "10" }}
#
# Maximum size in bytes of kernel or ramdisk images.
#
# Specifying the maximum size of kernel or ramdisk will avoid copying
# large files to dom0 and fill up /boot/guest.
# (integer value)
# from .xenserver.nova.conf.max_kernel_ramdisk_size
{{ if not .xenserver.nova.conf.max_kernel_ramdisk_size }}#{{ end }}max_kernel_ramdisk_size = {{ .xenserver.nova.conf.max_kernel_ramdisk_size | default "16777216" }}
#
# Filter for finding the SR to be used to install guest instances on.
#
# Possible values:
#
# * To use the Local Storage in default XenServer/XCP installations
# set this flag to other-config:i18n-key=local-storage.
# * To select an SR with a different matching criteria, you could
# set it to other-config:my_favorite_sr=true.
# * To fall back on the Default SR, as displayed by XenCenter,
# set this flag to: default-sr:true.
# (string value)
# from .xenserver.nova.conf.sr_matching_filter
{{ if not .xenserver.nova.conf.sr_matching_filter }}#{{ end }}sr_matching_filter = {{ .xenserver.nova.conf.sr_matching_filter | default "default-sr:true" }}
#
# Whether to use sparse_copy for copying data on a resize down.
# (False will use standard dd). This speeds up resizes down
# considerably since large runs of zeros won't have to be rsynced.
# (boolean value)
# from .xenserver.nova.conf.sparse_copy
{{ if not .xenserver.nova.conf.sparse_copy }}#{{ end }}sparse_copy = {{ .xenserver.nova.conf.sparse_copy | default "true" }}
#
# Maximum number of retries to unplug VBD.
# If set to 0, should try once, no retries.
# (integer value)
# Minimum value: 0
# from .xenserver.nova.conf.num_vbd_unplug_retries
{{ if not .xenserver.nova.conf.num_vbd_unplug_retries }}#{{ end }}num_vbd_unplug_retries = {{ .xenserver.nova.conf.num_vbd_unplug_retries | default "10" }}
#
# Whether or not to download images via Bit Torrent.
#
# The value for this option must be choosen from the choices listed
# here. Configuring a value other than these will default to 'none'.
#
# Possible values:
#
# * `all`: will download all images.
# * `some`: will only download images that have the image_property
# `bittorrent=true'.
# * `none`: will turnoff downloading images via Bit Torrent.
# (string value)
# Allowed values: all, some, none
# from .xenserver.nova.conf.torrent_images
{{ if not .xenserver.nova.conf.torrent_images }}#{{ end }}torrent_images = {{ .xenserver.nova.conf.torrent_images | default "none" }}
#
# Name of network to use for booting iPXE ISOs.
#
# An iPXE ISO is a specially crafted ISO which supports iPXE booting.
# This feature gives a means to roll your own image.
#
# By default this option is not set. Enable this option to
# boot an iPXE ISO.
#
# Related Options:
#
# * `ipxe_boot_menu_url`
# * `ipxe_mkisofs_cmd`
# (string value)
# from .xenserver.nova.conf.ipxe_network_name
{{ if not .xenserver.nova.conf.ipxe_network_name }}#{{ end }}ipxe_network_name = {{ .xenserver.nova.conf.ipxe_network_name | default "<None>" }}
#
# URL to the iPXE boot menu.
#
# An iPXE ISO is a specially crafted ISO which supports iPXE booting.
# This feature gives a means to roll your own image.
#
# By default this option is not set. Enable this option to
# boot an iPXE ISO.
#
# Related Options:
#
# * `ipxe_network_name`
# * `ipxe_mkisofs_cmd`
# (string value)
# from .xenserver.nova.conf.ipxe_boot_menu_url
{{ if not .xenserver.nova.conf.ipxe_boot_menu_url }}#{{ end }}ipxe_boot_menu_url = {{ .xenserver.nova.conf.ipxe_boot_menu_url | default "<None>" }}
#
# Name and optionally path of the tool used for ISO image creation.
#
# An iPXE ISO is a specially crafted ISO which supports iPXE booting.
# This feature gives a means to roll your own image.
#
# Note: By default `mkisofs` is not present in the Dom0, so the
# package can either be manually added to Dom0 or include the
# `mkisofs` binary in the image itself.
#
# Related Options:
#
# * `ipxe_network_name`
# * `ipxe_boot_menu_url`
# (string value)
# from .xenserver.nova.conf.ipxe_mkisofs_cmd
{{ if not .xenserver.nova.conf.ipxe_mkisofs_cmd }}#{{ end }}ipxe_mkisofs_cmd = {{ .xenserver.nova.conf.ipxe_mkisofs_cmd | default "mkisofs" }}
#
# URL for connection to XenServer/Xen Cloud Platform. A special value
# of unix://local can be used to connect to the local unix socket.
#
# Possible values:
#
# * Any string that represents a URL. The connection_url is
# generally the management network IP address of the XenServer.
# * This option must be set if you chose the XenServer driver.
# (string value)
# from .xenserver.nova.conf.connection_url
{{ if not .xenserver.nova.conf.connection_url }}#{{ end }}connection_url = {{ .xenserver.nova.conf.connection_url | default "<None>" }}
# Username for connection to XenServer/Xen Cloud Platform (string value)
# from .xenserver.nova.conf.connection_username
{{ if not .xenserver.nova.conf.connection_username }}#{{ end }}connection_username = {{ .xenserver.nova.conf.connection_username | default "root" }}
# Password for connection to XenServer/Xen Cloud Platform (string value)
# from .xenserver.nova.conf.connection_password
{{ if not .xenserver.nova.conf.connection_password }}#{{ end }}connection_password = {{ .xenserver.nova.conf.connection_password | default "<None>" }}
#
# The interval used for polling of coalescing vhds.
#
# This is the interval after which the task of coalesce VHD is
# performed, until it reaches the max attempts that is set by
# vhd_coalesce_max_attempts.
#
# Related options:
#
# * `vhd_coalesce_max_attempts`
# (floating point value)
# Minimum value: 0
# from .xenserver.nova.conf.vhd_coalesce_poll_interval
{{ if not .xenserver.nova.conf.vhd_coalesce_poll_interval }}#{{ end }}vhd_coalesce_poll_interval = {{ .xenserver.nova.conf.vhd_coalesce_poll_interval | default "5.0" }}
#
# Ensure compute service is running on host XenAPI connects to.
# This option must be set to false if the 'independent_compute'
# option is set to true.
#
# Possible values:
#
# * Setting this option to true will make sure that compute service
# is running on the same host that is specified by connection_url.
# * Setting this option to false, doesn't perform the check.
#
# Related options:
#
# * `independent_compute`
# (boolean value)
# from .xenserver.nova.conf.check_host
{{ if not .xenserver.nova.conf.check_host }}#{{ end }}check_host = {{ .xenserver.nova.conf.check_host | default "true" }}
#
# Max number of times to poll for VHD to coalesce.
#
# This option determines the maximum number of attempts that can be
# made for coalescing the VHD before giving up.
#
# Related opitons:
#
# * `vhd_coalesce_poll_interval`
# (integer value)
# Minimum value: 0
# from .xenserver.nova.conf.vhd_coalesce_max_attempts
{{ if not .xenserver.nova.conf.vhd_coalesce_max_attempts }}#{{ end }}vhd_coalesce_max_attempts = {{ .xenserver.nova.conf.vhd_coalesce_max_attempts | default "20" }}
#
# Base path to the storage repository on the XenServer host.
# (string value)
# from .xenserver.nova.conf.sr_base_path
{{ if not .xenserver.nova.conf.sr_base_path }}#{{ end }}sr_base_path = {{ .xenserver.nova.conf.sr_base_path | default "/var/run/sr-mount" }}
#
# The iSCSI Target Host.
#
# This option represents the hostname or ip of the iSCSI Target.
# If the target host is not present in the connection information from
# the volume provider then the value from this option is taken.
#
# Possible values:
#
# * Any string that represents hostname/ip of Target.
# (string value)
# from .xenserver.nova.conf.target_host
{{ if not .xenserver.nova.conf.target_host }}#{{ end }}target_host = {{ .xenserver.nova.conf.target_host | default "<None>" }}
#
# The iSCSI Target Port.
#
# This option represents the port of the iSCSI Target. If the
# target port is not present in the connection information from the
# volume provider then the value from this option is taken.
# (string value)
# from .xenserver.nova.conf.target_port
{{ if not .xenserver.nova.conf.target_port }}#{{ end }}target_port = {{ .xenserver.nova.conf.target_port | default "3260" }}
#
# Used to enable the remapping of VBD dev.
# (Works around an issue in Ubuntu Maverick)
# (boolean value)
# from .xenserver.nova.conf.remap_vbd_dev
{{ if not .xenserver.nova.conf.remap_vbd_dev }}#{{ end }}remap_vbd_dev = {{ .xenserver.nova.conf.remap_vbd_dev | default "false" }}
#
# Specify prefix to remap VBD dev to (ex. /dev/xvdb -> /dev/sdb).
#
# Related options:
#
# * If `remap_vbd_dev` is set to False this option has no impact.
# (string value)
# from .xenserver.nova.conf.remap_vbd_dev_prefix
{{ if not .xenserver.nova.conf.remap_vbd_dev_prefix }}#{{ end }}remap_vbd_dev_prefix = {{ .xenserver.nova.conf.remap_vbd_dev_prefix | default "sd" }}
#
# Used to prevent attempts to attach VBDs locally, so Nova can
# be run in a VM on a different host.
#
# Related options:
#
# * ``CONF.flat_injected`` (Must be False)
# * ``CONF.xenserver.check_host`` (Must be False)
# * ``CONF.default_ephemeral_format`` (Must be unset or 'ext3')
# * Joining host aggregates (will error if attempted)
# * Swap disks for Windows VMs (will error if attempted)
# * Nova-based auto_configure_disk (will error if attempted)
# (boolean value)
# from .xenserver.nova.conf.independent_compute
{{ if not .xenserver.nova.conf.independent_compute }}#{{ end }}independent_compute = {{ .xenserver.nova.conf.independent_compute | default "false" }}
# Number of seconds to wait for instance to go to running state (integer value)
# from .xenserver.nova.conf.running_timeout
{{ if not .xenserver.nova.conf.running_timeout }}#{{ end }}running_timeout = {{ .xenserver.nova.conf.running_timeout | default "60" }}
# The XenAPI VIF driver using XenServer Network APIs. (string value)
# from .xenserver.nova.conf.vif_driver
{{ if not .xenserver.nova.conf.vif_driver }}#{{ end }}vif_driver = {{ .xenserver.nova.conf.vif_driver | default "nova.virt.xenapi.vif.XenAPIBridgeDriver" }}
# Dom0 plugin driver used to handle image uploads. (string value)
# from .xenserver.nova.conf.image_upload_handler
{{ if not .xenserver.nova.conf.image_upload_handler }}#{{ end }}image_upload_handler = {{ .xenserver.nova.conf.image_upload_handler | default "nova.virt.xenapi.image.glance.GlanceStore" }}
#
# Number of seconds to wait for SR to settle if the VDI
# does not exist when first introduced.
#
# Some SRs, particularly iSCSI connections are slow to see the VDIs
# right after they got introduced. Setting this option to a
# time interval will make the SR to wait for that time period
# before raising VDI not found exception.
# (integer value)
# Minimum value: 0
# from .xenserver.nova.conf.introduce_vdi_retry_wait
{{ if not .xenserver.nova.conf.introduce_vdi_retry_wait }}#{{ end }}introduce_vdi_retry_wait = {{ .xenserver.nova.conf.introduce_vdi_retry_wait | default "20" }}
#
# The name of the integration Bridge that is used with xenapi
# when connecting with Open vSwitch.
#
# Note: The value of this config option is dependent on the
# environment, therefore this configuration value must be set
# accordingly if you are using XenAPI.
#
# Possible options:
#
# * Any string that represents a bridge name(default is xapi1).
# (string value)
# from .xenserver.nova.conf.ovs_integration_bridge
{{ if not .xenserver.nova.conf.ovs_integration_bridge }}#{{ end }}ovs_integration_bridge = {{ .xenserver.nova.conf.ovs_integration_bridge | default "xapi1" }}
#
# When adding new host to a pool, this will append a --force flag to the
# command, forcing hosts to join a pool, even if they have different CPUs.
#
# Since XenServer version 5.6 it is possible to create a pool of hosts that have
# different CPU capabilities. To accommodate CPU differences, XenServer limited
# features it uses to determine CPU compatibility to only the ones that are
# exposed by CPU and support for CPU masking was added.
# Despite this effort to level differences between CPUs, it is still possible
# that adding new host will fail, thus option to force join was introduced.
# (boolean value)
# from .xenserver.nova.conf.use_join_force
{{ if not .xenserver.nova.conf.use_join_force }}#{{ end }}use_join_force = {{ .xenserver.nova.conf.use_join_force | default "true" }}
[xvp]
#
# Configuration options for XVP.
#
# xvp (Xen VNC Proxy) is a proxy server providing password-protected VNC-based
# access to the consoles of virtual machines hosted on Citrix XenServer.
#
# From nova.conf
#
# XVP conf template (string value)
# Deprecated group/name - [DEFAULT]/console_xvp_conf_template
# from .xvp.nova.conf.console_xvp_conf_template
{{ if not .xvp.nova.conf.console_xvp_conf_template }}#{{ end }}console_xvp_conf_template = {{ .xvp.nova.conf.console_xvp_conf_template | default "$pybasedir/nova/console/xvp.conf.template" }}
# Generated XVP conf file (string value)
# Deprecated group/name - [DEFAULT]/console_xvp_conf
# from .xvp.nova.conf.console_xvp_conf
{{ if not .xvp.nova.conf.console_xvp_conf }}#{{ end }}console_xvp_conf = {{ .xvp.nova.conf.console_xvp_conf | default "/etc/xvp.conf" }}
# XVP master process pid file (string value)
# Deprecated group/name - [DEFAULT]/console_xvp_pid
# from .xvp.nova.conf.console_xvp_pid
{{ if not .xvp.nova.conf.console_xvp_pid }}#{{ end }}console_xvp_pid = {{ .xvp.nova.conf.console_xvp_pid | default "/var/run/xvp.pid" }}
# XVP log file (string value)
# Deprecated group/name - [DEFAULT]/console_xvp_log
# from .xvp.nova.conf.console_xvp_log
{{ if not .xvp.nova.conf.console_xvp_log }}#{{ end }}console_xvp_log = {{ .xvp.nova.conf.console_xvp_log | default "/var/log/xvp.log" }}
# Port for XVP to multiplex VNC connections on (port value)
# Minimum value: 0
# Maximum value: 65535
# Deprecated group/name - [DEFAULT]/console_xvp_multiplex_port
# from .xvp.nova.conf.console_xvp_multiplex_port
{{ if not .xvp.nova.conf.console_xvp_multiplex_port }}#{{ end }}console_xvp_multiplex_port = {{ .xvp.nova.conf.console_xvp_multiplex_port | default "5900" }}
{{- end -}}