Masakari 配置选项

以下是一个 Masakari 示例配置,用于调整和使用。它是在构建此文档时从 Masakari 自动生成的,因此如果您在使用某个选项时遇到问题,请将您的 Masakari 版本与此文档的版本进行比较。

示例配置也可以从 此处 下载。

[DEFAULT]

#
# From masakari.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.
#
# * Possible values:
#
#   Either 'keystone' (default) or 'noauth2'.
#
# * Services that use this:
#
#   ``masakari-api``
#
# * Related options:
#
#   None
#  (string value)
# Possible values:
# keystone - <No description provided>
# noauth2 - <No description provided>
#auth_strategy = 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.
#
# * Possible values:
#
#   True, False (default)
#
# * Services that use this:
#
#   ``masakari-api``
#
# * Related options:
#
#   None
#  (boolean value)
#use_forwarded_for = false

#
# 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.
#
# * Possible values:
#
#   Any positive integer. Default is 1000.
#
# * Services that use this:
#
#   ``masakari-api``
#
# * Related options:
#
#   None
#  (integer value)
#osapi_max_limit = 1000

#
# This string is prepended to the normal URL that is returned in links to the
# OpenStack Masakari API. If it is empty (the default), the URLs are returned
# unchanged.
#
# * Possible values:
#
#   Any string, including an empty string (the default).
#
# * Services that use this:
#
#   ``masakari-api``
#
# * Related options:
#
#   None
#  (string value)
#osapi_masakari_link_prefix = <None>

# Explicitly specify the temporary working directory. (string value)
#tempdir = <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)
#monkey_patch = false

#
# List of modules/decorators to monkey patch.
#
# This option allows you to patch a decorator for all functions in specified
# modules.
#
# Related options:
#
# * ``monkey_patch``: This must be set to ``True`` for this option to
#   have any effect
#  (list value)
#monkey_patch_modules = masakari.api:masakari.cmd

# DEPRECATED:
# This is the message queue topic that the masakari engine 'listens' on. It is
# used when the masakari engine is started up to configure the queue, and
# whenever an RPC call to the masakari engine is made.
#
# * Possible values:
#
#   Any string, but there is almost never any reason to ever change this value
#   from its default of 'engine'.
#
# * Services that use this:
#
#   ``masakari-engine``
#
# * Related options:
#
#   None
#  (string value)
# This option is deprecated for removal since 3.0.0.
# Its value may be silently ignored in the future.
# Reason:
# Configurable RPC topic provides little value and it can easily break
# Masakari if operator configures it to the same topic used by other OpenStack
# services.
#masakari_topic = ha_engine

# Interval in seconds for identifying duplicate notifications. If the
# notification received is identical to the previous ones whose status is either
# new or running and if it's created_timestamp and the current timestamp is less
# than this config option value, then the notification will be considered as
# duplicate and it will be ignored. (integer value)
# Minimum value: 0
#duplicate_notification_detection_interval = 180

# Number of seconds to wait after a service is enabled or disabled. (integer
# value)
#wait_period_after_service_update = 180

# Wait until instance is evacuated (integer value)
#wait_period_after_evacuation = 90

# The monitoring interval for looping (integer value)
#verify_interval = 1

# Number of seconds to wait for instance to shut down (integer value)
#wait_period_after_power_off = 180

# Number of seconds to wait for instance to start (integer value)
#wait_period_after_power_on = 60

# Interval in seconds for processing notifications which are in error or new
# state. (integer value)
#process_unfinished_notifications_interval = 120

# Interval in seconds for identifying notifications which are in new state. If
# the notification is in new state till this config option value after it's
# generated_time, then it is considered that notification is ignored by the
# messaging queue and will be processed by 'process_unfinished_notifications'
# periodic task. (integer value)
# Note: This option can be changed without restarting.
#retry_notification_new_status_interval = 60

# Interval in seconds for checking running notifications. (integer value)
#check_expired_notifications_interval = 600

# Interval in seconds for identifying running notifications expired. (integer
# value)
#notifications_expired_interval = 86400

# Number of threads to be used for evacuating and confirming instances during
# execution of host_failure workflow. (integer value)
# Minimum value: 1
#host_failure_recovery_threads = 3

#
# Defines which driver to use for executing notification workflows.
#  (string value)
#notification_driver = taskflow_driver

# Make exception message format errors fatal (boolean value)
#fatal_exception_format_errors = false

# Match this value when searching for nova in the service catalog. Format is:
# separated values of the form: <service_type>:<service_name>:<endpoint_type>
# (string value)
#nova_catalog_admin_info = compute:nova:publicURL

# Region name of this node (string value)
#os_region_name = <None>

# Location of ca certificates file to use for nova client requests. (string
# value)
#nova_ca_certificates_file = <None>

# Allow to perform insecure SSL requests to nova (boolean value)
#nova_api_insecure = false

# OpenStack privileged account username. Used for requests to other services
# (such as Nova) that require an account with special rights. (string value)
#os_privileged_user_name = <None>

# Password associated with the OpenStack privileged account. (string value)
#os_privileged_user_password = <None>

# Tenant name associated with the OpenStack privileged account. (string value)
#os_privileged_user_tenant = <None>

# Auth URL associated with the OpenStack privileged account. (uri value)
#os_privileged_user_auth_url = <None>

# User domain name associated with the OpenStack privileged account. (string
# value)
#os_user_domain_name = default

# Project domain name associated with the OpenStack privileged account. (string
# value)
#os_project_domain_name = default

# Scope for system operations. (string value)
#os_system_scope = <None>

