Chapter 12. sahara

The following chapter contains information about the configuration options in the sahara service.

12.1. sahara.conf

This section contains options for the /etc/sahara/sahara.conf file.

12.1.1. DEFAULT

The following table outlines the options available under the [DEFAULT] group in the /etc/sahara/sahara.conf file.

Table 12.1. DEFAULT

Configuration option = Default valueTypeDescription

api_paste_config = api-paste.ini

string value

File name for the paste.deploy config for api service

api_workers = 1

integer value

Number of workers for Sahara API service (0 means all-in-one-thread configuration).

cleanup_time_for_incomplete_clusters = 0

integer value

Maximal time (in hours) for clusters allowed to be in states other than "Active", "Deleting" or "Error". If a cluster is not in "Active", "Deleting" or "Error" state and last update of it was longer than "cleanup_time_for_incomplete_clusters" hours ago then it will be deleted automatically. (0 value means that automatic clean up is disabled).

client_socket_timeout = 900

integer value

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.

cluster_remote_threshold = 70

integer value

The same as global_remote_threshold, but for a single cluster.

compute_topology_file = etc/sahara/compute.topology

string value

File with nova compute topology. It should contain mapping between nova computes and racks.

conn_pool_min_size = 2

integer value

The pool size limit for connections expiration policy

conn_pool_ttl = 1200

integer value

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

control_exchange = openstack

string value

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

coordinator_heartbeat_interval = 1

integer value

Interval size between heartbeat execution in seconds. Heartbeats are executed to make sure that connection to the coordination server is active.

data_source_types = [u'swift', u'hdfs', u'maprfs', u'manila']

list value

List of data sources types to be loaded. Sahara preserves the order of the list when returning it.

db_driver = sahara.db

string value

Driver to use for database access.

debug = False

boolean value

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

default_log_levels = [u'amqp=WARN', u'amqplib=WARN', u'boto=WARN', u'qpid=WARN', u'sqlalchemy=WARN', u'suds=INFO', u'oslo.messaging=INFO', u'oslo_messaging=INFO', u'iso8601=WARN', u'requests.packages.urllib3.connectionpool=WARN', u'urllib3.connectionpool=WARN', u'websocket=WARN', u'requests.packages.urllib3.util.retry=WARN', u'urllib3.util.retry=WARN', u'keystonemiddleware=WARN', u'routes.middleware=WARN', u'stevedore=WARN', u'taskflow=WARN', u'keystoneauth=WARN', u'oslo.cache=INFO', u'dogpile.core.dogpile=INFO', u'stevedore=INFO', u'eventlet.wsgi.server=WARN', u'paramiko=WARN', u'requests=WARN', u'neutronclient=INFO']

list value

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

disable_event_log = False

boolean value

Disables event log feature.

edp_internal_db_enabled = True

boolean value

Use Sahara internal db to store job binaries.

enable_data_locality = False

boolean value

Enables data locality for hadoop cluster. Also enables data locality for Swift used by hadoop. If enabled, compute_topology and swift_topology configuration parameters should point to OpenStack and Swift topology correspondingly.

enable_hypervisor_awareness = True

boolean value

Enables four-level topology for data locality. Works only if corresponding plugin supports such mode.

executor_thread_pool_size = 64

integer value

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

fatal_deprecations = False

boolean value

Enables or disables fatal status of deprecations.

global_remote_threshold = 100

integer value

Maximum number of remote operations that will be running at the same time. Note that each remote operation requires its own process to run.

hash_ring_replicas_count = 40

integer value

Number of points that belongs to each member on a hash ring. The larger number leads to a better distribution.

heat_enable_wait_condition = True

boolean value

Enable wait condition feature to reduce polling during cluster creation

heat_stack_tags = [u'data-processing-cluster']

list value

List of tags to be used during operating with stack.

host = 0.0.0.0

unknown value

Hostname or IP address that will be used to listen on.

`instance_format = [instance: %(uuid)s] `

string value

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

`instance_uuid_format = [instance: %(uuid)s] `

string value

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

job_binary_max_KB = 5120

integer value

Maximum length of job binary data in kilobytes that may be stored or retrieved in a single operation.

job_binary_types = [u'swift', u'manila', u'internal-db', u's3']

list value

List of job binary types to be loaded. Sahara preserves the order of the list when returning it.

job_canceling_timeout = 300

integer value

Timeout for canceling job execution (in seconds). Sahara will try to cancel job execution during this time.

`job_workflow_postfix = `

string value

Postfix for storing jobs in hdfs. Will be added to /user/<hdfs user>/ path.

log-config-append = None

string value

The name of a logging configuration file. This file is appended to any existing logging configuration files. For details about logging configuration files, see the Python logging module documentation. Note that when logging configuration files are used then all logging configuration is set in the configuration file and other logging configuration options are ignored (for example, logging_context_format_string).

log-date-format = %Y-%m-%d %H:%M:%S

string value

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

log-dir = None

string value

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

log-exchange = False

boolean value

Log request/response exchange details: environ, headers and bodies.

log-file = None

string value

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

logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s

string value

Format string to use for log messages with context.

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

string value

Additional data to append to log message when logging level for the message is DEBUG.

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

string value

Format string to use for log messages when context is undefined.

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

string value

Prefix each line of exception output with this format.

logging_user_identity_format = %(user)s %(tenant)s %(domain)s %(user_domain)s %(project_domain)s

string value

Defines the format string for %(user_identity)s that is used in logging_context_format_string.

max_header_line = 16384

integer value

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

min_transient_cluster_active_time = 30

integer value

Minimal "lifetime" in seconds for a transient cluster. Cluster is guaranteed to be "alive" within this time period.

nameservers = []

list value

