watcher.conf

The watcher.conf file contains most of the options to configure the Watcher services.

DEFAULT

debug
Type:

boolean

Default:

False

Mutable:

This option can be changed without restarting.

If set to true, the logging level will be set to DEBUG instead of the default INFO level.

log_config_append
Type:

string

Default:

<None>

Mutable:

This option can be changed without restarting.

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

Deprecated Variations

Group

Name

DEFAULT

log-config

DEFAULT

log_config

log_date_format
Type:

string

Default:

%Y-%m-%d %H:%M:%S

Defines the format string for %(asctime)s in log records. Default: the value above . This option is ignored if log_config_append is set.

log_file
Type:

string

Default:

<None>

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

Deprecated Variations

Group

Name

DEFAULT

logfile

log_dir
Type:

string

Default:

<None>

(Optional) The base directory used for relative log_file paths. This option is ignored if log_config_append is set.

Deprecated Variations

Group

Name

DEFAULT

logdir

watch_log_file
Type:

boolean

Default:

False

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.

Warning

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

use_syslog
Type:

boolean

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.

use_journal
Type:

boolean

Default:

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.

syslog_log_facility
Type:

string

Default:

LOG_USER

Syslog facility to receive log lines. This option is ignored if log_config_append is set.

use_json
Type:

boolean

Default:

False

Use JSON formatting for logging. This option is ignored if log_config_append is set.

use_stderr
Type:

boolean

Default:

False

Log output to standard error. This option is ignored if log_config_append is set.

use_eventlog
Type:

boolean

Default:

False

Log output to Windows Event Log.

Warning

This option is deprecated for removal. Its value may be silently ignored in the future.

Reason:

Windows support is no longer maintained.

log_color
Type:

boolean

Default:

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.

log_rotate_interval
Type:

integer

Default:

1

The amount of time before the log files are rotated. This option is ignored unless log_rotation_type is set to “interval”.

log_rotate_interval_type
Type:

string

Default:

days

Valid Values:

Seconds, Minutes, Hours, Days, Weekday, Midnight

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.

max_logfile_count
Type:

integer

Default:

30

Maximum number of rotated log files.

max_logfile_size_mb
Type:

integer

Default:

200

Log file maximum size in MB. This option is ignored if “log_rotation_type” is not set to “size”.

log_rotation_type
Type:

string

Default:

none

Valid Values:

interval, size, none

Log rotation type.

Possible values

interval

Rotate logs at predefined time intervals.

size

Rotate logs once they reach a predefined size.

none

Do not rotate log files.

logging_context_format_string
Type:

string

Default:

%(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 with context. Used by oslo_log.formatters.ContextFormatter

logging_default_format_string
Type:

string

Default:

%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s

Format string to use for log messages when context is undefined. Used by oslo_log.formatters.ContextFormatter

logging_debug_format_suffix
Type:

string

Default:

%(funcName)s %(pathname)s:%(lineno)d

Additional data to append to log message when logging level for the message is DEBUG. Used by oslo_log.formatters.ContextFormatter

logging_exception_prefix
Type:

string

Default:

%(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s

Prefix each line of exception output with this format. Used by oslo_log.formatters.ContextFormatter

logging_user_identity_format
Type:

string

Default:

%(user)s %(project)s %(domain)s %(system_scope)s %(user_domain)s %(project_domain)s

Defines the format string for %(user_identity)s that is used in logging_context_format_string. Used by oslo_log.formatters.ContextFormatter

default_log_levels
Type:

list

Default:

['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']

List of package logging levels in logger=LEVEL pairs. This option is ignored if log_config_append is set.

publish_errors
Type:

boolean

Default:

False

Enables or disables publication of error events.

instance_format
Type:

string

Default:

"[instance: %(uuid)s] "

The format for an instance that is passed with the log message.

instance_uuid_format
Type:

string

Default:

"[instance: %(uuid)s] "

The format for an instance UUID that is passed with the log message.

rate_limit_interval
Type:

integer

Default:

0

Interval, number of seconds, of log rate limiting.

rate_limit_burst
Type:

integer

Default:

0

Maximum number of logged messages per rate_limit_interval.

rate_limit_except_level
Type:

string

Default:

CRITICAL

Valid Values:

CRITICAL, ERROR, INFO, WARNING, DEBUG, ‘’

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.

fatal_deprecations
Type:

boolean

Default:

False

Enables or disables fatal status of deprecations.

enable_authentication
Type:

boolean

Default:

True

This option enables or disables user authentication via keystone. Default value is True.

fatal_exception_format_errors
Type:

boolean

Default:

False

Make exception message format errors fatal.

pybasedir
Type:

string

Default:

/home/zuul/src/opendev.org/openstack/watcher/watcher

Directory where the watcher python module is installed.

bindir
Type:

string

Default:

$pybasedir/bin

Directory where watcher binaries are installed.

state_path
Type:

string

Default:

$pybasedir

Top-level directory for maintaining watcher’s state.

periodic_interval
Type:

integer

Default:

60

Mutable:

This option can be changed without restarting.

Seconds between running periodic tasks.

host
Type:

host address

Default:

np0039426306

Name of this node. This can be an opaque identifier. It is not necessarily a hostname, FQDN, or IP address. However, the node name must be valid within an AMQP key.

service_down_time
Type:

integer

Default:

90

Maximum time since last check-in for up service.

run_external_periodic_tasks
Type:

boolean

Default:

True

Some periodic tasks can be run in a separate process. Should we run them here?

backdoor_port
Type:

string

Default:

<None>

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.

backdoor_socket
Type:

string

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. Inside the path {pid} will be replaced with the PID of the current process.

log_options
Type:

boolean

Default:

True

Enables or disables logging values of all registered options when starting a service (at DEBUG level).

graceful_shutdown_timeout
Type:

integer

Default:

60

Specify a timeout after which a gracefully shutdown server will exit. Zero value means endless wait.

api_paste_config
Type:

string

Default:

api-paste.ini

File name for the paste.deploy config for api service

wsgi_log_format
Type:

string

Default:

%(client_ip)s "%(request_line)s" status: %(status_code)s  len: %(body_length)s time: %(wall_seconds).7f

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.

tcp_keepidle
Type:

integer

Default:

600

Sets the value of TCP_KEEPIDLE in seconds for each server socket. Not supported on OS X.

wsgi_default_pool_size
Type:

integer

Default:

100

Size of the pool of greenthreads used by wsgi

max_header_line
Type:

integer

Default:

16384

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

wsgi_keep_alive
Type:

boolean

Default:

True

If False, closes the client socket connection explicitly.

client_socket_timeout
Type:

integer

Default:

900

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.

wsgi_server_debug
Type:

boolean

Default:

False

True if the server should send exception tracebacks to the clients on 500 errors. If False, the server will respond with empty bodies.

rpc_conn_pool_size
Type:

integer

Default:

30

Minimum Value:

1

Size of RPC connection pool.

Deprecated Variations

Group

Name

DEFAULT

rpc_conn_pool_size

conn_pool_min_size
Type:

integer

Default:

2

The pool size limit for connections expiration policy

conn_pool_ttl
Type:

integer

Default:

1200

The time-to-live in sec of idle connections in the pool

executor_thread_pool_size
Type:

integer

Default:

64

Size of executor thread pool when executor is threading or eventlet.

Deprecated Variations

Group

Name

DEFAULT

rpc_thread_pool_size

rpc_response_timeout
Type:

integer

Default:

60

Seconds to wait for a response from a call.

transport_url
Type:

string

Default:

rabbit://

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/latest/reference/transport.html

control_exchange
Type:

string

Default:

openstack

The default exchange under which topics are scoped. May be overridden by an exchange name specified in the transport_url option.

rpc_ping_enabled
Type:

boolean

Default:

False

Add an endpoint to answer to ping calls. Endpoint is named oslo_rpc_server_ping

api

port
Type:

port number

Default:

9322

Minimum Value:

0

Maximum Value:

65535

The port for the watcher API server

host
Type:

host address

Default:

127.0.0.1

The listen IP address for the watcher API server

max_limit
Type:

integer

Default:

1000

The maximum number of items returned in a single response from a collection resource

workers
Type:

integer

Default:

<None>

Minimum Value:

1

Number of workers for Watcher API service. The default is equal to the number of CPUs available if that can be determined, else a default worker count of 1 is returned.

enable_ssl_api
Type:

boolean

Default:

False

Enable the integrated stand-alone API to service requests via HTTPS instead of HTTP. If there is a front-end service performing HTTPS offloading from the service, this option should be False; note, you will want to change public API endpoint to represent SSL termination URL with ‘public_endpoint’ option.

enable_webhooks_auth
Type:

boolean

Default:

True

This option enables or disables webhook request authentication via keystone. Default value is True.

cache

config_prefix
Type:

string

Default:

cache.oslo

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.

expiration_time
Type:

integer

Default:

600

Minimum Value:

1

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.

backend_expiration_time
Type:

integer

Default:

<None>

Minimum Value:

1

Expiration time in cache backend to purge expired records automatically. This should be greater than expiration_time and all cache_time options

backend
Type:

string

Default:

dogpile.cache.null

Valid Values:

oslo_cache.memcache_pool, oslo_cache.dict, oslo_cache.mongo, oslo_cache.etcd3gw, dogpile.cache.pymemcache, dogpile.cache.memcached, dogpile.cache.pylibmc, dogpile.cache.bmemcached, dogpile.cache.dbm, dogpile.cache.redis, dogpile.cache.redis_sentinel, dogpile.cache.memory, dogpile.cache.memory_pickle, dogpile.cache.null

Cache backend module. For eventlet-based or environments with hundreds of threaded servers, Memcache with pooling (oslo_cache.memcache_pool) is recommended. For environments with less than 100 threaded servers, Memcached (dogpile.cache.memcached) or Redis (dogpile.cache.redis) is recommended. Test environments with a single instance of the server can use the dogpile.cache.memory backend.

backend_argument
Type:

multi-valued

Default:

''

Arguments supplied to the backend module. Specify this option once per argument to be passed to the dogpile.cache backend. Example format: “<argname>:<value>”.

proxies
Type:

list

Default:

[]

Proxy classes to import that will affect the way the dogpile.cache backend functions. See the dogpile.cache documentation on changing-backend-behavior.

enabled
Type:

boolean

Default:

False

Global toggle for caching.

debug_cache_backend
Type:

boolean

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.

memcache_servers
Type:

list

Default:

['localhost:11211']

Memcache servers in the format of “host:port”. This is used by backends dependent on Memcached.If dogpile.cache.memcached or oslo_cache.memcache_pool is used and a given host refer to an IPv6 or a given domain refer to IPv6 then you should prefix the given address with the address family (inet6) (e.g inet6[::1]:11211, inet6:[fd12:3456:789a:1::1]:11211, inet6:[controller-0.internalapi]:11211). If the address family is not given then these backends will use the default inet address family which corresponds to IPv4

memcache_dead_retry
Type:

integer

Default:

300

Number of seconds memcached server is considered dead before it is tried again. (dogpile.cache.memcache and oslo_cache.memcache_pool backends only).

memcache_socket_timeout
Type:

floating point

Default:

1.0

Timeout in seconds for every call to a server. (dogpile.cache.memcache and oslo_cache.memcache_pool backends only).

memcache_pool_maxsize
Type:

integer

Default:

10

Max total number of open connections to every memcached server. (oslo_cache.memcache_pool backend only).

memcache_pool_unused_timeout
Type:

integer

Default:

60

Number of seconds a connection to memcached is held unused in the pool before it is closed. (oslo_cache.memcache_pool backend only).

memcache_pool_connection_get_timeout
Type:

integer

Default:

10

Number of seconds that an operation will wait to get a memcache client connection.

memcache_pool_flush_on_reconnect
Type:

boolean

Default:

False

Global toggle if memcache will be flushed on reconnect. (oslo_cache.memcache_pool backend only).

memcache_sasl_enabled
Type:

boolean

Default:

False

Enable the SASL(Simple Authentication and SecurityLayer) if the SASL_enable is true, else disable.

memcache_username
Type:

string

Default:

<None>

the user name for the memcached which SASL enabled

memcache_password
Type:

string

Default:

<None>

the password for the memcached which SASL enabled

redis_server
Type:

string

Default:

localhost:6379

Redis server in the format of “host:port”

redis_db
Type:

integer

Default:

0

Minimum Value:

0

Database id in Redis server

redis_username
Type:

string

Default:

<None>

the user name for redis

redis_password
Type:

string

Default:

<None>

the password for redis

redis_sentinels
Type:

list

Default:

['localhost:26379']

Redis sentinel servers in the format of “host:port”

redis_socket_timeout
Type:

floating point

Default:

1.0

Timeout in seconds for every call to a server. (dogpile.cache.redis and dogpile.cache.redis_sentinel backends only).

redis_sentinel_service_name
Type:

string

Default:

mymaster

Service name of the redis sentinel cluster.

tls_enabled
Type:

boolean

Default:

False

Global toggle for TLS usage when communicating with the caching servers. Currently supported by dogpile.cache.bmemcache, dogpile.cache.pymemcache, oslo_cache.memcache_pool, dogpile.cache.redis and dogpile.cache.redis_sentinel.

tls_cafile
Type:

string

Default:

<None>

Path to a file of concatenated CA certificates in PEM format necessary to establish the caching servers’ authenticity. If tls_enabled is False, this option is ignored.

tls_certfile
Type:

string

Default:

<None>

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.

tls_keyfile
Type:

string

Default:

<None>

Path to a single file containing the client’s private key in. Otherwise the private key will be taken from the file specified in tls_certfile. If tls_enabled is False, this option is ignored.

tls_allowed_ciphers
Type:

string

Default:

<None>

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. Currently supported by dogpile.cache.bmemcache, dogpile.cache.pymemcache and oslo_cache.memcache_pool.

enable_socket_keepalive
Type:

boolean

Default:

False

Global toggle for the socket keepalive of dogpile’s pymemcache backend

socket_keepalive_idle
Type:

integer

Default:

1

Minimum Value:

0

The time (in seconds) the connection needs to remain idle before TCP starts sending keepalive probes. Should be a positive integer most greater than zero.

socket_keepalive_interval
Type:

integer

Default:

1

Minimum Value:

0

The time (in seconds) between individual keepalive probes. Should be a positive integer greater than zero.

socket_keepalive_count
Type:

integer

Default:

1

Minimum Value:

0

The maximum number of keepalive probes TCP should send before dropping the connection. Should be a positive integer greater than zero.

enable_retry_client
Type:

boolean

Default:

False

Enable retry client mechanisms to handle failure. Those mechanisms can be used to wrap all kind of pymemcache clients. The wrapper allows you to define how many attempts to make and how long to wait between attemots.

retry_attempts
Type:

integer

Default:

2

Minimum Value:

1

Number of times to attempt an action before failing.

retry_delay
Type:

floating point

Default:

0

Number of seconds to sleep between each attempt.

hashclient_retry_attempts
Type:

integer

Default:

2

Minimum Value:

1

Amount of times a client should be tried before it is marked dead and removed from the pool in the HashClient’s internal mechanisms.

hashclient_retry_delay
Type:

floating point

Default:

1

Time in seconds that should pass between retry attempts in the HashClient’s internal mechanisms.

dead_timeout
Type:

floating point

Default:

60

Time in seconds before attempting to add a node back in the pool in the HashClient’s internal mechanisms.

enforce_fips_mode
Type:

boolean

Default:

False

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. Currently supported by dogpile.cache.bmemcache, dogpile.cache.pymemcache and oslo_cache.memcache_pool.

ceilometer_client

api_version
Type:

string

Default:

2

Version of Ceilometer API to use in ceilometerclient.

Warning

This option is deprecated for removal since 1.13.0. Its value may be silently ignored in the future.

Reason:

Ceilometer API is deprecated since Ocata release. Any related configuration options are deprecated too.

endpoint_type
Type:

string

Default:

internalURL

Type of endpoint to use in ceilometerclient. Supported values: internalURL, publicURL, adminURL. The default is internalURL.

Warning

This option is deprecated for removal since 1.13.0. Its value may be silently ignored in the future.

Reason:

Ceilometer API is deprecated since Ocata release. Any related configuration options are deprecated too.

region_name
Type:

string

Default:

<None>

Region in Identity service catalog to use for communication with the OpenStack service.

Warning

This option is deprecated for removal since 1.13.0. Its value may be silently ignored in the future.

Reason:

Ceilometer API is deprecated since Ocata release. Any related configuration options are deprecated too.

cinder_client

api_version
Type:

string

Default:

3

Version of Cinder API to use in cinderclient.

endpoint_type
Type:

string

Default:

publicURL

Type of endpoint to use in cinderclient. Supported values: internalURL, publicURL, adminURL. The default is publicURL.

region_name
Type:

string

Default:

<None>

Region in Identity service catalog to use for communication with the OpenStack service.

collector

collector_plugins
Type:

list

Default:

['compute']

The cluster data model plugin names.

Supported in-tree collectors include:

  • compute - data model collector for nova

  • storage - data model collector for cinder

  • baremetal - data model collector for ironic

Custom data model collector plugins can be defined with the watcher_cluster_data_model_collectors extension point.

api_call_retries
Type:

integer

Default:

10

Number of retries before giving up on external service calls.

api_query_timeout
Type:

integer

Default:

1

Time before retry after failed call to external service.

database

mysql_engine
Type:

string

Default:

InnoDB

MySQL engine to use.

sqlite_synchronous
Type:

boolean

Default:

True

If True, SQLite uses synchronous mode.

backend
Type:

string

Default:

sqlalchemy

The back end to use for the database.

connection
Type:

string

Default:

<None>

The SQLAlchemy connection string to use to connect to the database.

slave_connection
Type:

string

Default:

<None>

The SQLAlchemy connection string to use to connect to the slave database.

asyncio_connection
Type:

string

Default:

<None>

The SQLAlchemy asyncio connection string to use to connect to the database.

asyncio_slave_connection
Type:

string

Default:

<None>

The SQLAlchemy asyncio connection string to use to connect to the slave database.

mysql_sql_mode
Type:

string

Default:

TRADITIONAL

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=

mysql_wsrep_sync_wait
Type:

integer

Default:

<None>

For Galera only, configure wsrep_sync_wait causality checks on new connections. Default is None, meaning don’t configure any setting.

connection_recycle_time
Type:

integer

Default:

3600

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.

max_pool_size
Type:

integer

Default:

5

Maximum number of SQL connections to keep open in a pool. Setting a value of 0 indicates no limit.

max_retries
Type:

integer

Default:

10

Maximum number of database connection retries during startup. Set to -1 to specify an infinite retry count.

retry_interval
Type:

integer

Default:

10

Interval between retries of opening a SQL connection.

max_overflow
Type:

integer

Default:

50

If set, use this value for max_overflow with SQLAlchemy.

connection_debug
Type:

integer

Default:

0

Minimum Value:

0

Maximum Value:

100

Verbosity of SQL debugging information: 0=None, 100=Everything.

connection_trace
Type:

boolean

Default:

False

Add Python stack traces to SQL as comment strings.

pool_timeout
Type:

integer

Default:

<None>

If set, use this value for pool_timeout with SQLAlchemy.

use_db_reconnect
Type:

boolean

Default:

False

Enable the experimental use of database reconnect on connection lost.

db_retry_interval
Type:

integer

Default:

1

Seconds between retries of a database transaction.

db_inc_retry_interval
Type:

boolean

Default:

True

If True, increases the interval between retries of a database operation up to db_max_retry_interval.

db_max_retry_interval
Type:

integer

Default:

10

If db_inc_retry_interval is set, the maximum seconds between retries of a database operation.

db_max_retries
Type:

integer

Default:

20

Maximum retries in case of connection error or deadlock error before error is raised. Set to -1 to specify an infinite retry count.

connection_parameters
Type:

string

Default:

''

Optional URL parameters to append onto the connection URL at connect time; specify as param1=value1&param2=value2&…

glance_client

api_version
Type:

string

Default:

2

Version of Glance API to use in glanceclient.

endpoint_type
Type:

string

Default:

publicURL

Type of endpoint to use in glanceclient. Supported values: internalURL, publicURL, adminURL. The default is publicURL.

region_name
Type:

string

Default:

<None>

Region in Identity service catalog to use for communication with the OpenStack service.

gnocchi_client

api_version
Type:

string

Default:

1

Version of Gnocchi API to use in gnocchiclient.

endpoint_type
Type:

string

Default:

public

Type of endpoint to use in gnocchi client. Supported values: internal, public, admin. The default is public.

region_name
Type:

string

Default:

<None>

Region in Identity service catalog to use for communication with the OpenStack service.

grafana_client

See https://docs.openstack.org/watcher/latest/datasources/grafana.html for details on how these options are used.

token
Type:

string

Default:

<None>

Authentication token to gain access

base_url
Type:

string

Default:

<None>

First part of the url (including https:// or http://) up until project id part. Example: https://secure.org/api/datasource/proxy/

project_id_map
Type:

dict

Default:

{'host_cpu_usage': None, 'host_ram_usage': None, 'host_outlet_temp': None, 'host_inlet_temp': None, 'host_airflow': None, 'host_power': None, 'instance_cpu_usage': None, 'instance_ram_usage': None, 'instance_ram_allocated': None, 'instance_l3_cache_usage': None, 'instance_root_disk_size': None}

Mapping of datasource metrics to grafana project ids. Dictionary values should be positive integers. Example: 7465

database_map
Type:

dict

Default:

{'host_cpu_usage': None, 'host_ram_usage': None, 'host_outlet_temp': None, 'host_inlet_temp': None, 'host_airflow': None, 'host_power': None, 'instance_cpu_usage': None, 'instance_ram_usage': None, 'instance_ram_allocated': None, 'instance_l3_cache_usage': None, 'instance_root_disk_size': None}

Mapping of datasource metrics to grafana databases. Values should be strings. Example: influx_production

attribute_map
Type:

dict

Default:

{'host_cpu_usage': None, 'host_ram_usage': None, 'host_outlet_temp': None, 'host_inlet_temp': None, 'host_airflow': None, 'host_power': None, 'instance_cpu_usage': None, 'instance_ram_usage': None, 'instance_ram_allocated': None, 'instance_l3_cache_usage': None, 'instance_root_disk_size': None}

Mapping of datasource metrics to resource attributes. For a complete list of available attributes see https://docs.openstack.org/watcher/latest/datasources/grafana.html#attribute Values should be strings. Example: hostname

translator_map
Type:

dict

Default:

{'host_cpu_usage': None, 'host_ram_usage': None, 'host_outlet_temp': None, 'host_inlet_temp': None, 'host_airflow': None, 'host_power': None, 'instance_cpu_usage': None, 'instance_ram_usage': None, 'instance_ram_allocated': None, 'instance_l3_cache_usage': None, 'instance_root_disk_size': None}

Mapping of datasource metrics to grafana translators. Values should be strings. Example: influxdb

query_map
Type:

dict

Default:

{'host_cpu_usage': None, 'host_ram_usage': None, 'host_outlet_temp': None, 'host_inlet_temp': None, 'host_airflow': None, 'host_power': None, 'instance_cpu_usage': None, 'instance_ram_usage': None, 'instance_ram_allocated': None, 'instance_l3_cache_usage': None, 'instance_root_disk_size': None}

Mapping of datasource metrics to grafana queries. Values should be strings for which the .format method will transform it. The transformation offers five parameters to the query labeled {0} to {4}. {0} will be replaced with the aggregate, {1} with the resource attribute, {2} with the period, {3} with the granularity and {4} with translator specifics for InfluxDB this will be the retention period. These queries will need to be constructed using tools such as Postman. Example: SELECT cpu FROM {4}.cpu_percent WHERE host == ‘{1}’ AND time > now()-{2}s

http_timeout
Type:

integer

Default:

60

Minimum Value:

0

Mutable:

This option can be changed without restarting.

Timeout for Grafana request

grafana_translators

retention_periods
Type:

dict

Default:

{'one_week': 604800, 'one_month': 2592000, 'five_years': 31556952}

Keys are the names of retention periods in InfluxDB and the values should correspond with the maximum time they can retain in seconds. Example: {‘one_day’: 86400}

ironic_client

api_version
Type:

string

Default:

1

Version of Ironic API to use in ironicclient.

endpoint_type
Type:

string

Default:

publicURL

Type of endpoint to use in ironicclient. Supported values: internalURL, publicURL, adminURL. The default is publicURL.

region_name
Type:

string

Default:

<None>

Region in Identity service catalog to use for communication with the OpenStack service.

keystone_authtoken

www_authenticate_uri
Type:

string

Default:

<None>

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.

Deprecated Variations

Group

Name

keystone_authtoken

auth_uri

auth_uri
Type:

string

Default:

<None>

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.

Warning

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_version
Type:

string

Default:

<None>

API version of the Identity API endpoint.

interface
Type:

string

Default:

internal

Interface to use for the Identity API endpoint. Valid values are “public”, “internal” (default) or “admin”.

delay_auth_decision
Type:

boolean

Default:

False

Do not handle authorization requests within the middleware, but delegate the authorization decision to downstream WSGI components.

http_connect_timeout
Type:

integer

Default:

<None>

Request timeout value for communicating with Identity API server.

http_request_max_retries
Type:

integer

Default:

3

How many times are we trying to reconnect when communicating with Identity API Server.

cache
Type:

string

Default:

<None>

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.

certfile
Type:

string

Default:

<None>

Required if identity server requires client certificate

keyfile
Type:

string

Default:

<None>

Required if identity server requires client certificate

cafile
Type:

string

Default:

<None>

A PEM encoded Certificate Authority to use when verifying HTTPs connections. Defaults to system CAs.

insecure
Type:

boolean

Default:

False

Verify HTTPS connections.

region_name
Type:

string

Default:

<None>

The region in which the identity server can be found.

memcached_servers
Type:

list

Default:

<None>

Optionally specify a list of memcached server(s) to use for caching. If left undefined, tokens will instead be cached in-process.

Deprecated Variations

Group

Name

keystone_authtoken

memcache_servers

token_cache_time
Type:

integer

Default:

300

In order to prevent excessive effort spent validating tokens, the middleware caches previously-seen tokens for a configurable duration (in seconds). Set to -1 to disable caching completely.

memcache_security_strategy
Type:

string

Default:

None

Valid Values:

None, MAC, ENCRYPT

(Optional) If defined, indicate whether token data should be authenticated or authenticated and encrypted. If MAC, token data is authenticated (with HMAC) in the cache. If ENCRYPT, token data is encrypted and authenticated in the cache. If the value is not one of these options or empty, auth_token will raise an exception on initialization.

memcache_secret_key
Type:

string

Default:

<None>

(Optional, mandatory if memcache_security_strategy is defined) This string is used for key derivation.

memcache_pool_dead_retry
Type:

integer

Default:

300

(Optional) Number of seconds memcached server is considered dead before it is tried again.

memcache_pool_maxsize
Type:

integer

Default:

10

(Optional) Maximum total number of open connections to every memcached server.

memcache_pool_socket_timeout
Type:

integer

Default:

3

(Optional) Socket timeout in seconds for communicating with a memcached server.

memcache_pool_unused_timeout
Type:

integer

Default:

60

(Optional) Number of seconds a connection to memcached is held unused in the pool before it is closed.

memcache_pool_conn_get_timeout
Type:

integer

Default:

10

(Optional) Number of seconds that an operation will wait to get a memcached client connection from the pool.

memcache_use_advanced_pool
Type:

boolean

Default:

True

(Optional) Use the advanced (eventlet safe) memcached client pool.

include_service_catalog
Type:

boolean

Default:

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.

enforce_token_bind
Type:

string

Default:

permissive

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.

service_token_roles
Type:

list

Default:

['service']

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.

service_token_roles_required
Type:

boolean

Default:

False

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.

service_type
Type:

string

Default:

<None>

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.

auth_type
Type:

unknown type

Default:

<None>

Authentication type to load

Deprecated Variations

Group

Name

keystone_authtoken

auth_plugin

auth_section
Type:

unknown type

Default:

<None>

Config Section from which to load plugin specific options

keystone_client

interface
Type:

string

Default:

admin

Valid Values:

internal, public, admin

Type of endpoint to use in keystoneclient.

region_name
Type:

string

Default:

<None>

Region in Identity service catalog to use for communication with the OpenStack service.

maas_client

url
Type:

string

Default:

<None>

MaaS URL, example: http://1.2.3.4:5240/MAAS

api_key
Type:

string

Default:

<None>

MaaS API authentication key.

timeout
Type:

integer

Default:

60

MaaS client operation timeout in seconds.

monasca_client

api_version
Type:

string

Default:

2_0

Version of Monasca API to use in monascaclient.

interface
Type:

string

Default:

internal

Type of interface used for monasca endpoint. Supported values: internal, public, admin. The default is internal.

region_name
Type:

string

Default:

<None>

Region in Identity service catalog to use for communication with the OpenStack service.

neutron_client

api_version
Type:

string

Default:

2.0

Version of Neutron API to use in neutronclient.

endpoint_type
Type:

string

Default:

publicURL

Type of endpoint to use in neutronclient. Supported values: internalURL, publicURL, adminURL. The default is publicURL.

region_name
Type:

string

Default:

<None>

Region in Identity service catalog to use for communication with the OpenStack service.

nova_client

api_version
Type:

string

Default:

2.56

Version of Nova API to use in novaclient.

Minimum required version: 2.56

Certain Watcher features depend on a minimum version of the compute API being available which is enforced with this option. See https://docs.openstack.org/nova/latest/reference/api-microversion-history.html for the compute API microversion history.

endpoint_type
Type:

string

Default:

publicURL

Type of endpoint to use in novaclient. Supported values: internalURL, publicURL, adminURL. The default is publicURL.

region_name
Type:

string

Default:

<None>

Region in Identity service catalog to use for communication with the OpenStack service.

oslo_concurrency

disable_process_locking
Type:

boolean

Default:

False

Enables or disables inter-process locks.

lock_path
Type:

string

Default:

<None>

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.

oslo_messaging_kafka

kafka_max_fetch_bytes
Type:

integer

Default:

1048576

Max fetch bytes of Kafka consumer

kafka_consumer_timeout
Type:

floating point

Default:

1.0

Default timeout(s) for Kafka consumers

pool_size
Type:

integer

Default:

10

Pool Size for Kafka Consumers

Warning

This option is deprecated for removal. Its value may be silently ignored in the future.

Reason:

Driver no longer uses connection pool.

conn_pool_min_size
Type:

integer

Default:

2

The pool size limit for connections expiration policy

Warning

This option is deprecated for removal. Its value may be silently ignored in the future.

Reason:

Driver no longer uses connection pool.

conn_pool_ttl
Type:

integer

Default:

1200

The time-to-live in sec of idle connections in the pool

Warning

This option is deprecated for removal. Its value may be silently ignored in the future.

Reason:

Driver no longer uses connection pool.

consumer_group
Type:

string

Default:

oslo_messaging_consumer

Group id for Kafka consumer. Consumers in one group will coordinate message consumption

producer_batch_timeout
Type:

floating point

Default:

0.0

Upper bound on the delay for KafkaProducer batching in seconds

producer_batch_size
Type:

integer

Default:

16384

Size of batch for the producer async send

compression_codec
Type:

string

Default:

none

Valid Values:

none, gzip, snappy, lz4, zstd

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

enable_auto_commit
Type:

boolean

Default:

False

Enable asynchronous consumer commits

max_poll_records
Type:

integer

Default:

500

The maximum number of records returned in a poll call

security_protocol
Type:

string

Default:

PLAINTEXT

Valid Values:

PLAINTEXT, SASL_PLAINTEXT, SSL, SASL_SSL

Protocol used to communicate with brokers

sasl_mechanism
Type:

string

Default:

PLAIN

Mechanism when security protocol is SASL

ssl_cafile
Type:

string

Default:

''

CA certificate PEM file used to verify the server certificate

ssl_client_cert_file
Type:

string

Default:

''

Client certificate PEM file used for authentication.

ssl_client_key_file
Type:

string

Default:

''

Client key PEM file used for authentication.

ssl_client_key_password
Type:

string

Default:

''

Client key password file used for authentication.

oslo_messaging_notifications

driver
Type:

multi-valued

Default:

''

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

Deprecated Variations

Group

Name

DEFAULT

notification_driver

transport_url
Type:

string

Default:

<None>

A URL representing the messaging driver to use for notifications. If not set, we fall back to the same configuration used for RPC.

Deprecated Variations

Group

Name

DEFAULT

notification_transport_url

topics
Type:

list

Default:

['notifications']

AMQP topic used for OpenStack notifications.

Deprecated Variations

Group

Name

rpc_notifier2

topics

DEFAULT

notification_topics

retry
Type:

integer

Default:

-1

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

oslo_messaging_rabbit

amqp_durable_queues
Type:

boolean

Default:

False

Use durable queues in AMQP. If rabbit_quorum_queue is enabled, queues will be durable and this value will be ignored.

amqp_auto_delete
Type:

boolean

Default:

False

Auto-delete queues in AMQP.

Deprecated Variations

Group

Name

DEFAULT

amqp_auto_delete

ssl
Type:

boolean

Default:

False

Connect over SSL.

Deprecated Variations

Group

Name

oslo_messaging_rabbit

rabbit_use_ssl

ssl_version
Type:

string

Default:

''

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.

Deprecated Variations

Group

Name

oslo_messaging_rabbit

kombu_ssl_version

ssl_key_file
Type:

string

Default:

''

SSL key file (valid only if SSL enabled).

Deprecated Variations

Group

Name

oslo_messaging_rabbit

kombu_ssl_keyfile

ssl_cert_file
Type:

string

Default:

''

SSL cert file (valid only if SSL enabled).

Deprecated Variations

Group

Name

oslo_messaging_rabbit

kombu_ssl_certfile

ssl_ca_file
Type:

string

Default:

''

SSL certification authority file (valid only if SSL enabled).

Deprecated Variations

Group

Name

oslo_messaging_rabbit

kombu_ssl_ca_certs

ssl_enforce_fips_mode
Type:

boolean

Default:

False

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.

heartbeat_in_pthread
Type:

boolean

Default:

False

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

Warning

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.

kombu_reconnect_delay
Type:

floating point

Default:

1.0

Minimum Value:

0.0

Maximum Value:

4.5

How long to wait (in seconds) before reconnecting in response to an AMQP consumer cancel notification.

Deprecated Variations

Group

Name

DEFAULT

kombu_reconnect_delay

kombu_compression
Type:

string

Default:

<None>

EXPERIMENTAL: Possible values are: gzip, bz2. If not set compression will not be used. This option may not be available in future versions.

kombu_missing_consumer_retry_timeout
Type:

integer

Default:

60

How long to wait a missing client before abandoning to send it its replies. This value should not be longer than rpc_response_timeout.

Deprecated Variations

Group

Name

oslo_messaging_rabbit

kombu_reconnect_timeout

kombu_failover_strategy
Type:

string

Default:

round-robin

Valid Values:

round-robin, shuffle

Determines how the next RabbitMQ node is chosen in case the one we are currently connected to becomes unavailable. Takes effect only if more than one RabbitMQ node is provided in config.

rabbit_login_method
Type:

string

Default:

AMQPLAIN

Valid Values:

PLAIN, AMQPLAIN, EXTERNAL, RABBIT-CR-DEMO

The RabbitMQ login method.

Deprecated Variations

Group

Name

DEFAULT

rabbit_login_method

rabbit_retry_interval
Type:

integer

Default:

1

How frequently to retry connecting with RabbitMQ.

rabbit_retry_backoff
Type:

integer

Default:

2

How long to backoff for between retries when connecting to RabbitMQ.

Deprecated Variations

Group

Name

DEFAULT

rabbit_retry_backoff

rabbit_interval_max
Type:

integer

Default:

30

Maximum interval of RabbitMQ connection retries. Default is 30 seconds.

rabbit_ha_queues
Type:

boolean

Default:

False

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”}’ “

Deprecated Variations

Group

Name

DEFAULT

rabbit_ha_queues

rabbit_quorum_queue
Type:

boolean

Default:

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.

rabbit_transient_quorum_queue
Type:

boolean

Default:

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.

rabbit_quorum_delivery_limit
Type:

integer

Default:

0

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.

rabbit_quorum_max_memory_length
Type:

integer

Default:

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.

Deprecated Variations

Group

Name

oslo_messaging_rabbit

rabbit_quroum_max_memory_length

rabbit_quorum_max_memory_bytes
Type:

integer

Default:

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.

Deprecated Variations

Group

Name

oslo_messaging_rabbit

rabbit_quroum_max_memory_bytes

rabbit_transient_queues_ttl
Type:

integer

Default:

1800

Minimum Value:

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

rabbit_qos_prefetch_count
Type:

integer

Default:

0

Specifies the number of messages to prefetch. Setting to zero allows unlimited messages.

heartbeat_timeout_threshold
Type:

integer

Default:

60

Number of seconds after which the Rabbit broker is considered down if heartbeat’s keep-alive fails (0 disables heartbeat).

heartbeat_rate
Type:

integer

Default:

3

How often times during the heartbeat_timeout_threshold we check the heartbeat.

direct_mandatory_flag
Type:

boolean

Default:

True

(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

Warning

This option is deprecated for removal. Its value may be silently ignored in the future.

Reason:

Mandatory flag no longer deactivable.

enable_cancel_on_failover
Type:

boolean

Default:

False

Enable x-cancel-on-ha-failover flag so that rabbitmq server will cancel and notify consumerswhen queue is down

use_queue_manager
Type:

boolean

Default:

False

Should we use consistant queue names or random ones

hostname
Type:

string

Default:

node1.example.com

This option has a sample default set, which means that its actual default value may vary from the one documented above.

Hostname used by queue manager. Defaults to the value returned by socket.gethostname().

processname
Type:

string

Default:

nova-api

This option has a sample default set, which means that its actual default value may vary from the one documented above.

Process name used by queue manager

rabbit_stream_fanout
Type:

boolean

Default:

False

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.

oslo_policy

enforce_scope
Type:

boolean

Default:

True

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.

Warning

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_new_defaults
Type:

boolean

Default:

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.

policy_file
Type:

string

Default:

policy.yaml

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.

policy_default_rule
Type:

string

Default:

default

Default rule. Enforced when a requested rule is not found.

policy_dirs
Type:

multi-valued

Default:

policy.d

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.

remote_content_type
Type:

string

Default:

application/x-www-form-urlencoded

Valid Values:

application/x-www-form-urlencoded, application/json

Content Type to send and receive data for REST based policy check

remote_ssl_verify_server_crt
Type:

boolean

Default:

False

server identity verification for REST based policy check

remote_ssl_ca_crt_file
Type:

string

Default:

<None>

Absolute path to ca cert file for REST based policy check

remote_ssl_client_crt_file
Type:

string

Default:

<None>

Absolute path to client cert for REST based policy check

remote_ssl_client_key_file
Type:

string

Default:

<None>

Absolute path client key file REST based policy check

remote_timeout
Type:

floating point

Default:

60

Minimum Value:

0

Timeout in seconds for REST based policy check

oslo_reports

log_dir
Type:

string

Default:

<None>

Path to a log directory where to create a file

file_event_handler
Type:

string

Default:

<None>

The path to a file to watch for changes to trigger the reports, instead of signals. Setting this option disables the signal trigger for the reports. If application is running as a WSGI application it is recommended to use this instead of signals.

file_event_handler_interval
Type:

integer

Default:

1

How many seconds to wait between polls when file_event_handler is set

placement_client

Configuration options for connecting to the placement API service

api_version
Type:

string

Default:

1.29

microversion of placement API when using placement service.

interface
Type:

string

Default:

public

Valid Values:

internal, public, admin

Type of endpoint when using placement service.

region_name
Type:

string

Default:

<None>

Region in Identity service catalog to use for communication with the OpenStack service.

watcher_applier

workers
Type:

integer

Default:

1

Minimum Value:

1

Number of workers for applier, default value is 1.

conductor_topic
Type:

string

Default:

watcher.applier.control

The topic name used for control events, this topic used for rpc call

publisher_id
Type:

string

Default:

watcher.applier.api

The identifier used by watcher module on the message broker

workflow_engine
Type:

string

Default:

taskflow

Select the engine to use to execute the workflow

rollback_when_actionplan_failed
Type:

boolean

Default:

False

If set True, the failed actionplan will rollback when executing. Default value is False.

watcher_clients_auth

cafile
Type:

string

Default:

<None>

PEM encoded Certificate Authority to use when verifying HTTPs connections.

certfile
Type:

string

Default:

<None>

PEM encoded client certificate cert file

keyfile
Type:

string

Default:

<None>

PEM encoded client certificate key file

insecure
Type:

boolean

Default:

False

Verify HTTPS connections.

timeout
Type:

integer

Default:

<None>

Timeout value for http requests

collect_timing
Type:

boolean

Default:

False

Collect per-API call timing information.

split_loggers
Type:

boolean

Default:

False

Log requests to multiple loggers.

auth_type
Type:

unknown type

Default:

<None>

Authentication type to load

Deprecated Variations

Group

Name

watcher_clients_auth

auth_plugin

auth_section
Type:

unknown type

Default:

<None>

Config Section from which to load plugin specific options

watcher_cluster_data_model_collectors.baremetal

period
Type:

integer

Default:

3600

The time interval (in seconds) between each synchronization of the model

watcher_cluster_data_model_collectors.compute

period
Type:

integer

Default:

3600

The time interval (in seconds) between each synchronization of the model

watcher_cluster_data_model_collectors.storage

period
Type:

integer

Default:

3600

The time interval (in seconds) between each synchronization of the model

watcher_datasources

datasources
Type:

list

Default:

['gnocchi', 'ceilometer', 'monasca', 'grafana']

Datasources to use in order to query the needed metrics. If one of strategy metric is not available in the first datasource, the next datasource will be chosen. This is the default for all strategies unless a strategy has a specific override.

query_max_retries
Type:

integer

Default:

10

Minimum Value:

1

Mutable:

This option can be changed without restarting.

How many times Watcher is trying to query again

Deprecated Variations

Group

Name

gnocchi_client

query_max_retries

query_timeout
Type:

integer

Default:

1

Minimum Value:

0

Mutable:

This option can be changed without restarting.

How many seconds Watcher should wait to do query again

Deprecated Variations

Group

Name

gnocchi_client

query_timeout

watcher_decision_engine

conductor_topic
Type:

string

Default:

watcher.decision.control

The topic name used for control events, this topic used for RPC calls

notification_topics
Type:

list

Default:

['nova.versioned_notifications', 'watcher.watcher_notifications']

The exchange and topic names from which notification events will be listened to. The exchange should be specified to get an ability to use pools.

publisher_id
Type:

string

Default:

watcher.decision.api

The identifier used by the Watcher module on the message broker

max_audit_workers
Type:

integer

Default:

2

The maximum number of threads that can be used to execute audits in parallel.

max_general_workers
Type:

integer

Default:

4

The maximum number of threads that can be used to execute general tasks in parallel. The number of general workers will not increase depending on the number of audit workers!

action_plan_expiry
Type:

integer

Default:

24

Mutable:

This option can be changed without restarting.

An expiry timespan(hours). Watcher invalidates any action plan for which its creation time -whose number of hours has been offset by this value- is older that the current time.

check_periodic_interval
Type:

integer

Default:

1800

Mutable:

This option can be changed without restarting.

Interval (in seconds) for checking action plan expiry.

metric_map_path
Type:

string

Default:

/etc/watcher/metric_map.yaml

Path to metric map yaml formatted file. The file contains a map per datasource whose keys are the metric names as recognized by watcher and the value is the real name of the metric in the datasource. For example:

monasca:
  instance_cpu_usage: VM_CPU
gnocchi:
  instance_cpu_usage: cpu_vm_util

This file is optional.

continuous_audit_interval
Type:

integer

Default:

10

Mutable:

This option can be changed without restarting.

Interval (in seconds) for checking newly created continuous audits.

watcher_planner

planner
Type:

string

Default:

weight

The selected planner used to schedule the actions

watcher_planners.weight

weights
Type:

dict

Default:

{'nop': 70, 'volume_migrate': 60, 'change_nova_service_state': 50, 'sleep': 40, 'migrate': 30, 'resize': 20, 'turn_host_to_acpi_s3_state': 10, 'change_node_power_state': 9}

These weights are used to schedule the actions. Action Plan will be build in accordance with sets of actions ordered by descending weights.Two action types cannot have the same weight.

parallelization
Type:

dict

Default:

{'turn_host_to_acpi_s3_state': 2, 'resize': 2, 'migrate': 2, 'sleep': 1, 'change_nova_service_state': 1, 'nop': 1, 'change_node_power_state': 2, 'volume_migrate': 2}

Number of actions to be run in parallel on a per action type basis.

watcher_planners.workload_stabilization

weights
Type:

dict

Default:

{'turn_host_to_acpi_s3_state': 0, 'resize': 1, 'migrate': 2, 'sleep': 3, 'change_nova_service_state': 4, 'nop': 5}

These weights are used to schedule the actions

watcher_strategies.basic

datasources
Type:

list

Default:

<None>

Datasources to use in order to query the needed metrics. This option overrides the global preference. options: [‘gnocchi’, ‘ceilometer’, ‘monasca’, ‘grafana’]

check_optimize_metadata
Type:

boolean

Default:

False

Check optimize metadata field in instance before migration

watcher_strategies.node_resource_consolidation

datasources
Type:

list

Default:

<None>

Datasources to use in order to query the needed metrics. This option overrides the global preference. options: [‘gnocchi’, ‘ceilometer’, ‘monasca’, ‘grafana’]

watcher_strategies.noisy_neighbor

datasources
Type:

list

Default:

<None>

Datasources to use in order to query the needed metrics. This option overrides the global preference. options: [‘gnocchi’, ‘ceilometer’, ‘monasca’, ‘grafana’]

watcher_strategies.outlet_temperature

datasources
Type:

list

Default:

<None>

Datasources to use in order to query the needed metrics. This option overrides the global preference. options: [‘gnocchi’, ‘ceilometer’, ‘monasca’, ‘grafana’]

watcher_strategies.storage_capacity_balance

datasources
Type:

list

Default:

<None>

Datasources to use in order to query the needed metrics. This option overrides the global preference. options: [‘gnocchi’, ‘ceilometer’, ‘monasca’, ‘grafana’]

ex_pools
Type:

list

Default:

['local_vstorage']

exclude pools

watcher_strategies.uniform_airflow

datasources
Type:

list

Default:

<None>

Datasources to use in order to query the needed metrics. This option overrides the global preference. options: [‘gnocchi’, ‘ceilometer’, ‘monasca’, ‘grafana’]

watcher_strategies.vm_workload_consolidation

datasources
Type:

list

Default:

<None>

Datasources to use in order to query the needed metrics. This option overrides the global preference. options: [‘gnocchi’, ‘ceilometer’, ‘monasca’, ‘grafana’]

watcher_strategies.workload_balance

datasources
Type:

list

Default:

<None>

Datasources to use in order to query the needed metrics. This option overrides the global preference. options: [‘gnocchi’, ‘ceilometer’, ‘monasca’, ‘grafana’]

watcher_strategies.workload_stabilization

datasources
Type:

list

Default:

<None>

Datasources to use in order to query the needed metrics. This option overrides the global preference. options: [‘gnocchi’, ‘ceilometer’, ‘monasca’, ‘grafana’]

watcher_workflow_engines.taskflow

max_workers
Type:

integer

Default:

8

Minimum Value:

1

Number of workers for taskflow engine to execute actions.

action_execution_rule
Type:

dict

Default:

{}

The execution rule for linked actions,the key is strategy name and value ALWAYS means all actions will be executed,value ANY means if previous action executes success, the next action will be ignored.None means ALWAYS.