# Directory where the masakari python module is installed (string value)
#pybasedir = /home/zuul/src/opendev.org/openstack/masakari

# Directory where masakari binaries are installed (string value)
#bindir = /home/zuul/src/opendev.org/openstack/masakari/.tox/docs/local/bin

# Top-level directory for maintaining masakari's state (string value)
#state_path = $pybasedir

#
# 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.
#  (host address value)
#host = npe59936c26f644

# Full class name for the Manager for masakari engine (string value)
#engine_manager = masakari.engine.manager.MasakariManager

# Seconds between nodes reporting state to datastore (integer value)
#report_interval = 10

# Enable periodic tasks (boolean value)
#periodic_enable = true

# Max interval time between periodic tasks execution in seconds. (integer value)
#periodic_interval_max = 300

# Range of seconds to randomly delay when starting the periodic task scheduler
# to reduce stampeding. (Disable by setting to 0) (integer value)
#periodic_fuzzy_delay = 60

# Use APIs with SSL enabled (boolean value)
#use_ssl = false

# The IP address on which the Masakari API will listen. (host address value)
#masakari_api_listen = 0.0.0.0

# The port on which the Masakari API will listen. (integer value)
# Minimum value: 1
# Maximum value: 65535
#masakari_api_listen_port = 15868

# Number of workers for Masakari API service. The default will be the number of
# CPUs available. (integer value)
#masakari_api_workers = <None>

# Maximum time since last check-in for up service (integer value)
#service_down_time = 60

#
# 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.
#debug = false

# 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, log-date-format). (string value)
# Note: This option can be changed without restarting.
# Deprecated group/name - [DEFAULT]/log_config
#log_config_append = <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)
#log_date_format = %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
#log_file = <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
#log_dir = <None>

# DEPRECATED: 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)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: This function is known to have bene broken for long time, and depends
# on the unmaintained library
#watch_log_file = 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)
#use_syslog = false

# Enable journald for logging. If running in a systemd environment you may wish
# to enable journal support. Doing so will use the journal native protocol which
# includes structured metadata in addition to log messages.This option is
# ignored if log_config_append is set. (boolean value)
#use_journal = false

# Syslog facility to receive log lines. This option is ignored if
# log_config_append is set. (string value)
#syslog_log_facility = LOG_USER

# Use JSON formatting for logging. This option is ignored if log_config_append
# is set. (boolean value)
#use_json = false

# Log output to standard error. This option is ignored if log_config_append is
# set. (boolean value)
#use_stderr = false

# (Optional) Set the 'color' key according to log levels. This option takes
# effect only when logging to stderr or stdout is used. This option is ignored
# if log_config_append is set. (boolean value)
#log_color = false

# The amount of time before the log files are rotated. This option is ignored
# unless log_rotation_type is set to "interval". (integer value)
#log_rotate_interval = 1

# Rotation interval type. The time of the last file change (or the time when the
# service was started) is used when scheduling the next rotation. (string value)
# Possible values:
# Seconds - <No description provided>
# Minutes - <No description provided>
# Hours - <No description provided>
# Days - <No description provided>
# Weekday - <No description provided>
# Midnight - <No description provided>
#log_rotate_interval_type = days

# Maximum number of rotated log files. (integer value)
#max_logfile_count = 30

# Log file maximum size in MB. This option is ignored if "log_rotation_type" is
# not set to "size". (integer value)
#max_logfile_size_mb = 200

# Log rotation type. (string value)
# Possible values:
# interval - Rotate logs at predefined time intervals.
# size - Rotate logs once they reach a predefined size.
# none - Do not rotate log files.
#log_rotation_type = none

# Format string to use for log messages with context. Used by
# oslo_log.formatters.ContextFormatter (string value)
#logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(global_request_id)s %(request_id)s %(user_identity)s] %(instance)s%(message)s

# Format string to use for log messages when context is undefined. Used by
# oslo_log.formatters.ContextFormatter (string value)
#logging_default_format_string = %(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. Used by oslo_log.formatters.ContextFormatter (string value)
#logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d

# Prefix each line of exception output with this format. Used by
# oslo_log.formatters.ContextFormatter (string value)
#logging_exception_prefix = %(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. Used by oslo_log.formatters.ContextFormatter
# (string value)
#logging_user_identity_format = %(user)s %(project)s %(domain)s %(system_scope)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)
#default_log_levels = amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,oslo.messaging=INFO,oslo_messaging=INFO,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,urllib3.connectionpool=WARN,websocket=WARN,requests.packages.urllib3.util.retry=WARN,urllib3.util.retry=WARN,keystonemiddleware=WARN,routes.middleware=WARN,stevedore=WARN,taskflow=WARN,keystoneauth=WARN,oslo.cache=INFO,oslo_policy=INFO,dogpile.core.dogpile=INFO

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

# The format for an instance UUID that is passed with the log message. (string
# value)
#instance_uuid_format = "[instance: %(uuid)s] "

# Interval, number of seconds, of log rate limiting. (integer value)
#rate_limit_interval = 0

# Maximum number of logged messages per rate_limit_interval. (integer value)
#rate_limit_burst = 0

# Log level name used by rate limiting. Logs with level greater or equal to
# rate_limit_except_level are not filtered. An empty string means that all
# levels are filtered. (string value)
# Possible values:
# CRITICAL - <No description provided>
# ERROR - <No description provided>
# INFO - <No description provided>
# WARNING - <No description provided>
# DEBUG - <No description provided>
# '' - <No description provided>
#rate_limit_except_level = CRITICAL