IP addresses of Designate nameservers. This is required if use_designate is True

node_domain = novalocal

string value

The suffix of the node’s FQDN.

os_region_name = None

string value

Region name used to get services endpoints.

periodic_coordinator_backend_url = None

string value

The backend URL to use for distributed periodic tasks coordination.

periodic_enable = True

boolean value

Enable periodic tasks.

periodic_fuzzy_delay = 60

integer value

Range in seconds to randomly delay when starting the periodic task scheduler to reduce stampeding. (Disable by setting to 0).

periodic_interval_max = 60

integer value

Max interval size between periodic tasks execution in seconds.

periodic_workers_number = 1

integer value

Number of threads to run periodic tasks.

plugins = [u'vanilla', u'spark', u'cdh', u'ambari', u'storm', u'mapr']

list value

List of plugins to be loaded. Sahara preserves the order of the list when returning it.

port = 8386

port value

Port that will be used to listen on.

`proxy_command = `

string value

Proxy command used to connect to instances. If set, this command should open a netcat socket, that Sahara will use for SSH and HTTP connections. Use {host} and {port} to describe the destination. Other available keywords: {tenant_id}, {network_id}, {router_id}.

proxy_command_use_internal_ip = False

boolean value

Force proxy_command usage to be consuming internal IP always, instead of management IP. Ignored if proxy_command is not set.

proxy_user_domain_name = None

string value

The domain Sahara will use to create new proxy users for Swift object access.

proxy_user_role_names = [u'Member']

list value

A list of the role names that the proxy user should assume through trust for Swift object access.

publish_errors = False

boolean value

Enables or disables publication of error events.

rate_limit_burst = 0

integer value

Maximum number of logged messages per rate_limit_interval.

rate_limit_except_level = CRITICAL

string value

Log level name used by rate limiting: CRITICAL, ERROR, INFO, WARNING, DEBUG or empty string. Logs with level greater or equal to rate_limit_except_level are not filtered. An empty string means that all levels are filtered.

rate_limit_interval = 0

integer value

Interval, number of seconds, of log rate limiting.

remote = ssh

string value

A method for Sahara to execute commands on VMs.

retries_number = 5

integer value

Number of times to retry the request to client before failing

retry_after = 10

integer value

Time between the retries to client (in seconds).

rootwrap_command = sudo sahara-rootwrap /etc/sahara/rootwrap.conf

string value

Rootwrap command to leverage. Use in conjunction with use_rootwrap=True

rpc_ack_timeout_base = 15

integer value

Number of seconds to wait for an ack from a cast/call. After each retry attempt this timeout is multiplied by some specified multiplier.

rpc_ack_timeout_multiplier = 2

integer value

Number to multiply base ack timeout by after each retry attempt.

rpc_backend = rabbit

string value

The messaging driver to use, defaults to rabbit. Other drivers include amqp and zmq.

rpc_conn_pool_size = 30

integer value

Size of RPC connection pool.

rpc_message_ttl = 300

integer value

Expiration timeout in seconds of a sent/received message after which it is not tracked anymore by a client/server.

rpc_poll_timeout = 1

integer value

The default number of seconds that poll should wait. Poll raises timeout exception when timeout expired.

rpc_response_timeout = 60

integer value

Seconds to wait for a response from a call.

rpc_retry_attempts = 3

integer value

Default number of message sending attempts in case of any problems occurred: positive value N means at most N retries, 0 means no retries, None or -1 (or any other negative values) mean to retry forever. This option is used only if acknowledgments are enabled.

rpc_thread_pool_size = 100

integer value

Maximum number of (green) threads to work concurrently.

rpc_use_acks = False

boolean value

Wait for message acknowledgements from receivers. This mechanism works only via proxy without PUB/SUB.

rpc_zmq_bind_address = *

string value

ZeroMQ bind address. Should be a wildcard (*), an ethernet interface, or IP. The "host" option should point or resolve to this address.

rpc_zmq_bind_port_retries = 100

integer value

Number of retries to find free port number before fail with ZMQBindError.

rpc_zmq_contexts = 1

integer value

Number of ZeroMQ contexts, defaults to 1.

rpc_zmq_host = ccsosp-undercloud.usersys.redhat.com

string value

Name of this node. Must be a valid hostname, FQDN, or IP address. Must match "host" option, if running Nova.

rpc_zmq_ipc_dir = /var/run/openstack

string value

Directory for holding IPC sockets.

rpc_zmq_matchmaker = redis

string value

MatchMaker driver.

rpc_zmq_max_port = 65536

integer value

Maximal port number for random ports range.

rpc_zmq_min_port = 49153

port value

Minimal port number for random ports range.

rpc_zmq_serialization = json

string value

Default serialization mechanism for serializing/deserializing outgoing/incoming messages

rpc_zmq_topic_backlog = None

integer value

Maximum number of ingress messages to locally buffer per topic. Default is unlimited.

run_external_periodic_tasks = True

boolean value

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

ssh_timeout_common = 300

integer value

Overrides timeout for common ssh operations, in seconds

ssh_timeout_files = 120

integer value

Overrides timeout for ssh operations with files, in seconds

ssh_timeout_interactive = 1800

integer value

Overrides timeout for interactive ssh operations, in seconds

subscribe_on = []

list value

List of publisher hosts SubConsumer can subscribe on. This option has higher priority then the default publishers list taken from the matchmaker.

swift_topology_file = etc/sahara/swift.topology

string value

File with Swift topology.It should contain mapping between Swift nodes and racks.

syslog-log-facility = LOG_USER

string value

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

tcp_keepidle = 600

integer value

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

transport_url = None

string value

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

use-journal = False

boolean value

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.

use-json = False

boolean value

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

use-syslog = False

boolean value

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_barbican_key_manager = False

