Two of the config options in this section are commented out. Un-comment them to match with the rest of the document, and to improve readability. Change-Id: I6b52e700463906e2705465d4c2cc01ca45aad49e Closes-Bug: #1514930
4.9 KiB
Configuration file format
OpenStack uses the INI
file format for configuration files. An INI file
is a simple text file that specifies options as key=value
pairs, grouped into sections. The DEFAULT
section contains
most of the configuration options. Lines starting with a hash sign
(#
) are comment lines. For example:
[DEFAULT]
# Print debugging output (set logging level to DEBUG instead
# of default WARNING level). (boolean value)
debug = true
# Print more verbose output (set logging level to INFO instead
# of default WARNING level). (boolean value)
verbose = true
[database]
# The SQLAlchemy connection string used to connect to the
# database (string value)
connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone
Options can have different types for values. The comments in the sample config files always mention these. The following types are used by OpenStack:
- boolean value
-
Enables or disables an option. The allowed values are
true
andfalse
.# Enable the experimental use of database reconnect on # connection lost (boolean value) use_db_reconnect = false
- floating point value
-
A floating point number like
0.25
or1000
.# Sleep time in seconds for polling an ongoing async task # (floating point value) task_poll_interval = 0.5
- integer value
-
An integer number is a number without fractional components, like
0
or42
.# The port which the OpenStack Compute service listens on. # (integer value) compute_port = 8774
- list value
-
Represents values of other types, separated by commas. As an example, the following sets
allowed_rpc_exception_modules
to a list containing the four elementsoslo.messaging.exceptions
,nova.exception
,cinder.exception
, andexceptions
:# Modules of exceptions that are permitted to be recreated # upon receiving exception data from an rpc call. (list value) allowed_rpc_exception_modules = oslo.messaging.exceptions,nova.exception
- multi valued
-
A multi-valued option is a string value and can be given more than once, all values will be used.
# Driver or drivers to handle sending notifications. (multi valued) notification_driver = nova.openstack.common.notifier.rpc_notifier notification_driver = ceilometer.compute.nova_notifier
- string value
-
Strings can be optionally enclosed with single or double quotes.
# Enables or disables publication of error events. (boolean value) publish_errors = false # The format for an instance that is passed with the log message. # (string value) instance_format = "[instance: %(uuid)s] "
Sections
Configuration options are grouped by section. Most configuration files support at least the following sections:
- [DEFAULT]
-
Contains most configuration options. If the documentation for a configuration option does not specify its section, assume that it appears in this section.
- [database]
-
Configuration options for the database that stores the state of the OpenStack service.
Substitution
The configuration file supports variable substitution. After you set
a configuration option, it can be referenced in later configuration
values when you precede it with a $
, like
$OPTION
.
The following example uses the values of rabbit_host
and
rabbit_port
to define the value of the
rabbit_hosts
option, in this case as
controller:5672
.
# The RabbitMQ broker address where a single node is used.
# (string value)
rabbit_host = controller
# The RabbitMQ broker port where a single node is used.
# (integer value)
rabbit_port = 5672
# RabbitMQ HA cluster host:port pairs. (list value)
rabbit_hosts = $rabbit_host:$rabbit_port
To avoid substitution, use $$
, it is replaced by a
single $
. For example, if your LDAP DNS password is
$xkj432
, specify it, as follows:
ldap_dns_password = $$xkj432
The code uses the Python
string.Template.safe_substitute()
method to implement
variable substitution. For more details on how variable substitution is
resolved, see http://docs.python.org/2/library/string.html#template-strings
and PEP 292.
Whitespace
To include whitespace in a configuration value, use a quoted string. For example:
ldap_dns_passsword='a password with spaces'
Define an alternate location for a config file
Most services and the *-manage
command-line clients load
the configuration file. To define an alternate location for the
configuration file, pass the --config-file CONFIG_FILE
parameter when you start a service or call a *-manage
command.