# Enables or disables fatal status of deprecations. (boolean value)
#fatal_deprecations = false

#
# From oslo.messaging
#

# Size of executor thread pool when executor is threading or eventlet. (integer
# value)
# Deprecated group/name - [DEFAULT]/rpc_thread_pool_size
#executor_thread_pool_size = 64

# Seconds to wait for a response from a call. (integer value)
#rpc_response_timeout = 60

# The network address and optional user credentials for connecting to the
# messaging backend, in URL format. The expected format is:
#
# driver://[user:pass@]host:port[,[userN:passN@]hostN:portN]/virtual_host?query
#
# Example: rabbit://rabbitmq:password@127.0.0.1:5672//
#
# For full details on the fields in the URL see the documentation of
# oslo_messaging.TransportURL at
# https://docs.openstack.org/oslo.messaging/2025.2/reference/transport.html
# (string value)
#transport_url = rabbit://

# The default exchange under which topics are scoped. May be overridden by an
# exchange name specified in the transport_url option. (string value)
#control_exchange = openstack

# Add an endpoint to answer to ping calls. Endpoint is named
# oslo_rpc_server_ping (boolean value)
#rpc_ping_enabled = false

#
# From oslo.service.service
#

# DEPRECATED: 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)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: The 'backdoor_port' option is deprecated and will be removed in a
# future release.
#backdoor_port = <None>

# DEPRECATED: 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. Inside the
# path {pid} will be replaced with the PID of the current process. (string
# value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: The 'backdoor_socket' option is deprecated and will be removed in a
# future release.
#backdoor_socket = <None>

# Enables or disables logging values of all registered options when starting a
# service (at DEBUG level). (boolean value)
#log_options = true

# Specify a timeout after which a gracefully shutdown server will exit. Zero
# value means endless wait. (integer value)
#graceful_shutdown_timeout = 60

#
# From oslo.service.wsgi
#

# DEPRECATED: File name for the paste.deploy config for api service (string
# value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: The 'api_paste_config' option is deprecated and will be removed in a
# future release.
#api_paste_config = api-paste.ini

# DEPRECATED: A python format string that is used as the template to generate
# log lines. The following values can beformatted into it: client_ip, date_time,
# request_line, status_code, body_length, wall_seconds. (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: The 'wsgi_log_format' option is deprecated and will be removed in a
# future release.
#wsgi_log_format = %(client_ip)s "%(request_line)s" status: %(status_code)s  len: %(body_length)s time: %(wall_seconds).7f

# DEPRECATED: Sets the value of TCP_KEEPIDLE in seconds for each server socket.
# Not supported on OS X. (integer value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: The 'tcp_keepidle' option is deprecated and will be removed in a
# future release.
#tcp_keepidle = 600

# DEPRECATED: Size of the pool of greenthreads used by wsgi (integer value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: The 'wsgi_default_pool_size' option is deprecated and will be removed
# in a future release.
#wsgi_default_pool_size = 100

# DEPRECATED: Maximum line size of message headers to be accepted.
# max_header_line may need to be increased when using large tokens (typically
# those generated when keystone is configured to use PKI tokens with big service
# catalogs). (integer value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: The 'max_header_line' option is deprecated and will be removed in a
# future release.
#max_header_line = 16384

# DEPRECATED: If False, closes the client socket connection explicitly. (boolean
# value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: The 'wsgi_keep_alive' option is deprecated and will be removed in a
# future release.
#wsgi_keep_alive = true

# DEPRECATED: Timeout for client connections' socket operations. If an incoming
# connection is idle for this number of seconds it will be closed. A value of
# '0' means wait forever. (integer value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: The 'client_socket_timeout' option is deprecated and will be removed
# in a future release.
#client_socket_timeout = 900

# DEPRECATED: True if the server should send exception tracebacks to the clients
# on 500 errors. If False, the server will respond with empty bodies. (boolean
# value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: The 'wsgi_server_debug' option is deprecated and will be removed in a
# future release.
#wsgi_server_debug = false


[coordination]

#
# From masakari.conf
#

# The backend URL to use for distributed coordination.By default it's None which
# means that coordination is disabled. The coordination is implemented for
# distributed lock management and was tested with etcd.Coordination doesn't work
# for file driver because lock files aren't removed after lock releasing.
# (string value)
#backend_url = <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)
#allowed_origin = <None>

# Indicate that the actual request can include user credentials (boolean value)
#allow_credentials = true

# Indicate which headers are safe to expose to the API. Defaults to HTTP Simple
# Headers. (list value)
#expose_headers =

# Maximum cache age of CORS preflight requests. (integer value)
#max_age = 3600

# Indicate which methods can be used during the actual request. (list value)
#allow_methods = OPTIONS,GET,HEAD,POST,PUT,DELETE,TRACE,PATCH

# Indicate which header field names may be used during the actual request. (list
# value)
#allow_headers =


[database]

#
# From oslo.db
#

# If True, SQLite uses synchronous mode. (boolean value)
#sqlite_synchronous = true

# The back end to use for the database. (string value)
#backend = sqlalchemy

# The SQLAlchemy connection string to use to connect to the database. (string
# value)
#connection = <None>

# The SQLAlchemy connection string to use to connect to the slave database.
# (string value)
#slave_connection = <None>

# The SQLAlchemy asyncio connection string to use to connect to the database.
# (string value)
#asyncio_connection = <None>

# The SQLAlchemy asyncio connection string to use to connect to the slave
# database. (string value)
#asyncio_slave_connection = <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)
#mysql_sql_mode = TRADITIONAL