boolean value

Enable the usage of the OpenStack Key Management service provided by barbican.

use_designate = False

boolean value

Use Designate for internal and external hostnames resolution

use_domain_for_proxy_users = False

boolean value

Enables Sahara to use a domain for creating temporary proxy users to access Swift. If this is enabled a domain must be created for Sahara to use.

use_dynamic_connections = False

boolean value

This option makes direct connections dynamic or static. It makes sense only with use_router_proxy=False which means to use direct connections for direct message types (ignored otherwise).

use_floating_ips = True

boolean value

If set to True, Sahara will use floating IPs to communicate with instances. To make sure that all instances have floating IPs assigned, make sure that all Node Groups have "floating_ip_pool" parameter defined.

use_identity_api_v3 = True

boolean value

Enables Sahara to use Keystone API v3. If that flag is disabled, per-job clusters will not be terminated automatically.

use_namespaces = False

boolean value

Use network namespaces for communication.

use_pub_sub = False

boolean value

Use PUB/SUB pattern for fanout methods. PUB/SUB always uses proxy.

use_rootwrap = False

boolean value

Use rootwrap facility to allow non-root users to run the sahara services and access private network IPs (only valid to use in conjunction with use_namespaces=True)

use_router_proxy = False

boolean value

Use ROUTER remote proxy.

use_stderr = False

boolean value

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

watch-log-file = False

boolean value

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.

wsgi_default_pool_size = 100

integer value

Size of the pool of greenthreads used by wsgi

wsgi_keep_alive = True

boolean value

If False, closes the client socket connection explicitly.

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

string value

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.

zmq_failover_connections = 2

integer value

How many additional connections to a host will be made for failover reasons. This option is actual only in dynamic connections mode.

zmq_immediate = True

boolean value

This option configures round-robin mode in zmq socket. True means not keeping a queue when server side disconnects. False means to keep queue and messages even if server is disconnected, when the server appears we send all accumulated messages to it.

zmq_linger = -1

integer value

Number of seconds to wait before all pending messages will be sent after closing a socket. The default value of -1 specifies an infinite linger period. The value of 0 specifies no linger period. Pending messages shall be discarded immediately when the socket is closed. Positive values specify an upper bound for the linger period.

zmq_target_expire = 300

integer value

Expiration timeout in seconds of a name service record about existing target ( < 0 means no timeout).

zmq_target_update = 180

integer value

Update period in seconds of a name service record about existing target.

zmq_tcp_keepalive = -1

integer value

Enable/disable TCP keepalive (KA) mechanism. The default value of -1 (or any other negative value) means to skip any overrides and leave it to OS default; 0 and 1 (or any other positive value) mean to disable and enable the option respectively.

zmq_tcp_keepalive_cnt = -1

integer value

The number of retransmissions to be carried out before declaring that remote end is not available. The default value of -1 (or any other negative value and 0) means to skip any overrides and leave it to OS default.

zmq_tcp_keepalive_idle = -1

integer value

The duration between two keepalive transmissions in idle condition. The unit is platform dependent, for example, seconds in Linux, milliseconds in Windows etc. The default value of -1 (or any other negative value and 0) means to skip any overrides and leave it to OS default.

zmq_tcp_keepalive_intvl = -1

integer value

The duration between two successive keepalive retransmissions, if acknowledgement to the previous keepalive transmission is not received. The unit is platform dependent, for example, seconds in Linux, milliseconds in Windows etc. The default value of -1 (or any other negative value and 0) means to skip any overrides and leave it to OS default.

12.1.2. castellan

The following table outlines the options available under the [castellan] group in the /etc/sahara/sahara.conf file.

Table 12.2. castellan

Configuration option = Default valueTypeDescription

barbican_api_endpoint = None

string value

The endpoint to use for connecting to the barbican api controller. By default, castellan will use the URL from the service catalog.

barbican_api_version = v1

string value

Version of the barbican API, for example: "v1"

12.1.3. cinder

The following table outlines the options available under the [cinder] group in the /etc/sahara/sahara.conf file.

Table 12.3. cinder

Configuration option = Default valueTypeDescription

api_insecure = False

boolean value

Allow to perform insecure SSL requests to cinder.

api_version = 3

integer value

Version of the Cinder API to use.

ca_file = None

string value

Location of ca certificates file to use for cinder client requests.

endpoint_type = internalURL

string value

Endpoint type for cinder client requests

12.1.4. conductor

The following table outlines the options available under the [conductor] group in the /etc/sahara/sahara.conf file.

Table 12.4. conductor

Configuration option = Default valueTypeDescription

use_local = True

boolean value

Perform sahara-conductor operations locally.

12.1.5. cors

The following table outlines the options available under the [cors] group in the /etc/sahara/sahara.conf file.

Table 12.5. cors

Configuration option = Default valueTypeDescription

allow_credentials = True

boolean value

Indicate that the actual request can include user credentials

allow_headers = [u'X-Auth-Token', u'X-Identity-Status', u'X-Roles', u'X-Service-Catalog', u'X-User-Id', u'X-Tenant-Id', u'X-OpenStack-Request-ID']

list value

Indicate which header field names may be used during the actual request.

allow_methods = [u'GET', u'PUT', u'POST', u'DELETE', u'PATCH']

list value

Indicate which methods can be used during the actual request.

allowed_origin = None

list value

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

expose_headers = [u'X-Auth-Token', u'X-Subject-Token', u'X-Service-Token', u'X-OpenStack-Request-ID']

list value

Indicate which headers are safe to expose to the API. Defaults to HTTP Simple Headers.

max_age = 3600

integer value

Maximum cache age of CORS preflight requests.

12.1.6. database

The following table outlines the options available under the [database] group in the /etc/sahara/sahara.conf file.

