Atom feed of this document
Icehouse -  Icehouse -  Icehouse -  Icehouse -  Icehouse -  Icehouse -  Icehouse -  Icehouse - 

 Chapter 9. Orchestration

The Orchestration service is designed to manage the lifecycle of infrastructure and applications within OpenStack clouds. Its various agents and services are configured in the /etc/heat/heat.conf file.

To install Orchestration, see the OpenStack Installation Guide for your distribution (

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

Table 9.1. Description of configuration options for auth_token
Configuration option = Default value Description
memcached_servers = None (ListOpt) Memcached servers or None for in process cache.
admin_password = None (StrOpt) Keystone account password
admin_tenant_name = admin (StrOpt) Keystone service account tenant name to validate user tokens
admin_token = None (StrOpt) Single shared secret with the Keystone configuration used for bootstrapping a Keystone installation, or otherwise bypassing the normal authentication process.
admin_user = None (StrOpt) Keystone account username
auth_admin_prefix = (StrOpt) Prefix to prepend at the beginning of the path
auth_host = (StrOpt) Host providing the admin Identity API endpoint
auth_port = 35357 (IntOpt) Port of the admin Identity API endpoint
auth_protocol = https (StrOpt) Protocol of the admin Identity API endpoint(http or https)
auth_uri = None (StrOpt) Complete public Identity API endpoint
auth_version = None (StrOpt) API version of the admin Identity API endpoint
cache = None (StrOpt) Env key for the swift cache
cafile = None (StrOpt) A PEM encoded Certificate Authority to use when verifying HTTPs connections. Defaults to system CAs.
certfile = None (StrOpt) Required if Keystone server requires client certificate
delay_auth_decision = False (BoolOpt) Do not handle authorization requests within the middleware, but delegate the authorization decision to downstream WSGI components
enforce_token_bind = permissive (StrOpt) 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.
http_connect_timeout = None (BoolOpt) Request timeout value for communicating with Identity API server.
http_request_max_retries = 3 (IntOpt) How many times are we trying to reconnect when communicating with Identity API Server.
include_service_catalog = True (BoolOpt) (optional) indicate whether to set the X-Service-Catalog header. If False, middleware will not ask for service catalog on token validation and will not set the X-Service-Catalog header.
insecure = False (BoolOpt) Verify HTTPS connections.
keyfile = None (StrOpt) Required if Keystone server requires client certificate
memcache_secret_key = None (StrOpt) (optional, mandatory if memcache_security_strategy is defined) this string is used for key derivation.
memcache_security_strategy = None (StrOpt) (optional) if defined, indicate whether token data should be authenticated or authenticated and encrypted. Acceptable values are MAC or ENCRYPT. 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.
memcached_servers = None (ListOpt) Optionally specify a list of memcached server(s) to use for caching. If left undefined, tokens will instead be cached in-process.
revocation_cache_time = 300 (IntOpt) Determines the frequency at which the list of revoked tokens is retrieved from the Identity service (in seconds). A high number of revocation events combined with a low cache duration may significantly reduce performance.
signing_dir = None (StrOpt) Directory used to cache files related to PKI tokens
token_cache_time = 300 (IntOpt) 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.

Table 9.2. Description of configuration options for common
Configuration option = Default value Description
deferred_auth_method = password (StrOpt) Select deferred auth method, stored password or trusts.
environment_dir = /etc/heat/environment.d (StrOpt) The directory to search for environment files.
event_purge_batch_size = 10 (IntOpt) Controls how many events will be pruned whenever a stack's events exceed max_events_per_stack. Set this lower to keep more events at the expense of more frequent purges.
instance_driver = heat.engine.nova (StrOpt) Driver to use for controlling instances.
instance_user = ec2-user (StrOpt) The default user for new instances. This option is deprecated and will be removed in the Juno release. If it's empty, Heat will use the default user set up with your cloud image (for OS::Nova::Server) or 'ec2-user' (for AWS::EC2::Instance).
keystone_backend = heat.common.heat_keystoneclient.KeystoneClientV3 (StrOpt) Fully qualified class name to use as a keystone backend.
periodic_interval = 60 (IntOpt) Seconds between running periodic tasks.
plugin_dirs = /usr/lib64/heat, /usr/lib/heat (ListOpt) List of directories to search for plug-ins.
heat_revision = unknown (StrOpt) Heat build revision. If you would prefer to manage your build revision separately, you can move this section to a different file and add it as another config option.

Table 9.3. Description of configuration options for crypt
Configuration option = Default value Description
auth_encryption_key = notgood but just long enough i think (StrOpt) Encryption key used for authentication info in database.

Table 9.4. Description of configuration options for database
Configuration option = Default value Description
db_backend = sqlalchemy (StrOpt) The backend to use for db.
sqlite_db = heat.sqlite (StrOpt) the filename to use with sqlite
sqlite_synchronous = True (BoolOpt) If true, use synchronous mode for sqlite
backend = sqlalchemy (StrOpt) The backend to use for db
connection = sqlite:////usr/lib/python/site-packages/heat/openstack/common/db/$sqlite_db (StrOpt) The SQLAlchemy connection string used to connect to the database
connection_debug = 0 (IntOpt) Verbosity of SQL debugging information. 0=None, 100=Everything
connection_trace = False (BoolOpt) Add python stack traces to SQL as comment strings
idle_timeout = 3600 (IntOpt) timeout before idle sql connections are reaped
max_overflow = None (IntOpt) If set, use this value for max_overflow with sqlalchemy
max_pool_size = None (IntOpt) Maximum number of SQL connections to keep open in a pool
max_retries = 10 (IntOpt) maximum db connection retries during startup. (setting -1 implies an infinite retry count)
min_pool_size = 1 (IntOpt) Minimum number of SQL connections to keep open in a pool
pool_timeout = None (IntOpt) If set, use this value for pool_timeout with sqlalchemy
retry_interval = 10 (IntOpt) interval between retries of opening a sql connection
slave_connection = (StrOpt) The SQLAlchemy connection string used to connect to the slave database

Table 9.5. Description of configuration options for debug
Configuration option = Default value Description
backdoor_port = None (StrOpt) 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.
debug = False (BoolOpt) Print debugging output (set logging level to DEBUG instead of default WARNING level).
disable_process_locking = False (BoolOpt) Whether to disable inter-process locks
fatal_deprecations = False (BoolOpt) make deprecations fatal
lock_path = None (StrOpt) Directory to use for lock files.

Table 9.6. Description of configuration options for loadbalancer
Configuration option = Default value Description
loadbalancer_template = None (StrOpt) Custom template for the built-in loadbalancer nested stack.

Table 9.7. Description of configuration options for logging
Configuration option = Default value Description
default_log_levels = amqp=WARN, amqplib=WARN, boto=WARN, qpid=WARN, sqlalchemy=WARN, suds=INFO, iso8601=WARN (ListOpt) list of logger=LEVEL pairs
instance_format = "[instance: %(uuid)s] " (StrOpt) If an instance is passed with the log message, format it like this
instance_uuid_format = "[instance: %(uuid)s] " (StrOpt) If an instance UUID is passed with the log message, format it like this
log_config_append = None (StrOpt) The name of logging configuration file. It does not disable existing loggers, but just appends specified logging configuration to any other existing logging options. Please see the Python logging module documentation for details on logging configuration files.
log_date_format = %Y-%m-%d %H:%M:%S (StrOpt) Format string for %%(asctime)s in log records. Default: %(default)s
log_dir = None (StrOpt) (Optional) The base directory used for relative --log-file paths
log_file = None (StrOpt) (Optional) Name of log file to output to. If no default is set, logging will go to stdout.
log_format = None (StrOpt) DEPRECATED. A logging.Formatter log message format string which may use any of the available logging.LogRecord attributes. This option is deprecated. Please use logging_context_format_string and logging_default_format_string instead.
logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s (StrOpt) format string to use for log messages with context
logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d (StrOpt) data to append to log format when level is DEBUG
logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s (StrOpt) format string to use for log messages without context
logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d TRACE %(name)s %(instance)s (StrOpt) prefix each line of exception output with this format
syslog_log_facility = LOG_USER (StrOpt) syslog facility to receive log lines
use_stderr = True (BoolOpt) Log output to standard error
use_syslog = False (BoolOpt) Use syslog for logging.
verbose = False (BoolOpt) Print more verbose output (set logging level to INFO instead of default WARNING level).

Table 9.8. Description of configuration options for quota
Configuration option = Default value Description
max_events_per_stack = 1000 (IntOpt) Maximum events that will be available per stack. Older events will be deleted when this is reached. Set to 0 for unlimited events per stack.
max_nested_stack_depth = 3 (IntOpt) Maximum depth allowed when using nested stacks.
max_resources_per_stack = 1000 (IntOpt) Maximum resources allowed per top-level stack.
max_stacks_per_tenant = 100 (IntOpt) Maximum number of stacks any one tenant may have active at one time.
max_template_size = 524288 (IntOpt) Maximum raw byte size of any template.

Table 9.9. Description of configuration options for redis
Configuration option = Default value Description
host = oslo (StrOpt) Name of the engine node. This can be an opaque identifier. It is not necessarily a hostname, FQDN, or IP address.
host = (StrOpt) Host to locate redis
password = None (StrOpt) Password for Redis server. (optional)
port = 6379 (IntOpt) Use this port to connect to redis host.

Questions? Discuss on
Found an error? Report a bug against this page

loading table of contents...