# For Galera only, configure wsrep_sync_wait causality checks on new
# connections.  Default is None, meaning don't configure any setting. (integer
# value)
#mysql_wsrep_sync_wait = <None>

# Connections which have been present in the connection pool longer than this
# number of seconds will be replaced with a new one the next time they are
# checked out from the pool. (integer value)
#connection_recycle_time = 3600

# Maximum number of SQL connections to keep open in a pool. Setting a value of 0
# indicates no limit. (integer value)
#max_pool_size = 5

# Maximum number of database connection retries during startup. Set to -1 to
# specify an infinite retry count. (integer value)
#max_retries = 10

# Interval between retries of opening a SQL connection. (integer value)
#retry_interval = 10

# If set, use this value for max_overflow with SQLAlchemy. (integer value)
#max_overflow = 50

# Verbosity of SQL debugging information: 0=None, 100=Everything. (integer
# value)
# Minimum value: 0
# Maximum value: 100
#connection_debug = 0

# Add Python stack traces to SQL as comment strings. (boolean value)
#connection_trace = false

# If set, use this value for pool_timeout with SQLAlchemy. (integer value)
#pool_timeout = <None>

# Enable the experimental use of database reconnect on connection lost. (boolean
# value)
#use_db_reconnect = false

# Seconds between retries of a database transaction. (integer value)
#db_retry_interval = 1

# If True, increases the interval between retries of a database operation up to
# db_max_retry_interval. (boolean value)
#db_inc_retry_interval = true

# If db_inc_retry_interval is set, the maximum seconds between retries of a
# database operation. (integer value)
#db_max_retry_interval = 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)
#db_max_retries = 20

# Optional URL parameters to append onto the connection URL at connect time;
# specify as param1=value1&param2=value2&... (string value)
#connection_parameters =


[healthcheck]

#
# From oslo.middleware
#

# DEPRECATED: The path to respond to healtcheck requests on. (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
#path = /healthcheck

# Show more detailed information as part of the response. Security note:
# Enabling this option may expose sensitive details about the service being
# monitored. Be sure to verify that it will not violate your security policies.
# (boolean value)
#detailed = false

# Additional backends that can perform health checks and report that information
# back as part of a request. (list value)
#backends =

# A list of network addresses to limit source ip allowed to access healthcheck
# information. Any request from ip outside of these network addresses are
# ignored. (list value)
#allowed_source_ranges =

# Ignore requests with proxy headers. (boolean value)
#ignore_proxied_requests = false

# Check the presence of a file to determine if an application is running on a
# port. Used by DisableByFileHealthcheck plugin. (string value)
#disable_by_file_path = <None>

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

# Check the presence of files. Used by EnableByFilesHealthcheck plugin. (list
# value)
#enable_by_file_paths =


[host_failure]

#
# From masakari.conf
#

#
# Operators can decide whether all instances or only those instances which have
# ``[host_failure]\ha_enabled_instance_metadata_key`` set to ``True`` should be
# allowed for evacuation from a failed source compute node.
# When set to True, it will evacuate all instances from a failed source compute
# node.
# First preference will be given to those instances which have
# ``[host_failure]\ha_enabled_instance_metadata_key`` set to ``True``,
# and then it will evacuate the remaining ones.
# When set to False, it will evacuate only those instances which have
# ``[host_failure]\ha_enabled_instance_metadata_key`` set to ``True``.
#      (boolean value)
#evacuate_all_instances = true

#
# Operators can decide on the instance metadata key naming that affects the
# per-instance behaviour of ``[host_failure]\evacuate_all_instances``.
# The default is the same for both failure types (host, instance) but the value
# can be overridden to make the metadata key different per failure type.
#      (string value)
#ha_enabled_instance_metadata_key = HA_Enabled

#
# Operators can decide whether error instances should be allowed for evacuation
# from a failed source compute node or not. When set to True, it will ignore
# error instances from evacuation from a failed source compute node. When set to
# False, it will evacuate error instances along with other instances from a
# failed source compute node. (boolean value)
#ignore_instances_in_error_state = false

#
# Operators can decide whether reserved_host should be added to aggregate group
# of failed compute host. When set to True, reserved host will be added to the
# aggregate group of failed compute host. When set to False, the reserved_host
# will not be added to the aggregate group of failed compute host. (boolean
# value)
#add_reserved_host_to_aggregate = false

# Compute disable reason in case Masakari detects host failure. (string value)
#service_disable_reason = Masakari detected host failed.


[instance_failure]

#
# From masakari.conf
#

#
# Operators can decide whether all instances or only those instances which
# have ``[instance_failure]\ha_enabled_instance_metadata_key`` set to ``True``
# should be taken into account to recover from instance failure events.
# When set to True, it will execute instance failure recovery actions for an
# instance irrespective of whether that particular instance has
# ``[instance_failure]\ha_enabled_instance_metadata_key`` set to ``True``.
# When set to False, it will only execute instance failure recovery actions
# for an instance which has
# ``[instance_failure]\ha_enabled_instance_metadata_key`` set to ``True``.
#      (boolean value)
#process_all_instances = false

#
# Operators can decide on the instance metadata key naming that affects the
# per-instance behaviour of ``[instance_failure]\process_all_instances``.
# The default is the same for both failure types (host, instance) but the value
# can be overridden to make the metadata key different per failure type.
#      (string value)
#ha_enabled_instance_metadata_key = HA_Enabled


[keystone_authtoken]

#
# 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)
# Deprecated group/name - [keystone_authtoken]/auth_uri
#www_authenticate_uri = <None>

