[DEFAULT]

#
# From glance.scrubber
#

# Whether to allow users to specify image properties beyond what the
# image schema provides (boolean value)
#allow_additional_image_properties = true

# Maximum number of image members per image. Negative values evaluate
# to unlimited. (integer value)
#image_member_quota = 128

# Maximum number of properties allowed on an image. Negative values
# evaluate to unlimited. (integer value)
#image_property_quota = 128

# Maximum number of tags allowed on an image. Negative values evaluate
# to unlimited. (integer value)
#image_tag_quota = 128

# Maximum number of locations allowed on an image. Negative values
# evaluate to unlimited. (integer value)
#image_location_quota = 10

# Python module path of data access API (string value)
#data_api = glance.db.sqlalchemy.api

# Default value for the number of items returned by a request if not
# specified explicitly in the request (integer value)
#limit_param_default = 25

# Maximum permissible number of items that could be returned by a
# request (integer value)
#api_limit_max = 1000

# Whether to include the backend image storage location in image
# properties. Revealing storage location can be a security risk, so
# use this setting with caution! (boolean value)
#show_image_direct_url = false

# Whether to include the backend image locations in image properties.
# For example, if using the file system store a URL of
# "file:///path/to/image" will be returned to the user in the
# 'direct_url' meta-data field. Revealing storage location can be a
# security risk, so use this setting with caution! Setting this to
# true overrides the show_image_direct_url option. (boolean value)
#show_multiple_locations = false

# Maximum size of image a user can upload in bytes. Defaults to
# 1099511627776 bytes (1 TB). WARNING: this value should only be
# increased after careful consideration and must be set to a value
# under 8 EB (9223372036854775808). (integer value)
# Maximum value: 9223372036854775808
#image_size_cap = 1099511627776

# Set a system wide quota for every user. This value is the total
# capacity that a user can use across all storage systems. A value of
# 0 means unlimited. Optional unit can be specified for the value.
# Accepted units are B, KB, MB, GB and TB representing Bytes,
# KiloBytes, MegaBytes, GigaBytes and TeraBytes respectively. If no
# unit is specified then Bytes is assumed. Note that there should not
# be any space between value and unit and units are case sensitive.
# (string value)
#user_storage_quota = 0

# Deploy the v1 OpenStack Images API. (boolean value)
#enable_v1_api = true

# Deploy the v2 OpenStack Images API. (boolean value)
#enable_v2_api = true

# Deploy the v1 OpenStack Registry API. (boolean value)
#enable_v1_registry = true

# Deploy the v2 OpenStack Registry API. (boolean value)
#enable_v2_registry = true

# The hostname/IP of the pydev process listening for debug connections
# (string value)
#pydev_worker_debug_host = <None>

# The port on which a pydev process is listening for connections.
# (port value)
# Minimum value: 0
# Maximum value: 65535
#pydev_worker_debug_port = 5678

# AES key for encrypting store 'location' metadata. This includes, if
# used, Swift or S3 credentials. Should be set to a random string of
# length 16, 24 or 32 bytes (string value)
#metadata_encryption_key = <None>

# Digest algorithm which will be used for digital signature. Use the
# command "openssl list-message-digest-algorithms" to get the
# available algorithms supported by the version of OpenSSL on the
# platform. Examples are "sha1", "sha256", "sha512", etc. (string
# value)
#digest_algorithm = sha256

# The amount of time in seconds to delay before performing a delete.
# (integer value)
#scrub_time = 0

# The size of thread pool to be used for scrubbing images. The default
# is one, which signifies serial scrubbing. Any value above one
# indicates the max number of images that may be scrubbed in parallel.
# (integer value)
#scrub_pool_size = 1

# Turn on/off delayed delete. (boolean value)
#delayed_delete = false

# Role used to identify an authenticated user as administrator.
# (string value)
#admin_role = admin

# Whether to pass through headers containing user and tenant
# information when making requests to the registry. This allows the
# registry to use the context middleware without keystonemiddleware's
# auth_token middleware, removing calls to the keystone auth service.
# It is recommended that when using this option, secure communication
# between glance api and glance registry is ensured by means other
# than auth_token middleware. (boolean value)
#send_identity_headers = false

# Loop time between checking for new items to schedule for delete.
# (integer value)
#wakeup_time = 300

# Run as a long-running process. When not specified (the default) run
# the scrub operation once and then exits. When specified do not exit
# and run scrub on wakeup_time interval as specified in the config.
# (boolean value)
daemon = true

# The protocol to use for communication with the registry server.
# Either http or https. (string value)
#registry_client_protocol = http

# The path to the key file to use in SSL connections to the registry
# server, if any. Alternately, you may set the GLANCE_CLIENT_KEY_FILE
# environment variable to a filepath of the key file (string value)
#registry_client_key_file = <None>

# The path to the cert file to use in SSL connections to the registry
# server, if any. Alternately, you may set the GLANCE_CLIENT_CERT_FILE
# environment variable to a filepath of the CA cert file (string
# value)
#registry_client_cert_file = <None>

# The path to the certifying authority cert file to use in SSL
# connections to the registry server, if any. Alternately, you may set
# the GLANCE_CLIENT_CA_FILE environment variable to a filepath of the
# CA cert file. (string value)
#registry_client_ca_file = <None>

# When using SSL in connections to the registry server, do not require
# validation via a certifying authority. This is the registry's
# equivalent of specifying --insecure on the command line using
# glanceclient for the API. (boolean value)
#registry_client_insecure = false

# The period of time, in seconds, that the API server will wait for a
# registry request to complete. A value of 0 implies no timeout.
# (integer value)
#registry_client_timeout = 600

