Contents
Compute relies on an external image service to store virtual machine images and maintain a catalog of available images. By default, Compute is configured to use the OpenStack Image Service (Glance), which is currently the only supported image service.
If your installation requires euca2ools to register new
images, you must run the nova-objectstore
service. This service provides an Amazon S3 front-end for Glance,
which is required by euca2ools.
To customize the Compute Service, use the configuration option settings documented in Table 2.27, “Description of configuration options for glance” and Table 2.47, “Description of configuration options for s3”.
You can modify many options in the OpenStack Image Service. The following tables provide a comprehensive list.
Configuration option = Default value | Description |
---|---|
[DEFAULT] | |
memcached_servers = None | (ListOpt) Memcached servers or None for in process cache. |
[keystone_authtoken] | |
admin_password = None | (StrOpt) Keystone account password |
admin_tenant_name = admin | (StrOpt) Keystone service account tenant name to validate user tokens |
admin_token = None | (StrOpt) Single shared secret with the Keystone configuration used for bootstrapping a Keystone installation, or otherwise bypassing the normal authentication process. |
admin_user = None | (StrOpt) Keystone account username |
auth_admin_prefix = | (StrOpt) Prefix to prepend at the beginning of the path |
auth_host = 127.0.0.1 | (StrOpt) Host providing the admin Identity API endpoint |
auth_port = 35357 | (IntOpt) Port of the admin Identity API endpoint |
auth_protocol = https | (StrOpt) Protocol of the admin Identity API endpoint(http or https) |
auth_uri = None | (StrOpt) Complete public Identity API endpoint |
auth_version = None | (StrOpt) API version of the admin Identity API endpoint |
cache = None | (StrOpt) Env key for the swift cache |
cafile = None | (StrOpt) A PEM encoded Certificate Authority to use when verifying HTTPs connections. Defaults to system CAs. |
certfile = None | (StrOpt) Required if Keystone server requires client certificate |
delay_auth_decision = False | (BoolOpt) Do not handle authorization requests within the middleware, but delegate the authorization decision to downstream WSGI components |
enforce_token_bind = permissive | (StrOpt) 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. |
http_connect_timeout = None | (BoolOpt) Request timeout value for communicating with Identity API server. |
http_request_max_retries = 3 | (IntOpt) How many times are we trying to reconnect when communicating with Identity API Server. |
include_service_catalog = True | (BoolOpt) (optional) indicate whether to set the X-Service-Catalog header. If False, middleware will not ask for service catalog on token validation and will not set the X-Service-Catalog header. |
insecure = False | (BoolOpt) Verify HTTPS connections. |
keyfile = None | (StrOpt) Required if Keystone server requires client certificate |
memcache_secret_key = None | (StrOpt) (optional, mandatory if memcache_security_strategy is defined) this string is used for key derivation. |
memcache_security_strategy = None | (StrOpt) (optional) if defined, indicate whether token data should be authenticated or authenticated and encrypted. Acceptable values are MAC or ENCRYPT. 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. |
memcached_servers = None | (ListOpt) Optionally specify a list of memcached server(s) to use for caching. If left undefined, tokens will instead be cached in-process. |
revocation_cache_time = 300 | (IntOpt) Determines the frequency at which the list of revoked tokens is retrieved from the Identity service (in seconds). A high number of revocation events combined with a low cache duration may significantly reduce performance. |
signing_dir = None | (StrOpt) Directory used to cache files related to PKI tokens |
token_cache_time = 300 | (IntOpt) 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. |
Configuration option = Default value | Description |
---|---|
[DEFAULT] | |
allow_additional_image_properties = True | (BoolOpt) Whether to allow users to specify image properties beyond what the image schema provides |
api_limit_max = 1000 | (IntOpt) Maximum permissible number of items that could be returned by a request |
backlog = 4096 | (IntOpt) The backlog value that will be used when creating the TCP listener socket. |
bind_host = 0.0.0.0 | (StrOpt) Address to bind the server. Useful when selecting a particular network interface. |
bind_port = None | (IntOpt) The port on which the server will listen. |
data_api = glance.db.sqlalchemy.api | (StrOpt) Python module path of data access API |
disable_process_locking = False | (BoolOpt) Whether to disable inter-process locks |
image_location_quota = 10 | (IntOpt) Maximum number of locations allowed on an image. Negative values evaluate to unlimited. |
image_member_quota = 128 | (IntOpt) Maximum number of image members per image. Negative values evaluate to unlimited. |
image_property_quota = 128 | (IntOpt) Maximum number of properties allowed on an image. Negative values evaluate to unlimited. |
image_tag_quota = 128 | (IntOpt) Maximum number of tags allowed on an image. Negative values evaluate to unlimited. |
limit_param_default = 25 | (IntOpt) Default value for the number of items returned by a request if not specified explicitly in the request |
lock_path = None | (StrOpt) Directory to use for lock files. |
metadata_encryption_key = None | (StrOpt) Key used for encrypting sensitive metadata while talking to the registry or database. |
notifier_strategy = default | (StrOpt) Notifications can be sent when images are create, updated or deleted. There are three methods of sending notifications, logging (via the log_file directive), rabbit (via a rabbitmq queue), qpid (via a Qpid message queue), or noop (no notifications sent, the default). (DEPRECATED) |
os_region_name = None | (StrOpt) Region name of this node. |
property_protection_file = None | (StrOpt) The location of the property protection file. |
property_protection_rule_format = roles | (StrOpt) This config value indicates whether "roles" or "policies" are used in the property protection file. |
show_image_direct_url = False | (BoolOpt) 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! |
user_storage_quota = 0 | (IntOpt) Set a system wide quota for every user. This value is the total number of bytes that a user can use across all storage systems. A value of 0 means unlimited. |
workers = 1 | (IntOpt) The number of child process workers that will be created to service API requests. |
[image_format] | |
container_formats = ami, ari, aki, bare, ovf, ova | (ListOpt) Supported values for the 'container_format' image attribute |
disk_formats = ami, ari, aki, vhd, vmdk, raw, qcow2, vdi, iso | (ListOpt) Supported values for the 'disk_format' image attribute |
[task] | |
task_time_to_live = 48 | (IntOpt) Time in hours for which a task lives after, either succeeding or failing |
Configuration option = Default value | Description |
---|---|
[database] | |
backend = sqlalchemy | (StrOpt) The backend to use for db |
connection = None | (StrOpt) The SQLAlchemy connection string used to connect to the database |
connection_debug = 0 | (IntOpt) Verbosity of SQL debugging information. 0=None, 100=Everything |
connection_trace = False | (BoolOpt) Add python stack traces to SQL as comment strings |
db_inc_retry_interval = True | (BoolOpt) Whether to increase interval between db connection retries, up to db_max_retry_interval |
db_max_retries = 20 | (IntOpt) maximum db connection retries before error is raised. (setting -1 implies an infinite retry count) |
db_max_retry_interval = 10 | (IntOpt) max seconds between db connection retries, if db_inc_retry_interval is enabled |
db_retry_interval = 1 | (IntOpt) seconds between db connection retries |
idle_timeout = 3600 | (IntOpt) Timeout before idle sql connections are reaped |
max_overflow = None | (IntOpt) If set, use this value for max_overflow with sqlalchemy |
max_pool_size = None | (IntOpt) Maximum number of SQL connections to keep open in a pool |
max_retries = 10 | (IntOpt) Maximum db connection retries during startup. (setting -1 implies an infinite retry count) |
min_pool_size = 1 | (IntOpt) Minimum number of SQL connections to keep open in a pool |
mysql_sql_mode = TRADITIONAL | (StrOpt) The SQL mode to be used for MySQL sessions. This option, including the default, overrides any server-set SQL mode. To use whatever SQL mode is set by the server configuration, set this to no value. Example: mysql_sql_mode= |
pool_timeout = None | (IntOpt) If set, use this value for pool_timeout with sqlalchemy |
retry_interval = 10 | (IntOpt) Interval between retries of opening a sql connection |
sqlite_db = glance.sqlite | (StrOpt) The file name to use with SQLite |
sqlite_synchronous = True | (BoolOpt) If True, SQLite uses synchronous mode |
use_db_reconnect = False | (BoolOpt) Enable the experimental use of database reconnect on connection lost |
Configuration option = Default value | Description |
---|---|
[DEFAULT] | |
cleanup_scrubber = False | (BoolOpt) A boolean that determines if the scrubber should clean up the files it uses for taking data. Only one server in your deployment should be designated the cleanup host. |
cleanup_scrubber_time = 86400 | (IntOpt) Items must have a modified time that is older than this value in order to be candidates for cleanup. |
delayed_delete = False | (BoolOpt) Turn on/off delayed delete. |
image_cache_dir = None | (StrOpt) Base directory that the Image Cache uses. |
image_cache_driver = sqlite | (StrOpt) The driver to use for image cache management. |
image_cache_max_size = 10737418240 | (IntOpt) The maximum size in bytes that the cache can use. |
image_cache_sqlite_db = cache.db | (StrOpt) The path to the sqlite file database that will be used for image cache management. |
image_cache_stall_time = 86400 | (IntOpt) The amount of time to let an image remain in the cache without being accessed. |
scrub_time = 0 | (IntOpt) The amount of time in seconds to delay before performing a delete. |
scrubber_datadir = /var/lib/glance/scrubber | (StrOpt) Directory that the scrubber will use to track information about what to delete. Make sure this is set in glance-api.conf and glance-scrubber.conf. |
Configuration option = Default value | Description |
---|---|
[DEFAULT] | |
debug = False | (BoolOpt) Print debugging output (set logging level to DEBUG instead of default WARNING level). |
default_log_levels = amqp=WARN, amqplib=WARN, boto=WARN, qpid=WARN, sqlalchemy=WARN, suds=INFO, iso8601=WARN, requests.packages.urllib3.connectionpool=WARN | (ListOpt) List of logger=LEVEL pairs |
fatal_deprecations = False | (BoolOpt) Make deprecations fatal |
instance_format = "[instance: %(uuid)s] " | (StrOpt) If an instance is passed with the log message, format it like this |
instance_uuid_format = "[instance: %(uuid)s] " | (StrOpt) If an instance UUID is passed with the log message, format it like this |
log_config_append = None | (StrOpt) The name of logging configuration file. It does not disable existing loggers, but just appends specified logging configuration to any other existing logging options. Please see the Python logging module documentation for details on logging configuration files. |
log_date_format = %Y-%m-%d %H:%M:%S | (StrOpt) Format string for %%(asctime)s in log records. Default: %(default)s |
log_dir = None | (StrOpt) (Optional) The base directory used for relative --log-file paths |
log_file = None | (StrOpt) (Optional) Name of log file to output to. If no default is set, logging will go to stdout. |
log_format = None | (StrOpt) DEPRECATED. A logging.Formatter log message format string which may use any of the available logging.LogRecord attributes. This option is deprecated. Please use logging_context_format_string and logging_default_format_string instead. |
logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s | (StrOpt) Format string to use for log messages with context |
logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d | (StrOpt) Data to append to log format when level is DEBUG |
logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s | (StrOpt) Format string to use for log messages without context |
logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d TRACE %(name)s %(instance)s | (StrOpt) Prefix each line of exception output with this format |
publish_errors = False | (BoolOpt) Publish error events |
syslog_log_facility = LOG_USER | (StrOpt) Syslog facility to receive log lines |
use_stderr = True | (BoolOpt) Log output to standard error |
use_syslog = False | (BoolOpt) Use syslog for logging. Existing syslog format is DEPRECATED during I, and then will be changed in J to honor RFC5424 |
use_syslog_rfc_format = False | (BoolOpt) (Optional) Use syslog rfc5424 format for logging. If enabled, will add APP-NAME (RFC5424) before the MSG part of the syslog message. The old format without APP-NAME is deprecated in I, and will be removed in J. |
verbose = False | (BoolOpt) Print more verbose output (set logging level to INFO instead of default WARNING level). |
Configuration option = Default value | Description |
---|---|
[DEFAULT] | |
matchmaker_heartbeat_freq = 300 | (IntOpt) Heartbeat frequency. |
matchmaker_heartbeat_ttl = 600 | (IntOpt) Heartbeat time-to-live. |
[matchmaker_ring] | |
ringfile = /etc/oslo/matchmaker_ring.json | (StrOpt) Matchmaker ring file (JSON). |
Configuration option = Default value | Description |
---|---|
[paste_deploy] | |
config_file = None | (StrOpt) Name of the paste configuration file. |
flavor = None | (StrOpt) Partial name of a pipeline in your paste configuration file with the service name removed. For example, if your paste section name is [pipeline:glance-api-keystone] use the value "keystone" |
Configuration option = Default value | Description |
---|---|
[DEFAULT] | |
policy_default_rule = default | (StrOpt) The default policy to use. |
policy_file = policy.json | (StrOpt) The location of the policy file. |
Configuration option = Default value | Description |
---|---|
[DEFAULT] | |
host = 127.0.0.1 | (StrOpt) Host to locate redis. |
password = None | (StrOpt) Password for Redis server (optional). |
port = 6379 | (IntOpt) Use this port to connect to redis host. |
Configuration option = Default value | Description |
---|---|
[DEFAULT] | |
admin_password = None | (StrOpt) The administrators password. |
admin_tenant_name = None | (StrOpt) The tenant name of the administrative user. |
admin_user = None | (StrOpt) The administrators user name. |
auth_region = None | (StrOpt) The region for the authentication service. |
auth_strategy = noauth | (StrOpt) The strategy to use for authentication. |
auth_url = None | (StrOpt) The URL to the keystone service. |
registry_client_ca_file = None | (StrOpt) The path to the certifying authority cert file to use in SSL connections to the registry server. |
registry_client_cert_file = None | (StrOpt) The path to the cert file to use in SSL connections to the registry server. |
registry_client_insecure = False | (BoolOpt) When using SSL in connections to the registry server, do not require validation via a certifying authority. |
registry_client_key_file = None | (StrOpt) The path to the key file to use in SSL connections to the registry server. |
registry_client_protocol = http | (StrOpt) The protocol to use for communication with the registry server. Either http or https. |
registry_client_timeout = 600 | (IntOpt) 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. |
registry_host = 0.0.0.0 | (StrOpt) Address to find the registry server. |
registry_port = 9191 | (IntOpt) Port the registry server is listening on. |
Configuration option = Default value | Description |
---|---|
[DEFAULT] | |
pydev_worker_debug_host = None | (StrOpt) The hostname/IP of the pydev process listening for debug connections |
pydev_worker_debug_port = 5678 | (IntOpt) The port on which a pydev process is listening for connections. |