# DEPRECATED: 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. This option
# is deprecated in favor of www_authenticate_uri and will be removed in the S
# release. (string value)
# This option is deprecated for removal since Queens.
# Its value may be silently ignored in the future.
# Reason: The auth_uri option is deprecated in favor of www_authenticate_uri and
# will be removed in the S  release.
#auth_uri = <None>

# API version of the Identity API endpoint. (string value)
#auth_version = <None>

# Interface to use for the Identity API endpoint. Valid values are "public",
# "internal" (default) or "admin". (string value)
#interface = internal

# Do not handle authorization requests within the middleware, but delegate the
# authorization decision to downstream WSGI components. (boolean value)
#delay_auth_decision = false

# Request timeout value for communicating with Identity API server. (integer
# value)
#http_connect_timeout = <None>

# How many times are we trying to reconnect when communicating with Identity API
# Server. (integer value)
#http_request_max_retries = 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)
#cache = <None>

# Required if identity server requires client certificate (string value)
#certfile = <None>

# Required if identity server requires client certificate (string value)
#keyfile = <None>

# A PEM encoded Certificate Authority to use when verifying HTTPs connections.
# Defaults to system CAs. (string value)
#cafile = <None>

# Verify HTTPS connections. (boolean value)
#insecure = false

# The region in which the identity server can be found. (string value)
#region_name = <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
#memcached_servers = <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)
#token_cache_time = 300

# (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)
# Possible values:
# None - <No description provided>
# MAC - <No description provided>
# ENCRYPT - <No description provided>
#memcache_security_strategy = None

# (Optional, mandatory if memcache_security_strategy is defined) This string is
# used for key derivation. (string value)
#memcache_secret_key = <None>

# (Optional) Global toggle for TLS usage when comunicating with the caching
# servers. (boolean value)
#memcache_tls_enabled = false

# (Optional) Path to a file of concatenated CA certificates in PEM format
# necessary to establish the caching server's authenticity. If tls_enabled is
# False, this option is ignored. (string value)
#memcache_tls_cafile = <None>

# (Optional) Path to a single file in PEM format containing the client's
# certificate as well as any number of CA certificates needed to establish the
# certificate's authenticity. This file is only required when client side
# authentication is necessary. If tls_enabled is False, this option is ignored.
# (string value)
#memcache_tls_certfile = <None>

# (Optional) Path to a single file containing the client's private key in.
# Otherwhise the private key will be taken from the file specified in
# tls_certfile. If tls_enabled is False, this option is ignored. (string value)
#memcache_tls_keyfile = <None>

# (Optional) Set the available ciphers for sockets created with the TLS context.
# It should be a string in the OpenSSL cipher list format. If not specified, all
# OpenSSL enabled ciphers will be available. (string value)
#memcache_tls_allowed_ciphers = <None>

# (Optional) Number of seconds memcached server is considered dead before it is
# tried again. (integer value)
#memcache_pool_dead_retry = 300

# (Optional) Maximum total number of open connections to every memcached server.
# (integer value)
#memcache_pool_maxsize = 10

# (Optional) Socket timeout in seconds for communicating with a memcached
# server. (integer value)
#memcache_pool_socket_timeout = 3

# (Optional) Number of seconds a connection to memcached is held unused in the
# pool before it is closed. (integer value)
#memcache_pool_unused_timeout = 60

# (Optional) Number of seconds that an operation will wait to get a memcached
# client connection from the pool. (integer value)
#memcache_pool_conn_get_timeout = 10

# (Optional) Use the advanced (eventlet safe) memcached client pool. (boolean
# value)
#memcache_use_advanced_pool = true

# (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)
#include_service_catalog = 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)
#enforce_token_bind = permissive

# A choice of roles that must be present in a service token. Service tokens are
# allowed to request that an expired token can be used and so this check should
# tightly control that only actual services should be sending this token. Roles
# here are applied as an ANY check so any role in this list must be present. For
# backwards compatibility reasons this currently only affects the allow_expired
# check. (list value)
#service_token_roles = service

# For backwards compatibility reasons we must let valid service tokens pass that
# don't pass the service_token_roles check as valid. Setting this true will
# become the default in a future release and should be enabled if possible.
# (boolean value)
#service_token_roles_required = false

# The name or type of the service as it appears in the service catalog. This is
# used to validate tokens that have restricted access rules. (string value)
#service_type = <None>

# Enable the SASL(Simple Authentication and Security Layer) if the SASL_enable
# is true, else disable. (boolean value)
#memcache_sasl_enabled = false

# the user name for the SASL (string value)
#memcache_username =

# the username password for SASL (string value)
#memcache_password =

# Authentication type to load (string value)
# Deprecated group/name - [keystone_authtoken]/auth_plugin
#auth_type = <None>

# Config Section from which to load plugin specific options (string value)
#auth_section = <None>


[osapi_v1]

#
# From masakari.conf
#

# DEPRECATED:
# *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 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 do not
#   wish to load.
#
# * Services that use this:
#
#   ``masakari-api``
#
# * Related options:
#
#   enabled, extensions_whitelist
#  (list value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
#extensions_blacklist =

# DEPRECATED:
# *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.
#
# * Services that use this:
#
#   ``masakari-api``
#
# * Related options:
#
#   enabled, extensions_blacklist
#  (list value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
#extensions_whitelist =

# DEPRECATED:
# *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
#
# * Services that use this:
#
#   ``masakari-api``
#
# * Related options:
#
#   None
#  (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
#project_id_regex = <None>