# Whether to pass through the user token when making requests to the
# registry. To prevent failures with token expiration during big files
# upload, it is recommended to set this parameter to False. If
# "use_user_token" is not in effect, then admin credentials can be
# specified. (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: This option was considered harmful and has been deprecated
# in M release. It will be removed in O release. For more information
# read OSSN-0060. Related functionality with uploading big images has
# been implemented with Keystone trusts support.
#use_user_token = true

# The administrators user name. If "use_user_token" is not in effect,
# then admin credentials can be specified. (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: This option was considered harmful and has been deprecated
# in M release. It will be removed in O release. For more information
# read OSSN-0060. Related functionality with uploading big images has
# been implemented with Keystone trusts support.
admin_user = %SERVICE_USER%

# The administrators password. If "use_user_token" is not in effect,
# then admin credentials can be specified. (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: This option was considered harmful and has been deprecated
# in M release. It will be removed in O release. For more information
# read OSSN-0060. Related functionality with uploading big images has
# been implemented with Keystone trusts support.
admin_password = %SERVICE_PASSWORD%

# The tenant name of the administrative user. If "use_user_token" is
# not in effect, then admin tenant name can be specified. (string
# value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: This option was considered harmful and has been deprecated
# in M release. It will be removed in O release. For more information
# read OSSN-0060. Related functionality with uploading big images has
# been implemented with Keystone trusts support.
admin_tenant_name = %SERVICE_TENANT_NAME%

# The URL to the keystone service. If "use_user_token" is not in
# effect and using keystone auth, then URL of keystone can be
# specified. (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: This option was considered harmful and has been deprecated
# in M release. It will be removed in O release. For more information
# read OSSN-0060. Related functionality with uploading big images has
# been implemented with Keystone trusts support.
auth_url = http://127.0.0.1:5000/v2.0/

# The strategy to use for authentication. If "use_user_token" is not
# in effect, then auth strategy can be specified. (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: This option was considered harmful and has been deprecated
# in M release. It will be removed in O release. For more information
# read OSSN-0060. Related functionality with uploading big images has
# been implemented with Keystone trusts support.
auth_strategy = keystone

# The region for the authentication service. If "use_user_token" is
# not in effect and using keystone auth, then region name can be
# specified. (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# Reason: This option was considered harmful and has been deprecated
# in M release. It will be removed in O release. For more information
# read OSSN-0060. Related functionality with uploading big images has
# been implemented with Keystone trusts support.
#auth_region = <None>

# Address to find the registry server. (string value)
#registry_host = 0.0.0.0

# Port the registry server is listening on. (port value)
# Minimum value: 0
# Maximum value: 65535
#registry_port = 9191

#
# From oslo.log
#

# If set to true, the logging level will be set to DEBUG instead of
# the default INFO level. (boolean value)
#debug = false

# If set to false, the logging level will be set to WARNING instead of
# the default INFO level. (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
#verbose = true

# The name of a logging configuration file. This file is appended to
# any existing logging configuration files. For details about logging
# configuration files, see the Python logging module documentation.
# Note that when logging configuration files are used then all logging
# configuration is set in the configuration file and other logging
# configuration options are ignored (for example,
# logging_context_format_string). (string value)
# 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

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

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

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

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

# Prefix each line of exception output with this format. (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. (string value)
#logging_user_identity_format = %(user)s %(tenant)s %(domain)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,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,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] "

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


[database]

#
# From oslo.db
#

# The file name to use with SQLite. (string value)
# Deprecated group/name - [DEFAULT]/sqlite_db
#sqlite_db = oslo.sqlite

# If True, SQLite uses synchronous mode. (boolean value)
# Deprecated group/name - [DEFAULT]/sqlite_synchronous
#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 = mysql://%SERVICE_USER%:%SERVICE_PASSWORD%@localhost/glance

# 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

# This configures the MySQL storage engine. This allows for OpenStack
# to support different storage engine such as InnoDB, NDB, etc. By
# default, this value will be set to InnoDB. For MySQL Cluster, set to
# NDBCLUSTER. Example: mysql_storage_engine= (string value)
#mysql_storage_engine = InnoDB

# Timeout before idle SQL connections are reaped. (integer value)
# Deprecated group/name - [DEFAULT]/sql_idle_timeout
# Deprecated group/name - [DATABASE]/sql_idle_timeout
# Deprecated group/name - [sql]/idle_timeout
#idle_timeout = 3600

# Minimum number of SQL connections to keep open in a pool. (integer
# value)
# Deprecated group/name - [DEFAULT]/sql_min_pool_size
# Deprecated group/name - [DATABASE]/sql_min_pool_size
#min_pool_size = 1

# Maximum number of SQL connections to keep open in a pool. (integer
# value)
# Deprecated group/name - [DEFAULT]/sql_max_pool_size
# Deprecated group/name - [DATABASE]/sql_max_pool_size
#max_pool_size = <None>

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

#
# From oslo.db.concurrency
#

# Enable the experimental use of thread pooling for all DB API calls
# (boolean value)
# Deprecated group/name - [DEFAULT]/dbapi_use_tpool
#use_tpool = false


[oslo_concurrency]

#
# From oslo.concurrency
#

# Enables or disables inter-process locks. (boolean value)
# Deprecated group/name - [DEFAULT]/disable_process_locking
#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)
# Deprecated group/name - [DEFAULT]/lock_path
lock_path = /var/lib/glance/lock


[oslo_policy]

#
# From oslo.policy
#

# The JSON file that defines policies. (string value)
# Deprecated group/name - [DEFAULT]/policy_file
#policy_file = policy.json

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