Table 12.6. database

Configuration option = Default valueTypeDescription

backend = sqlalchemy

string value

The back end to use for the database.

connection = None

string value

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

connection_debug = 0

integer value

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

connection_recycle_time = 3600

integer value

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.

connection_trace = False

boolean value

Add Python stack traces to SQL as comment strings.

db_inc_retry_interval = True

boolean value

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

db_max_retries = 20

integer value

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

db_max_retry_interval = 10

integer value

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

db_retry_interval = 1

integer value

Seconds between retries of a database transaction.

max_overflow = 50

integer value

If set, use this value for max_overflow with SQLAlchemy.

max_pool_size = 5

integer value

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

max_retries = 10

integer value

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

min_pool_size = 1

integer value

Minimum number of SQL connections to keep open in a pool.

mysql_enable_ndb = False

boolean value

If True, transparently enables support for handling MySQL Cluster (NDB).

mysql_sql_mode = TRADITIONAL

string value

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=

pool_timeout = None

integer value

If set, use this value for pool_timeout with SQLAlchemy.

retry_interval = 10

integer value

Interval between retries of opening a SQL connection.

slave_connection = None

string value

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

sqlite_synchronous = True

boolean value

If True, SQLite uses synchronous mode.

use_db_reconnect = False

boolean value

Enable the experimental use of database reconnect on connection lost.

12.1.7. glance

The following table outlines the options available under the [glance] group in the /etc/sahara/sahara.conf file.

Table 12.7. glance

Configuration option = Default valueTypeDescription

api_insecure = False

boolean value

Allow to perform insecure SSL requests to glance.

ca_file = None

string value

Location of ca certificates file to use for glance client requests.

endpoint_type = internalURL

string value

Endpoint type for glance client requests

12.1.8. heat

The following table outlines the options available under the [heat] group in the /etc/sahara/sahara.conf file.

Table 12.8. heat

Configuration option = Default valueTypeDescription

api_insecure = False

boolean value

Allow to perform insecure SSL requests to heat.

ca_file = None

string value

Location of ca certificates file to use for heat client requests.

endpoint_type = internalURL

string value

Endpoint type for heat client requests

12.1.9. keystone

The following table outlines the options available under the [keystone] group in the /etc/sahara/sahara.conf file.

Table 12.9. keystone

Configuration option = Default valueTypeDescription

api_insecure = False

boolean value

Allow to perform insecure SSL requests to keystone.

ca_file = None

string value

Location of ca certificates file to use for keystone client requests.

endpoint_type = internalURL

string value

Endpoint type for keystone client requests

12.1.10. keystone_authtoken

The following table outlines the options available under the [keystone_authtoken] group in the /etc/sahara/sahara.conf file.

Table 12.10. keystone_authtoken

Configuration option = Default valueTypeDescription

auth_section = None

string value

Config Section from which to load plugin specific options

auth_type = None

string value

Authentication type to load

auth_uri = None

string value

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.

auth_version = None

string value

API version of the admin Identity API endpoint.

cache = None

string value

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.

cafile = None

string value

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

certfile = None

string value

Required if identity server requires client certificate

check_revocations_for_cached = False

boolean value

If true, the revocation list will be checked for cached tokens. This requires that PKI tokens are configured on the identity server.

delay_auth_decision = False

boolean value

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

enforce_token_bind = permissive

string value

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.

hash_algorithms = [u'md5']

list value

Hash algorithms to use for hashing PKI tokens. This may be a single algorithm or multiple. The algorithms are those supported by Python standard hashlib.new(). The hashes will be tried in the order given, so put the preferred one first for performance. The result of the first hash will be stored in the cache. This will typically be set to multiple values only while migrating from a less secure algorithm to a more secure one. Once all the old tokens are expired this option should be set to a single value for better performance.

http_connect_timeout = None

integer value

Request timeout value for communicating with Identity API server.

http_request_max_retries = 3

integer value

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

include_service_catalog = True

boolean value

(Optional) Indicate whether to set the X-Service-Catalog header. If False, middleware will not ask for service catalog on token validation and will not set the X-Service-Catalog header.

insecure = False

boolean value

Verify HTTPS connections.

keyfile = None

string value

Required if identity server requires client certificate

memcache_pool_conn_get_timeout = 10

integer value

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

memcache_pool_dead_retry = 300

integer value

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

memcache_pool_maxsize = 10

integer value

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

memcache_pool_socket_timeout = 3

integer value

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

memcache_pool_unused_timeout = 60

integer value

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

memcache_secret_key = None

string value

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

memcache_security_strategy = None

string value