[oslo_messaging_kafka]

#
# From oslo.messaging
#

# Max fetch bytes of Kafka consumer (integer value)
#kafka_max_fetch_bytes = 1048576

# Default timeout(s) for Kafka consumers (floating point value)
#kafka_consumer_timeout = 1.0

# Group id for Kafka consumer. Consumers in one group will coordinate message
# consumption (string value)
#consumer_group = oslo_messaging_consumer

# Upper bound on the delay for KafkaProducer batching in seconds (floating point
# value)
#producer_batch_timeout = 0.0

# Size of batch for the producer async send (integer value)
#producer_batch_size = 16384

# The compression codec for all data generated by the producer. If not set,
# compression will not be used. Note that the allowed values of this depend on
# the kafka version (string value)
# Possible values:
# none - <No description provided>
# gzip - <No description provided>
# snappy - <No description provided>
# lz4 - <No description provided>
# zstd - <No description provided>
#compression_codec = none

# Enable asynchronous consumer commits (boolean value)
#enable_auto_commit = false

# The maximum number of records returned in a poll call (integer value)
#max_poll_records = 500

# Protocol used to communicate with brokers (string value)
# Possible values:
# PLAINTEXT - <No description provided>
# SASL_PLAINTEXT - <No description provided>
# SSL - <No description provided>
# SASL_SSL - <No description provided>
#security_protocol = PLAINTEXT

# Mechanism when security protocol is SASL (string value)
#sasl_mechanism = PLAIN

# CA certificate PEM file used to verify the server certificate (string value)
#ssl_cafile =

# Client certificate PEM file used for authentication. (string value)
#ssl_client_cert_file =

# Client key PEM file used for authentication. (string value)
#ssl_client_key_file =

# Client key password file used for authentication. (string value)
#ssl_client_key_password =


[oslo_messaging_notifications]

#
# From oslo.messaging
#

# The Drivers(s) to handle sending notifications. Possible values are messaging,
# messagingv2, routing, log, test, noop (multi valued)
#driver =

# 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)
#transport_url = <None>

# AMQP topic used for OpenStack notifications. (list value)
#topics = notifications

# The maximum number of attempts to re-send a notification message which failed
# to be delivered due to a recoverable error. 0 - No retry, -1 - indefinite
# (integer value)
#retry = -1


[oslo_messaging_rabbit]

#
# From oslo.messaging
#

# Use durable queues in AMQP. If rabbit_quorum_queue is enabled, queues will be
# durable and this value will be ignored. (boolean value)
#amqp_durable_queues = false

# Auto-delete queues in AMQP. (boolean value)
#amqp_auto_delete = false

# Size of RPC connection pool. (integer value)
# Minimum value: 1
#rpc_conn_pool_size = 30

# The pool size limit for connections expiration policy (integer value)
#conn_pool_min_size = 2

# The time-to-live in sec of idle connections in the pool (integer value)
#conn_pool_ttl = 1200

# Connect over SSL. (boolean value)
#ssl = 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)
#ssl_version =

# SSL key file (valid only if SSL enabled). (string value)
#ssl_key_file =

# SSL cert file (valid only if SSL enabled). (string value)
#ssl_cert_file =

# SSL certification authority file (valid only if SSL enabled). (string value)
#ssl_ca_file =

# Global toggle for enforcing the OpenSSL FIPS mode. This feature requires
# Python support. This is available in Python 3.9 in all environments and may
# have been backported to older Python versions on select environments. If the
# Python executable used does not support OpenSSL FIPS mode, an exception will
# be raised. (boolean value)
#ssl_enforce_fips_mode = false

# DEPRECATED: (DEPRECATED) It is recommend not to use this option anymore. Run
# the health check heartbeat thread through a native python thread by default.
# If this option is equal to False then the health check heartbeat will inherit
# the execution model from the parent process. For example if the parent process
# has monkey patched the stdlib by using eventlet/greenlet then the heartbeat
# will be run through a green thread. This option should be set to True only for
# the wsgi services. (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: The option is related to Eventlet which will be removed. In addition
# this has never worked as expected with services using eventlet for core
# service framework.
#heartbeat_in_pthread = false

# How long to wait (in seconds) before reconnecting in response to an AMQP
# consumer cancel notification. (floating point value)
# Minimum value: 0.0
# Maximum value: 4.5
#kombu_reconnect_delay = 1.0

# Random time to wait for when reconnecting in response to an AMQP consumer
# cancel notification. (floating point value)
# Minimum value: 0.0
#kombu_reconnect_splay = 0.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)
#kombu_compression = <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
#kombu_missing_consumer_retry_timeout = 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)
# Possible values:
# round-robin - <No description provided>
# shuffle - <No description provided>
#kombu_failover_strategy = round-robin

# The RabbitMQ login method. (string value)
# Possible values:
# PLAIN - <No description provided>
# AMQPLAIN - <No description provided>
# EXTERNAL - <No description provided>
# RABBIT-CR-DEMO - <No description provided>
#rabbit_login_method = AMQPLAIN

# How frequently to retry connecting with RabbitMQ. (integer value)
# Minimum value: 1
#rabbit_retry_interval = 1

# How long to backoff for between retries when connecting to RabbitMQ. (integer
# value)
# Minimum value: 0
#rabbit_retry_backoff = 2

# Maximum interval of RabbitMQ connection retries. (integer value)
# Minimum value: 1
#rabbit_interval_max = 30

# 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)
#rabbit_ha_queues = false

