glance/etc/glance-api.conf

6383 lines
202 KiB
Plaintext

[DEFAULT]
#
# From glance.api
#
#
# Allow limited access to unauthenticated users.
#
# Assign a boolean to determine API access for unauthenticated
# users. When set to False, the API cannot be accessed by
# unauthenticated users. When set to True, unauthenticated users can
# access the API with read-only privileges. This however only applies
# when using ContextMiddleware.
#
# Possible values:
# * True
# * False
#
# Related options:
# * None
#
# (boolean value)
#allow_anonymous_access = false
#
# Limit the request ID length.
#
# Provide an integer value to limit the length of the request ID to
# the specified length. The default value is 64. Users can change this
# to any ineteger value between 0 and 16384 however keeping in mind that
# a larger value may flood the logs.
#
# Possible values:
# * Integer value between 0 and 16384
#
# Related options:
# * None
#
# (integer value)
# Minimum value: 0
#max_request_id_length = 64
#
# Public url endpoint to use for Glance versions response.
#
# This is the public url endpoint that will appear in the Glance
# "versions" response. If no value is specified, the endpoint that is
# displayed in the version's response is that of the host running the
# API service. Change the endpoint to represent the proxy URL if the
# API service is running behind a proxy. If the service is running
# behind a load balancer, add the load balancer's URL for this value.
#
# Possible values:
# * None
# * Proxy URL
# * Load balancer URL
#
# Related options:
# * None
#
# (string value)
#public_endpoint = <None>
# DEPRECATED:
# Allow users to add additional/custom properties to images.
#
# Glance defines a standard set of properties (in its schema) that
# appear on every image. These properties are also known as
# ``base properties``. In addition to these properties, Glance
# allows users to add custom properties to images. These are known
# as ``additional properties``.
#
# By default, this configuration option is set to ``True`` and users
# are allowed to add additional properties. The number of additional
# properties that can be added to an image can be controlled via
# ``image_property_quota`` configuration option.
#
# Possible values:
# * True
# * False
#
# Related options:
# * image_property_quota
#
# (boolean value)
# This option is deprecated for removal since Ussuri.
# Its value may be silently ignored in the future.
# Reason:
# This option is redundant. Control custom image property usage via the
# 'image_property_quota' configuration option. This option is scheduled
# to be removed during the Victoria development cycle.
#allow_additional_image_properties = true
#
# Secure hashing algorithm used for computing the 'os_hash_value' property.
#
# This option configures the Glance "multihash", which consists of two
# image properties: the 'os_hash_algo' and the 'os_hash_value'. The
# 'os_hash_algo' will be populated by the value of this configuration
# option, and the 'os_hash_value' will be populated by the hexdigest computed
# when the algorithm is applied to the uploaded or imported image data.
#
# The value must be a valid secure hash algorithm name recognized by the
# python 'hashlib' library. You can determine what these are by examining
# the 'hashlib.algorithms_available' data member of the version of the
# library being used in your Glance installation. For interoperability
# purposes, however, we recommend that you use the set of secure hash
# names supplied by the 'hashlib.algorithms_guaranteed' data member because
# those algorithms are guaranteed to be supported by the 'hashlib' library
# on all platforms. Thus, any image consumer using 'hashlib' locally should
# be able to verify the 'os_hash_value' of the image.
#
# The default value of 'sha512' is a performant secure hash algorithm.
#
# If this option is misconfigured, any attempts to store image data will fail.
# For that reason, we recommend using the default value.
#
# Possible values:
# * Any secure hash algorithm name recognized by the Python 'hashlib'
# library
#
# Related options:
# * None
#
# (string value)
#hashing_algorithm = sha512
#
# Maximum number of image members per image.
#
# This limits the maximum of users an image can be shared with. Any negative
# value is interpreted as unlimited.
#
# Related options:
# * None
#
# (integer value)
#image_member_quota = 128
#
# Maximum number of properties allowed on an image.
#
# This enforces an upper limit on the number of additional properties an image
# can have. Any negative value is interpreted as unlimited.
#
# NOTE: This won't have any impact if additional properties are disabled. Please
# refer to ``allow_additional_image_properties``.
#
# Related options:
# * ``allow_additional_image_properties``
#
# (integer value)
#image_property_quota = 128
#
# Maximum number of tags allowed on an image.
#
# Any negative value is interpreted as unlimited.
#
# Related options:
# * None
#
# (integer value)
#image_tag_quota = 128
#
# Maximum number of locations allowed on an image.
#
# Any negative value is interpreted as unlimited.
#
# Related options:
# * None
#
# (integer value)
#image_location_quota = 10
#
# The default number of results to return for a request.
#
# Responses to certain API requests, like list images, may return
# multiple items. The number of results returned can be explicitly
# controlled by specifying the ``limit`` parameter in the API request.
# However, if a ``limit`` parameter is not specified, this
# configuration value will be used as the default number of results to
# be returned for any API request.
#
# NOTES:
# * The value of this configuration option may not be greater than
# the value specified by ``api_limit_max``.
# * Setting this to a very large value may slow down database
# queries and increase response times. Setting this to a
# very low value may result in poor user experience.
#
# Possible values:
# * Any positive integer
#
# Related options:
# * api_limit_max
#
# (integer value)
# Minimum value: 1
#limit_param_default = 25
#
# Maximum number of results that could be returned by a request.
#
# As described in the help text of ``limit_param_default``, some
# requests may return multiple results. The number of results to be
# returned are governed either by the ``limit`` parameter in the
# request or the ``limit_param_default`` configuration option.
# The value in either case, can't be greater than the absolute maximum
# defined by this configuration option. Anything greater than this
# value is trimmed down to the maximum value defined here.
#
# NOTE: Setting this to a very large value may slow down database
# queries and increase response times. Setting this to a
# very low value may result in poor user experience.
#
# Possible values:
# * Any positive integer
#
# Related options:
# * limit_param_default
#
# (integer value)
# Minimum value: 1
#api_limit_max = 1000
#
# Show direct image location when returning an image.
#
# This configuration option indicates whether to show the direct image
# location when returning image details to the user. The direct image
# location is where the image data is stored in backend storage. This
# image location is shown under the image property ``direct_url``.
#
# When multiple image locations exist for an image, the best location
# is displayed based on the location strategy indicated by the
# configuration option ``location_strategy``.
#
# NOTES:
# * Revealing image locations can present a GRAVE SECURITY RISK as
# image locations can sometimes include credentials. Hence, this
# is set to ``False`` by default. Set this to ``True`` with
# EXTREME CAUTION and ONLY IF you know what you are doing!
# * If an operator wishes to avoid showing any image location(s)
# to the user, then both this option and
# ``show_multiple_locations`` MUST be set to ``False``.
#
# Possible values:
# * True
# * False
#
# Related options:
# * show_multiple_locations
# * location_strategy
#
# (boolean value)
#show_image_direct_url = false
# DEPRECATED:
# Show all image locations when returning an image.
#
# This configuration option indicates whether to show all the image
# locations when returning image details to the user. When multiple
# image locations exist for an image, the locations are ordered based
# on the location strategy indicated by the configuration opt
# ``location_strategy``. The image locations are shown under the
# image property ``locations``.
#
# NOTES:
# * Revealing image locations can present a GRAVE SECURITY RISK as
# image locations can sometimes include credentials. Hence, this
# is set to ``False`` by default. Set this to ``True`` with
# EXTREME CAUTION and ONLY IF you know what you are doing!
# * See https://wiki.openstack.org/wiki/OSSN/OSSN-0065 for more
# information.
# * If an operator wishes to avoid showing any image location(s)
# to the user, then both this option and
# ``show_image_direct_url`` MUST be set to ``False``.
#
# Possible values:
# * True
# * False
#
# Related options:
# * show_image_direct_url
# * location_strategy
#
# (boolean value)
# This option is deprecated for removal since Newton.
# Its value may be silently ignored in the future.
# Reason: Use of this option, deprecated since Newton, is a security risk and
# will be removed once we figure out a way to satisfy those use cases that
# currently require it. An earlier announcement that the same functionality can
# be achieved with greater granularity by using policies is incorrect. You
# cannot work around this option via policy configuration at the present time,
# though that is the direction we believe the fix will take. Please keep an eye
# on the Glance release notes to stay up to date on progress in addressing this
# issue.
#show_multiple_locations = false
#
# Maximum size of image a user can upload in bytes.
#
# An image upload greater than the size mentioned here would result
# in an image creation failure. This configuration option defaults to
# 1099511627776 bytes (1 TiB).
#
# NOTES:
# * This value should only be increased after careful
# consideration and must be set less than or equal to
# 8 EiB (9223372036854775808).
# * This value must be set with careful consideration of the
# backend storage capacity. Setting this to a very low value
# may result in a large number of image failures. And, setting
# this to a very large value may result in faster consumption
# of storage. Hence, this must be set according to the nature of
# images created and storage capacity available.
#
# Possible values:
# * Any positive number less than or equal to 9223372036854775808
#
# (integer value)
# Minimum value: 1
# Maximum value: 9223372036854775808
#image_size_cap = 1099511627776
#
# Maximum amount of image storage per tenant.
#
# This enforces an upper limit on the cumulative storage consumed by all images
# of a tenant across all stores. This is a per-tenant limit.
#
# The default unit for this configuration option is Bytes. However, storage
# units can be specified using case-sensitive literals ``B``, ``KB``, ``MB``,
# ``GB`` and ``TB`` representing Bytes, KiloBytes, MegaBytes, GigaBytes and
# TeraBytes respectively. Note that there should not be any space between the
# value and unit. Value ``0`` signifies no quota enforcement. Negative values
# are invalid and result in errors.
#
# This has no effect if ``use_keystone_limits`` is enabled.
#
# Possible values:
# * A string that is a valid concatenation of a non-negative integer
# representing the storage value and an optional string literal
# representing storage units as mentioned above.
#
# Related options:
# * use_keystone_limits
#
# (string value)
#user_storage_quota = 0
#
# Utilize per-tenant resource limits registered in Keystone.
#
# Enabling this feature will cause Glance to retrieve limits set in keystone
# for resource consumption and enforce them against API users. Before turning
# this on, the limits need to be registered in Keystone or all quotas will be
# considered to be zero, and thus reject all new resource requests.
#
# These per-tenant resource limits are independent from the static
# global ones configured in this config file. If this is enabled, the
# relevant static global limits will be ignored.
# (boolean value)
#use_keystone_limits = false
#
# Host address of the pydev server.
#
# Provide a string value representing the hostname or IP of the
# pydev server to use for debugging. The pydev server listens for
# debug connections on this address, facilitating remote debugging
# in Glance.
#
# Possible values:
# * Valid hostname
# * Valid IP address
#
# Related options:
# * None
#
# (host address value)
#
# This option has a sample default set, which means that
# its actual default value may vary from the one documented
# below.
#pydev_worker_debug_host = localhost
#
# Port number that the pydev server will listen on.
#
# Provide a port number to bind the pydev server to. The pydev
# process accepts debug connections on this port and facilitates
# remote debugging in Glance.
#
# Possible values:
# * A valid port number
#
# Related options:
# * None
#
# (port value)
# Minimum value: 0
# Maximum value: 65535
#pydev_worker_debug_port = 5678
#
# AES key for encrypting store location metadata.
#
# Provide a string value representing the AES cipher to use for
# encrypting Glance store metadata.
#
# NOTE: The AES key to use must be set to a random string of length
# 16, 24 or 32 bytes.
#
# Possible values:
# * String value representing a valid AES key
#
# Related options:
# * None
#
# (string value)
#metadata_encryption_key = <None>
#
# Digest algorithm to use for digital signature.
#
# Provide a string value representing the digest algorithm to
# use for generating digital signatures. By default, ``sha256``
# is used.
#
# To get a list of the available algorithms supported by the version
# of OpenSSL on your platform, run the command:
# ``openssl list-message-digest-algorithms``.
# Examples are 'sha1', 'sha256', and 'sha512'.
#
# NOTE: ``digest_algorithm`` is not related to Glance's image signing
# and verification. It is only used to sign the universally unique
# identifier (UUID) as a part of the certificate file and key file
# validation.
#
# Possible values:
# * An OpenSSL message digest algorithm identifier
#
# Relation options:
# * None
#
# (string value)
#digest_algorithm = sha256
#
# The URL provides location where the temporary data will be stored
#
# This option is for Glance internal use only. Glance will save the
# image data uploaded by the user to 'staging' endpoint during the
# image import process.
#
# This option does not change the 'staging' API endpoint by any means.
#
# NOTE: It is discouraged to use same path as [task]/work_dir
#
# NOTE: 'file://<absolute-directory-path>' is the only option
# api_image_import flow will support for now.
#
# NOTE: The staging path must be on shared filesystem available to all
# Glance API nodes.
#
# Possible values:
# * String starting with 'file://' followed by absolute FS path
#
# Related options:
# * [task]/work_dir
#
# (string value)
#node_staging_uri = file:///tmp/staging/
#
# List of enabled Image Import Methods
#
# 'glance-direct', 'copy-image' and 'web-download' are enabled by default.
# 'glance-download' is available, but requires federated deployments.
#
# Related options:
# * [DEFAULT]/node_staging_uri (list value)
#enabled_import_methods = [glance-direct,web-download,copy-image]
#
# The URL to this worker.
#
# If this is set, other glance workers will know how to contact this one
# directly if needed. For image import, a single worker stages the image
# and other workers need to be able to proxy the import request to the
# right one.
#
# If unset, this will be considered to be `public_endpoint`, which
# normally would be set to the same value on all workers, effectively
# disabling the proxying behavior.
#
# Possible values:
# * A URL by which this worker is reachable from other workers
#
# Related options:
# * public_endpoint
#
# (string value)
#worker_self_reference_url = <None>
# DEPRECATED:
# Strategy to determine the preference order of image locations.
#
# This configuration option indicates the strategy to determine
# the order in which an image's locations must be accessed to
# serve the image's data. Glance then retrieves the image data
# from the first responsive active location it finds in this list.
#
# This option takes one of two possible values ``location_order``
# and ``store_type``. The default value is ``location_order``,
# which suggests that image data be served by using locations in
# the order they are stored in Glance. The ``store_type`` value
# sets the image location preference based on the order in which
# the storage backends are listed as a comma separated list for
# the configuration option ``store_type_preference``.
#
# Possible values:
# * location_order
# * store_type
#
# Related options:
# * store_type_preference
#
# (string value)
# Possible values:
# location_order - <No description provided>
# store_type - <No description provided>
# This option is deprecated for removal since Caracal.
# Its value may be silently ignored in the future.
# Reason:
# In Bobcat, a new weighing mechanism has been introduced, which makes the
# location strategy obsolete. This option is scheduled to be removed during the
# Dalmatian development cycle.
#location_strategy = location_order
#
# The location of the property protection file.
#
# Provide a valid path to the property protection file which contains
# the rules for property protections and the roles/policies associated
# with them.
#
# A property protection file, when set, restricts the Glance image
# properties to be created, read, updated and/or deleted by a specific
# set of users that are identified by either roles or policies.
# If this configuration option is not set, by default, property
# protections won't be enforced. If a value is specified and the file
# is not found, the glance-api service will fail to start.
# More information on property protections can be found at:
# https://docs.openstack.org/glance/latest/admin/property-protections.html
#
# Possible values:
# * Empty string
# * Valid path to the property protection configuration file
#
# Related options:
# * property_protection_rule_format
#
# (string value)
#property_protection_file = <None>
#
# Rule format for property protection.
#
# Provide the desired way to set property protection on Glance
# image properties. The two permissible values are ``roles``
# and ``policies``. The default value is ``roles``.
#
# If the value is ``roles``, the property protection file must
# contain a comma separated list of user roles indicating
# permissions for each of the CRUD operations on each property
# being protected. If set to ``policies``, a policy defined in
# policy.yaml is used to express property protections for each
# of the CRUD operations. Examples of how property protections
# are enforced based on ``roles`` or ``policies`` can be found at:
# https://docs.openstack.org/glance/latest/admin/property-
# protections.html#examples
#
# Possible values:
# * roles
# * policies
#
# Related options:
# * property_protection_file
#
# (string value)
# Possible values:
# roles - <No description provided>
# policies - <No description provided>
#property_protection_rule_format = roles
#
# IP address to bind the glance servers to.
#
# Provide an IP address to bind the glance server to. The default
# value is ``0.0.0.0``.
#
# Edit this option to enable the server to listen on one particular
# IP address on the network card. This facilitates selection of a
# particular network interface for the server.
#
# Possible values:
# * A valid IPv4 address
# * A valid IPv6 address
#
# Related options:
# * None
#
# (host address value)
#bind_host = 0.0.0.0
#
# Port number on which the server will listen.
#
# Provide a valid port number to bind the server's socket to. This
# port is then set to identify processes and forward network messages
# that arrive at the server. The default bind_port value for the API
# server is 9292 and for the registry server is 9191.
#
# Possible values:
# * A valid port number (0 to 65535)
#
# Related options:
# * None
#
# (port value)
# Minimum value: 0
# Maximum value: 65535
#bind_port = <None>
#
# Number of Glance worker processes to start.
#
# Provide a non-negative integer value to set the number of child
# process workers to service requests. By default, the number of CPUs
# available is set as the value for ``workers`` limited to 8. For
# example if the processor count is 6, 6 workers will be used, if the
# processor count is 24 only 8 workers will be used. The limit will only
# apply to the default value, if 24 workers is configured, 24 is used.
#
# Each worker process is made to listen on the port set in the
# configuration file and contains a greenthread pool of size 1000.
#
# NOTE: Setting the number of workers to zero, triggers the creation
# of a single API process with a greenthread pool of size 1000.
#
# Possible values:
# * 0
# * Positive integer value (typically equal to the number of CPUs)
#
# Related options:
# * None
#
# (integer value)
# Minimum value: 0
#workers = <None>
#
# Maximum line size of message headers.
#
# Provide an integer value representing a length to limit the size of
# message headers. The default value is 16384.
#
# NOTE: ``max_header_line`` may need to be increased when using large
# tokens (typically those generated by the Keystone v3 API with big
# service catalogs). However, it is to be kept in mind that larger
# values for ``max_header_line`` would flood the logs.
#
# Setting ``max_header_line`` to 0 sets no limit for the line size of
# message headers.
#
# Possible values:
# * 0
# * Positive integer
#
# Related options:
# * None
#
# (integer value)
# Minimum value: 0
#max_header_line = 16384
#
# Set keep alive option for HTTP over TCP.
#
# Provide a boolean value to determine sending of keep alive packets.
# If set to ``False``, the server returns the header
# "Connection: close". If set to ``True``, the server returns a
# "Connection: Keep-Alive" in its responses. This enables retention of
# the same TCP connection for HTTP conversations instead of opening a
# new one with each new request.
#
# This option must be set to ``False`` if the client socket connection
# needs to be closed explicitly after the response is received and
# read successfully by the client.
#
# Possible values:
# * True
# * False
#
# Related options:
# * None
#
# (boolean value)
#http_keepalive = true
#
# Timeout for client connections' socket operations.
#
# Provide a valid integer value representing time in seconds to set
# the period of wait before an incoming connection can be closed. The
# default value is 900 seconds.
#
# The value zero implies wait forever.
#
# Possible values:
# * Zero
# * Positive integer
#
# Related options:
# * None
#
# (integer value)
# Minimum value: 0
#client_socket_timeout = 900
#
# Set the number of incoming connection requests.
#
# Provide a positive integer value to limit the number of requests in
# the backlog queue. The default queue size is 4096.
#
# An incoming connection to a TCP listener socket is queued before a
# connection can be established with the server. Setting the backlog
# for a TCP socket ensures a limited queue size for incoming traffic.
#
# Possible values:
# * Positive integer
#
# Related options:
# * None
#
# (integer value)
# Minimum value: 1
#backlog = 4096
#
# Set the wait time before a connection recheck.
#
# Provide a positive integer value representing time in seconds which
# is set as the idle wait time before a TCP keep alive packet can be
# sent to the host. The default value is 600 seconds.
#
# Setting ``tcp_keepidle`` helps verify at regular intervals that a
# connection is intact and prevents frequent TCP connection
# reestablishment.
#
# Possible values:
# * Positive integer value representing time in seconds
#
# Related options:
# * None
#
# (integer value)
# Minimum value: 1
#tcp_keepidle = 600
# Key:Value pair of store identifier and store type. In case of multiple
# backends should be separated using comma. (dict value)
#enabled_backends = <None>
# This argument is used internally on Windows. Glance passes a pipe handle to
# child processes, which is then used for inter-process communication. (string
# value)
#pipe_handle = <None>
# DEPRECATED:
# The relative path to sqlite file database that will be used for image cache
# management.
#
# This is a relative path to the sqlite file database that tracks the age and
# usage statistics of image cache. The path is relative to image cache base
# directory, specified by the configuration option ``image_cache_dir``.
#
# This is a lightweight database with just one table.
#
# Possible values:
# * A valid relative path to sqlite file database
#
# Related options:
# * ``image_cache_dir``
#
# (string value)
# This option is deprecated for removal since Caracal (2024.1).
# Its value may be silently ignored in the future.
# Reason:
# As centralized database will now be used for image cache management, the use
# of `sqlite` database and driver will be dropped from 'E' (2025.1)
# development cycle.
#image_cache_sqlite_db = cache.db
#
# The driver to use for image cache management.
#
# This configuration option provides the flexibility to choose between the
# different image-cache drivers available. An image-cache driver is responsible
# for providing the essential functions of image-cache like write images to/read
# images from cache, track age and usage of cached images, provide a list of
# cached images, fetch size of the cache, queue images for caching and clean up
# the cache, etc.
#
# The essential functions of a driver are defined in the base class
# ``glance.image_cache.drivers.base.Driver``. All image-cache drivers (existing
# and prospective) must implement this interface. Currently available drivers
# are ``sqlite`` and ``xattr``. These drivers primarily differ in the way they
# store the information about cached images:
#
# * The ``centralized_db`` driver uses a central database (which will be common
# for all glance nodes) to track the usage of cached images.
# * The ``sqlite`` (deprecated) driver uses a sqlite database (which sits on
# every glance node locally) to track the usage of cached images.
# * The ``xattr`` driver uses the extended attributes of files to store this
# information. It also requires a filesystem that sets ``atime`` on the files
# when accessed.
#
# Deprecation warning:
# * As centralized database will now be used for image cache management, the
# use of `sqlite` database and driver will be dropped from 'E' (2025.1)
# development cycle.
#
# Possible values:
# * centralized_db
# * sqlite
# * xattr
#
# Related options:
# * None
#
# (string value)
# Possible values:
# centralized_db - <No description provided>
# sqlite - <No description provided>
# xattr - <No description provided>
#image_cache_driver = centralized_db
#
# The upper limit on cache size, in bytes, after which the cache-pruner cleans
# up the image cache.
#
# NOTE: This is just a threshold for cache-pruner to act upon. It is NOT a
# hard limit beyond which the image cache would never grow. In fact, depending
# on how often the cache-pruner runs and how quickly the cache fills, the image
# cache can far exceed the size specified here very easily. Hence, care must be
# taken to appropriately schedule the cache-pruner and in setting this limit.
#
# Glance caches an image when it is downloaded. Consequently, the size of the
# image cache grows over time as the number of downloads increases. To keep the
# cache size from becoming unmanageable, it is recommended to run the
# cache-pruner as a periodic task. When the cache pruner is kicked off, it
# compares the current size of image cache and triggers a cleanup if the image
# cache grew beyond the size specified here. After the cleanup, the size of
# cache is less than or equal to size specified here.
#
# Possible values:
# * Any non-negative integer
#
# Related options:
# * None
#
# (integer value)
# Minimum value: 0
#image_cache_max_size = 10737418240
#
# The amount of time, in seconds, an incomplete image remains in the cache.
#
# Incomplete images are images for which download is in progress. Please see the
# description of configuration option ``image_cache_dir`` for more detail.
# Sometimes, due to various reasons, it is possible the download may hang and
# the incompletely downloaded image remains in the ``incomplete`` directory.
# This configuration option sets a time limit on how long the incomplete images
# should remain in the ``incomplete`` directory before they are cleaned up.
# Once an incomplete image spends more time than is specified here, it'll be
# removed by cache-cleaner on its next run.
#
# It is recommended to run cache-cleaner as a periodic task on the Glance API
# nodes to keep the incomplete images from occupying disk space.
#
# Possible values:
# * Any non-negative integer
#
# Related options:
# * None
#
# (integer value)
# Minimum value: 0
#image_cache_stall_time = 86400
#
# Base directory for image cache.
#
# This is the location where image data is cached and served out of. All cached
# images are stored directly under this directory. This directory also contains
# three subdirectories, namely, ``incomplete``, ``invalid`` and ``queue``.
#
# The ``incomplete`` subdirectory is the staging area for downloading images. An
# image is first downloaded to this directory. When the image download is
# successful it is moved to the base directory. However, if the download fails,
# the partially downloaded image file is moved to the ``invalid`` subdirectory.
#
# The ``queue``subdirectory is used for queuing images for download. This is
# used primarily by the cache-prefetcher, which can be scheduled as a periodic
# task like cache-pruner and cache-cleaner, to cache images ahead of their
# usage.
# Upon receiving the request to cache an image, Glance touches a file in the
# ``queue`` directory with the image id as the file name. The cache-prefetcher,
# when running, polls for the files in ``queue`` directory and starts
# downloading them in the order they were created. When the download is
# successful, the zero-sized file is deleted from the ``queue`` directory.
# If the download fails, the zero-sized file remains and it'll be retried the
# next time cache-prefetcher runs.
#
# Possible values:
# * A valid path
#
# Related options:
# * ``image_cache_sqlite_db``
#
# (string value)
#image_cache_dir = <None>
#
# Default publisher_id for outgoing Glance notifications.
#
# This is the value that the notification driver will use to identify
# messages for events originating from the Glance service. Typically,
# this is the hostname of the instance that generated the message.
#
# Possible values:
# * Any reasonable instance identifier, for example: image.host1
#
# Related options:
# * None
#
# (string value)
#default_publisher_id = image.localhost
#
# List of notifications to be disabled.
#
# Specify a list of notifications that should not be emitted.
# A notification can be given either as a notification type to
# disable a single event notification, or as a notification group
# prefix to disable all event notifications within a group.
#
# Possible values:
# A comma-separated list of individual notification types or
# notification groups to be disabled. Currently supported groups:
#
# * image
# * image.member
# * task
# * metadef_namespace
# * metadef_object
# * metadef_property
# * metadef_resource_type
# * metadef_tag
#
# For a complete listing and description of each event refer to:
# https://docs.openstack.org/glance/latest/admin/notifications.html
#
# The values must be specified as: <group_name>.<event_name>
# For example: image.create,task.success,metadef_tag
#
# Related options:
# * None
#
# (list value)
#disabled_notifications =
# DEPRECATED:
# The amount of time, in seconds, to delay image scrubbing.
#
# When delayed delete is turned on, an image is put into ``pending_delete``
# state upon deletion until the scrubber deletes its image data. Typically, soon
# after the image is put into ``pending_delete`` state, it is available for
# scrubbing. However, scrubbing can be delayed until a later point using this
# configuration option. This option denotes the time period an image spends in
# ``pending_delete`` state before it is available for scrubbing.
#
# It is important to realize that this has storage implications. The larger the
# ``scrub_time``, the longer the time to reclaim backend storage from deleted
# images.
#
# Possible values:
# * Any non-negative integer
#
# Related options:
# * ``delayed_delete``
#
# (integer value)
# Minimum value: 0
# This option is deprecated for removal since 2024.1 (Caracal).
# Its value may be silently ignored in the future.
# Reason: The entire glance scrubber, including this option, is scheduled to be
# removed during the 2024.2 (Dalmatian) development cycle.
#scrub_time = 0
# DEPRECATED:
# The size of thread pool to be used for scrubbing images.
#
# When there are a large number of images to scrub, it is beneficial to scrub
# images in parallel so that the scrub queue stays in control and the backend
# storage is reclaimed in a timely fashion. This configuration option denotes
# the maximum number of images to be scrubbed in parallel. The default value is
# one, which signifies serial scrubbing. Any value above one indicates parallel
# scrubbing.
#
# Possible values:
# * Any non-zero positive integer
#
# Related options:
# * ``delayed_delete``
#
# (integer value)
# Minimum value: 1
# This option is deprecated for removal since 2024.1 (Caracal).
# Its value may be silently ignored in the future.
# Reason: The entire glance scrubber, including this option, is scheduled to be
# removed during the 2024.2 (Dalmatian) development cycle.
#scrub_pool_size = 1
# DEPRECATED:
# Turn on/off delayed delete.
#
# Typically when an image is deleted, the ``glance-api`` service puts the image
# into ``deleted`` state and deletes its data at the same time. Delayed delete
# is a feature in Glance that delays the actual deletion of image data until a
# later point in time (as determined by the configuration option
# ``scrub_time``).
# When delayed delete is turned on, the ``glance-api`` service puts the image
# into ``pending_delete`` state upon deletion and leaves the image data in the
# storage backend for the image scrubber to delete at a later time. The image
# scrubber will move the image into ``deleted`` state upon successful deletion
# of image data.
#
# NOTE: When delayed delete is turned on, image scrubber MUST be running as a
# periodic task to prevent the backend storage from filling up with undesired
# usage.
#
# Possible values:
# * True
# * False
#
# Related options:
# * ``scrub_time``
# * ``wakeup_time``
# * ``scrub_pool_size``
#
# (boolean value)
# This option is deprecated for removal since 2024.1 (Caracal).
# Its value may be silently ignored in the future.
# Reason: The entire glance scrubber, including this option, is scheduled to be
# removed during the 2024.2 (Dalmatian) development cycle.
#delayed_delete = false
#
# From oslo.log
#
# If set to true, the logging level will be set to DEBUG instead of the default
# INFO level. (boolean value)
# Note: This option can be changed without restarting.
#debug = false
# The name of a logging configuration file. This file is appended to any
# existing logging configuration files. For details about logging configuration
# files, see the Python logging module documentation. Note that when logging
# configuration files are used then all logging configuration is set in the
# configuration file and other logging configuration options are ignored (for
# example, log-date-format). (string value)
# Note: This option can be changed without restarting.
# Deprecated group/name - [DEFAULT]/log_config
#log_config_append = <None>
# Defines the format string for %%(asctime)s in log records. Default:
# %(default)s . This option is ignored if log_config_append is set. (string
# value)
#log_date_format = %Y-%m-%d %H:%M:%S
# (Optional) Name of log file to send logging output to. If no default is set,
# logging will go to stderr as defined by use_stderr. This option is ignored if
# log_config_append is set. (string value)
# Deprecated group/name - [DEFAULT]/logfile
#log_file = <None>
# (Optional) The base directory used for relative log_file paths. This option
# is ignored if log_config_append is set. (string value)
# Deprecated group/name - [DEFAULT]/logdir
#log_dir = <None>
# Uses logging handler designed to watch file system. When log file is moved or
# removed this handler will open a new log file with specified path
# instantaneously. It makes sense only if log_file option is specified and Linux
# platform is used. This option is ignored if log_config_append is set. (boolean
# value)
#watch_log_file = false
# Use syslog for logging. Existing syslog format is DEPRECATED and will be
# changed later to honor RFC5424. This option is ignored if log_config_append is
# set. (boolean value)
#use_syslog = false
# Enable journald for logging. If running in a systemd environment you may wish
# to enable journal support. Doing so will use the journal native protocol which
# includes structured metadata in addition to log messages.This option is
# ignored if log_config_append is set. (boolean value)
#use_journal = false
# Syslog facility to receive log lines. This option is ignored if
# log_config_append is set. (string value)
#syslog_log_facility = LOG_USER
# Use JSON formatting for logging. This option is ignored if log_config_append
# is set. (boolean value)
#use_json = false
# Log output to standard error. This option is ignored if log_config_append is
# set. (boolean value)
#use_stderr = false
# DEPRECATED: Log output to Windows Event Log. (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: Windows support is no longer maintained.
#use_eventlog = false
# The amount of time before the log files are rotated. This option is ignored
# unless log_rotation_type is set to "interval". (integer value)
#log_rotate_interval = 1
# Rotation interval type. The time of the last file change (or the time when the
# service was started) is used when scheduling the next rotation. (string value)
# Possible values:
# Seconds - <No description provided>
# Minutes - <No description provided>
# Hours - <No description provided>
# Days - <No description provided>
# Weekday - <No description provided>
# Midnight - <No description provided>
#log_rotate_interval_type = days
# Maximum number of rotated log files. (integer value)
#max_logfile_count = 30
# Log file maximum size in MB. This option is ignored if "log_rotation_type" is
# not set to "size". (integer value)
#max_logfile_size_mb = 200
# Log rotation type. (string value)
# Possible values:
# interval - Rotate logs at predefined time intervals.
# size - Rotate logs once they reach a predefined size.
# none - Do not rotate log files.
#log_rotation_type = none
# Format string to use for log messages with context. Used by
# oslo_log.formatters.ContextFormatter (string value)
#logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(global_request_id)s %(request_id)s %(user_identity)s] %(instance)s%(message)s
# Format string to use for log messages when context is undefined. Used by
# oslo_log.formatters.ContextFormatter (string value)
#logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s
# Additional data to append to log message when logging level for the message is
# DEBUG. Used by oslo_log.formatters.ContextFormatter (string value)
#logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d
# Prefix each line of exception output with this format. Used by
# oslo_log.formatters.ContextFormatter (string value)
#logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s
# Defines the format string for %(user_identity)s that is used in
# logging_context_format_string. Used by oslo_log.formatters.ContextFormatter
# (string value)
#logging_user_identity_format = %(user)s %(project)s %(domain)s %(system_scope)s %(user_domain)s %(project_domain)s
# List of package logging levels in logger=LEVEL pairs. This option is ignored
# if log_config_append is set. (list value)
#default_log_levels = amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,oslo.messaging=INFO,oslo_messaging=INFO,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,urllib3.connectionpool=WARN,websocket=WARN,requests.packages.urllib3.util.retry=WARN,urllib3.util.retry=WARN,keystonemiddleware=WARN,routes.middleware=WARN,stevedore=WARN,taskflow=WARN,keystoneauth=WARN,oslo.cache=INFO,oslo_policy=INFO,dogpile.core.dogpile=INFO
# Enables or disables publication of error events. (boolean value)
#publish_errors = false
# The format for an instance that is passed with the log message. (string value)
#instance_format = "[instance: %(uuid)s] "
# The format for an instance UUID that is passed with the log message. (string
# value)
#instance_uuid_format = "[instance: %(uuid)s] "
# Interval, number of seconds, of log rate limiting. (integer value)
#rate_limit_interval = 0
# Maximum number of logged messages per rate_limit_interval. (integer value)
#rate_limit_burst = 0
# Log level name used by rate limiting: 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. (string
# value)
#rate_limit_except_level = CRITICAL
# Enables or disables fatal status of deprecations. (boolean value)
#fatal_deprecations = false
#
# From oslo.messaging
#
# Size of RPC connection pool. (integer value)
# Minimum value: 1
#rpc_conn_pool_size = 30
# The pool size limit for connections expiration policy (integer value)
#conn_pool_min_size = 2
# The time-to-live in sec of idle connections in the pool (integer value)
#conn_pool_ttl = 1200
# Size of executor thread pool when executor is threading or eventlet. (integer
# value)
# Deprecated group/name - [DEFAULT]/rpc_thread_pool_size
#executor_thread_pool_size = 64
# Seconds to wait for a response from a call. (integer value)
#rpc_response_timeout = 60
# The network address and optional user credentials for connecting to the
# messaging backend, in URL format. The expected format is:
#
# driver://[user:pass@]host:port[,[userN:passN@]hostN:portN]/virtual_host?query
#
# Example: rabbit://rabbitmq:password@127.0.0.1:5672//
#
# For full details on the fields in the URL see the documentation of
# oslo_messaging.TransportURL at
# https://docs.openstack.org/oslo.messaging/latest/reference/transport.html
# (string value)
#transport_url = rabbit://
# The default exchange under which topics are scoped. May be overridden by an
# exchange name specified in the transport_url option. (string value)
#control_exchange = openstack
# Add an endpoint to answer to ping calls. Endpoint is named
# oslo_rpc_server_ping (boolean value)
#rpc_ping_enabled = false
[barbican]
#
# From castellan.config
#
# Use this endpoint to connect to Barbican, for example:
# "http://localhost:9311/" (string value)
#barbican_endpoint = <None>
# Version of the Barbican API, for example: "v1" (string value)
#barbican_api_version = <None>
# Use this endpoint to connect to Keystone (string value)
# Deprecated group/name - [key_manager]/auth_url
#auth_endpoint = http://localhost/identity/v3
# Number of seconds to wait before retrying poll for key creation completion
# (integer value)
#retry_delay = 1
# Number of times to retry poll for key creation completion (integer value)
#number_of_retries = 60
# Specifies if insecure TLS (https) requests. If False, the server's certificate
# will not be validated, if True, we can set the verify_ssl_path config
# meanwhile. (boolean value)
#verify_ssl = true
# A path to a bundle or CA certs to check against, or None for requests to
# attempt to locate and use certificates which verify_ssh is True. If verify_ssl
# is False, this is ignored. (string value)
#verify_ssl_path = <None>
# Specifies the type of endpoint. Allowed values are: public, private, and
# admin (string value)
# Possible values:
# public - <No description provided>
# internal - <No description provided>
# admin - <No description provided>
#barbican_endpoint_type = public
# Specifies the region of the chosen endpoint. (string value)
#barbican_region_name = <None>
#
# When True, if sending a user token to a REST API, also send a service token.
#
# Nova often reuses the user token provided to the nova-api to talk to other
# REST
# APIs, such as Cinder, Glance and Neutron. It is possible that while the user
# token was valid when the request was made to Nova, the token may expire before
# it reaches the other service. To avoid any failures, and to make it clear it
# is
# Nova calling the service on the user's behalf, we include a service token
# along
# with the user token. Should the user's token have expired, a valid service
# token ensures the REST API request will still be accepted by the keystone
# middleware.
# (boolean value)
#send_service_user_token = false
[barbican_service_user]
#
# From castellan.config
#
# PEM encoded Certificate Authority to use when verifying HTTPs connections.
# (string value)
#cafile = <None>
# PEM encoded client certificate cert file (string value)
#certfile = <None>
# PEM encoded client certificate key file (string value)
#keyfile = <None>
# Verify HTTPS connections. (boolean value)
#insecure = false
# Timeout value for http requests (integer value)
#timeout = <None>
# Collect per-API call timing information. (boolean value)
#collect_timing = false
# Log requests to multiple loggers. (boolean value)
#split_loggers = false
# Authentication type to load (string value)
# Deprecated group/name - [barbican_service_user]/auth_plugin
#auth_type = <None>
# Config Section from which to load plugin specific options (string value)
#auth_section = <None>
[cinder]
#
# From glance.multi_store
#
#
# Information to match when looking for cinder in the service catalog.
#
# When the ``cinder_endpoint_template`` is not set and any of
# ``cinder_store_auth_address``, ``cinder_store_user_name``,
# ``cinder_store_project_name``, ``cinder_store_password`` is not set,
# cinder store uses this information to lookup cinder endpoint from the service
# catalog in the current context. ``cinder_os_region_name``, if set, is taken
# into consideration to fetch the appropriate endpoint.
#
# The service catalog can be listed by the ``openstack catalog list`` command.
#
# Possible values:
# * A string of of the following form:
# ``<service_type>:<service_name>:<interface>``
# At least ``service_type`` and ``interface`` should be specified.
# ``service_name`` can be omitted.
#
# Related options:
# * cinder_os_region_name
# * cinder_endpoint_template
# * cinder_store_auth_address
# * cinder_store_user_name
# * cinder_store_project_name
# * cinder_store_password
# * cinder_store_project_domain_name
# * cinder_store_user_domain_name
#
# (string value)
#cinder_catalog_info = volumev3::publicURL
#
# Override service catalog lookup with template for cinder endpoint.
#
# When this option is set, this value is used to generate cinder endpoint,
# instead of looking up from the service catalog.
# This value is ignored if ``cinder_store_auth_address``,
# ``cinder_store_user_name``, ``cinder_store_project_name``, and
# ``cinder_store_password`` are specified.
#
# If this configuration option is set, ``cinder_catalog_info`` will be ignored.
#
# Possible values:
# * URL template string for cinder endpoint, where ``%%(tenant)s`` is
# replaced with the current tenant (project) name.
# For example: ``http://cinder.openstack.example.org/v2/%%(tenant)s``
#
# Related options:
# * cinder_store_auth_address
# * cinder_store_user_name
# * cinder_store_project_name
# * cinder_store_password
# * cinder_store_project_domain_name
# * cinder_store_user_domain_name
# * cinder_catalog_info
#
# (string value)
#cinder_endpoint_template = <None>
#
# Region name to lookup cinder service from the service catalog.
#
# This is used only when ``cinder_catalog_info`` is used for determining the
# endpoint. If set, the lookup for cinder endpoint by this node is filtered to
# the specified region. It is useful when multiple regions are listed in the
# catalog. If this is not set, the endpoint is looked up from every region.
#
# Possible values:
# * A string that is a valid region name.
#
# Related options:
# * cinder_catalog_info
#
# (string value)
# Deprecated group/name - [cinder]/os_region_name
#cinder_os_region_name = <None>
#
# Location of a CA certificates file used for cinder client requests.
#
# The specified CA certificates file, if set, is used to verify cinder
# connections via HTTPS endpoint. If the endpoint is HTTP, this value is
# ignored.
# ``cinder_api_insecure`` must be set to ``True`` to enable the verification.
#
# Possible values:
# * Path to a ca certificates file
#
# Related options:
# * cinder_api_insecure
#
# (string value)
#cinder_ca_certificates_file = <None>
#
# Number of cinderclient retries on failed http calls.
#
# When a call failed by any errors, cinderclient will retry the call up to the
# specified times after sleeping a few seconds.
#
# Possible values:
# * A positive integer
#
# Related options:
# * None
#
# (integer value)
# Minimum value: 0
#cinder_http_retries = 3
#
# Time period, in seconds, to wait for a cinder volume transition to
# complete.
#
# When the cinder volume is created, deleted, or attached to the glance node to
# read/write the volume data, the volume's state is changed. For example, the
# newly created volume status changes from ``creating`` to ``available`` after
# the creation process is completed. This specifies the maximum time to wait for
# the status change. If a timeout occurs while waiting, or the status is changed
# to an unexpected value (e.g. `error``), the image creation fails.
#
# Possible values:
# * A positive integer
#
# Related options:
# * None
#
# (integer value)
# Minimum value: 0
#cinder_state_transition_timeout = 300
#
# Allow to perform insecure SSL requests to cinder.
#
# If this option is set to True, HTTPS endpoint connection is verified using the
# CA certificates file specified by ``cinder_ca_certificates_file`` option.
#
# Possible values:
# * True
# * False
#
# Related options:
# * cinder_ca_certificates_file
#
# (boolean value)
#cinder_api_insecure = false
#
# The address where the cinder authentication service is listening.
#
# When all of ``cinder_store_auth_address``, ``cinder_store_user_name``,
# ``cinder_store_project_name``, and ``cinder_store_password`` options are
# specified, the specified values are always used for the authentication.
# This is useful to hide the image volumes from users by storing them in a
# project/tenant specific to the image service. It also enables users to share
# the image volume among other projects under the control of glance's ACL.
#
# If either of these options are not set, the cinder endpoint is looked up
# from the service catalog, and current context's user and project are used.
#
# Possible values:
# * A valid authentication service address, for example:
# ``http://openstack.example.org/identity/v2.0``
#
# Related options:
# * cinder_store_user_name
# * cinder_store_password
# * cinder_store_project_name
# * cinder_store_project_domain_name
# * cinder_store_user_domain_name
#
# (string value)
#cinder_store_auth_address = <None>
#
# User name to authenticate against cinder.
#
# This must be used with all the following non-domain-related options.
# If any of these are not specified (except domain-related options),
# the user of the current context is used.
#
# Possible values:
# * A valid user name
#
# Related options:
# * cinder_store_auth_address
# * cinder_store_password
# * cinder_store_project_name
# * cinder_store_project_domain_name
# * cinder_store_user_domain_name
#
# (string value)
#cinder_store_user_name = <None>
#
# Domain of the user to authenticate against cinder.
#
# Possible values:
# * A valid domain name for the user specified by ``cinder_store_user_name``
#
# Related options:
# * cinder_store_auth_address
# * cinder_store_password
# * cinder_store_project_name
# * cinder_store_project_domain_name
# * cinder_store_user_name
#
# (string value)
#cinder_store_user_domain_name = Default
#
# Password for the user authenticating against cinder.
#
# This must be used with all the following related options.
# If any of these are not specified (except domain-related options),
# the user of the current context is used.
#
# Possible values:
# * A valid password for the user specified by ``cinder_store_user_name``
#
# Related options:
# * cinder_store_auth_address
# * cinder_store_user_name
# * cinder_store_project_name
# * cinder_store_project_domain_name
# * cinder_store_user_domain_name
#
# (string value)
#cinder_store_password = <None>
#
# Project name where the image volume is stored in cinder.
#
# If this configuration option is not set, the project in current context is
# used.
#
# This must be used with all the following related options.
# If any of these are not specified (except domain-related options),
# the user of the current context is used.
#
# Possible values:
# * A valid project name
#
# Related options:
# * ``cinder_store_auth_address``
# * ``cinder_store_user_name``
# * ``cinder_store_password``
# * ``cinder_store_project_domain_name``
# * ``cinder_store_user_domain_name``
#
# (string value)
#cinder_store_project_name = <None>
#
# Domain of the project where the image volume is stored in cinder.
#
# Possible values:
# * A valid domain name of the project specified by
# ``cinder_store_project_name``
#
# Related options:
# * ``cinder_store_auth_address``
# * ``cinder_store_user_name``
# * ``cinder_store_password``
# * ``cinder_store_project_domain_name``
# * ``cinder_store_user_domain_name``
#
# (string value)
#cinder_store_project_domain_name = Default
#
# Path to the rootwrap configuration file to use for running commands as root.
#
# The cinder store requires root privileges to operate the image volumes (for
# connecting to iSCSI/FC volumes and reading/writing the volume data, etc.).
# The configuration file should allow the required commands by cinder store and
# os-brick library.
#
# Possible values:
# * Path to the rootwrap config file
#
# Related options:
# * None
#
# (string value)
#rootwrap_config = /etc/glance/rootwrap.conf
#
# Volume type that will be used for volume creation in cinder.
#
# Some cinder backends can have several volume types to optimize storage usage.
# Adding this option allows an operator to choose a specific volume type
# in cinder that can be optimized for images.
#
# If this is not set, then the default volume type specified in the cinder
# configuration will be used for volume creation.
#
# Possible values:
# * A valid volume type from cinder
#
# Related options:
# * None
#
# NOTE: You cannot use an encrypted volume_type associated with an NFS backend.
# An encrypted volume stored on an NFS backend will raise an exception whenever
# glance_store tries to write or access image data stored in that volume.
# Consult your Cinder administrator to determine an appropriate volume_type.
#
# (string value)
#cinder_volume_type = <None>
#
# If this is set to True, attachment of volumes for image transfer will
# be aborted when multipathd is not running. Otherwise, it will fallback
# to single path.
#
# Possible values:
# * True or False
#
# Related options:
# * cinder_use_multipath
#
# (boolean value)
#cinder_enforce_multipath = false
#
# Flag to identify multipath is supported or not in the deployment.
#
# Set it to False if multipath is not supported.
#
# Possible values:
# * True or False
#
# Related options:
# * cinder_enforce_multipath
#
# (boolean value)
#cinder_use_multipath = false
#
# Directory where the NFS volume is mounted on the glance node.
#
# Possible values:
#
# * A string representing absolute path of mount point.
# (string value)
#cinder_mount_point_base = /var/lib/glance/mnt
#
# If this is set to True, glance will perform an extend operation
# on the attached volume. Only enable this option if the cinder
# backend driver supports the functionality of extending online
# (in-use) volumes. Supported from cinder microversion 3.42 and
# onwards. By default, it is set to False.
#
# Possible values:
# * True or False
#
# (boolean value)
#cinder_do_extend_attached = false
[cors]
#
# From oslo.middleware.cors
#
# Indicate whether this resource may be shared with the domain received in the
# requests "origin" header. Format: "<protocol>://<host>[:<port>]", no trailing
# slash. Example: https://horizon.example.com (list value)
#allowed_origin = <None>
# Indicate that the actual request can include user credentials (boolean value)
#allow_credentials = true
# Indicate which headers are safe to expose to the API. Defaults to HTTP Simple
# Headers. (list value)
#expose_headers = X-Image-Meta-Checksum,X-Auth-Token,X-Subject-Token,X-Service-Token,X-OpenStack-Request-ID
# Maximum cache age of CORS preflight requests. (integer value)
#max_age = 3600
# Indicate which methods can be used during the actual request. (list value)
#allow_methods = GET,PUT,POST,DELETE,PATCH
# Indicate which header field names may be used during the actual request. (list
# value)
#allow_headers = Content-MD5,X-Image-Meta-Checksum,X-Storage-Token,Accept-Encoding,X-Auth-Token,X-Identity-Status,X-Roles,X-Service-Catalog,X-User-Id,X-Tenant-Id,X-OpenStack-Request-ID
[database]
#
# From oslo.db
#
# If True, SQLite uses synchronous mode. (boolean value)
#sqlite_synchronous = true
# The back end to use for the database. (string value)
# Deprecated group/name - [DEFAULT]/db_backend
#backend = sqlalchemy
# The SQLAlchemy connection string to use to connect to the database. (string
# value)
# Deprecated group/name - [DEFAULT]/sql_connection
# Deprecated group/name - [DATABASE]/sql_connection
# Deprecated group/name - [sql]/connection
#connection = <None>
# The SQLAlchemy connection string to use to connect to the slave database.
# (string value)
#slave_connection = <None>
# The SQL mode to be used for MySQL sessions. This option, including the
# default, overrides any server-set SQL mode. To use whatever SQL mode is set by
# the server configuration, set this to no value. Example: mysql_sql_mode=
# (string value)
#mysql_sql_mode = TRADITIONAL
# For Galera only, configure wsrep_sync_wait causality checks on new
# connections. Default is None, meaning don't configure any setting. (integer
# value)
#mysql_wsrep_sync_wait = <None>
# Connections which have been present in the connection pool longer than this
# number of seconds will be replaced with a new one the next time they are
# checked out from the pool. (integer value)
#connection_recycle_time = 3600
# Maximum number of SQL connections to keep open in a pool. Setting a value of 0
# indicates no limit. (integer value)
#max_pool_size = 5
# Maximum number of database connection retries during startup. Set to -1 to
# specify an infinite retry count. (integer value)
# Deprecated group/name - [DEFAULT]/sql_max_retries
# Deprecated group/name - [DATABASE]/sql_max_retries
#max_retries = 10
# Interval between retries of opening a SQL connection. (integer value)
# Deprecated group/name - [DEFAULT]/sql_retry_interval
# Deprecated group/name - [DATABASE]/reconnect_interval
#retry_interval = 10
# If set, use this value for max_overflow with SQLAlchemy. (integer value)
# Deprecated group/name - [DEFAULT]/sql_max_overflow
# Deprecated group/name - [DATABASE]/sqlalchemy_max_overflow
#max_overflow = 50
# Verbosity of SQL debugging information: 0=None, 100=Everything. (integer
# value)
# Minimum value: 0
# Maximum value: 100
# Deprecated group/name - [DEFAULT]/sql_connection_debug
#connection_debug = 0
# Add Python stack traces to SQL as comment strings. (boolean value)
# Deprecated group/name - [DEFAULT]/sql_connection_trace
#connection_trace = false
# If set, use this value for pool_timeout with SQLAlchemy. (integer value)
# Deprecated group/name - [DATABASE]/sqlalchemy_pool_timeout
#pool_timeout = <None>
# Enable the experimental use of database reconnect on connection lost. (boolean
# value)
#use_db_reconnect = false
# Seconds between retries of a database transaction. (integer value)
#db_retry_interval = 1
# If True, increases the interval between retries of a database operation up to
# db_max_retry_interval. (boolean value)
#db_inc_retry_interval = true
# If db_inc_retry_interval is set, the maximum seconds between retries of a
# database operation. (integer value)
#db_max_retry_interval = 10
# Maximum retries in case of connection error or deadlock error before error is
# raised. Set to -1 to specify an infinite retry count. (integer value)
#db_max_retries = 20
# Optional URL parameters to append onto the connection URL at connect time;
# specify as param1=value1&param2=value2&... (string value)
#connection_parameters =
[file]
#
# From glance.multi_store
#
#
# Directory to which the filesystem backend store writes images.
#
# Upon start up, Glance creates the directory if it doesn't already
# exist and verifies write access to the user under which
# ``glance-api`` runs. If the write access isn't available, a
# ``BadStoreConfiguration`` exception is raised and the filesystem
# store may not be available for adding new images.
#
# NOTE: This directory is used only when filesystem store is used as a
# storage backend. Either ``filesystem_store_datadir`` or
# ``filesystem_store_datadirs`` option must be specified in
# ``glance-api.conf``. If both options are specified, a
# ``BadStoreConfiguration`` will be raised and the filesystem store
# may not be available for adding new images.
#
# Possible values:
# * A valid path to a directory
#
# Related options:
# * ``filesystem_store_datadirs``
# * ``filesystem_store_file_perm``
#
# (string value)
#filesystem_store_datadir = /var/lib/glance/images
#
# List of directories and their priorities to which the filesystem
# backend store writes images.
#
# The filesystem store can be configured to store images in multiple
# directories as opposed to using a single directory specified by the
# ``filesystem_store_datadir`` configuration option. When using
# multiple directories, each directory can be given an optional
# priority to specify the preference order in which they should
# be used. Priority is an integer that is concatenated to the
# directory path with a colon where a higher value indicates higher
# priority. When two directories have the same priority, the directory
# with most free space is used. When no priority is specified, it
# defaults to zero.
#
# More information on configuring filesystem store with multiple store
# directories can be found at
# https://docs.openstack.org/glance/latest/configuration/configuring.html
#
# NOTE: This directory is used only when filesystem store is used as a
# storage backend. Either ``filesystem_store_datadir`` or
# ``filesystem_store_datadirs`` option must be specified in
# ``glance-api.conf``. If both options are specified, a
# ``BadStoreConfiguration`` will be raised and the filesystem store
# may not be available for adding new images.
#
# Possible values:
# * List of strings of the following form:
# * ``<a valid directory path>:<optional integer priority>``
#
# Related options:
# * ``filesystem_store_datadir``
# * ``filesystem_store_file_perm``
#
# (multi valued)
#filesystem_store_datadirs =
#
# Filesystem store metadata file.
#
# The path to a file which contains the metadata to be returned with any
# location
# associated with the filesystem store. Once this option is set, it is used for
# new images created afterward only - previously existing images are not
# affected.
#
# The file must contain a valid JSON object. The object should contain the keys
# ``id`` and ``mountpoint``. The value for both keys should be a string.
#
# Possible values:
# * A valid path to the store metadata file
#
# Related options:
# * None
#
# (string value)
#filesystem_store_metadata_file = <None>
#
# File access permissions for the image files.
#
# Set the intended file access permissions for image data. This provides
# a way to enable other services, e.g. Nova, to consume images directly
# from the filesystem store. The users running the services that are
# intended to be given access to could be made a member of the group
# that owns the files created. Assigning a value less then or equal to
# zero for this configuration option signifies that no changes be made
# to the default permissions. This value will be decoded as an octal
# digit.
#
# For more information, please refer the documentation at
# https://docs.openstack.org/glance/latest/configuration/configuring.html
#
# Possible values:
# * A valid file access permission
# * Zero
# * Any negative integer
#
# Related options:
# * None
#
# (integer value)
#filesystem_store_file_perm = 0
#
# Chunk size, in bytes.
#
# The chunk size used when reading or writing image files. Raising this value
# may improve the throughput but it may also slightly increase the memory usage
# when handling a large number of requests.
#
# Possible Values:
# * Any positive integer value
#
# Related options:
# * None
#
# (integer value)
# Minimum value: 1
#filesystem_store_chunk_size = 65536
#
# Enable or not thin provisioning in this backend.
#
# This configuration option enable the feature of not really write null byte
# sequences on the filesystem, the holes who can appear will automatically
# be interpreted by the filesystem as null bytes, and do not really consume
# your storage.
# Enabling this feature will also speed up image upload and save network traffic
# in addition to save space in the backend, as null bytes sequences are not
# sent over the network.
#
# Possible Values:
# * True
# * False
#
# Related options:
# * None
#
# (boolean value)
#filesystem_thin_provisioning = false
[glance.store.http.store]
#
# From glance.multi_store
#
#
# Path to the CA bundle file.
#
# This configuration option enables the operator to use a custom
# Certificate Authority file to verify the remote server certificate. If
# this option is set, the ``https_insecure`` option will be ignored and
# the CA file specified will be used to authenticate the server
# certificate and establish a secure connection to the server.
#
# Possible values:
# * A valid path to a CA file
#
# Related options:
# * https_insecure
#
# (string value)
#https_ca_certificates_file = <None>
#
# Set verification of the remote server certificate.
#
# This configuration option takes in a boolean value to determine
# whether or not to verify the remote server certificate. If set to
# True, the remote server certificate is not verified. If the option is
# set to False, then the default CA truststore is used for verification.
#
# This option is ignored if ``https_ca_certificates_file`` is set.
# The remote server certificate will then be verified using the file
# specified using the ``https_ca_certificates_file`` option.
#
# Possible values:
# * True
# * False
#
# Related options:
# * https_ca_certificates_file
#
# (boolean value)
#https_insecure = true
#
# The http/https proxy information to be used to connect to the remote
# server.
#
# This configuration option specifies the http/https proxy information
# that should be used to connect to the remote server. The proxy
# information should be a key value pair of the scheme and proxy, for
# example, http:10.0.0.1:3128. You can also specify proxies for multiple
# schemes by separating the key value pairs with a comma, for example,
# http:10.0.0.1:3128, https:10.0.0.1:1080.
#
# Possible values:
# * A comma separated list of scheme:proxy pairs as described above
#
# Related options:
# * None
#
# (dict value)
#http_proxy_information =
[glance.store.rbd.store]
#
# From glance.multi_store
#
#
# Size, in megabytes, to chunk RADOS images into.
#
# Provide an integer value representing the size in megabytes to chunk
# Glance images into. The default chunk size is 8 megabytes. For optimal
# performance, the value should be a power of two.
#
# When Ceph's RBD object storage system is used as the storage backend
# for storing Glance images, the images are chunked into objects of the
# size set using this option. These chunked objects are then stored
# across the distributed block data store to use for Glance.
#
# Possible Values:
# * Any positive integer value
#
# Related options:
# * None
#
# (integer value)
# Minimum value: 1
#rbd_store_chunk_size = 8
#
# RADOS pool in which images are stored.
#
# When RBD is used as the storage backend for storing Glance images, the
# images are stored by means of logical grouping of the objects (chunks
# of images) into a ``pool``. Each pool is defined with the number of
# placement groups it can contain. The default pool that is used is
# 'images'.
#
# More information on the RBD storage backend can be found here:
# http://ceph.com/planet/how-data-is-stored-in-ceph-cluster/
#
# Possible Values:
# * A valid pool name
#
# Related options:
# * None
#
# (string value)
#rbd_store_pool = images
#
# RADOS user to authenticate as.
#
# This configuration option takes in the RADOS user to authenticate as.
# This is only needed when RADOS authentication is enabled and is
# applicable only if the user is using Cephx authentication. If the
# value for this option is not set by the user or is set to None, a
# default value will be chosen, which will be based on the client.
# section in rbd_store_ceph_conf.
#
# Possible Values:
# * A valid RADOS user
#
# Related options:
# * rbd_store_ceph_conf
#
# (string value)
#rbd_store_user = <None>
#
# Ceph configuration file path.
#
# This configuration option specifies the path to the Ceph configuration
# file to be used. If the value for this option is not set by the user
# or is set to the empty string, librados will read the standard ceph.conf
# file by searching the default Ceph configuration file locations in
# sequential order. See the Ceph documentation for details.
#
# NOTE: If using Cephx authentication, this file should include a reference
# to the right keyring in a client.<USER> section
#
# NOTE 2: If you leave this option empty (the default), the actual Ceph
# configuration file used may change depending on what version of librados
# is being used. If it is important for you to know exactly which configuration
# file is in effect, you may specify that file here using this option.
#
# Possible Values:
# * A valid path to a configuration file
#
# Related options:
# * rbd_store_user
#
# (string value)
#rbd_store_ceph_conf =
#
# Timeout value for connecting to Ceph cluster.
#
# This configuration option takes in the timeout value in seconds used
# when connecting to the Ceph cluster i.e. it sets the time to wait for
# glance-api before closing the connection. This prevents glance-api
# hangups during the connection to RBD. If the value for this option
# is set to less than 0, no timeout is set and the default librados value
# is used.
#
# Possible Values:
# * Any integer value
#
# Related options:
# * None
#
# (integer value)
#rados_connect_timeout = -1
#
# Enable or not thin provisioning in this backend.
#
# This configuration option enable the feature of not really write null byte
# sequences on the RBD backend, the holes who can appear will automatically
# be interpreted by Ceph as null bytes, and do not really consume your storage.
# Enabling this feature will also speed up image upload and save network traffic
# in addition to save space in the backend, as null bytes sequences are not
# sent over the network.
#
# Possible Values:
# * True
# * False
#
# Related options:
# * None
#
# (boolean value)
#rbd_thin_provisioning = false
[glance.store.s3.store]
#
# From glance.multi_store
#
#
# The host where the S3 server is listening.
#
# This configuration option sets the host of the S3 or S3 compatible storage
# Server. This option is required when using the S3 storage backend.
# The host can contain a DNS name (e.g. s3.amazonaws.com, my-object-storage.com)
# or an IP address (127.0.0.1).
#
# Possible values:
# * A valid DNS name
# * A valid IPv4 address
#
# Related Options:
# * s3_store_access_key
# * s3_store_secret_key
#
# (string value)
#s3_store_host = <None>
#
# The S3 region name.
#
# This parameter will set the region_name used by boto.
# If this parameter is not set, we we will try to compute it from the
# s3_store_host.
#
# Possible values:
# * A valid region name
#
# Related Options:
# * s3_store_host
#
# (string value)
#s3_store_region_name =
#
# The S3 query token access key.
#
# This configuration option takes the access key for authenticating with the
# Amazon S3 or S3 compatible storage server. This option is required when using
# the S3 storage backend.
#
# Possible values:
# * Any string value that is the access key for a user with appropriate
# privileges
#
# Related Options:
# * s3_store_host
# * s3_store_secret_key
#
# (string value)
#s3_store_access_key = <None>
#
# The S3 query token secret key.
#
# This configuration option takes the secret key for authenticating with the
# Amazon S3 or S3 compatible storage server. This option is required when using
# the S3 storage backend.
#
# Possible values:
# * Any string value that is a secret key corresponding to the access key
# specified using the ``s3_store_host`` option
#
# Related Options:
# * s3_store_host
# * s3_store_access_key
#
# (string value)
#s3_store_secret_key = <None>
#
# The S3 bucket to be used to store the Glance data.
#
# This configuration option specifies where the glance images will be stored
# in the S3. If ``s3_store_create_bucket_on_put`` is set to true, it will be
# created automatically even if the bucket does not exist.
#
# Possible values:
# * Any string value
#
# Related Options:
# * s3_store_create_bucket_on_put
# * s3_store_bucket_url_format
#
# (string value)
#s3_store_bucket = <None>
#
# Determine whether S3 should create a new bucket.
#
# This configuration option takes boolean value to indicate whether Glance
# should
# create a new bucket to S3 if it does not exist.
#
# Possible values:
# * Any Boolean value
#
# Related Options:
# * None
#
# (boolean value)
#s3_store_create_bucket_on_put = false
#
# The S3 calling format used to determine the object.
#
# This configuration option takes access model that is used to specify the
# address of an object in an S3 bucket.
#
# NOTE:
# In ``path``-style, the endpoint for the object looks like
# 'https://s3.amazonaws.com/bucket/example.img'.
# And in ``virtual``-style, the endpoint for the object looks like
# 'https://bucket.s3.amazonaws.com/example.img'.
# If you do not follow the DNS naming convention in the bucket name, you can
# get objects in the path style, but not in the virtual style.
#
# Possible values:
# * Any string value of ``auto``, ``virtual``, or ``path``
#
# Related Options:
# * s3_store_bucket
#
# (string value)
#s3_store_bucket_url_format = auto
#
# What size, in MB, should S3 start chunking image files and do a multipart
# upload in S3.
#
# This configuration option takes a threshold in MB to determine whether to
# upload the image to S3 as is or to split it (Multipart Upload).
#
# Note: You can only split up to 10,000 images.
#
# Possible values:
# * Any positive integer value
#
# Related Options:
# * s3_store_large_object_chunk_size
# * s3_store_thread_pools
#
# (integer value)
#s3_store_large_object_size = 100
#
# What multipart upload part size, in MB, should S3 use when uploading parts.
#
# This configuration option takes the image split size in MB for Multipart
# Upload.
#
# Note: You can only split up to 10,000 images.
#
# Possible values:
# * Any positive integer value (must be greater than or equal to 5M)
#
# Related Options:
# * s3_store_large_object_size
# * s3_store_thread_pools
#
# (integer value)
#s3_store_large_object_chunk_size = 10
#
# The number of thread pools to perform a multipart upload in S3.
#
# This configuration option takes the number of thread pools when performing a
# Multipart Upload.
#
# Possible values:
# * Any positive integer value
#
# Related Options:
# * s3_store_large_object_size
# * s3_store_large_object_chunk_size
#
# (integer value)
#s3_store_thread_pools = 10
[glance.store.swift.store]
#
# From glance.multi_store
#
#
# Set verification of the server certificate.
#
# This boolean determines whether or not to verify the server
# certificate. If this option is set to True, swiftclient won't check
# for a valid SSL certificate when authenticating. If the option is set
# to False, then the default CA truststore is used for verification.
#
# Possible values:
# * True
# * False
#
# Related options:
# * swift_store_cacert
#
# (boolean value)
#swift_store_auth_insecure = false
#
# Path to the CA bundle file.
#
# This configuration option enables the operator to specify the path to
# a custom Certificate Authority file for SSL verification when
# connecting to Swift.
#
# Possible values:
# * A valid path to a CA file
#
# Related options:
# * swift_store_auth_insecure
#
# (string value)
#
# This option has a sample default set, which means that
# its actual default value may vary from the one documented
# below.
#swift_store_cacert = /etc/ssl/certs/ca-certificates.crt
#
# The region of Swift endpoint to use by Glance.
#
# Provide a string value representing a Swift region where Glance
# can connect to for image storage. By default, there is no region
# set.
#
# When Glance uses Swift as the storage backend to store images
# for a specific tenant that has multiple endpoints, setting of a
# Swift region with ``swift_store_region`` allows Glance to connect
# to Swift in the specified region as opposed to a single region
# connectivity.
#
# This option can be configured for both single-tenant and
# multi-tenant storage.
#
# NOTE: Setting the region with ``swift_store_region`` is
# tenant-specific and is necessary ``only if`` the tenant has
# multiple endpoints across different regions.
#
# Possible values:
# * A string value representing a valid Swift region.
#
# Related Options:
# * None
#
# (string value)
#
# This option has a sample default set, which means that
# its actual default value may vary from the one documented
# below.
#swift_store_region = RegionTwo
#
# The URL endpoint to use for Swift backend storage.
#
# Provide a string value representing the URL endpoint to use for
# storing Glance images in Swift store. By default, an endpoint
# is not set and the storage URL returned by ``auth`` is used.
# Setting an endpoint with ``swift_store_endpoint`` overrides the
# storage URL and is used for Glance image storage.
#
# NOTE: The URL should include the path up to, but excluding the
# container. The location of an object is obtained by appending
# the container and object to the configured URL.
#
# Possible values:
# * String value representing a valid URL path up to a Swift container
#
# Related Options:
# * None
#
# (string value)
#
# This option has a sample default set, which means that
# its actual default value may vary from the one documented
# below.
#swift_store_endpoint = https://swift.openstack.example.org/v1/path_not_including_container_name
#
# Endpoint Type of Swift service.
#
# This string value indicates the endpoint type to use to fetch the
# Swift endpoint. The endpoint type determines the actions the user will
# be allowed to perform, for instance, reading and writing to the Store.
# This setting is only used if swift_store_auth_version is greater than
# 1.
#
# Possible values:
# * publicURL
# * adminURL
# * internalURL
#
# Related options:
# * swift_store_endpoint
#
# (string value)
# Possible values:
# publicURL - <No description provided>
# adminURL - <No description provided>
# internalURL - <No description provided>
#swift_store_endpoint_type = publicURL
#
# Type of Swift service to use.
#
# Provide a string value representing the service type to use for
# storing images while using Swift backend storage. The default
# service type is set to ``object-store``.
#
# NOTE: If ``swift_store_auth_version`` is set to 2, the value for
# this configuration option needs to be ``object-store``. If using
# a higher version of Keystone or a different auth scheme, this
# option may be modified.
#
# Possible values:
# * A string representing a valid service type for Swift storage.
#
# Related Options:
# * None
#
# (string value)
#swift_store_service_type = object-store
#
# Name of single container to store images/name prefix for multiple containers
#
# When a single container is being used to store images, this configuration
# option indicates the container within the Glance account to be used for
# storing all images. When multiple containers are used to store images, this
# will be the name prefix for all containers. Usage of single/multiple
# containers can be controlled using the configuration option
# ``swift_store_multiple_containers_seed``.
#
# When using multiple containers, the containers will be named after the value
# set for this configuration option with the first N chars of the image UUID
# as the suffix delimited by an underscore (where N is specified by
# ``swift_store_multiple_containers_seed``).
#
# Example: if the seed is set to 3 and swift_store_container = ``glance``, then
# an image with UUID ``fdae39a1-bac5-4238-aba4-69bcc726e848`` would be placed in
# the container ``glance_fda``. All dashes in the UUID are included when
# creating the container name but do not count toward the character limit, so
# when N=10 the container name would be ``glance_fdae39a1-ba.``
#
# Possible values:
# * If using single container, this configuration option can be any string
# that is a valid swift container name in Glance's Swift account
# * If using multiple containers, this configuration option can be any
# string as long as it satisfies the container naming rules enforced by
# Swift. The value of ``swift_store_multiple_containers_seed`` should be
# taken into account as well.
#
# Related options:
# * ``swift_store_multiple_containers_seed``
# * ``swift_store_multi_tenant``
# * ``swift_store_create_container_on_put``
#
# (string value)
#swift_store_container = glance
#
# The size threshold, in MB, after which Glance will start segmenting image
# data.
#
# Swift has an upper limit on the size of a single uploaded object. By default,
# this is 5GB. To upload objects bigger than this limit, objects are segmented
# into multiple smaller objects that are tied together with a manifest file.
# For more detail, refer to
# https://docs.openstack.org/swift/latest/overview_large_objects.html
#
# This configuration option specifies the size threshold over which the Swift
# driver will start segmenting image data into multiple smaller files.
# Currently, the Swift driver only supports creating Dynamic Large Objects.
#
# NOTE: This should be set by taking into account the large object limit
# enforced by the Swift cluster in consideration.
#
# Possible values:
# * A positive integer that is less than or equal to the large object limit
# enforced by the Swift cluster in consideration.
#
# Related options:
# * ``swift_store_large_object_chunk_size``
#
# (integer value)
# Minimum value: 1
#swift_store_large_object_size = 5120
#
# The maximum size, in MB, of the segments when image data is segmented.
#
# When image data is segmented to upload images that are larger than the limit
# enforced by the Swift cluster, image data is broken into segments that are no
# bigger than the size specified by this configuration option.
# Refer to ``swift_store_large_object_size`` for more detail.
#
# For example: if ``swift_store_large_object_size`` is 5GB and
# ``swift_store_large_object_chunk_size`` is 1GB, an image of size 6.2GB will be
# segmented into 7 segments where the first six segments will be 1GB in size and
# the seventh segment will be 0.2GB.
#
# Possible values:
# * A positive integer that is less than or equal to the large object limit
# enforced by Swift cluster in consideration.
#
# Related options:
# * ``swift_store_large_object_size``
#
# (integer value)
# Minimum value: 1
#swift_store_large_object_chunk_size = 200
#
# Create container, if it doesn't already exist, when uploading image.
#
# At the time of uploading an image, if the corresponding container doesn't
# exist, it will be created provided this configuration option is set to True.
# By default, it won't be created. This behavior is applicable for both single
# and multiple containers mode.
#
# Possible values:
# * True
# * False
#
# Related options:
# * None
#
# (boolean value)
#swift_store_create_container_on_put = false
#
# Store images in tenant's Swift account.
#
# This enables multi-tenant storage mode which causes Glance images to be stored
# in tenant specific Swift accounts. If this is disabled, Glance stores all
# images in its own account. More details multi-tenant store can be found at
# https://wiki.openstack.org/wiki/GlanceSwiftTenantSpecificStorage
#
# NOTE: If using multi-tenant swift store, please make sure
# that you do not set a swift configuration file with the
# 'swift_store_config_file' option.
#
# Possible values:
# * True
# * False
#
# Related options:
# * swift_store_config_file
#
# (boolean value)
#swift_store_multi_tenant = false
#
# Seed indicating the number of containers to use for storing images.
#
# When using a single-tenant store, images can be stored in one or more than one
# containers. When set to 0, all images will be stored in one single container.
# When set to an integer value between 1 and 32, multiple containers will be
# used to store images. This configuration option will determine how many
# containers are created. The total number of containers that will be used is
# equal to 16^N, so if this config option is set to 2, then 16^2=256 containers
# will be used to store images.
#
# Please refer to ``swift_store_container`` for more detail on the naming
# convention. More detail about using multiple containers can be found at
# https://specs.openstack.org/openstack/glance-specs/specs/kilo/swift-store-
# multiple-containers.html
#
# NOTE: This is used only when swift_store_multi_tenant is disabled.
#
# Possible values:
# * A non-negative integer less than or equal to 32
#
# Related options:
# * ``swift_store_container``
# * ``swift_store_multi_tenant``
# * ``swift_store_create_container_on_put``
#
# (integer value)
# Minimum value: 0
# Maximum value: 32
#swift_store_multiple_containers_seed = 0
#
# List of tenants that will be granted admin access.
#
# This is a list of tenants that will be granted read/write access on
# all Swift containers created by Glance in multi-tenant mode. The
# default value is an empty list.
#
# Possible values:
# * A comma separated list of strings representing UUIDs of Keystone
# projects/tenants
#
# Related options:
# * None
#
# (list value)
#swift_store_admin_tenants =
#
# SSL layer compression for HTTPS Swift requests.
#
# Provide a boolean value to determine whether or not to compress
# HTTPS Swift requests for images at the SSL layer. By default,
# compression is enabled.
#
# When using Swift as the backend store for Glance image storage,
# SSL layer compression of HTTPS Swift requests can be set using
# this option. If set to False, SSL layer compression of HTTPS
# Swift requests is disabled. Disabling this option may improve
# performance for images which are already in a compressed format,
# for example, qcow2.
#
# Possible values:
# * True
# * False
#
# Related Options:
# * None
#
# (boolean value)
#swift_store_ssl_compression = true
#
# The number of times a Swift download will be retried before the
# request fails.
#
# Provide an integer value representing the number of times an image
# download must be retried before erroring out. The default value is
# zero (no retry on a failed image download). When set to a positive
# integer value, ``swift_store_retry_get_count`` ensures that the
# download is attempted this many more times upon a download failure
# before sending an error message.
#
# Possible values:
# * Zero
# * Positive integer value
#
# Related Options:
# * None
#
# (integer value)
# Minimum value: 0
#swift_store_retry_get_count = 0
#
# Time in seconds defining the size of the window in which a new
# token may be requested before the current token is due to expire.
#
# Typically, the Swift storage driver fetches a new token upon the
# expiration of the current token to ensure continued access to
# Swift. However, some Swift transactions (like uploading image
# segments) may not recover well if the token expires on the fly.
#
# Hence, by fetching a new token before the current token expiration,
# we make sure that the token does not expire or is close to expiry
# before a transaction is attempted. By default, the Swift storage
# driver requests for a new token 60 seconds or less before the
# current token expiration.
#
# Possible values:
# * Zero
# * Positive integer value
#
# Related Options:
# * None
#
# (integer value)
# Minimum value: 0
#swift_store_expire_soon_interval = 60
#
# Use trusts for multi-tenant Swift store.
#
# This option instructs the Swift store to create a trust for each
# add/get request when the multi-tenant store is in use. Using trusts
# allows the Swift store to avoid problems that can be caused by an
# authentication token expiring during the upload or download of data.
#
# By default, ``swift_store_use_trusts`` is set to ``True``(use of
# trusts is enabled). If set to ``False``, a user token is used for
# the Swift connection instead, eliminating the overhead of trust
# creation.
#
# NOTE: This option is considered only when
# ``swift_store_multi_tenant`` is set to ``True``
#
# Possible values:
# * True
# * False
#
# Related options:
# * swift_store_multi_tenant
#
# (boolean value)
#swift_store_use_trusts = true
#
# Buffer image segments before upload to Swift.
#
# Provide a boolean value to indicate whether or not Glance should
# buffer image data to disk while uploading to swift. This enables
# Glance to resume uploads on error.
#
# NOTES:
# When enabling this option, one should take great care as this
# increases disk usage on the API node. Be aware that depending
# upon how the file system is configured, the disk space used
# for buffering may decrease the actual disk space available for
# the glance image cache. Disk utilization will cap according to
# the following equation:
# (``swift_store_large_object_chunk_size`` * ``workers`` * 1000)
#
# Possible values:
# * True
# * False
#
# Related options:
# * swift_upload_buffer_dir
#
# (boolean value)
#swift_buffer_on_upload = false
#
# Reference to default Swift account/backing store parameters.
#
# Provide a string value representing a reference to the default set
# of parameters required for using swift account/backing store for
# image storage. The default reference value for this configuration
# option is 'ref1'. This configuration option dereferences the
# parameters and facilitates image storage in Swift storage backend
# every time a new image is added.
#
# Possible values:
# * A valid string value
#
# Related options:
# * None
#
# (string value)
#default_swift_reference = ref1
# DEPRECATED: Version of the authentication service to use. Valid versions are 2
# and 3 for keystone and 1 (deprecated) for swauth and rackspace. (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason:
# The option 'auth_version' in the Swift back-end configuration file is
# used instead.
#swift_store_auth_version = 2
# DEPRECATED: The address where the Swift authentication service is listening.
# (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason:
# The option 'auth_address' in the Swift back-end configuration file is
# used instead.
#swift_store_auth_address = <None>
# DEPRECATED: The user to authenticate against the Swift authentication service.
# (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason:
# The option 'user' in the Swift back-end configuration file is set instead.
#swift_store_user = <None>
# DEPRECATED: Auth key for the user authenticating against the Swift
# authentication service. (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason:
# The option 'key' in the Swift back-end configuration file is used
# to set the authentication key instead.
#swift_store_key = <None>
#
# Absolute path to the file containing the swift account(s)
# configurations.
#
# Include a string value representing the path to a configuration
# file that has references for each of the configured Swift
# account(s)/backing stores. By default, no file path is specified
# and customized Swift referencing is disabled. Configuring this
# option is highly recommended while using Swift storage backend for
# image storage as it avoids storage of credentials in the database.
#
# NOTE: Please do not configure this option if you have set
# ``swift_store_multi_tenant`` to ``True``.
#
# Possible values:
# * String value representing an absolute path on the glance-api
# node
#
# Related options:
# * swift_store_multi_tenant
#
# (string value)
#swift_store_config_file = <None>
#
# Directory to buffer image segments before upload to Swift.
#
# Provide a string value representing the absolute path to the
# directory on the glance node where image segments will be
# buffered briefly before they are uploaded to swift.
#
# NOTES:
# * This is required only when the configuration option
# ``swift_buffer_on_upload`` is set to True.
# * This directory should be provisioned keeping in mind the
# ``swift_store_large_object_chunk_size`` and the maximum
# number of images that could be uploaded simultaneously by
# a given glance node.
#
# Possible values:
# * String value representing an absolute directory path
#
# Related options:
# * swift_buffer_on_upload
# * swift_store_large_object_chunk_size
#
# (string value)
#swift_upload_buffer_dir = <None>
[glance.store.vmware_datastore.store]
#
# From glance.multi_store
#
#
# Address of the ESX/ESXi or vCenter Server target system.
#
# This configuration option sets the address of the ESX/ESXi or vCenter
# Server target system. This option is required when using the VMware
# storage backend. The address can contain an IP address (127.0.0.1) or
# a DNS name (www.my-domain.com).
#
# Possible Values:
# * A valid IPv4 or IPv6 address
# * A valid DNS name
#
# Related options:
# * vmware_server_username
# * vmware_server_password
#
# (host address value)
#
# This option has a sample default set, which means that
# its actual default value may vary from the one documented
# below.
#vmware_server_host = 127.0.0.1
#
# Server username.
#
# This configuration option takes the username for authenticating with
# the VMware ESX/ESXi or vCenter Server. This option is required when
# using the VMware storage backend.
#
# Possible Values:
# * Any string that is the username for a user with appropriate
# privileges
#
# Related options:
# * vmware_server_host
# * vmware_server_password
#
# (string value)
#
# This option has a sample default set, which means that
# its actual default value may vary from the one documented
# below.
#vmware_server_username = root
#
# Server password.
#
# This configuration option takes the password for authenticating with
# the VMware ESX/ESXi or vCenter Server. This option is required when
# using the VMware storage backend.
#
# Possible Values:
# * Any string that is a password corresponding to the username
# specified using the "vmware_server_username" option
#
# Related options:
# * vmware_server_host
# * vmware_server_username
#
# (string value)
#
# This option has a sample default set, which means that
# its actual default value may vary from the one documented
# below.
#vmware_server_password = vmware
#
# The number of VMware API retries.
#
# This configuration option specifies the number of times the VMware
# ESX/VC server API must be retried upon connection related issues or
# server API call overload. It is not possible to specify 'retry
# forever'.
#
# Possible Values:
# * Any positive integer value
#
# Related options:
# * None
#
# (integer value)
# Minimum value: 1
#vmware_api_retry_count = 10
#
# Interval in seconds used for polling remote tasks invoked on VMware
# ESX/VC server.
#
# This configuration option takes in the sleep time in seconds for polling an
# on-going async task as part of the VMWare ESX/VC server API call.
#
# Possible Values:
# * Any positive integer value
#
# Related options:
# * None
#
# (integer value)
# Minimum value: 1
#vmware_task_poll_interval = 5
#
# The directory where the glance images will be stored in the datastore.
#
# This configuration option specifies the path to the directory where the
# glance images will be stored in the VMware datastore. If this option
# is not set, the default directory where the glance images are stored
# is openstack_glance.
#
# Possible Values:
# * Any string that is a valid path to a directory
#
# Related options:
# * None
#
# (string value)
#vmware_store_image_dir = /openstack_glance
#
# Set verification of the ESX/vCenter server certificate.
#
# This configuration option takes a boolean value to determine
# whether or not to verify the ESX/vCenter server certificate. If this
# option is set to True, the ESX/vCenter server certificate is not
# verified. If this option is set to False, then the default CA
# truststore is used for verification.
#
# This option is ignored if the "vmware_ca_file" option is set. In that
# case, the ESX/vCenter server certificate will then be verified using
# the file specified using the "vmware_ca_file" option .
#
# Possible Values:
# * True
# * False
#
# Related options:
# * vmware_ca_file
#
# (boolean value)
# Deprecated group/name - [glance.store.vmware_datastore.store]/vmware_api_insecure
#vmware_insecure = false
#
# Absolute path to the CA bundle file.
#
# This configuration option enables the operator to use a custom
# Cerificate Authority File to verify the ESX/vCenter certificate.
#
# If this option is set, the "vmware_insecure" option will be ignored
# and the CA file specified will be used to authenticate the ESX/vCenter
# server certificate and establish a secure connection to the server.
#
# Possible Values:
# * Any string that is a valid absolute path to a CA file
#
# Related options:
# * vmware_insecure
#
# (string value)
#
# This option has a sample default set, which means that
# its actual default value may vary from the one documented
# below.
#vmware_ca_file = /etc/ssl/certs/ca-certificates.crt
#
# The datastores where the image can be stored.
#
# This configuration option specifies the datastores where the image can
# be stored in the VMWare store backend. This option may be specified
# multiple times for specifying multiple datastores. The datastore name
# should be specified after its datacenter path, separated by ":". An
# optional weight may be given after the datastore name, separated again
# by ":" to specify the priority. Thus, the required format becomes
# <datacenter_path>:<datastore_name>:<optional_weight>.
#
# When adding an image, the datastore with highest weight will be
# selected, unless there is not enough free space available in cases
# where the image size is already known. If no weight is given, it is
# assumed to be zero and the directory will be considered for selection
# last. If multiple datastores have the same weight, then the one with
# the most free space available is selected.
#
# Possible Values:
# * Any string of the format:
# <datacenter_path>:<datastore_name>:<optional_weight>
#
# Related options:
# * None
#
# (multi valued)
#vmware_datastores =
[glance_store]
#
# From glance.multi_store
#
#
# The store identifier for the default backend in which data will be
# stored.
#
# The value must be defined as one of the keys in the dict defined
# by the ``enabled_backends`` configuration option in the DEFAULT
# configuration group.
#
# If a value is not defined for this option:
#
# * the consuming service may refuse to start
# * store_add calls that do not specify a specific backend will
# raise a ``glance_store.exceptions.UnknownScheme`` exception
#
# Related Options:
# * enabled_backends
#
# (string value)
#default_backend = <None>
#
# From glance.store
#
# DEPRECATED:
# List of enabled Glance stores.
#
# Register the storage backends to use for storing disk images
# as a comma separated list. The default stores enabled for
# storing disk images with Glance are ``file`` and ``http``.
#
# Possible values:
# * A comma separated list that could include:
# * file
# * http
# * swift
# * rbd
# * cinder
# * vmware
# * s3
#
# Related Options:
# * default_store
#
# (list value)
# This option is deprecated for removal since Rocky.
# Its value may be silently ignored in the future.
# Reason:
# This option is deprecated against new config option
# ``enabled_backends`` which helps to configure multiple backend stores
# of different schemes.
#
# This option is scheduled for removal in the U development
# cycle.
#stores = file,http
# DEPRECATED:
# The default scheme to use for storing images.
#
# Provide a string value representing the default scheme to use for
# storing images. If not set, Glance uses ``file`` as the default
# scheme to store images with the ``file`` store.
#
# NOTE: The value given for this configuration option must be a valid
# scheme for a store registered with the ``stores`` configuration
# option.
#
# Possible values:
# * file
# * filesystem
# * http
# * https
# * swift
# * swift+http
# * swift+https
# * swift+config
# * rbd
# * cinder
# * vsphere
# * s3
#
# Related Options:
# * stores
#
# (string value)
# Possible values:
# file - <No description provided>
# filesystem - <No description provided>
# http - <No description provided>
# https - <No description provided>
# swift - <No description provided>
# swift+http - <No description provided>
# swift+https - <No description provided>
# swift+config - <No description provided>
# rbd - <No description provided>
# cinder - <No description provided>
# vsphere - <No description provided>
# s3 - <No description provided>
# This option is deprecated for removal since Rocky.
# Its value may be silently ignored in the future.
# Reason:
# This option is deprecated against new config option
# ``default_backend`` which acts similar to ``default_store`` config
# option.
#
# This option is scheduled for removal in the U development
# cycle.
#default_store = file
#
# Information to match when looking for cinder in the service catalog.
#
# When the ``cinder_endpoint_template`` is not set and any of
# ``cinder_store_auth_address``, ``cinder_store_user_name``,
# ``cinder_store_project_name``, ``cinder_store_password`` is not set,
# cinder store uses this information to lookup cinder endpoint from the service
# catalog in the current context. ``cinder_os_region_name``, if set, is taken
# into consideration to fetch the appropriate endpoint.
#
# The service catalog can be listed by the ``openstack catalog list`` command.
#
# Possible values:
# * A string of of the following form:
# ``<service_type>:<service_name>:<interface>``
# At least ``service_type`` and ``interface`` should be specified.
# ``service_name`` can be omitted.
#
# Related options:
# * cinder_os_region_name
# * cinder_endpoint_template
# * cinder_store_auth_address
# * cinder_store_user_name
# * cinder_store_project_name
# * cinder_store_password
# * cinder_store_project_domain_name
# * cinder_store_user_domain_name
#
# (string value)
#cinder_catalog_info = volumev3::publicURL
#
# Override service catalog lookup with template for cinder endpoint.
#
# When this option is set, this value is used to generate cinder endpoint,
# instead of looking up from the service catalog.
# This value is ignored if ``cinder_store_auth_address``,
# ``cinder_store_user_name``, ``cinder_store_project_name``, and
# ``cinder_store_password`` are specified.
#
# If this configuration option is set, ``cinder_catalog_info`` will be ignored.
#
# Possible values:
# * URL template string for cinder endpoint, where ``%%(tenant)s`` is
# replaced with the current tenant (project) name.
# For example: ``http://cinder.openstack.example.org/v2/%%(tenant)s``
#
# Related options:
# * cinder_store_auth_address
# * cinder_store_user_name
# * cinder_store_project_name
# * cinder_store_password
# * cinder_store_project_domain_name
# * cinder_store_user_domain_name
# * cinder_catalog_info
#
# (string value)
#cinder_endpoint_template = <None>
#
# Region name to lookup cinder service from the service catalog.
#
# This is used only when ``cinder_catalog_info`` is used for determining the
# endpoint. If set, the lookup for cinder endpoint by this node is filtered to
# the specified region. It is useful when multiple regions are listed in the
# catalog. If this is not set, the endpoint is looked up from every region.
#
# Possible values:
# * A string that is a valid region name.
#
# Related options:
# * cinder_catalog_info
#
# (string value)
# Deprecated group/name - [glance_store]/os_region_name
#cinder_os_region_name = <None>
#
# Location of a CA certificates file used for cinder client requests.
#
# The specified CA certificates file, if set, is used to verify cinder
# connections via HTTPS endpoint. If the endpoint is HTTP, this value is
# ignored.
# ``cinder_api_insecure`` must be set to ``True`` to enable the verification.
#
# Possible values:
# * Path to a ca certificates file
#
# Related options:
# * cinder_api_insecure
#
# (string value)
#cinder_ca_certificates_file = <None>
#
# Number of cinderclient retries on failed http calls.
#
# When a call failed by any errors, cinderclient will retry the call up to the
# specified times after sleeping a few seconds.
#
# Possible values:
# * A positive integer
#
# Related options:
# * None
#
# (integer value)
# Minimum value: 0
#cinder_http_retries = 3
#
# Time period, in seconds, to wait for a cinder volume transition to
# complete.
#
# When the cinder volume is created, deleted, or attached to the glance node to
# read/write the volume data, the volume's state is changed. For example, the
# newly created volume status changes from ``creating`` to ``available`` after
# the creation process is completed. This specifies the maximum time to wait for
# the status change. If a timeout occurs while waiting, or the status is changed
# to an unexpected value (e.g. `error``), the image creation fails.
#
# Possible values:
# * A positive integer
#
# Related options:
# * None
#
# (integer value)
# Minimum value: 0
#cinder_state_transition_timeout = 300
#
# Allow to perform insecure SSL requests to cinder.
#
# If this option is set to True, HTTPS endpoint connection is verified using the
# CA certificates file specified by ``cinder_ca_certificates_file`` option.
#
# Possible values:
# * True
# * False
#
# Related options:
# * cinder_ca_certificates_file
#
# (boolean value)
#cinder_api_insecure = false
#
# The address where the cinder authentication service is listening.
#
# When all of ``cinder_store_auth_address``, ``cinder_store_user_name``,
# ``cinder_store_project_name``, and ``cinder_store_password`` options are
# specified, the specified values are always used for the authentication.
# This is useful to hide the image volumes from users by storing them in a
# project/tenant specific to the image service. It also enables users to share
# the image volume among other projects under the control of glance's ACL.
#
# If either of these options are not set, the cinder endpoint is looked up
# from the service catalog, and current context's user and project are used.
#
# Possible values:
# * A valid authentication service address, for example:
# ``http://openstack.example.org/identity/v2.0``
#
# Related options:
# * cinder_store_user_name
# * cinder_store_password
# * cinder_store_project_name
# * cinder_store_project_domain_name
# * cinder_store_user_domain_name
#
# (string value)
#cinder_store_auth_address = <None>
#
# User name to authenticate against cinder.
#
# This must be used with all the following non-domain-related options.
# If any of these are not specified (except domain-related options),
# the user of the current context is used.
#
# Possible values:
# * A valid user name
#
# Related options:
# * cinder_store_auth_address
# * cinder_store_password
# * cinder_store_project_name
# * cinder_store_project_domain_name
# * cinder_store_user_domain_name
#
# (string value)
#cinder_store_user_name = <None>
#
# Domain of the user to authenticate against cinder.
#
# Possible values:
# * A valid domain name for the user specified by ``cinder_store_user_name``
#
# Related options:
# * cinder_store_auth_address
# * cinder_store_password
# * cinder_store_project_name
# * cinder_store_project_domain_name
# * cinder_store_user_name
#
# (string value)
#cinder_store_user_domain_name = Default
#
# Password for the user authenticating against cinder.
#
# This must be used with all the following related options.
# If any of these are not specified (except domain-related options),
# the user of the current context is used.
#
# Possible values:
# * A valid password for the user specified by ``cinder_store_user_name``
#
# Related options:
# * cinder_store_auth_address
# * cinder_store_user_name
# * cinder_store_project_name
# * cinder_store_project_domain_name
# * cinder_store_user_domain_name
#
# (string value)
#cinder_store_password = <None>
#
# Project name where the image volume is stored in cinder.
#
# If this configuration option is not set, the project in current context is
# used.
#
# This must be used with all the following related options.
# If any of these are not specified (except domain-related options),
# the user of the current context is used.
#
# Possible values:
# * A valid project name
#
# Related options:
# * ``cinder_store_auth_address``
# * ``cinder_store_user_name``
# * ``cinder_store_password``
# * ``cinder_store_project_domain_name``
# * ``cinder_store_user_domain_name``
#
# (string value)
#cinder_store_project_name = <None>
#
# Domain of the project where the image volume is stored in cinder.
#
# Possible values:
# * A valid domain name of the project specified by
# ``cinder_store_project_name``
#
# Related options:
# * ``cinder_store_auth_address``
# * ``cinder_store_user_name``
# * ``cinder_store_password``
# * ``cinder_store_project_domain_name``
# * ``cinder_store_user_domain_name``
#
# (string value)
#cinder_store_project_domain_name = Default
#
# Path to the rootwrap configuration file to use for running commands as root.
#
# The cinder store requires root privileges to operate the image volumes (for
# connecting to iSCSI/FC volumes and reading/writing the volume data, etc.).
# The configuration file should allow the required commands by cinder store and
# os-brick library.
#
# Possible values:
# * Path to the rootwrap config file
#
# Related options:
# * None
#
# (string value)
#rootwrap_config = /etc/glance/rootwrap.conf
#
# Volume type that will be used for volume creation in cinder.
#
# Some cinder backends can have several volume types to optimize storage usage.
# Adding this option allows an operator to choose a specific volume type
# in cinder that can be optimized for images.
#
# If this is not set, then the default volume type specified in the cinder
# configuration will be used for volume creation.
#
# Possible values:
# * A valid volume type from cinder
#
# Related options:
# * None
#
# NOTE: You cannot use an encrypted volume_type associated with an NFS backend.
# An encrypted volume stored on an NFS backend will raise an exception whenever
# glance_store tries to write or access image data stored in that volume.
# Consult your Cinder administrator to determine an appropriate volume_type.
#
# (string value)
#cinder_volume_type = <None>
#
# If this is set to True, attachment of volumes for image transfer will
# be aborted when multipathd is not running. Otherwise, it will fallback
# to single path.
#
# Possible values:
# * True or False
#
# Related options:
# * cinder_use_multipath
#
# (boolean value)
#cinder_enforce_multipath = false
#
# Flag to identify multipath is supported or not in the deployment.
#
# Set it to False if multipath is not supported.
#
# Possible values:
# * True or False
#
# Related options:
# * cinder_enforce_multipath
#
# (boolean value)
#cinder_use_multipath = false
#
# Directory where the NFS volume is mounted on the glance node.
#
# Possible values:
#
# * A string representing absolute path of mount point.
# (string value)
#cinder_mount_point_base = /var/lib/glance/mnt
#
# If this is set to True, glance will perform an extend operation
# on the attached volume. Only enable this option if the cinder
# backend driver supports the functionality of extending online
# (in-use) volumes. Supported from cinder microversion 3.42 and
# onwards. By default, it is set to False.
#
# Possible values:
# * True or False
#
# (boolean value)
#cinder_do_extend_attached = false
#
# Directory to which the filesystem backend store writes images.
#
# Upon start up, Glance creates the directory if it doesn't already
# exist and verifies write access to the user under which
# ``glance-api`` runs. If the write access isn't available, a
# ``BadStoreConfiguration`` exception is raised and the filesystem
# store may not be available for adding new images.
#
# NOTE: This directory is used only when filesystem store is used as a
# storage backend. Either ``filesystem_store_datadir`` or
# ``filesystem_store_datadirs`` option must be specified in
# ``glance-api.conf``. If both options are specified, a
# ``BadStoreConfiguration`` will be raised and the filesystem store
# may not be available for adding new images.
#
# Possible values:
# * A valid path to a directory
#
# Related options:
# * ``filesystem_store_datadirs``
# * ``filesystem_store_file_perm``
#
# (string value)
#filesystem_store_datadir = /var/lib/glance/images
#
# List of directories and their priorities to which the filesystem
# backend store writes images.
#
# The filesystem store can be configured to store images in multiple
# directories as opposed to using a single directory specified by the
# ``filesystem_store_datadir`` configuration option. When using
# multiple directories, each directory can be given an optional
# priority to specify the preference order in which they should
# be used. Priority is an integer that is concatenated to the
# directory path with a colon where a higher value indicates higher
# priority. When two directories have the same priority, the directory
# with most free space is used. When no priority is specified, it
# defaults to zero.
#
# More information on configuring filesystem store with multiple store
# directories can be found at
# https://docs.openstack.org/glance/latest/configuration/configuring.html
#
# NOTE: This directory is used only when filesystem store is used as a
# storage backend. Either ``filesystem_store_datadir`` or
# ``filesystem_store_datadirs`` option must be specified in
# ``glance-api.conf``. If both options are specified, a
# ``BadStoreConfiguration`` will be raised and the filesystem store
# may not be available for adding new images.
#
# Possible values:
# * List of strings of the following form:
# * ``<a valid directory path>:<optional integer priority>``
#
# Related options:
# * ``filesystem_store_datadir``
# * ``filesystem_store_file_perm``
#
# (multi valued)
#filesystem_store_datadirs =
#
# Filesystem store metadata file.
#
# The path to a file which contains the metadata to be returned with any
# location
# associated with the filesystem store. Once this option is set, it is used for
# new images created afterward only - previously existing images are not
# affected.
#
# The file must contain a valid JSON object. The object should contain the keys
# ``id`` and ``mountpoint``. The value for both keys should be a string.
#
# Possible values:
# * A valid path to the store metadata file
#
# Related options:
# * None
#
# (string value)
#filesystem_store_metadata_file = <None>
#
# File access permissions for the image files.
#
# Set the intended file access permissions for image data. This provides
# a way to enable other services, e.g. Nova, to consume images directly
# from the filesystem store. The users running the services that are
# intended to be given access to could be made a member of the group
# that owns the files created. Assigning a value less then or equal to
# zero for this configuration option signifies that no changes be made
# to the default permissions. This value will be decoded as an octal
# digit.
#
# For more information, please refer the documentation at
# https://docs.openstack.org/glance/latest/configuration/configuring.html
#
# Possible values:
# * A valid file access permission
# * Zero
# * Any negative integer
#
# Related options:
# * None
#
# (integer value)
#filesystem_store_file_perm = 0
#
# Chunk size, in bytes.
#
# The chunk size used when reading or writing image files. Raising this value
# may improve the throughput but it may also slightly increase the memory usage
# when handling a large number of requests.
#
# Possible Values:
# * Any positive integer value
#
# Related options:
# * None
#
# (integer value)
# Minimum value: 1
#filesystem_store_chunk_size = 65536
#
# Enable or not thin provisioning in this backend.
#
# This configuration option enable the feature of not really write null byte
# sequences on the filesystem, the holes who can appear will automatically
# be interpreted by the filesystem as null bytes, and do not really consume
# your storage.
# Enabling this feature will also speed up image upload and save network traffic
# in addition to save space in the backend, as null bytes sequences are not
# sent over the network.
#
# Possible Values:
# * True
# * False
#
# Related options:
# * None
#
# (boolean value)
#filesystem_thin_provisioning = false
#
# Path to the CA bundle file.
#
# This configuration option enables the operator to use a custom
# Certificate Authority file to verify the remote server certificate. If
# this option is set, the ``https_insecure`` option will be ignored and
# the CA file specified will be used to authenticate the server
# certificate and establish a secure connection to the server.
#
# Possible values:
# * A valid path to a CA file
#
# Related options:
# * https_insecure
#
# (string value)
#https_ca_certificates_file = <None>
#
# Set verification of the remote server certificate.
#
# This configuration option takes in a boolean value to determine
# whether or not to verify the remote server certificate. If set to
# True, the remote server certificate is not verified. If the option is
# set to False, then the default CA truststore is used for verification.
#
# This option is ignored if ``https_ca_certificates_file`` is set.
# The remote server certificate will then be verified using the file
# specified using the ``https_ca_certificates_file`` option.
#
# Possible values:
# * True
# * False
#
# Related options:
# * https_ca_certificates_file
#
# (boolean value)
#https_insecure = true
#
# The http/https proxy information to be used to connect to the remote
# server.
#
# This configuration option specifies the http/https proxy information
# that should be used to connect to the remote server. The proxy
# information should be a key value pair of the scheme and proxy, for
# example, http:10.0.0.1:3128. You can also specify proxies for multiple
# schemes by separating the key value pairs with a comma, for example,
# http:10.0.0.1:3128, https:10.0.0.1:1080.
#
# Possible values:
# * A comma separated list of scheme:proxy pairs as described above
#
# Related options:
# * None
#
# (dict value)
#http_proxy_information =
#
# Size, in megabytes, to chunk RADOS images into.
#
# Provide an integer value representing the size in megabytes to chunk
# Glance images into. The default chunk size is 8 megabytes. For optimal
# performance, the value should be a power of two.
#
# When Ceph's RBD object storage system is used as the storage backend
# for storing Glance images, the images are chunked into objects of the
# size set using this option. These chunked objects are then stored
# across the distributed block data store to use for Glance.
#
# Possible Values:
# * Any positive integer value
#
# Related options:
# * None
#
# (integer value)
# Minimum value: 1
#rbd_store_chunk_size = 8
#
# RADOS pool in which images are stored.
#
# When RBD is used as the storage backend for storing Glance images, the
# images are stored by means of logical grouping of the objects (chunks
# of images) into a ``pool``. Each pool is defined with the number of
# placement groups it can contain. The default pool that is used is
# 'images'.
#
# More information on the RBD storage backend can be found here:
# http://ceph.com/planet/how-data-is-stored-in-ceph-cluster/
#
# Possible Values:
# * A valid pool name
#
# Related options:
# * None
#
# (string value)
#rbd_store_pool = images
#
# RADOS user to authenticate as.
#
# This configuration option takes in the RADOS user to authenticate as.
# This is only needed when RADOS authentication is enabled and is
# applicable only if the user is using Cephx authentication. If the
# value for this option is not set by the user or is set to None, a
# default value will be chosen, which will be based on the client.
# section in rbd_store_ceph_conf.
#
# Possible Values:
# * A valid RADOS user
#
# Related options:
# * rbd_store_ceph_conf
#
# (string value)
#rbd_store_user = <None>
#
# Ceph configuration file path.
#
# This configuration option specifies the path to the Ceph configuration
# file to be used. If the value for this option is not set by the user
# or is set to the empty string, librados will read the standard ceph.conf
# file by searching the default Ceph configuration file locations in
# sequential order. See the Ceph documentation for details.
#
# NOTE: If using Cephx authentication, this file should include a reference
# to the right keyring in a client.<USER> section
#
# NOTE 2: If you leave this option empty (the default), the actual Ceph
# configuration file used may change depending on what version of librados
# is being used. If it is important for you to know exactly which configuration
# file is in effect, you may specify that file here using this option.
#
# Possible Values:
# * A valid path to a configuration file
#
# Related options:
# * rbd_store_user
#
# (string value)
#rbd_store_ceph_conf =
#
# Timeout value for connecting to Ceph cluster.
#
# This configuration option takes in the timeout value in seconds used
# when connecting to the Ceph cluster i.e. it sets the time to wait for
# glance-api before closing the connection. This prevents glance-api
# hangups during the connection to RBD. If the value for this option
# is set to less than 0, no timeout is set and the default librados value
# is used.
#
# Possible Values:
# * Any integer value
#
# Related options:
# * None
#
# (integer value)
#rados_connect_timeout = -1
#
# Enable or not thin provisioning in this backend.
#
# This configuration option enable the feature of not really write null byte
# sequences on the RBD backend, the holes who can appear will automatically
# be interpreted by Ceph as null bytes, and do not really consume your storage.
# Enabling this feature will also speed up image upload and save network traffic
# in addition to save space in the backend, as null bytes sequences are not
# sent over the network.
#
# Possible Values:
# * True
# * False
#
# Related options:
# * None
#
# (boolean value)
#rbd_thin_provisioning = false
#
# The host where the S3 server is listening.
#
# This configuration option sets the host of the S3 or S3 compatible storage
# Server. This option is required when using the S3 storage backend.
# The host can contain a DNS name (e.g. s3.amazonaws.com, my-object-storage.com)
# or an IP address (127.0.0.1).
#
# Possible values:
# * A valid DNS name
# * A valid IPv4 address
#
# Related Options:
# * s3_store_access_key
# * s3_store_secret_key
#
# (string value)
#s3_store_host = <None>
#
# The S3 region name.
#
# This parameter will set the region_name used by boto.
# If this parameter is not set, we we will try to compute it from the
# s3_store_host.
#
# Possible values:
# * A valid region name
#
# Related Options:
# * s3_store_host
#
# (string value)
#s3_store_region_name =
#
# The S3 query token access key.
#
# This configuration option takes the access key for authenticating with the
# Amazon S3 or S3 compatible storage server. This option is required when using
# the S3 storage backend.
#
# Possible values:
# * Any string value that is the access key for a user with appropriate
# privileges
#
# Related Options:
# * s3_store_host
# * s3_store_secret_key
#
# (string value)
#s3_store_access_key = <None>
#
# The S3 query token secret key.
#
# This configuration option takes the secret key for authenticating with the
# Amazon S3 or S3 compatible storage server. This option is required when using
# the S3 storage backend.
#
# Possible values:
# * Any string value that is a secret key corresponding to the access key
# specified using the ``s3_store_host`` option
#
# Related Options:
# * s3_store_host
# * s3_store_access_key
#
# (string value)
#s3_store_secret_key = <None>
#
# The S3 bucket to be used to store the Glance data.
#
# This configuration option specifies where the glance images will be stored
# in the S3. If ``s3_store_create_bucket_on_put`` is set to true, it will be
# created automatically even if the bucket does not exist.
#
# Possible values:
# * Any string value
#
# Related Options:
# * s3_store_create_bucket_on_put
# * s3_store_bucket_url_format
#
# (string value)
#s3_store_bucket = <None>
#
# Determine whether S3 should create a new bucket.
#
# This configuration option takes boolean value to indicate whether Glance
# should
# create a new bucket to S3 if it does not exist.
#
# Possible values:
# * Any Boolean value
#
# Related Options:
# * None
#
# (boolean value)
#s3_store_create_bucket_on_put = false
#
# The S3 calling format used to determine the object.
#
# This configuration option takes access model that is used to specify the
# address of an object in an S3 bucket.
#
# NOTE:
# In ``path``-style, the endpoint for the object looks like
# 'https://s3.amazonaws.com/bucket/example.img'.
# And in ``virtual``-style, the endpoint for the object looks like
# 'https://bucket.s3.amazonaws.com/example.img'.
# If you do not follow the DNS naming convention in the bucket name, you can
# get objects in the path style, but not in the virtual style.
#
# Possible values:
# * Any string value of ``auto``, ``virtual``, or ``path``
#
# Related Options:
# * s3_store_bucket
#
# (string value)
#s3_store_bucket_url_format = auto
#
# What size, in MB, should S3 start chunking image files and do a multipart
# upload in S3.
#
# This configuration option takes a threshold in MB to determine whether to
# upload the image to S3 as is or to split it (Multipart Upload).
#
# Note: You can only split up to 10,000 images.
#
# Possible values:
# * Any positive integer value
#
# Related Options:
# * s3_store_large_object_chunk_size
# * s3_store_thread_pools
#
# (integer value)
#s3_store_large_object_size = 100
#
# What multipart upload part size, in MB, should S3 use when uploading parts.
#
# This configuration option takes the image split size in MB for Multipart
# Upload.
#
# Note: You can only split up to 10,000 images.
#
# Possible values:
# * Any positive integer value (must be greater than or equal to 5M)
#
# Related Options:
# * s3_store_large_object_size
# * s3_store_thread_pools
#
# (integer value)
#s3_store_large_object_chunk_size = 10
#
# The number of thread pools to perform a multipart upload in S3.
#
# This configuration option takes the number of thread pools when performing a
# Multipart Upload.
#
# Possible values:
# * Any positive integer value
#
# Related Options:
# * s3_store_large_object_size
# * s3_store_large_object_chunk_size
#
# (integer value)
#s3_store_thread_pools = 10
#
# Set verification of the server certificate.
#
# This boolean determines whether or not to verify the server
# certificate. If this option is set to True, swiftclient won't check
# for a valid SSL certificate when authenticating. If the option is set
# to False, then the default CA truststore is used for verification.
#
# Possible values:
# * True
# * False
#
# Related options:
# * swift_store_cacert
#
# (boolean value)
#swift_store_auth_insecure = false
#
# Path to the CA bundle file.
#
# This configuration option enables the operator to specify the path to
# a custom Certificate Authority file for SSL verification when
# connecting to Swift.
#
# Possible values:
# * A valid path to a CA file
#
# Related options:
# * swift_store_auth_insecure
#
# (string value)
#
# This option has a sample default set, which means that
# its actual default value may vary from the one documented
# below.
#swift_store_cacert = /etc/ssl/certs/ca-certificates.crt
#
# The region of Swift endpoint to use by Glance.
#
# Provide a string value representing a Swift region where Glance
# can connect to for image storage. By default, there is no region
# set.
#
# When Glance uses Swift as the storage backend to store images
# for a specific tenant that has multiple endpoints, setting of a
# Swift region with ``swift_store_region`` allows Glance to connect
# to Swift in the specified region as opposed to a single region
# connectivity.
#
# This option can be configured for both single-tenant and
# multi-tenant storage.
#
# NOTE: Setting the region with ``swift_store_region`` is
# tenant-specific and is necessary ``only if`` the tenant has
# multiple endpoints across different regions.
#
# Possible values:
# * A string value representing a valid Swift region.
#
# Related Options:
# * None
#
# (string value)
#
# This option has a sample default set, which means that
# its actual default value may vary from the one documented
# below.
#swift_store_region = RegionTwo
#
# The URL endpoint to use for Swift backend storage.
#
# Provide a string value representing the URL endpoint to use for
# storing Glance images in Swift store. By default, an endpoint
# is not set and the storage URL returned by ``auth`` is used.
# Setting an endpoint with ``swift_store_endpoint`` overrides the
# storage URL and is used for Glance image storage.
#
# NOTE: The URL should include the path up to, but excluding the
# container. The location of an object is obtained by appending
# the container and object to the configured URL.
#
# Possible values:
# * String value representing a valid URL path up to a Swift container
#
# Related Options:
# * None
#
# (string value)
#
# This option has a sample default set, which means that
# its actual default value may vary from the one documented
# below.
#swift_store_endpoint = https://swift.openstack.example.org/v1/path_not_including_container_name
#
# Endpoint Type of Swift service.
#
# This string value indicates the endpoint type to use to fetch the
# Swift endpoint. The endpoint type determines the actions the user will
# be allowed to perform, for instance, reading and writing to the Store.
# This setting is only used if swift_store_auth_version is greater than
# 1.
#
# Possible values:
# * publicURL
# * adminURL
# * internalURL
#
# Related options:
# * swift_store_endpoint
#
# (string value)
# Possible values:
# publicURL - <No description provided>
# adminURL - <No description provided>
# internalURL - <No description provided>
#swift_store_endpoint_type = publicURL
#
# Type of Swift service to use.
#
# Provide a string value representing the service type to use for
# storing images while using Swift backend storage. The default
# service type is set to ``object-store``.
#
# NOTE: If ``swift_store_auth_version`` is set to 2, the value for
# this configuration option needs to be ``object-store``. If using
# a higher version of Keystone or a different auth scheme, this
# option may be modified.
#
# Possible values:
# * A string representing a valid service type for Swift storage.
#
# Related Options:
# * None
#
# (string value)
#swift_store_service_type = object-store
#
# Name of single container to store images/name prefix for multiple containers
#
# When a single container is being used to store images, this configuration
# option indicates the container within the Glance account to be used for
# storing all images. When multiple containers are used to store images, this
# will be the name prefix for all containers. Usage of single/multiple
# containers can be controlled using the configuration option
# ``swift_store_multiple_containers_seed``.
#
# When using multiple containers, the containers will be named after the value
# set for this configuration option with the first N chars of the image UUID
# as the suffix delimited by an underscore (where N is specified by
# ``swift_store_multiple_containers_seed``).
#
# Example: if the seed is set to 3 and swift_store_container = ``glance``, then
# an image with UUID ``fdae39a1-bac5-4238-aba4-69bcc726e848`` would be placed in
# the container ``glance_fda``. All dashes in the UUID are included when
# creating the container name but do not count toward the character limit, so
# when N=10 the container name would be ``glance_fdae39a1-ba.``
#
# Possible values:
# * If using single container, this configuration option can be any string
# that is a valid swift container name in Glance's Swift account
# * If using multiple containers, this configuration option can be any
# string as long as it satisfies the container naming rules enforced by
# Swift. The value of ``swift_store_multiple_containers_seed`` should be
# taken into account as well.
#
# Related options:
# * ``swift_store_multiple_containers_seed``
# * ``swift_store_multi_tenant``
# * ``swift_store_create_container_on_put``
#
# (string value)
#swift_store_container = glance
#
# The size threshold, in MB, after which Glance will start segmenting image
# data.
#
# Swift has an upper limit on the size of a single uploaded object. By default,
# this is 5GB. To upload objects bigger than this limit, objects are segmented
# into multiple smaller objects that are tied together with a manifest file.
# For more detail, refer to
# https://docs.openstack.org/swift/latest/overview_large_objects.html
#
# This configuration option specifies the size threshold over which the Swift
# driver will start segmenting image data into multiple smaller files.
# Currently, the Swift driver only supports creating Dynamic Large Objects.
#
# NOTE: This should be set by taking into account the large object limit
# enforced by the Swift cluster in consideration.
#
# Possible values:
# * A positive integer that is less than or equal to the large object limit
# enforced by the Swift cluster in consideration.
#
# Related options:
# * ``swift_store_large_object_chunk_size``
#
# (integer value)
# Minimum value: 1
#swift_store_large_object_size = 5120
#
# The maximum size, in MB, of the segments when image data is segmented.
#
# When image data is segmented to upload images that are larger than the limit
# enforced by the Swift cluster, image data is broken into segments that are no
# bigger than the size specified by this configuration option.
# Refer to ``swift_store_large_object_size`` for more detail.
#
# For example: if ``swift_store_large_object_size`` is 5GB and
# ``swift_store_large_object_chunk_size`` is 1GB, an image of size 6.2GB will be
# segmented into 7 segments where the first six segments will be 1GB in size and
# the seventh segment will be 0.2GB.
#
# Possible values:
# * A positive integer that is less than or equal to the large object limit
# enforced by Swift cluster in consideration.
#
# Related options:
# * ``swift_store_large_object_size``
#
# (integer value)
# Minimum value: 1
#swift_store_large_object_chunk_size = 200
#
# Create container, if it doesn't already exist, when uploading image.
#
# At the time of uploading an image, if the corresponding container doesn't
# exist, it will be created provided this configuration option is set to True.
# By default, it won't be created. This behavior is applicable for both single
# and multiple containers mode.
#
# Possible values:
# * True
# * False
#
# Related options:
# * None
#
# (boolean value)
#swift_store_create_container_on_put = false
#
# Store images in tenant's Swift account.
#
# This enables multi-tenant storage mode which causes Glance images to be stored
# in tenant specific Swift accounts. If this is disabled, Glance stores all
# images in its own account. More details multi-tenant store can be found at
# https://wiki.openstack.org/wiki/GlanceSwiftTenantSpecificStorage
#
# NOTE: If using multi-tenant swift store, please make sure
# that you do not set a swift configuration file with the
# 'swift_store_config_file' option.
#
# Possible values:
# * True
# * False
#
# Related options:
# * swift_store_config_file
#
# (boolean value)
#swift_store_multi_tenant = false
#
# Seed indicating the number of containers to use for storing images.
#
# When using a single-tenant store, images can be stored in one or more than one
# containers. When set to 0, all images will be stored in one single container.
# When set to an integer value between 1 and 32, multiple containers will be
# used to store images. This configuration option will determine how many
# containers are created. The total number of containers that will be used is
# equal to 16^N, so if this config option is set to 2, then 16^2=256 containers
# will be used to store images.
#
# Please refer to ``swift_store_container`` for more detail on the naming
# convention. More detail about using multiple containers can be found at
# https://specs.openstack.org/openstack/glance-specs/specs/kilo/swift-store-
# multiple-containers.html
#
# NOTE: This is used only when swift_store_multi_tenant is disabled.
#
# Possible values:
# * A non-negative integer less than or equal to 32
#
# Related options:
# * ``swift_store_container``
# * ``swift_store_multi_tenant``
# * ``swift_store_create_container_on_put``
#
# (integer value)
# Minimum value: 0
# Maximum value: 32
#swift_store_multiple_containers_seed = 0
#
# List of tenants that will be granted admin access.
#
# This is a list of tenants that will be granted read/write access on
# all Swift containers created by Glance in multi-tenant mode. The
# default value is an empty list.
#
# Possible values:
# * A comma separated list of strings representing UUIDs of Keystone
# projects/tenants
#
# Related options:
# * None
#
# (list value)
#swift_store_admin_tenants =
#
# SSL layer compression for HTTPS Swift requests.
#
# Provide a boolean value to determine whether or not to compress
# HTTPS Swift requests for images at the SSL layer. By default,
# compression is enabled.
#
# When using Swift as the backend store for Glance image storage,
# SSL layer compression of HTTPS Swift requests can be set using
# this option. If set to False, SSL layer compression of HTTPS
# Swift requests is disabled. Disabling this option may improve
# performance for images which are already in a compressed format,
# for example, qcow2.
#
# Possible values:
# * True
# * False
#
# Related Options:
# * None
#
# (boolean value)
#swift_store_ssl_compression = true
#
# The number of times a Swift download will be retried before the
# request fails.
#
# Provide an integer value representing the number of times an image
# download must be retried before erroring out. The default value is
# zero (no retry on a failed image download). When set to a positive
# integer value, ``swift_store_retry_get_count`` ensures that the
# download is attempted this many more times upon a download failure
# before sending an error message.
#
# Possible values:
# * Zero
# * Positive integer value
#
# Related Options:
# * None
#
# (integer value)
# Minimum value: 0
#swift_store_retry_get_count = 0
#
# Time in seconds defining the size of the window in which a new
# token may be requested before the current token is due to expire.
#
# Typically, the Swift storage driver fetches a new token upon the
# expiration of the current token to ensure continued access to
# Swift. However, some Swift transactions (like uploading image
# segments) may not recover well if the token expires on the fly.
#
# Hence, by fetching a new token before the current token expiration,
# we make sure that the token does not expire or is close to expiry
# before a transaction is attempted. By default, the Swift storage
# driver requests for a new token 60 seconds or less before the
# current token expiration.
#
# Possible values:
# * Zero
# * Positive integer value
#
# Related Options:
# * None
#
# (integer value)
# Minimum value: 0
#swift_store_expire_soon_interval = 60
#
# Use trusts for multi-tenant Swift store.
#
# This option instructs the Swift store to create a trust for each
# add/get request when the multi-tenant store is in use. Using trusts
# allows the Swift store to avoid problems that can be caused by an
# authentication token expiring during the upload or download of data.
#
# By default, ``swift_store_use_trusts`` is set to ``True``(use of
# trusts is enabled). If set to ``False``, a user token is used for
# the Swift connection instead, eliminating the overhead of trust
# creation.
#
# NOTE: This option is considered only when
# ``swift_store_multi_tenant`` is set to ``True``
#
# Possible values:
# * True
# * False
#
# Related options:
# * swift_store_multi_tenant
#
# (boolean value)
#swift_store_use_trusts = true
#
# Buffer image segments before upload to Swift.
#
# Provide a boolean value to indicate whether or not Glance should
# buffer image data to disk while uploading to swift. This enables
# Glance to resume uploads on error.
#
# NOTES:
# When enabling this option, one should take great care as this
# increases disk usage on the API node. Be aware that depending
# upon how the file system is configured, the disk space used
# for buffering may decrease the actual disk space available for
# the glance image cache. Disk utilization will cap according to
# the following equation:
# (``swift_store_large_object_chunk_size`` * ``workers`` * 1000)
#
# Possible values:
# * True
# * False
#
# Related options:
# * swift_upload_buffer_dir
#
# (boolean value)
#swift_buffer_on_upload = false
#
# Reference to default Swift account/backing store parameters.
#
# Provide a string value representing a reference to the default set
# of parameters required for using swift account/backing store for
# image storage. The default reference value for this configuration
# option is 'ref1'. This configuration option dereferences the
# parameters and facilitates image storage in Swift storage backend
# every time a new image is added.
#
# Possible values:
# * A valid string value
#
# Related options:
# * None
#
# (string value)
#default_swift_reference = ref1
# DEPRECATED: Version of the authentication service to use. Valid versions are 2
# and 3 for keystone and 1 (deprecated) for swauth and rackspace. (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason:
# The option 'auth_version' in the Swift back-end configuration file is
# used instead.
#swift_store_auth_version = 2
# DEPRECATED: The address where the Swift authentication service is listening.
# (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason:
# The option 'auth_address' in the Swift back-end configuration file is
# used instead.
#swift_store_auth_address = <None>
# DEPRECATED: The user to authenticate against the Swift authentication service.
# (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason:
# The option 'user' in the Swift back-end configuration file is set instead.
#swift_store_user = <None>
# DEPRECATED: Auth key for the user authenticating against the Swift
# authentication service. (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason:
# The option 'key' in the Swift back-end configuration file is used
# to set the authentication key instead.
#swift_store_key = <None>
#
# Absolute path to the file containing the swift account(s)
# configurations.
#
# Include a string value representing the path to a configuration
# file that has references for each of the configured Swift
# account(s)/backing stores. By default, no file path is specified
# and customized Swift referencing is disabled. Configuring this
# option is highly recommended while using Swift storage backend for
# image storage as it avoids storage of credentials in the database.
#
# NOTE: Please do not configure this option if you have set
# ``swift_store_multi_tenant`` to ``True``.
#
# Possible values:
# * String value representing an absolute path on the glance-api
# node
#
# Related options:
# * swift_store_multi_tenant
#
# (string value)
#swift_store_config_file = <None>
#
# Directory to buffer image segments before upload to Swift.
#
# Provide a string value representing the absolute path to the
# directory on the glance node where image segments will be
# buffered briefly before they are uploaded to swift.
#
# NOTES:
# * This is required only when the configuration option
# ``swift_buffer_on_upload`` is set to True.
# * This directory should be provisioned keeping in mind the
# ``swift_store_large_object_chunk_size`` and the maximum
# number of images that could be uploaded simultaneously by
# a given glance node.
#
# Possible values:
# * String value representing an absolute directory path
#
# Related options:
# * swift_buffer_on_upload
# * swift_store_large_object_chunk_size
#
# (string value)
#swift_upload_buffer_dir = <None>
#
# Address of the ESX/ESXi or vCenter Server target system.
#
# This configuration option sets the address of the ESX/ESXi or vCenter
# Server target system. This option is required when using the VMware
# storage backend. The address can contain an IP address (127.0.0.1) or
# a DNS name (www.my-domain.com).
#
# Possible Values:
# * A valid IPv4 or IPv6 address
# * A valid DNS name
#
# Related options:
# * vmware_server_username
# * vmware_server_password
#
# (host address value)
#
# This option has a sample default set, which means that
# its actual default value may vary from the one documented
# below.
#vmware_server_host = 127.0.0.1
#
# Server username.
#
# This configuration option takes the username for authenticating with
# the VMware ESX/ESXi or vCenter Server. This option is required when
# using the VMware storage backend.
#
# Possible Values:
# * Any string that is the username for a user with appropriate
# privileges
#
# Related options:
# * vmware_server_host
# * vmware_server_password
#
# (string value)
#
# This option has a sample default set, which means that
# its actual default value may vary from the one documented
# below.
#vmware_server_username = root
#
# Server password.
#
# This configuration option takes the password for authenticating with
# the VMware ESX/ESXi or vCenter Server. This option is required when
# using the VMware storage backend.
#
# Possible Values:
# * Any string that is a password corresponding to the username
# specified using the "vmware_server_username" option
#
# Related options:
# * vmware_server_host
# * vmware_server_username
#
# (string value)
#
# This option has a sample default set, which means that
# its actual default value may vary from the one documented
# below.
#vmware_server_password = vmware
#
# The number of VMware API retries.
#
# This configuration option specifies the number of times the VMware
# ESX/VC server API must be retried upon connection related issues or
# server API call overload. It is not possible to specify 'retry
# forever'.
#
# Possible Values:
# * Any positive integer value
#
# Related options:
# * None
#
# (integer value)
# Minimum value: 1
#vmware_api_retry_count = 10
#
# Interval in seconds used for polling remote tasks invoked on VMware
# ESX/VC server.
#
# This configuration option takes in the sleep time in seconds for polling an
# on-going async task as part of the VMWare ESX/VC server API call.
#
# Possible Values:
# * Any positive integer value
#
# Related options:
# * None
#
# (integer value)
# Minimum value: 1
#vmware_task_poll_interval = 5
#
# The directory where the glance images will be stored in the datastore.
#
# This configuration option specifies the path to the directory where the
# glance images will be stored in the VMware datastore. If this option
# is not set, the default directory where the glance images are stored
# is openstack_glance.
#
# Possible Values:
# * Any string that is a valid path to a directory
#
# Related options:
# * None
#
# (string value)
#vmware_store_image_dir = /openstack_glance
#
# Set verification of the ESX/vCenter server certificate.
#
# This configuration option takes a boolean value to determine
# whether or not to verify the ESX/vCenter server certificate. If this
# option is set to True, the ESX/vCenter server certificate is not
# verified. If this option is set to False, then the default CA
# truststore is used for verification.
#
# This option is ignored if the "vmware_ca_file" option is set. In that
# case, the ESX/vCenter server certificate will then be verified using
# the file specified using the "vmware_ca_file" option .
#
# Possible Values:
# * True
# * False
#
# Related options:
# * vmware_ca_file
#
# (boolean value)
# Deprecated group/name - [glance_store]/vmware_api_insecure
#vmware_insecure = false
#
# Absolute path to the CA bundle file.
#
# This configuration option enables the operator to use a custom
# Cerificate Authority File to verify the ESX/vCenter certificate.
#
# If this option is set, the "vmware_insecure" option will be ignored
# and the CA file specified will be used to authenticate the ESX/vCenter
# server certificate and establish a secure connection to the server.
#
# Possible Values:
# * Any string that is a valid absolute path to a CA file
#
# Related options:
# * vmware_insecure
#
# (string value)
#
# This option has a sample default set, which means that
# its actual default value may vary from the one documented
# below.
#vmware_ca_file = /etc/ssl/certs/ca-certificates.crt
#
# The datastores where the image can be stored.
#
# This configuration option specifies the datastores where the image can
# be stored in the VMWare store backend. This option may be specified
# multiple times for specifying multiple datastores. The datastore name
# should be specified after its datacenter path, separated by ":". An
# optional weight may be given after the datastore name, separated again
# by ":" to specify the priority. Thus, the required format becomes
# <datacenter_path>:<datastore_name>:<optional_weight>.
#
# When adding an image, the datastore with highest weight will be
# selected, unless there is not enough free space available in cases
# where the image size is already known. If no weight is given, it is
# assumed to be zero and the directory will be considered for selection
# last. If multiple datastores have the same weight, then the one with
# the most free space available is selected.
#
# Possible Values:
# * Any string of the format:
# <datacenter_path>:<datastore_name>:<optional_weight>
#
# Related options:
# * None
#
# (multi valued)
#vmware_datastores =
[healthcheck]
#
# From oslo.middleware.healthcheck
#
# DEPRECATED: The path to respond to healtcheck requests on. (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
#path = /healthcheck
# Show more detailed information as part of the response. Security note:
# Enabling this option may expose sensitive details about the service being
# monitored. Be sure to verify that it will not violate your security policies.
# (boolean value)
#detailed = false
# Additional backends that can perform health checks and report that information
# back as part of a request. (list value)
#backends =
# A list of network addresses to limit source ip allowed to access healthcheck
# information. Any request from ip outside of these network addresses are
# ignored. (list value)
#allowed_source_ranges =
# Ignore requests with proxy headers. (boolean value)
#ignore_proxied_requests = false
# Check the presence of a file to determine if an application is running on a
# port. Used by DisableByFileHealthcheck plugin. (string value)
#disable_by_file_path = <None>
# Check the presence of a file based on a port to determine if an application is
# running on a port. Expects a "port:path" list of strings. Used by
# DisableByFilesPortsHealthcheck plugin. (list value)
#disable_by_file_paths =
[image_format]
#
# From glance.api
#
# Supported values for the 'container_format' image attribute (list value)
# Deprecated group/name - [DEFAULT]/container_formats
#container_formats = ami,ari,aki,bare,ovf,ova,docker,compressed
# Supported values for the 'disk_format' image attribute (list value)
# Deprecated group/name - [DEFAULT]/disk_formats
#disk_formats = ami,ari,aki,vhd,vhdx,vmdk,raw,qcow2,vdi,iso,ploop
# A list of strings describing allowed VMDK 'create-type' subformats that will
# be allowed. This is recommended to only include single-file-with-sparse-header
# variants to avoid potential host file exposure due to processing named
# extents. If this list is empty, then no VDMK image types allowed. Note that
# this is currently only checked during image conversion (if enabled), and
# limits the types of VMDK images we will convert from. (list value)
#vmdk_allowed_types = streamOptimized,monolithicSparse
[key_manager]
#
# From castellan.config
#
# Specify the key manager implementation. Options are "barbican" and "vault".
# Default is "barbican". Will support the values earlier set using
# [key_manager]/api_class for some time. (string value)
# Deprecated group/name - [key_manager]/api_class
#backend = barbican
# The type of authentication credential to create. Possible values are 'token',
# 'password', 'keystone_token', and 'keystone_password'. Required if no context
# is passed to the credential factory. (string value)
#auth_type = <None>
# Token for authentication. Required for 'token' and 'keystone_token' auth_type
# if no context is passed to the credential factory. (string value)
#token = <None>
# Username for authentication. Required for 'password' auth_type. Optional for
# the 'keystone_password' auth_type. (string value)
#username = <None>
# Password for authentication. Required for 'password' and 'keystone_password'
# auth_type. (string value)
#password = <None>
# Use this endpoint to connect to Keystone. (string value)
#auth_url = <None>
# User ID for authentication. Optional for 'keystone_token' and
# 'keystone_password' auth_type. (string value)
#user_id = <None>
# User's domain ID for authentication. Optional for 'keystone_token' and
# 'keystone_password' auth_type. (string value)
#user_domain_id = <None>
# User's domain name for authentication. Optional for 'keystone_token' and
# 'keystone_password' auth_type. (string value)
#user_domain_name = <None>
# Trust ID for trust scoping. Optional for 'keystone_token' and
# 'keystone_password' auth_type. (string value)
#trust_id = <None>
# Domain ID for domain scoping. Optional for 'keystone_token' and
# 'keystone_password' auth_type. (string value)
#domain_id = <None>
# Domain name for domain scoping. Optional for 'keystone_token' and
# 'keystone_password' auth_type. (string value)
#domain_name = <None>
# Project ID for project scoping. Optional for 'keystone_token' and
# 'keystone_password' auth_type. (string value)
#project_id = <None>
# Project name for project scoping. Optional for 'keystone_token' and
# 'keystone_password' auth_type. (string value)
#project_name = <None>
# Project's domain ID for project. Optional for 'keystone_token' and
# 'keystone_password' auth_type. (string value)
#project_domain_id = <None>
# Project's domain name for project. Optional for 'keystone_token' and
# 'keystone_password' auth_type. (string value)
#project_domain_name = <None>
# Allow fetching a new token if the current one is going to expire. Optional for
# 'keystone_token' and 'keystone_password' auth_type. (boolean value)
#reauthenticate = true
[keystone_authtoken]
#
# From keystonemiddleware.auth_token
#
# Complete "public" Identity API endpoint. This endpoint should not be an
# "admin" endpoint, as it should be accessible by all end users. Unauthenticated
# clients are redirected to this endpoint to authenticate. Although this
# endpoint should ideally be unversioned, client support in the wild varies. If
# you're using a versioned v2 endpoint here, then this should *not* be the same
# endpoint the service user utilizes for validating tokens, because normal end
# users may not be able to reach that endpoint. (string value)
# Deprecated group/name - [keystone_authtoken]/auth_uri
#www_authenticate_uri = <None>
# DEPRECATED: Complete "public" Identity API endpoint. This endpoint should not
# be an "admin" endpoint, as it should be accessible by all end users.
# Unauthenticated clients are redirected to this endpoint to authenticate.
# Although this endpoint should ideally be unversioned, client support in the
# wild varies. If you're using a versioned v2 endpoint here, then this should
# *not* be the same endpoint the service user utilizes for validating tokens,
# because normal end users may not be able to reach that endpoint. This option
# is deprecated in favor of www_authenticate_uri and will be removed in the S
# release. (string value)
# This option is deprecated for removal since Queens.
# Its value may be silently ignored in the future.
# Reason: The auth_uri option is deprecated in favor of www_authenticate_uri and
# will be removed in the S release.
#auth_uri = <None>
# API version of the Identity API endpoint. (string value)
#auth_version = <None>
# Interface to use for the Identity API endpoint. Valid values are "public",
# "internal" (default) or "admin". (string value)
#interface = internal
# Do not handle authorization requests within the middleware, but delegate the
# authorization decision to downstream WSGI components. (boolean value)
#delay_auth_decision = false
# Request timeout value for communicating with Identity API server. (integer
# value)
#http_connect_timeout = <None>
# How many times are we trying to reconnect when communicating with Identity API
# Server. (integer value)
#http_request_max_retries = 3
# Request environment key where the Swift cache object is stored. When
# auth_token middleware is deployed with a Swift cache, use this option to have
# the middleware share a caching backend with swift. Otherwise, use the
# ``memcached_servers`` option instead. (string value)
#cache = <None>
# Required if identity server requires client certificate (string value)
#certfile = <None>
# Required if identity server requires client certificate (string value)
#keyfile = <None>
# A PEM encoded Certificate Authority to use when verifying HTTPs connections.
# Defaults to system CAs. (string value)
#cafile = <None>
# Verify HTTPS connections. (boolean value)
#insecure = false
# The region in which the identity server can be found. (string value)
#region_name = <None>
# Optionally specify a list of memcached server(s) to use for caching. If left
# undefined, tokens will instead be cached in-process. (list value)
# Deprecated group/name - [keystone_authtoken]/memcache_servers
#memcached_servers = <None>
# In order to prevent excessive effort spent validating tokens, the middleware
# caches previously-seen tokens for a configurable duration (in seconds). Set to
# -1 to disable caching completely. (integer value)
#token_cache_time = 300
# (Optional) If defined, indicate whether token data should be authenticated or
# authenticated and encrypted. If MAC, token data is authenticated (with HMAC)
# in the cache. If ENCRYPT, token data is encrypted and authenticated in the
# cache. If the value is not one of these options or empty, auth_token will
# raise an exception on initialization. (string value)
# Possible values:
# None - <No description provided>
# MAC - <No description provided>
# ENCRYPT - <No description provided>
#memcache_security_strategy = None
# (Optional, mandatory if memcache_security_strategy is defined) This string is
# used for key derivation. (string value)
#memcache_secret_key = <None>
# (Optional) Number of seconds memcached server is considered dead before it is
# tried again. (integer value)
#memcache_pool_dead_retry = 300
# (Optional) Maximum total number of open connections to every memcached server.
# (integer value)
#memcache_pool_maxsize = 10
# (Optional) Socket timeout in seconds for communicating with a memcached
# server. (integer value)
#memcache_pool_socket_timeout = 3
# (Optional) Number of seconds a connection to memcached is held unused in the
# pool before it is closed. (integer value)
#memcache_pool_unused_timeout = 60
# (Optional) Number of seconds that an operation will wait to get a memcached
# client connection from the pool. (integer value)
#memcache_pool_conn_get_timeout = 10
# (Optional) Use the advanced (eventlet safe) memcached client pool. (boolean
# value)
#memcache_use_advanced_pool = true
# (Optional) Indicate whether to set the X-Service-Catalog header. If False,
# middleware will not ask for service catalog on token validation and will not
# set the X-Service-Catalog header. (boolean value)
#include_service_catalog = true
# Used to control the use and type of token binding. Can be set to: "disabled"
# to not check token binding. "permissive" (default) to validate binding
# information if the bind type is of a form known to the server and ignore it if
# not. "strict" like "permissive" but if the bind type is unknown the token will
# be rejected. "required" any form of token binding is needed to be allowed.
# Finally the name of a binding method that must be present in tokens. (string
# value)
#enforce_token_bind = permissive
# A choice of roles that must be present in a service token. Service tokens are
# allowed to request that an expired token can be used and so this check should
# tightly control that only actual services should be sending this token. Roles
# here are applied as an ANY check so any role in this list must be present. For
# backwards compatibility reasons this currently only affects the allow_expired
# check. (list value)
#service_token_roles = service
# For backwards compatibility reasons we must let valid service tokens pass that
# don't pass the service_token_roles check as valid. Setting this true will
# become the default in a future release and should be enabled if possible.
# (boolean value)
#service_token_roles_required = false
# The name or type of the service as it appears in the service catalog. This is
# used to validate tokens that have restricted access rules. (string value)
#service_type = <None>
# Authentication type to load (string value)
# Deprecated group/name - [keystone_authtoken]/auth_plugin
#auth_type = <None>
# Config Section from which to load plugin specific options (string value)
#auth_section = <None>
[os_brick]
#
# From os_brick
#
# Directory to use for os-brick lock files. Defaults to
# oslo_concurrency.lock_path which is a sensible default for compute nodes, but
# not for HCI deployments or controllers where Glance uses Cinder as a backend,
# as locks should use the same directory. (string value)
#lock_path = <None>
[oslo_concurrency]
#
# From oslo.concurrency
#
# Enables or disables inter-process locks. (boolean value)
#disable_process_locking = false
# 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. (string value)
#lock_path = <None>
[oslo_limit]
#
# From oslo.limit
#
# The service's endpoint id which is registered in Keystone. (string value)
#endpoint_id = <None>
# PEM encoded Certificate Authority to use when verifying HTTPs connections.
# (string value)
#cafile = <None>
# PEM encoded client certificate cert file (string value)
#certfile = <None>
# PEM encoded client certificate key file (string value)
#keyfile = <None>
# Verify HTTPS connections. (boolean value)
#insecure = false
# Timeout value for http requests (integer value)
#timeout = <None>
# Collect per-API call timing information. (boolean value)
#collect_timing = false
# Log requests to multiple loggers. (boolean value)
#split_loggers = false
# Authentication URL (string value)
#auth_url = <None>
# Scope for system operations (string value)
#system_scope = <None>
# Domain ID to scope to (string value)
#domain_id = <None>
# Domain name to scope to (string value)
#domain_name = <None>
# Project ID to scope to (string value)
#project_id = <None>
# Project name to scope to (string value)
#project_name = <None>
# Domain ID containing project (string value)
#project_domain_id = <None>
# Domain name containing project (string value)
#project_domain_name = <None>
# ID of the trust to use as a trustee use (string value)
#trust_id = <None>
# Optional domain ID to use with v3 and v2 parameters. It will be used for both
# the user and project domain in v3 and ignored in v2 authentication. (string
# value)
#default_domain_id = <None>
# Optional domain name to use with v3 API and v2 parameters. It will be used for
# both the user and project domain in v3 and ignored in v2 authentication.
# (string value)
#default_domain_name = <None>
# User ID (string value)
#user_id = <None>
# Username (string value)
# Deprecated group/name - [oslo_limit]/user_name
#username = <None>
# User's domain id (string value)
#user_domain_id = <None>
# User's domain name (string value)
#user_domain_name = <None>
# User's password (string value)
#password = <None>
# Tenant ID (string value)
#tenant_id = <None>
# Tenant Name (string value)
#tenant_name = <None>
# The default service_type for endpoint URL discovery. (string value)
#service_type = <None>
# The default service_name for endpoint URL discovery. (string value)
#service_name = <None>
# List of interfaces, in order of preference, for endpoint URL. (list value)
#valid_interfaces = <None>
# The default region_name for endpoint URL discovery. (string value)
#region_name = <None>
# Always use this endpoint URL for requests for this client. NOTE: The
# unversioned endpoint should be specified here; to request a particular API
# version, use the `version`, `min-version`, and/or `max-version` options.
# (string value)
#endpoint_override = <None>
# Minimum Major API version within a given Major API version for endpoint URL
# discovery. Mutually exclusive with min_version and max_version (string value)
#version = <None>
# The minimum major version of a given API, intended to be used as the lower
# bound of a range with max_version. Mutually exclusive with version. If
# min_version is given with no max_version it is as if max version is "latest".
# (string value)
#min_version = <None>
# The maximum major version of a given API, intended to be used as the upper
# bound of a range with min_version. Mutually exclusive with version. (string
# value)
#max_version = <None>
# The maximum number of retries that should be attempted for connection errors.
# (integer value)
#connect_retries = <None>
# Delay (in seconds) between two retries for connection errors. If not set,
# exponential retry starting with 0.5 seconds up to a maximum of 60 seconds is
# used. (floating point value)
#connect_retry_delay = <None>
# The maximum number of retries that should be attempted for retriable HTTP
# status codes. (integer value)
#status_code_retries = <None>
# Delay (in seconds) between two retries for retriable status codes. If not set,
# exponential retry starting with 0.5 seconds up to a maximum of 60 seconds is
# used. (floating point value)
#status_code_retry_delay = <None>
# List of retriable HTTP status codes that should be retried. If not set default
# to [503] (list value)
#retriable_status_codes = <None>
[oslo_messaging_amqp]
#
# From oslo.messaging
#
# Name for the AMQP container. must be globally unique. Defaults to a generated
# UUID (string value)
#container_name = <None>
# Timeout for inactive connections (in seconds) (integer value)
#idle_timeout = 0
# Debug: dump AMQP frames to stdout (boolean value)
#trace = false
# 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. (boolean
# value)
#ssl = false
# CA certificate PEM file used to verify the server's certificate (string value)
#ssl_ca_file =
# Self-identifying certificate PEM file for client authentication (string value)
#ssl_cert_file =
# Private key PEM file used to sign ssl_cert_file certificate (optional) (string
# value)
#ssl_key_file =
# Password for decrypting ssl_key_file (if encrypted) (string value)
#ssl_key_password = <None>
# 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. (boolean value)
#ssl_verify_vhost = false
# Space separated list of acceptable SASL mechanisms (string value)
#sasl_mechanisms =
# Path to directory that contains the SASL configuration (string value)
#sasl_config_dir =
# Name of configuration file (without .conf suffix) (string value)
#sasl_config_name =
# SASL realm to use if no realm present in username (string value)
#sasl_default_realm =
# Seconds to pause before attempting to re-connect. (integer value)
# Minimum value: 1
#connection_retry_interval = 1
# Increase the connection_retry_interval by this many seconds after each
# unsuccessful failover attempt. (integer value)
# Minimum value: 0
#connection_retry_backoff = 2
# Maximum limit for connection_retry_interval + connection_retry_backoff
# (integer value)
# Minimum value: 1
#connection_retry_interval_max = 30
# Time to pause between re-connecting an AMQP 1.0 link that failed due to a
# recoverable error. (integer value)
# Minimum value: 1
#link_retry_delay = 10
# The maximum number of attempts to re-send a reply message which failed due to
# a recoverable error. (integer value)
# Minimum value: -1
#default_reply_retry = 0
# The deadline for an rpc reply message delivery. (integer value)
# Minimum value: 5
#default_reply_timeout = 30
# The deadline for an rpc cast or call message delivery. Only used when caller
# does not provide a timeout expiry. (integer value)
# Minimum value: 5
#default_send_timeout = 30
# The deadline for a sent notification message delivery. Only used when caller
# does not provide a timeout expiry. (integer value)
# Minimum value: 5
#default_notify_timeout = 30
# The duration to schedule a purge of idle sender links. Detach link after
# expiry. (integer value)
# Minimum value: 1
#default_sender_link_timeout = 600
# 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 (string value)
#addressing_mode = dynamic
# 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. (boolean value)
#pseudo_vhost = true
# address prefix used when sending to a specific server (string value)
#server_request_prefix = exclusive
# address prefix used when broadcasting to all servers (string value)
#broadcast_prefix = broadcast
# address prefix when sending to any server in group (string value)
#group_request_prefix = unicast
# Address prefix for all generated RPC addresses (string value)
#rpc_address_prefix = openstack.org/om/rpc
# Address prefix for all generated Notification addresses (string value)
#notify_address_prefix = openstack.org/om/notify
# Appended to the address prefix when sending a fanout message. Used by the
# message bus to identify fanout messages. (string value)
#multicast_address = multicast
# 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. (string value)
#unicast_address = unicast
# 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. (string value)
#anycast_address = anycast
# 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' (string value)
#default_notification_exchange = <None>
# 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' (string value)
#default_rpc_exchange = <None>
# Window size for incoming RPC Reply messages. (integer value)
# Minimum value: 1
#reply_link_credit = 200
# Window size for incoming RPC Request messages (integer value)
# Minimum value: 1
#rpc_server_credit = 100
# Window size for incoming Notification messages (integer value)
# Minimum value: 1
#notify_server_credit = 100
# 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
# (multi valued)
#pre_settled = rpc-cast
#pre_settled = rpc-reply
[oslo_messaging_kafka]
#
# From oslo.messaging
#
# Max fetch bytes of Kafka consumer (integer value)
#kafka_max_fetch_bytes = 1048576
# Default timeout(s) for Kafka consumers (floating point value)
#kafka_consumer_timeout = 1.0
# DEPRECATED: Pool Size for Kafka Consumers (integer value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: Driver no longer uses connection pool.
#pool_size = 10
# DEPRECATED: The pool size limit for connections expiration policy (integer
# value)
# 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 = 2
# DEPRECATED: The time-to-live in sec of idle connections in the pool (integer
# value)
# 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 = 1200
# Group id for Kafka consumer. Consumers in one group will coordinate message
# consumption (string value)
#consumer_group = oslo_messaging_consumer
# Upper bound on the delay for KafkaProducer batching in seconds (floating point
# value)
#producer_batch_timeout = 0.0
# Size of batch for the producer async send (integer value)
#producer_batch_size = 16384
# The compression codec for all data generated by the producer. If not set,
# compression will not be used. Note that the allowed values of this depend on
# the kafka version (string value)
# Possible values:
# none - <No description provided>
# gzip - <No description provided>
# snappy - <No description provided>
# lz4 - <No description provided>
# zstd - <No description provided>
#compression_codec = none
# Enable asynchronous consumer commits (boolean value)
#enable_auto_commit = false
# The maximum number of records returned in a poll call (integer value)
#max_poll_records = 500
# Protocol used to communicate with brokers (string value)
# Possible values:
# PLAINTEXT - <No description provided>
# SASL_PLAINTEXT - <No description provided>
# SSL - <No description provided>
# SASL_SSL - <No description provided>
#security_protocol = PLAINTEXT
# Mechanism when security protocol is SASL (string value)
#sasl_mechanism = PLAIN
# CA certificate PEM file used to verify the server certificate (string value)
#ssl_cafile =
# Client certificate PEM file used for authentication. (string value)
#ssl_client_cert_file =
# Client key PEM file used for authentication. (string value)
#ssl_client_key_file =
# Client key password file used for authentication. (string value)
#ssl_client_key_password =
[oslo_messaging_notifications]
#
# From oslo.messaging
#
# The Drivers(s) to handle sending notifications. Possible values are messaging,
# messagingv2, routing, log, test, noop (multi valued)
# Deprecated group/name - [DEFAULT]/notification_driver
#driver =
# A URL representing the messaging driver to use for notifications. If not set,
# we fall back to the same configuration used for RPC. (string value)
# Deprecated group/name - [DEFAULT]/notification_transport_url
#transport_url = <None>
# AMQP topic used for OpenStack notifications. (list value)
# Deprecated group/name - [rpc_notifier2]/topics
# Deprecated group/name - [DEFAULT]/notification_topics
#topics = notifications
# The maximum number of attempts to re-send a notification message which failed
# to be delivered due to a recoverable error. 0 - No retry, -1 - indefinite
# (integer value)
#retry = -1
[oslo_messaging_rabbit]
#
# From oslo.messaging
#
# Use durable queues in AMQP. If rabbit_quorum_queue is enabled, queues will be
# durable and this value will be ignored. (boolean value)
#amqp_durable_queues = false
# Auto-delete queues in AMQP. (boolean value)
#amqp_auto_delete = false
# Connect over SSL. (boolean value)
# Deprecated group/name - [oslo_messaging_rabbit]/rabbit_use_ssl
#ssl = false
# SSL version to use (valid only if SSL enabled). Valid values are TLSv1 and
# SSLv23. SSLv2, SSLv3, TLSv1_1, and TLSv1_2 may be available on some
# distributions. (string value)
# Deprecated group/name - [oslo_messaging_rabbit]/kombu_ssl_version
#ssl_version =
# SSL key file (valid only if SSL enabled). (string value)
# Deprecated group/name - [oslo_messaging_rabbit]/kombu_ssl_keyfile
#ssl_key_file =
# SSL cert file (valid only if SSL enabled). (string value)
# Deprecated group/name - [oslo_messaging_rabbit]/kombu_ssl_certfile
#ssl_cert_file =
# SSL certification authority file (valid only if SSL enabled). (string value)
# Deprecated group/name - [oslo_messaging_rabbit]/kombu_ssl_ca_certs
#ssl_ca_file =
# Global toggle for enforcing the OpenSSL FIPS mode. This feature requires
# Python support. This is available in Python 3.9 in all environments and may
# have been backported to older Python versions on select environments. If the
# Python executable used does not support OpenSSL FIPS mode, an exception will
# be raised. (boolean value)
#ssl_enforce_fips_mode = false
# Run the health check heartbeat thread through a native python thread by
# default. If this option is equal to False then the health check heartbeat will
# inherit the execution model from the parent process. For example if the parent
# process has monkey patched the stdlib by using eventlet/greenlet then the
# heartbeat will be run through a green thread. This option should be set to
# True only for the wsgi services. (boolean value)
#heartbeat_in_pthread = false
# How long to wait (in seconds) before reconnecting in response to an AMQP
# consumer cancel notification. (floating point value)
# Minimum value: 0.0
# Maximum value: 4.5
#kombu_reconnect_delay = 1.0
# EXPERIMENTAL: Possible values are: gzip, bz2. If not set compression will not
# be used. This option may not be available in future versions. (string value)
#kombu_compression = <None>
# How long to wait a missing client before abandoning to send it its replies.
# This value should not be longer than rpc_response_timeout. (integer value)
# Deprecated group/name - [oslo_messaging_rabbit]/kombu_reconnect_timeout
#kombu_missing_consumer_retry_timeout = 60
# Determines how the next RabbitMQ node is chosen in case the one we are
# currently connected to becomes unavailable. Takes effect only if more than one
# RabbitMQ node is provided in config. (string value)
# Possible values:
# round-robin - <No description provided>
# shuffle - <No description provided>
#kombu_failover_strategy = round-robin
# The RabbitMQ login method. (string value)
# Possible values:
# PLAIN - <No description provided>
# AMQPLAIN - <No description provided>
# EXTERNAL - <No description provided>
# RABBIT-CR-DEMO - <No description provided>
#rabbit_login_method = AMQPLAIN
# How frequently to retry connecting with RabbitMQ. (integer value)
#rabbit_retry_interval = 1
# How long to backoff for between retries when connecting to RabbitMQ. (integer
# value)
#rabbit_retry_backoff = 2
# Maximum interval of RabbitMQ connection retries. Default is 30 seconds.
# (integer value)
#rabbit_interval_max = 30
# Try to use HA queues in RabbitMQ (x-ha-policy: all). If you change this
# option, you must wipe the RabbitMQ database. In RabbitMQ 3.0, queue mirroring
# is no longer controlled by the x-ha-policy argument when declaring a queue. If
# you just want to make sure that all queues (except those with auto-generated
# names) are mirrored across all nodes, run: "rabbitmqctl set_policy HA
# '^(?!amq\.).*' '{"ha-mode": "all"}' " (boolean value)
#rabbit_ha_queues = false
# Use quorum queues in RabbitMQ (x-queue-type: quorum). The quorum queue is a
# modern queue type for RabbitMQ implementing a durable, replicated FIFO queue
# based on the Raft consensus algorithm. It is available as of RabbitMQ 3.8.0.
# If set this option will conflict with the HA queues (``rabbit_ha_queues``) aka
# mirrored queues, in other words the HA queues should be disabled, quorum
# queues durable by default so the amqp_durable_queues opion is ignored when
# this option enabled. (boolean value)
#rabbit_quorum_queue = false
# Each time a message is redelivered to a consumer, a counter is incremented.
# Once the redelivery count exceeds the delivery limit the message gets dropped
# or dead-lettered (if a DLX exchange has been configured) Used only when
# rabbit_quorum_queue is enabled, Default 0 which means dont set a limit.
# (integer value)
#rabbit_quorum_delivery_limit = 0
# By default all messages are maintained in memory if a quorum queue grows in
# length it can put memory pressure on a cluster. This option can limit the
# number of messages in the quorum queue. Used only when rabbit_quorum_queue is
# enabled, Default 0 which means dont set a limit. (integer value)
# Deprecated group/name - [oslo_messaging_rabbit]/rabbit_quroum_max_memory_length
#rabbit_quorum_max_memory_length = 0
# By default all messages are maintained in memory if a quorum queue grows in
# length it can put memory pressure on a cluster. This option can limit the
# number of memory bytes used by the quorum queue. Used only when
# rabbit_quorum_queue is enabled, Default 0 which means dont set a limit.
# (integer value)
# Deprecated group/name - [oslo_messaging_rabbit]/rabbit_quroum_max_memory_bytes
#rabbit_quorum_max_memory_bytes = 0
# Positive integer representing duration in seconds for queue TTL (x-expires).
# Queues which are unused for the duration of the TTL are automatically deleted.
# The parameter affects only reply and fanout queues. Setting 0 as value will
# disable the x-expires. If doing so, make sure you have a rabbitmq policy to
# delete the queues or you deployment will create an infinite number of queue
# over time. (integer value)
# Minimum value: 0
#rabbit_transient_queues_ttl = 1800
# Specifies the number of messages to prefetch. Setting to zero allows unlimited
# messages. (integer value)
#rabbit_qos_prefetch_count = 0
# Number of seconds after which the Rabbit broker is considered down if
# heartbeat's keep-alive fails (0 disables heartbeat). (integer value)
#heartbeat_timeout_threshold = 60
# How often times during the heartbeat_timeout_threshold we check the heartbeat.
# (integer value)
#heartbeat_rate = 3
# DEPRECATED: (DEPRECATED) Enable/Disable the RabbitMQ mandatory flag for direct
# send. The direct send is used as reply, so the MessageUndeliverable exception
# is raised in case the client queue does not exist.MessageUndeliverable
# exception will be used to loop for a timeout to lets a chance to sender to
# recover.This flag is deprecated and it will not be possible to deactivate this
# functionality anymore (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: Mandatory flag no longer deactivable.
#direct_mandatory_flag = true
# Enable x-cancel-on-ha-failover flag so that rabbitmq server will cancel and
# notify consumerswhen queue is down (boolean value)
#enable_cancel_on_failover = false
[oslo_middleware]
#
# From oslo.middleware.http_proxy_to_wsgi
#
# Whether the application is behind a proxy or not. This determines if the
# middleware should parse the headers or not. (boolean value)
#enable_proxy_headers_parsing = false
[oslo_policy]
#
# From oslo.policy
#
# This option controls whether or not to enforce scope when evaluating policies.
# If ``True``, the scope of the token used in the request is compared to the
# ``scope_types`` of the policy being enforced. If the scopes do not match, an
# ``InvalidScope`` exception will be raised. If ``False``, a message will be
# logged informing operators that policies are being invoked with mismatching
# scope. (boolean value)
#enforce_scope = true
# This option controls whether or not to use old deprecated defaults when
# evaluating policies. If ``True``, the old deprecated defaults are not going to
# be evaluated. This means if any existing token is allowed for old defaults but
# is disallowed for new defaults, it will be disallowed. It is encouraged to
# enable this flag along with the ``enforce_scope`` flag so that you can get the
# benefits of new defaults and ``scope_type`` together. If ``False``, the
# deprecated policy check string is logically OR'd with the new policy check
# string, allowing for a graceful upgrade experience between releases with new
# policies, which is the default behavior. (boolean value)
#enforce_new_defaults = true
# The relative or absolute path of a file that maps roles to permissions for a
# given service. Relative paths must be specified in relation to the
# configuration file setting this option. (string value)
#policy_file = policy.yaml
# Default rule. Enforced when a requested rule is not found. (string value)
#policy_default_rule = default
# Directories where policy configuration files are stored. They can be relative
# to any directory in the search path defined by the config_dir option, or
# absolute paths. The file defined by policy_file must exist for these
# directories to be searched. Missing or empty directories are ignored. (multi
# valued)
#policy_dirs = policy.d
# Content Type to send and receive data for REST based policy check (string
# value)
# Possible values:
# application/x-www-form-urlencoded - <No description provided>
# application/json - <No description provided>
#remote_content_type = application/x-www-form-urlencoded
# server identity verification for REST based policy check (boolean value)
#remote_ssl_verify_server_crt = false
# Absolute path to ca cert file for REST based policy check (string value)
#remote_ssl_ca_crt_file = <None>
# Absolute path to client cert for REST based policy check (string value)
#remote_ssl_client_crt_file = <None>
# Absolute path client key file REST based policy check (string value)
#remote_ssl_client_key_file = <None>
[oslo_reports]
#
# From oslo.reports
#
# Path to a log directory where to create a file (string value)
#log_dir = <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. (string value)
#file_event_handler = <None>
# How many seconds to wait between polls when file_event_handler is set (integer
# value)
#file_event_handler_interval = 1
[paste_deploy]
#
# From glance.api
#
#
# Deployment flavor to use in the server application pipeline.
#
# Provide a string value representing the appropriate deployment
# flavor used in the server application pipeline. This is typically
# the partial name of a pipeline in the paste configuration file with
# the service name removed.
#
# For example, if your paste section name in the paste configuration
# file is [pipeline:glance-api-keystone], set ``flavor`` to
# ``keystone``.
#
# Possible values:
# * String value representing a partial pipeline name.
#
# Related Options:
# * config_file
#
# (string value)
#
# This option has a sample default set, which means that
# its actual default value may vary from the one documented
# below.
#flavor = keystone
#
# Name of the paste configuration file.
#
# Provide a string value representing the name of the paste
# configuration file to use for configuring pipelines for
# server application deployments.
#
# NOTES:
# * Provide the name or the path relative to the glance directory
# for the paste configuration file and not the absolute path.
# * The sample paste configuration file shipped with Glance need
# not be edited in most cases as it comes with ready-made
# pipelines for all common deployment flavors.
#
# If no value is specified for this option, the ``paste.ini`` file
# with the prefix of the corresponding Glance service's configuration
# file name will be searched for in the known configuration
# directories. (For example, if this option is missing from or has no
# value set in ``glance-api.conf``, the service will look for a file
# named ``glance-api-paste.ini``.) If the paste configuration file is
# not found, the service will not start.
#
# Possible values:
# * A string value representing the name of the paste configuration
# file.
#
# Related Options:
# * flavor
#
# (string value)
#
# This option has a sample default set, which means that
# its actual default value may vary from the one documented
# below.
#config_file = glance-api-paste.ini
[profiler]
#
# From glance.api
#
#
# Enable the profiling for all services on this node.
#
# Default value is False (fully disable the profiling feature).
#
# Possible values:
#
# * True: Enables the feature
# * False: Disables the feature. The profiling cannot be started via this
# project
# operations. If the profiling is triggered by another project, this project
# part will be empty.
# (boolean value)
# Deprecated group/name - [profiler]/profiler_enabled
#enabled = false
#
# Enable SQL requests profiling in services.
#
# Default value is False (SQL requests won't be traced).
#
# Possible values:
#
# * True: Enables SQL requests profiling. Each SQL query will be part of the
# trace and can the be analyzed by how much time was spent for that.
# * False: Disables SQL requests profiling. The spent time is only shown on a
# higher level of operations. Single SQL queries cannot be analyzed this way.
# (boolean value)
#trace_sqlalchemy = false
#
# Enable python requests package profiling.
#
# Supported drivers: jaeger+otlp
#
# Default value is False.
#
# Possible values:
#
# * True: Enables requests profiling.
# * False: Disables requests profiling.
# (boolean value)
#trace_requests = false
#
# Secret key(s) to use for encrypting context data for performance profiling.
#
# This string value should have the following format: <key1>[,<key2>,...<keyn>],
# where each key is some random string. A user who triggers the profiling via
# the REST API has to set one of these keys in the headers of the REST API call
# to include profiling results of this node for this particular project.
#
# Both "enabled" flag and "hmac_keys" config options should be set to enable
# profiling. Also, to generate correct profiling information across all services
# at least one key needs to be consistent between OpenStack projects. This
# ensures it can be used from client side to generate the trace, containing
# information from all possible resources.
# (string value)
#hmac_keys = SECRET_KEY
#
# Connection string for a notifier backend.
#
# Default value is ``messaging://`` which sets the notifier to oslo_messaging.
#
# Examples of possible values:
#
# * ``messaging://`` - use oslo_messaging driver for sending spans.
# * ``redis://127.0.0.1:6379`` - use redis driver for sending spans.
# * ``mongodb://127.0.0.1:27017`` - use mongodb driver for sending spans.
# * ``elasticsearch://127.0.0.1:9200`` - use elasticsearch driver for sending
# spans.
# * ``jaeger://127.0.0.1:6831`` - use jaeger tracing as driver for sending
# spans.
# (string value)
#connection_string = messaging://
#
# Document type for notification indexing in elasticsearch.
# (string value)
#es_doc_type = notification
#
# This parameter is a time value parameter (for example: es_scroll_time=2m),
# indicating for how long the nodes that participate in the search will maintain
# relevant resources in order to continue and support it.
# (string value)
#es_scroll_time = 2m
#
# Elasticsearch splits large requests in batches. This parameter defines
# maximum size of each batch (for example: es_scroll_size=10000).
# (integer value)
#es_scroll_size = 10000
#
# Redissentinel provides a timeout option on the connections.
# This parameter defines that timeout (for example: socket_timeout=0.1).
# (floating point value)
#socket_timeout = 0.1
#
# Redissentinel uses a service name to identify a master redis service.
# This parameter defines the name (for example:
# ``sentinal_service_name=mymaster``).
# (string value)
#sentinel_service_name = mymaster
#
# Enable filter traces that contain error/exception to a separated place.
#
# Default value is set to False.
#
# Possible values:
#
# * True: Enable filter traces that contain error/exception.
# * False: Disable the filter.
# (boolean value)
#filter_error_trace = false
[store_type_location_strategy]
#
# From glance.api
#
# DEPRECATED:
# Preference order of storage backends.
#
# Provide a comma separated list of store names in the order in
# which images should be retrieved from storage backends.
# These store names must be registered with the ``stores``
# configuration option.
#
# NOTE: The ``store_type_preference`` configuration option is applied
# only if ``store_type`` is chosen as a value for the
# ``location_strategy`` configuration option. An empty list will not
# change the location order.
#
# Possible values:
# * Empty list
# * Comma separated list of registered store names. Legal values are:
# * file
# * http
# * rbd
# * swift
# * cinder
# * vmware
#
# Related options:
# * location_strategy
# * stores
#
# (list value)
# This option is deprecated for removal since Caracal.
# Its value may be silently ignored in the future.
# Reason:
# In Bobcat, a new weighing mechanism has been introduced, which makes the
# location strategy obsolete. This option is scheduled to be removed during the
# Dalmatian development cycle.
#store_type_preference =
[task]
#
# From glance.api
#
# Time in hours for which a task lives after, either succeeding or failing
# (integer value)
# Deprecated group/name - [DEFAULT]/task_time_to_live
#task_time_to_live = 48
#
# Task executor to be used to run task scripts.
#
# Provide a string value representing the executor to use for task
# executions. By default, ``TaskFlow`` executor is used.
#
# ``TaskFlow`` helps make task executions easy, consistent, scalable
# and reliable. It also enables creation of lightweight task objects
# and/or functions that are combined together into flows in a
# declarative manner.
#
# Possible values:
# * taskflow
#
# Related Options:
# * None
#
# (string value)
#task_executor = taskflow
#
# Absolute path to the work directory to use for asynchronous
# task operations.
#
# The directory set here will be used to operate over images -
# normally before they are imported in the destination store.
#
# NOTE: When providing a value for ``work_dir``, please make sure
# that enough space is provided for concurrent tasks to run
# efficiently without running out of space.
#
# A rough estimation can be done by multiplying the number of
# ``max_workers`` with an average image size (e.g 500MB). The image
# size estimation should be done based on the average size in your
# deployment. Note that depending on the tasks running you may need
# to multiply this number by some factor depending on what the task
# does. For example, you may want to double the available size if
# image conversion is enabled. All this being said, remember these
# are just estimations and you should do them based on the worst
# case scenario and be prepared to act in case they were wrong.
#
# Possible values:
# * String value representing the absolute path to the working
# directory
#
# Related Options:
# * None
#
# (string value)
#
# This option has a sample default set, which means that
# its actual default value may vary from the one documented
# below.
#work_dir = /work_dir
[taskflow_executor]
#
# From glance.api
#
#
# Set the taskflow engine mode.
#
# Provide a string type value to set the mode in which the taskflow
# engine would schedule tasks to the workers on the hosts. Based on
# this mode, the engine executes tasks either in single or multiple
# threads. The possible values for this configuration option are:
# ``serial`` and ``parallel``. When set to ``serial``, the engine runs
# all the tasks in a single thread which results in serial execution
# of tasks. Setting this to ``parallel`` makes the engine run tasks in
# multiple threads. This results in parallel execution of tasks.
#
# Possible values:
# * serial
# * parallel
#
# Related options:
# * max_workers
#
# (string value)
# Possible values:
# serial - <No description provided>
# parallel - <No description provided>
#engine_mode = parallel
#
# Set the number of engine executable tasks.
#
# Provide an integer value to limit the number of workers that can be
# instantiated on the hosts. In other words, this number defines the
# number of parallel tasks that can be executed at the same time by
# the taskflow engine. This value can be greater than one when the
# engine mode is set to parallel.
#
# Possible values:
# * Integer value greater than or equal to 1
#
# Related options:
# * engine_mode
#
# (integer value)
# Minimum value: 1
# Deprecated group/name - [task]/eventlet_executor_pool_size
#max_workers = 10
#
# Set the desired image conversion format.
#
# Provide a valid image format to which you want images to be
# converted before they are stored for consumption by Glance.
# Appropriate image format conversions are desirable for specific
# storage backends in order to facilitate efficient handling of
# bandwidth and usage of the storage infrastructure.
#
# By default, ``conversion_format`` is not set and must be set
# explicitly in the configuration file.
#
# The allowed values for this option are ``raw``, ``qcow2`` and
# ``vmdk``. The ``raw`` format is the unstructured disk format and
# should be chosen when RBD or Ceph storage backends are used for
# image storage. ``qcow2`` is supported by the QEMU emulator that
# expands dynamically and supports Copy on Write. The ``vmdk`` is
# another common disk format supported by many common virtual machine
# monitors like VMWare Workstation.
#
# Possible values:
# * qcow2
# * raw
# * vmdk
#
# Related options:
# * disk_formats
#
# (string value)
# Possible values:
# qcow2 - <No description provided>
# raw - <No description provided>
# vmdk - <No description provided>
#
# This option has a sample default set, which means that
# its actual default value may vary from the one documented
# below.
#conversion_format = raw
[vault]
#
# From castellan.config
#
# root token for vault (string value)
#root_token_id = <None>
# AppRole role_id for authentication with vault (string value)
#approle_role_id = <None>
# AppRole secret_id for authentication with vault (string value)
#approle_secret_id = <None>
# Mountpoint of KV store in Vault to use, for example: secret (string value)
#kv_mountpoint = secret
# Path relative to root of KV store in Vault to use. (string value)
#kv_path = <None>
# Version of KV store in Vault to use, for example: 2 (integer value)
#kv_version = 2
# Use this endpoint to connect to Vault, for example: "http://127.0.0.1:8200"
# (string value)
#vault_url = http://127.0.0.1:8200
# Absolute path to ca cert file (string value)
#ssl_ca_crt_file = <None>
# SSL Enabled/Disabled (boolean value)
#use_ssl = false
# Vault Namespace to use for all requests to Vault. Vault Namespaces feature is
# available only in Vault Enterprise (string value)
#namespace = <None>
[wsgi]
#
# From glance.api
#
#
# The number of threads (per worker process) in the pool for processing
# asynchronous tasks. This controls how many asynchronous tasks (i.e. for
# image interoperable import) each worker can run at a time. If this is
# too large, you *may* have increased memory footprint per worker and/or you
# may overwhelm other system resources such as disk or outbound network
# bandwidth. If this is too small, image import requests will have to wait
# until a thread becomes available to begin processing. (integer value)
# Minimum value: 1
#task_pool_threads = 16
#
# Path to the python interpreter to use when spawning external
# processes. If left unspecified, this will be sys.executable, which should
# be the same interpreter running Glance itself. However, in some situations
# (for example, uwsgi) sys.executable may not actually point to a python
# interpreter and an alternative value must be set. (string value)
#python_interpreter = <None>