(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_use_advanced_pool = False

boolean value

(Optional) Use the advanced (eventlet safe) memcached client pool. The advanced pool will only work under python 2.x.

memcached_servers = None

list value

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

region_name = None

string value

The region in which the identity server can be found.

revocation_cache_time = 10

integer value

Determines the frequency at which the list of revoked tokens is retrieved from the Identity service (in seconds). A high number of revocation events combined with a low cache duration may significantly reduce performance. Only valid for PKI tokens. This option has been deprecated in the Ocata release and will be removed in the P release.

service_token_roles = [u'service']

list value

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 = False

boolean value

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.

signing_dir = None

string value

Directory used to cache files related to PKI tokens. This option has been deprecated in the Ocata release and will be removed in the P release.

token_cache_time = 300

integer value

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.

www_authenticate_uri = None

string value

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.

12.1.11. manila

The following table outlines the options available under the [manila] group in the /etc/sahara/sahara.conf file.

Table 12.11. manila

Configuration option = Default valueTypeDescription

api_insecure = True

boolean value

Allow to perform insecure SSL requests to manila.

api_version = 1

string value

Version of the manila API to use.

ca_file = None

string value

Location of ca certificates file to use for manila client requests.

12.1.12. matchmaker_redis

The following table outlines the options available under the [matchmaker_redis] group in the /etc/sahara/sahara.conf file.

Table 12.12. matchmaker_redis

Configuration option = Default valueTypeDescription

check_timeout = 20000

integer value

Time in ms to wait before the transaction is killed.

host = 127.0.0.1

string value

Host to locate redis.

`password = `

string value

Password for Redis server (optional).

port = 6379

port value

Use this port to connect to redis host.

sentinel_group_name = oslo-messaging-zeromq

string value

Redis replica set name.

sentinel_hosts = []

list value

List of Redis Sentinel hosts (fault tolerance mode), e.g., [host:port, host1:port …​ ]

socket_timeout = 10000

integer value

Timeout in ms on blocking socket operations.

wait_timeout = 2000

integer value

Time in ms to wait between connection attempts.

12.1.13. neutron

The following table outlines the options available under the [neutron] group in the /etc/sahara/sahara.conf file.

Table 12.13. neutron

Configuration option = Default valueTypeDescription

api_insecure = False

boolean value

Allow to perform insecure SSL requests to neutron.

ca_file = None

string value

Location of ca certificates file to use for neutron client requests.

endpoint_type = internalURL

string value

Endpoint type for neutron client requests

12.1.14. nova

The following table outlines the options available under the [nova] group in the /etc/sahara/sahara.conf file.

Table 12.14. nova

Configuration option = Default valueTypeDescription

api_insecure = False

boolean value

Allow to perform insecure SSL requests to nova.

ca_file = None

string value

Location of ca certificates file to use for nova client requests.

endpoint_type = internalURL

string value

Endpoint type for nova client requests

12.1.15. object_store_access

The following table outlines the options available under the [object_store_access] group in the /etc/sahara/sahara.conf file.

Table 12.15. object_store_access

Configuration option = Default valueTypeDescription

public_identity_ca_file = None

string value

Location of ca certificate file to use for identity client requests via public endpoint

public_object_store_ca_file = None

string value

Location of ca certificate file to use for object-store client requests via public endpoint

12.1.16. oslo_concurrency

The following table outlines the options available under the [oslo_concurrency] group in the /etc/sahara/sahara.conf file.

Table 12.16. oslo_concurrency

Configuration option = Default valueTypeDescription

disable_process_locking = False

boolean value

Enables or disables inter-process locks.

lock_path = None

string value

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.

12.1.17. oslo_messaging_amqp

The following table outlines the options available under the [oslo_messaging_amqp] group in the /etc/sahara/sahara.conf file.

Table 12.17. oslo_messaging_amqp

Configuration option = Default valueTypeDescription

addressing_mode = dynamic

string value

Indicates the addressing mode used by the driver. Permitted values: legacy - use legacy non-routable addressing routable - use routable addresses dynamic - use legacy addresses if the message bus does not support routing otherwise use routable addressing

allow_insecure_clients = False

boolean value

Accept clients using either SSL or plain TCP

anycast_address = anycast

string value

Appended to the address prefix when sending to a group of consumers. Used by the message bus to identify messages that should be delivered in a round-robin fashion across consumers.

broadcast_prefix = broadcast

string value

address prefix used when broadcasting to all servers

connection_retry_backoff = 2

integer value

Increase the connection_retry_interval by this many seconds after each unsuccessful failover attempt.

connection_retry_interval = 1

integer value

Seconds to pause before attempting to re-connect.

connection_retry_interval_max = 30

integer value

Maximum limit for connection_retry_interval + connection_retry_backoff

container_name = None

string value

Name for the AMQP container. must be globally unique. Defaults to a generated UUID

default_notification_exchange = None

string value

Exchange name used in notification addresses. Exchange name resolution precedence: Target.exchange if set else default_notification_exchange if set else control_exchange if set else notify

default_notify_timeout = 30

integer value

The deadline for a sent notification message delivery. Only used when caller does not provide a timeout expiry.

default_reply_retry = 0

integer value

The maximum number of attempts to re-send a reply message which failed due to a recoverable error.

default_reply_timeout = 30

integer value

The deadline for an rpc reply message delivery.

default_rpc_exchange = None

string value

Exchange name used in RPC addresses. Exchange name resolution precedence: Target.exchange if set else default_rpc_exchange if set else control_exchange if set else rpc

default_send_timeout = 30

integer value

The deadline for an rpc cast or call message delivery. Only used when caller does not provide a timeout expiry.

default_sender_link_timeout = 600

integer value

The duration to schedule a purge of idle sender links. Detach link after expiry.

group_request_prefix = unicast

string value

address prefix when sending to any server in group

idle_timeout = 0

integer value

Timeout for inactive connections (in seconds)

link_retry_delay = 10

integer value

Time to pause between re-connecting an AMQP 1.0 link that failed due to a recoverable error.

multicast_address = multicast

string value

Appended to the address prefix when sending a fanout message. Used by the message bus to identify fanout messages.

notify_address_prefix = openstack.org/om/notify

string value

Address prefix for all generated Notification addresses

notify_server_credit = 100

integer value

Window size for incoming Notification messages

`password = `

string value

Password for message broker authentication

pre_settled = [u'rpc-cast', u'rpc-reply']

multi valued

Send messages of this type pre-settled. Pre-settled messages will not receive acknowledgement from the peer. Note well: pre-settled messages may be silently discarded if the delivery fails. Permitted values: rpc-call - send RPC Calls pre-settled rpc-reply- send RPC Replies pre-settled rpc-cast - Send RPC Casts pre-settled notify - Send Notifications pre-settled

pseudo_vhost = True

boolean value

Enable virtual host support for those message buses that do not natively support virtual hosting (such as qpidd). When set to true the virtual host name will be added to all message bus addresses, effectively creating a private subnet per virtual host. Set to False if the message bus supports virtual hosting using the hostname field in the AMQP 1.0 Open performative as the name of the virtual host.

reply_link_credit = 200

integer value

Window size for incoming RPC Reply messages.

rpc_address_prefix = openstack.org/om/rpc

string value

Address prefix for all generated RPC addresses

rpc_server_credit = 100

integer value

Window size for incoming RPC Request messages

`sasl_config_dir = `

string value

Path to directory that contains the SASL configuration

`sasl_config_name = `

string value

Name of configuration file (without .conf suffix)

`sasl_default_realm = `

string value

SASL realm to use if no realm present in username

`sasl_mechanisms = `

string value

Space separated list of acceptable SASL mechanisms

server_request_prefix = exclusive

string value

address prefix used when sending to a specific server

ssl = False

boolean value

Attempt to connect via SSL. If no other ssl-related parameters are given, it will use the system’s CA-bundle to verify the server’s certificate.

`ssl_ca_file = `

string value

CA certificate PEM file used to verify the server’s certificate

`ssl_cert_file = `

string value

Self-identifying certificate PEM file for client authentication

`ssl_key_file = `

string value

Private key PEM file used to sign ssl_cert_file certificate (optional)

ssl_key_password = None

string value

Password for decrypting ssl_key_file (if encrypted)

ssl_verify_vhost = False

boolean value

By default SSL checks that the name in the server’s certificate matches the hostname in the transport_url. In some configurations it may be preferable to use the virtual hostname instead, for example if the server uses the Server Name Indication TLS extension (rfc6066) to provide a certificate per virtual host. Set ssl_verify_vhost to True if the server’s SSL certificate uses the virtual host name instead of the DNS name.

trace = False

boolean value

Debug: dump AMQP frames to stdout

unicast_address = unicast

string value

Appended to the address prefix when sending to a particular RPC/Notification server. Used by the message bus to identify messages sent to a single destination.

`username = `

string value

User name for message broker authentication

12.1.18. oslo_messaging_kafka

The following table outlines the options available under the [oslo_messaging_kafka] group in the /etc/sahara/sahara.conf file.

Table 12.18. oslo_messaging_kafka

Configuration option = Default valueTypeDescription

conn_pool_min_size = 2

integer value

The pool size limit for connections expiration policy

conn_pool_ttl = 1200

integer value

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

consumer_group = oslo_messaging_consumer

string value

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

kafka_consumer_timeout = 1.0

floating point value

Default timeout(s) for Kafka consumers

kafka_default_host = localhost

string value

Default Kafka broker Host

kafka_default_port = 9092

port value

Default Kafka broker Port

kafka_max_fetch_bytes = 1048576

integer value

Max fetch bytes of Kafka consumer

pool_size = 10

integer value

Pool Size for Kafka Consumers

producer_batch_size = 16384

integer value

Size of batch for the producer async send

producer_batch_timeout = 0.0

floating point value

Upper bound on the delay for KafkaProducer batching in seconds

12.1.19. oslo_messaging_notifications

The following table outlines the options available under the [oslo_messaging_notifications] group in the /etc/sahara/sahara.conf file.

Table 12.19. oslo_messaging_notifications

Configuration option = Default valueTypeDescription

driver = []

multi valued

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

level = INFO

string value

Notification level for outgoing notifications

publisher_id = None

string value

Identifier of the publisher

retry = -1

integer value

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

topics = [u'notifications']

list value

AMQP topic used for OpenStack notifications.

transport_url = None

string value

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

12.1.20. oslo_messaging_rabbit

The following table outlines the options available under the [oslo_messaging_rabbit] group in the /etc/sahara/sahara.conf file.

Table 12.20. oslo_messaging_rabbit

Configuration option = Default valueTypeDescription

amqp_auto_delete = False

boolean value

Auto-delete queues in AMQP.

amqp_durable_queues = False

boolean value

Use durable queues in AMQP.

channel_max = None

integer value

Maximum number of channels to allow

connection_factory = single

string value

Connection factory implementation

default_notification_exchange = ${control_exchange}_notification

string value

Exchange name for sending notifications

default_notification_retry_attempts = -1

integer value

Reconnecting retry count in case of connectivity problem during sending notification, -1 means infinite retry.

default_rpc_exchange = ${control_exchange}_rpc

string value

Exchange name for sending RPC messages

default_rpc_retry_attempts = -1

integer value

Reconnecting retry count in case of connectivity problem during sending RPC message, -1 means infinite retry. If actual retry attempts in not 0 the rpc request could be processed more than one time

default_serializer_type = json

string value

Default serialization mechanism for serializing/deserializing outgoing/incoming messages

fake_rabbit = False

boolean value

Deprecated, use rpc_backend=kombu+memory or rpc_backend=fake

frame_max = None

integer value

The maximum byte size for an AMQP frame

heartbeat_interval = 3

integer value

How often to send heartbeats for consumer’s connections

heartbeat_rate = 2

integer value

How often times during the heartbeat_timeout_threshold we check the heartbeat.

heartbeat_timeout_threshold = 60

integer value

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

host_connection_reconnect_delay = 0.25

floating point value

Set delay for reconnection to some host which has connection error

kombu_compression = None

string value

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

kombu_failover_strategy = round-robin

string value

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.

kombu_missing_consumer_retry_timeout = 60

integer value

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

kombu_reconnect_delay = 1.0

floating point value

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

notification_listener_prefetch_count = 100

integer value

Max number of not acknowledged message which RabbitMQ can send to notification listener.

notification_persistence = False

boolean value

Persist notification messages.

notification_retry_delay = 0.25

floating point value

Reconnecting retry delay in case of connectivity problem during sending notification message

pool_max_overflow = 0

integer value

Maximum number of connections to create above pool_max_size.

pool_max_size = 30

integer value

Maximum number of connections to keep queued.

pool_recycle = 600

integer value

Lifetime of a connection (since creation) in seconds or None for no recycling. Expired connections are closed on acquire.

pool_stale = 60

integer value

Threshold at which inactive (since release) connections are considered stale in seconds or None for no staleness. Stale connections are closed on acquire.

pool_timeout = 30

integer value

Default number of seconds to wait for a connections to available

rabbit_ha_queues = False

boolean value

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"} "

rabbit_host = localhost

string value

The RabbitMQ broker address where a single node is used.

rabbit_hosts = [u'$rabbit_host:$rabbit_port']

list value

RabbitMQ HA cluster host:port pairs.

rabbit_interval_max = 30

integer value

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

rabbit_login_method = AMQPLAIN

string value

The RabbitMQ login method.

rabbit_max_retries = 0

integer value

Maximum number of RabbitMQ connection retries. Default is 0 (infinite retry count).

rabbit_password = guest

string value

The RabbitMQ password.

rabbit_port = 5672

port value

The RabbitMQ broker port where a single node is used.

rabbit_qos_prefetch_count = 0

integer value

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

rabbit_retry_backoff = 2

integer value

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

rabbit_retry_interval = 1

integer value

How frequently to retry connecting with RabbitMQ.

rabbit_transient_queues_ttl = 1800

integer value

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.

rabbit_userid = guest

string value

The RabbitMQ userid.

rabbit_virtual_host = /

string value

The RabbitMQ virtual host.

rpc_listener_prefetch_count = 100

integer value

Max number of not acknowledged message which RabbitMQ can send to rpc listener.

rpc_queue_expiration = 60

integer value

Time to live for rpc queues without consumers in seconds.

rpc_reply_exchange = ${control_exchange}_rpc_reply

string value

Exchange name for receiving RPC replies

rpc_reply_listener_prefetch_count = 100

integer value

Max number of not acknowledged message which RabbitMQ can send to rpc reply listener.

rpc_reply_retry_attempts = -1

integer value

Reconnecting retry count in case of connectivity problem during sending reply. -1 means infinite retry during rpc_timeout

rpc_reply_retry_delay = 0.25

floating point value

Reconnecting retry delay in case of connectivity problem during sending reply.

rpc_retry_delay = 0.25

floating point value

Reconnecting retry delay in case of connectivity problem during sending RPC message

socket_timeout = 0.25

floating point value

Set socket timeout in seconds for connection’s socket

ssl = None

boolean value

Enable SSL

`ssl_ca_file = `

string value

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

`ssl_cert_file = `

string value

SSL cert file (valid only if SSL enabled).

`ssl_key_file = `

string value

SSL key file (valid only if SSL enabled).

ssl_options = None

dict value

Arguments passed to ssl.wrap_socket

`ssl_version = `

string value

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.

tcp_user_timeout = 0.25

floating point value

Set TCP_USER_TIMEOUT in seconds for connection’s socket

12.1.21. oslo_messaging_zmq

The following table outlines the options available under the [oslo_messaging_zmq] group in the /etc/sahara/sahara.conf file.

Table 12.21. oslo_messaging_zmq

Configuration option = Default valueTypeDescription

rpc_ack_timeout_base = 15

integer value

Number of seconds to wait for an ack from a cast/call. After each retry attempt this timeout is multiplied by some specified multiplier.

rpc_ack_timeout_multiplier = 2

integer value

Number to multiply base ack timeout by after each retry attempt.

rpc_message_ttl = 300

integer value

Expiration timeout in seconds of a sent/received message after which it is not tracked anymore by a client/server.

rpc_poll_timeout = 1

integer value

The default number of seconds that poll should wait. Poll raises timeout exception when timeout expired.

rpc_retry_attempts = 3

integer value

Default number of message sending attempts in case of any problems occurred: positive value N means at most N retries, 0 means no retries, None or -1 (or any other negative values) mean to retry forever. This option is used only if acknowledgments are enabled.

rpc_thread_pool_size = 100

integer value

Maximum number of (green) threads to work concurrently.

rpc_use_acks = False

boolean value

Wait for message acknowledgements from receivers. This mechanism works only via proxy without PUB/SUB.

rpc_zmq_bind_address = *

string value

ZeroMQ bind address. Should be a wildcard (*), an ethernet interface, or IP. The "host" option should point or resolve to this address.

rpc_zmq_bind_port_retries = 100

integer value

Number of retries to find free port number before fail with ZMQBindError.

rpc_zmq_contexts = 1

integer value

Number of ZeroMQ contexts, defaults to 1.

rpc_zmq_host = ccsosp-undercloud.usersys.redhat.com

string value

Name of this node. Must be a valid hostname, FQDN, or IP address. Must match "host" option, if running Nova.

rpc_zmq_ipc_dir = /var/run/openstack

string value

Directory for holding IPC sockets.

rpc_zmq_matchmaker = redis

string value

MatchMaker driver.

rpc_zmq_max_port = 65536

integer value

Maximal port number for random ports range.

rpc_zmq_min_port = 49153

port value

Minimal port number for random ports range.

rpc_zmq_serialization = json

string value

Default serialization mechanism for serializing/deserializing outgoing/incoming messages

rpc_zmq_topic_backlog = None

integer value

Maximum number of ingress messages to locally buffer per topic. Default is unlimited.

subscribe_on = []

list value

List of publisher hosts SubConsumer can subscribe on. This option has higher priority then the default publishers list taken from the matchmaker.

use_dynamic_connections = False

boolean value

This option makes direct connections dynamic or static. It makes sense only with use_router_proxy=False which means to use direct connections for direct message types (ignored otherwise).

use_pub_sub = False

boolean value

Use PUB/SUB pattern for fanout methods. PUB/SUB always uses proxy.

use_router_proxy = False

boolean value

Use ROUTER remote proxy.

zmq_failover_connections = 2

integer value

How many additional connections to a host will be made for failover reasons. This option is actual only in dynamic connections mode.

zmq_immediate = True

boolean value

This option configures round-robin mode in zmq socket. True means not keeping a queue when server side disconnects. False means to keep queue and messages even if server is disconnected, when the server appears we send all accumulated messages to it.

zmq_linger = -1

integer value

Number of seconds to wait before all pending messages will be sent after closing a socket. The default value of -1 specifies an infinite linger period. The value of 0 specifies no linger period. Pending messages shall be discarded immediately when the socket is closed. Positive values specify an upper bound for the linger period.

zmq_target_expire = 300

integer value

Expiration timeout in seconds of a name service record about existing target ( < 0 means no timeout).

zmq_target_update = 180

integer value

Update period in seconds of a name service record about existing target.

zmq_tcp_keepalive = -1

integer value

Enable/disable TCP keepalive (KA) mechanism. The default value of -1 (or any other negative value) means to skip any overrides and leave it to OS default; 0 and 1 (or any other positive value) mean to disable and enable the option respectively.

zmq_tcp_keepalive_cnt = -1

integer value

The number of retransmissions to be carried out before declaring that remote end is not available. The default value of -1 (or any other negative value and 0) means to skip any overrides and leave it to OS default.

zmq_tcp_keepalive_idle = -1

integer value

The duration between two keepalive transmissions in idle condition. The unit is platform dependent, for example, seconds in Linux, milliseconds in Windows etc. The default value of -1 (or any other negative value and 0) means to skip any overrides and leave it to OS default.

zmq_tcp_keepalive_intvl = -1

integer value

The duration between two successive keepalive retransmissions, if acknowledgement to the previous keepalive transmission is not received. The unit is platform dependent, for example, seconds in Linux, milliseconds in Windows etc. The default value of -1 (or any other negative value and 0) means to skip any overrides and leave it to OS default.

12.1.22. oslo_middleware

The following table outlines the options available under the [oslo_middleware] group in the /etc/sahara/sahara.conf file.

Table 12.22. oslo_middleware

Configuration option = Default valueTypeDescription

enable_proxy_headers_parsing = False

boolean value

Whether the application is behind a proxy or not. This determines if the middleware should parse the headers or not.

12.1.23. oslo_policy

The following table outlines the options available under the [oslo_policy] group in the /etc/sahara/sahara.conf file.

Table 12.23. oslo_policy

Configuration option = Default valueTypeDescription

enforce_scope = False

boolean value

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.

policy_default_rule = default

string value

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

policy_dirs = [u'policy.d']

multi valued

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.

policy_file = policy.json

string value

The file that defines policies.

remote_content_type = application/x-www-form-urlencoded

string value

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

remote_ssl_ca_crt_file = None

string value

Absolute path to ca cert file for REST based policy check

remote_ssl_client_crt_file = None

string value

Absolute path to client cert for REST based policy check

remote_ssl_client_key_file = None

string value

Absolute path client key file REST based policy check

remote_ssl_verify_server_crt = False

boolean value

server identity verification for REST based policy check

12.1.24. retries

The following table outlines the options available under the [retries] group in the /etc/sahara/sahara.conf file.

Table 12.24. retries

Configuration option = Default valueTypeDescription

retries_number = 5

integer value

Number of times to retry the request to client before failing

retry_after = 10

integer value

Time between the retries to client (in seconds).

12.1.25. ssl

The following table outlines the options available under the [ssl] group in the /etc/sahara/sahara.conf file.

Table 12.25. ssl

Configuration option = Default valueTypeDescription

ca_file = None

string value

CA certificate file to use to verify connecting clients.

cert_file = None

string value

Certificate file to use when starting the server securely.

ciphers = None

string value

Sets the list of available ciphers. value should be a string in the OpenSSL cipher list format.

key_file = None

string value

Private key file to use when starting the server securely.

version = None

string value

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.

12.1.26. swift

The following table outlines the options available under the [swift] group in the /etc/sahara/sahara.conf file.

Table 12.26. swift

Configuration option = Default valueTypeDescription

api_insecure = False

boolean value

Allow to perform insecure SSL requests to swift.

ca_file = None

string value

Location of ca certificates file to use for swift client requests.

endpoint_type = internalURL

string value

Endpoint type for swift client requests

12.1.27. timeouts

The following table outlines the options available under the [timeouts] group in the /etc/sahara/sahara.conf file.

Table 12.27. timeouts

Configuration option = Default valueTypeDescription

delete_instances_timeout = 10800

integer value

Wait for instances to be deleted, in seconds

detach_volume_timeout = 300

integer value

Timeout for detaching volumes from instance, in seconds

ips_assign_timeout = 10800

integer value

Assign IPs timeout, in seconds

wait_until_accessible = 10800

integer value

Wait for instance accessibility, in seconds

12.1.28. trustee

The following table outlines the options available under the [trustee] group in the /etc/sahara/sahara.conf file.

Table 12.28. trustee

Configuration option = Default valueTypeDescription

auth_url = None

string value

Auth url for trusts creation

password = None

string value

Password for trusts creation

project_domain_name = Default

string value

Project domain name for trusts creation

project_name = None

string value

Project name for trusts creation

user_domain_name = Default

string value

User domain name for trusts creation

username = None

string value

Username for trusts creation