# Use quorum queues in RabbitMQ (x-queue-type: quorum). The quorum queue is a
# modern queue type for RabbitMQ implementing a durable, replicated FIFO queue
# based on the Raft consensus algorithm. It is available as of RabbitMQ 3.8.0.
# If set this option will conflict with the HA queues (``rabbit_ha_queues``) aka
# mirrored queues, in other words the HA queues should be disabled. Quorum
# queues are also durable by default so the amqp_durable_queues option is
# ignored when this option is enabled. (boolean value)
#rabbit_quorum_queue = false

# Use quorum queues for transients queues in RabbitMQ. Enabling this option will
# then make sure those queues are also using quorum kind of rabbit queues, which
# are HA by default. (boolean value)
#rabbit_transient_quorum_queue = false

# Each time a message is redelivered to a consumer, a counter is incremented.
# Once the redelivery count exceeds the delivery limit the message gets dropped
# or dead-lettered (if a DLX exchange has been configured) Used only when
# rabbit_quorum_queue is enabled, Default 0 which means dont set a limit.
# (integer value)
#rabbit_quorum_delivery_limit = 0

# By default all messages are maintained in memory if a quorum queue grows in
# length it can put memory pressure on a cluster. This option can limit the
# number of messages in the quorum queue. Used only when rabbit_quorum_queue is
# enabled, Default 0 which means dont set a limit. (integer value)
#rabbit_quorum_max_memory_length = 0

# By default all messages are maintained in memory if a quorum queue grows in
# length it can put memory pressure on a cluster. This option can limit the
# number of memory bytes used by the quorum queue. Used only when
# rabbit_quorum_queue is enabled, Default 0 which means dont set a limit.
# (integer value)
#rabbit_quorum_max_memory_bytes = 0

# 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. Setting 0 as value will
# disable the x-expires. If doing so, make sure you have a rabbitmq policy to
# delete the queues or you deployment will create an infinite number of queue
# over time.In case rabbit_stream_fanout is set to True, this option will
# control data retention policy (x-max-age) for messages in the fanout queue
# rather then the queue duration itself. So the oldest data in the stream queue
# will be discarded from it once reaching TTL Setting to 0 will disable x-max-
# age for stream which make stream grow indefinitely filling up the diskspace
# (integer value)
# Minimum value: 0
#rabbit_transient_queues_ttl = 1800

# Specifies the number of messages to prefetch. Setting to zero allows unlimited
# messages. (integer value)
#rabbit_qos_prefetch_count = 0

# Number of seconds after which the Rabbit broker is considered down if
# heartbeat's keep-alive fails (0 disables heartbeat). (integer value)
#heartbeat_timeout_threshold = 60

# How often times during the heartbeat_timeout_threshold we check the heartbeat.
# (integer value)
#heartbeat_rate = 3

# DEPRECATED: (DEPRECATED) Enable/Disable the RabbitMQ mandatory flag for direct
# send. The direct send is used as reply, so the MessageUndeliverable exception
# is raised in case the client queue does not exist.MessageUndeliverable
# exception will be used to loop for a timeout to lets a chance to sender to
# recover.This flag is deprecated and it will not be possible to deactivate this
# functionality anymore (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: Mandatory flag no longer deactivable.
#direct_mandatory_flag = true

# Enable x-cancel-on-ha-failover flag so that rabbitmq server will cancel and
# notify consumerswhen queue is down (boolean value)
#enable_cancel_on_failover = false

# Should we use consistant queue names or random ones (boolean value)
#use_queue_manager = false

# Hostname used by queue manager. Defaults to the value returned by
# socket.gethostname(). (string value)
#
# This option has a sample default set, which means that
# its actual default value may vary from the one documented
# below.
#hostname = node1.example.com

# Process name used by queue manager (string value)
#
# This option has a sample default set, which means that
# its actual default value may vary from the one documented
# below.
#processname = nova-api

# Use stream queues in RabbitMQ (x-queue-type: stream). Streams are a new
# persistent and replicated data structure ("queue type") in RabbitMQ which
# models an append-only log with non-destructive consumer semantics. It is
# available as of RabbitMQ 3.9.0. If set this option will replace all fanout
# queues with only one stream queue. (boolean value)
#rabbit_stream_fanout = false


[oslo_middleware]

#
# From oslo.middleware
#

# The maximum body size for each request, in bytes. (integer value)
#max_request_body_size = 114688

# Whether the application is behind a proxy or not. This determines if the
# middleware should parse the headers or not. (boolean value)
#enable_proxy_headers_parsing = false

# HTTP basic auth password file. (string value)
#http_basic_auth_user_file = /etc/htpasswd


[oslo_policy]

#
# From oslo.policy
#

# DEPRECATED: This option controls whether or not to enforce scope when
# evaluating policies. If ``True``, the scope of the token used in the request
# is compared to the ``scope_types`` of the policy being enforced. If the scopes
# do not match, an ``InvalidScope`` exception will be raised. If ``False``, a
# message will be logged informing operators that policies are being invoked
# with mismatching scope. (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: This configuration was added temporarily to facilitate a smooth
# transition to the new RBAC. OpenStack will always enforce scope checks. This
# configuration option is deprecated and will be removed in the 2025.2 cycle.
#enforce_scope = true

# This option controls whether or not to use old deprecated defaults when
# evaluating policies. If ``True``, the old deprecated defaults are not going to
# be evaluated. This means if any existing token is allowed for old defaults but
# is disallowed for new defaults, it will be disallowed. It is encouraged to
# enable this flag along with the ``enforce_scope`` flag so that you can get the
# benefits of new defaults and ``scope_type`` together. If ``False``, the
# deprecated policy check string is logically OR'd with the new policy check
# string, allowing for a graceful upgrade experience between releases with new
# policies, which is the default behavior. (boolean value)
#enforce_new_defaults = true

# The relative or absolute path of a file that maps roles to permissions for a
# given service. Relative paths must be specified in relation to the
# configuration file setting this option. (string value)
#policy_file = policy.yaml

# Default rule. Enforced when a requested rule is not found. (string value)
#policy_default_rule = 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)
#policy_dirs = policy.d

# Content Type to send and receive data for REST based policy check (string
# value)
# Possible values:
# application/x-www-form-urlencoded - <No description provided>
# application/json - <No description provided>
#remote_content_type = application/x-www-form-urlencoded

# server identity verification for REST based policy check (boolean value)
#remote_ssl_verify_server_crt = false

# Absolute path to ca cert file for REST based policy check (string value)
#remote_ssl_ca_crt_file = <None>

# Absolute path to client cert for REST based policy check (string value)
#remote_ssl_client_crt_file = <None>

# Absolute path client key file REST based policy check (string value)
#remote_ssl_client_key_file = <None>

# Timeout in seconds for REST based policy check (floating point value)
# Minimum value: 0
#remote_timeout = 60


[oslo_versionedobjects]

#
# From oslo.versionedobjects
#

# Make exception message format errors fatal (boolean value)
#fatal_exception_format_errors = false


[process_failure]

#
# From masakari.conf
#

# Compute disable reason in case Masakari detects process failure. (string
# value)
#service_disable_reason = Masakari detected process failed.


[ssl]

#
# From masakari.conf
#

# DEPRECATED: CA certificate file to use to verify connecting clients. (string
# value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: The 'ca_file' option is deprecated and will be removed in a future
# release.
#ca_file = <None>

# DEPRECATED: Certificate file to use when starting the server securely. (string
# value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: The 'cert_file' option is deprecated and will be removed in a future
# release.
#cert_file = <None>

# DEPRECATED: Private key file to use when starting the server securely. (string
# value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: The 'key_file' option is deprecated and will be removed in a future
# release.
#key_file = <None>

# DEPRECATED: 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)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: The 'version' option is deprecated and will be removed in a future
# release.
#version = <None>

# DEPRECATED: Sets the list of available ciphers. value should be a string in
# the OpenSSL cipher list format. (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: The 'ciphers' option is deprecated and will be removed in a future
# release.
#ciphers = <None>


[taskflow]

#
# From masakari.conf
#

#
# The SQLAlchemy connection string to use to connect to the taskflow database.
#  (string value)
#connection = <None>


[wsgi]

#
# From masakari.conf
#

# File name for the paste.deploy config for masakari-api (string value)
#api_paste_config = api-paste.ini

# 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. (string value)
#wsgi_log_format = %(client_ip)s "%(request_line)s" status: %(status_code)s len: %(body_length)s time: %(wall_seconds).7f

# The HTTP header used to determine the scheme for the original request, even if
# it was removed by an SSL terminating proxy. Typical value is
# "HTTP_X_FORWARDED_PROTO". (string value)
#secure_proxy_ssl_header = <None>

# CA certificate file to use to verify connecting clients (string value)
#ssl_ca_file = <None>

# SSL certificate of API server (string value)
#ssl_cert_file = <None>

# SSL private key of API server (string value)
#ssl_key_file = <None>

# Sets the value of TCP_KEEPIDLE in seconds for each server socket. Not
# supported on OS X. (integer value)
#tcp_keepidle = 600

# Size of the pool of greenthreads used by wsgi (integer value)
# Deprecated group/name - [DEFAULT]/wsgi_default_pool_size
#default_pool_size = 1000

# 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). (integer value)
#max_header_line = 16384

# If False, closes the client socket connection explicitly. (boolean value)
# Deprecated group/name - [DEFAULT]/wsgi_keep_alive
#keep_alive = true

# Timeout for client connections' socket operations. If an incoming connection
# is idle for this number of seconds it will be closed. A value of '0' means
# wait forever. (integer value)
#client_socket_timeout = 900

最小配置

编辑 /etc/masakari/masakari.conf 文件并完成以下操作

[DEFAULT] 部分,设置以下选项

auth_strategy = keystone
masakari_topic = ha_engine
os_privileged_user_tenant = service
os_privileged_user_auth_url = http://controller/identity
os_privileged_user_name = nova
os_privileged_user_password = PRIVILEGED_USER_PASS

PRIVILEGED_USER_PASS 替换为您在 Identity 服务中为特权用户选择的密码。

[database] 部分,配置数据库访问

connection = mysql+pymysql://root:MASAKARI_DBPASS@controller/masakari?charset=utf8

[keystone_authtoken] 部分,配置 Identity 服务访问

auth_url = http://controller/identity
memcached_servers = controller:11211
signing_dir = /var/cache/masakari
project_domain_name = Default
user_domain_name = Default
project_name = service
username = masakari
password = MASAKARI_PASS
auth_type = password
cafile = /opt/stack/data/ca-bundle.pem

MASAKARI_PASS 替换为您在 Identity 服务中为 masakari 用户选择的密码。

[coordination] 部分,如果使用 coordination 用于 Masakari-api 服务,则设置 ‘backend_url’。

注意

根据安装中使用的 tooz 后端,可能需要其他软件包。例如,如果后端驱动程序配置为使用 etcd3+http://,则需要 etcd3gw。支持的驱动程序列于 Tooz 驱动程序 中。