1ab63ff5c9
This patch addresses the dependency proliferation in the glance client stuff. It removes references to modules that contain non-client-necessary libraries (like eventlet, xattr, sqlalchemy-migrate and sqlalchemy) by restructuring the modules slightly. Note that the additional httplib2 dependency is because that is used in the authentication strategy stuff in glance.common.auth. This could be rewritten to use httplib instead, further reducing the dependencies of the client lib. IMPORTANT NOTE: This patch changes the default entrypoint for the Images API router application, and therefore this should be merged along with the packaging changes in this branch: https://code.launchpad.net/~jaypipes/glance/ubuntu/+merge/82318 Change-Id: I5dbc8584fb77e3e011fb6ff3532f792f5103e242
244 lines
8.4 KiB
Plaintext
244 lines
8.4 KiB
Plaintext
[DEFAULT]
|
|
# Show more verbose log output (sets INFO log level output)
|
|
verbose = True
|
|
|
|
# Show debugging output in logs (sets DEBUG log level output)
|
|
debug = False
|
|
|
|
# Which backend store should Glance use by default is not specified
|
|
# in a request to add a new image to Glance? Default: 'file'
|
|
# Available choices are 'file', 'swift', and 's3'
|
|
default_store = file
|
|
|
|
# Address to bind the API server
|
|
bind_host = 0.0.0.0
|
|
|
|
# Port the bind the API server to
|
|
bind_port = 9292
|
|
|
|
# Log to this file. Make sure you do not set the same log
|
|
# file for both the API and registry servers!
|
|
log_file = /var/log/glance/api.log
|
|
|
|
# Send logs to syslog (/dev/log) instead of to file specified by `log_file`
|
|
use_syslog = False
|
|
|
|
# Backlog requests when creating socket
|
|
backlog = 4096
|
|
|
|
# ================= SSL Options ===============================
|
|
|
|
# Certificate file to use when starting API server securely
|
|
# cert_file = /path/to/certfile
|
|
|
|
# Private key file to use when starting API server securely
|
|
# key_file = /path/to/keyfile
|
|
|
|
# ================= Security Options ==========================
|
|
|
|
# AES key for encrypting store 'location' metadata, including
|
|
# -- if used -- Swift or S3 credentials
|
|
# Should be set to a random string of length 16, 24 or 32 bytes
|
|
# metadata_encryption_key = <16, 24 or 32 char registry metadata key>
|
|
|
|
# ============ Registry Options ===============================
|
|
|
|
# Address to find the registry server
|
|
registry_host = 0.0.0.0
|
|
|
|
# Port the registry server is listening on
|
|
registry_port = 9191
|
|
|
|
# What protocol to use when connecting to the registry server?
|
|
# Set to https for secure HTTP communication
|
|
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 environ variable to a filepath of the key file
|
|
# registry_client_key_file = /path/to/key/file
|
|
|
|
# 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 environ variable to a filepath of the cert file
|
|
# registry_client_cert_file = /path/to/cert/file
|
|
|
|
# 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 environ variable to a filepath of the CA cert file
|
|
# registry_client_ca_file = /path/to/ca/file
|
|
|
|
# ============ Notification System Options =====================
|
|
|
|
# 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) or noop (no
|
|
# notifications sent, the default)
|
|
notifier_strategy = noop
|
|
|
|
# Configuration options if sending notifications via rabbitmq (these are
|
|
# the defaults)
|
|
rabbit_host = localhost
|
|
rabbit_port = 5672
|
|
rabbit_use_ssl = false
|
|
rabbit_userid = guest
|
|
rabbit_password = guest
|
|
rabbit_virtual_host = /
|
|
rabbit_notification_topic = glance_notifications
|
|
|
|
# ============ Filesystem Store Options ========================
|
|
|
|
# Directory that the Filesystem backend store
|
|
# writes image data to
|
|
filesystem_store_datadir = /var/lib/glance/images/
|
|
|
|
# ============ Swift Store Options =============================
|
|
|
|
# Address where the Swift authentication service lives
|
|
swift_store_auth_address = 127.0.0.1:8080/v1.0/
|
|
|
|
# User to authenticate against the Swift authentication service
|
|
swift_store_user = jdoe
|
|
|
|
# Auth key for the user authenticating against the
|
|
# Swift authentication service
|
|
swift_store_key = a86850deb2742ec3cb41518e26aa2d89
|
|
|
|
# Container within the account that the account should use
|
|
# for storing images in Swift
|
|
swift_store_container = glance
|
|
|
|
# Do we create the container if it does not exist?
|
|
swift_store_create_container_on_put = False
|
|
|
|
# What size, in MB, should Glance start chunking image files
|
|
# and do a large object manifest in Swift? By default, this is
|
|
# the maximum object size in Swift, which is 5GB
|
|
swift_store_large_object_size = 5120
|
|
|
|
# When doing a large object manifest, what size, in MB, should
|
|
# Glance write chunks to Swift? This amount of data is written
|
|
# to a temporary disk buffer during the process of chunking
|
|
# the image file, and the default is 200MB
|
|
swift_store_large_object_chunk_size = 200
|
|
|
|
# Whether to use ServiceNET to communicate with the Swift storage servers.
|
|
# (If you aren't RACKSPACE, leave this False!)
|
|
#
|
|
# To use ServiceNET for authentication, prefix hostname of
|
|
# `swift_store_auth_address` with 'snet-'.
|
|
# Ex. https://example.com/v1.0/ -> https://snet-example.com/v1.0/
|
|
swift_enable_snet = False
|
|
|
|
# When sending large images to Swift, the chunks will be written to a
|
|
# temporary buffer on disk. By default the platform's temporary directory
|
|
# will be used. If required, an alternative directory can be specified here.
|
|
# swift_store_object_buffer_dir = /path/to/dir
|
|
|
|
# ============ S3 Store Options =============================
|
|
|
|
# Address where the S3 authentication service lives
|
|
s3_store_host = 127.0.0.1:8080/v1.0/
|
|
|
|
# User to authenticate against the S3 authentication service
|
|
s3_store_access_key = <20-char AWS access key>
|
|
|
|
# Auth key for the user authenticating against the
|
|
# S3 authentication service
|
|
s3_store_secret_key = <40-char AWS secret key>
|
|
|
|
# Container within the account that the account should use
|
|
# for storing images in S3. Note that S3 has a flat namespace,
|
|
# so you need a unique bucket name for your glance images. An
|
|
# easy way to do this is append your AWS access key to "glance".
|
|
# S3 buckets in AWS *must* be lowercased, so remember to lowercase
|
|
# your AWS access key if you use it in your bucket name below!
|
|
s3_store_bucket = <lowercased 20-char aws access key>glance
|
|
|
|
# Do we create the bucket if it does not exist?
|
|
s3_store_create_bucket_on_put = False
|
|
|
|
# When sending images to S3, the data will first be written to a
|
|
# temporary buffer on disk. By default the platform's temporary directory
|
|
# will be used. If required, an alternative directory can be specified here.
|
|
# s3_store_object_buffer_dir = /path/to/dir
|
|
|
|
# ============ RBD Store Options =============================
|
|
|
|
# Ceph configuration file path
|
|
# If using cephx authentication, this file should
|
|
# include a reference to the right keyring
|
|
# in a client.<USER> section
|
|
rbd_store_ceph_conf = /etc/ceph/ceph.conf
|
|
|
|
# RADOS user to authenticate as (only applicable if using cephx)
|
|
rbd_store_user = glance
|
|
|
|
# RADOS pool in which images are stored
|
|
rbd_store_pool = images
|
|
|
|
# Images will be chunked into objects of this size (in megabytes).
|
|
# For best performance, this should be a power of two
|
|
rbd_store_chunk_size = 8
|
|
|
|
# ============ Delayed Delete Options =============================
|
|
|
|
# Turn on/off delayed delete
|
|
delayed_delete = False
|
|
|
|
# Delayed delete time in seconds
|
|
scrub_time = 43200
|
|
|
|
# Directory that the scrubber will use to remind itself of what to delete
|
|
# Make sure this is also set in glance-scrubber.conf
|
|
scrubber_datadir = /var/lib/glance/scrubber
|
|
|
|
# =============== Image Cache Options =============================
|
|
|
|
# Base directory that the Image Cache uses
|
|
image_cache_dir = /var/lib/glance/image-cache/
|
|
|
|
[pipeline:glance-api]
|
|
pipeline = versionnegotiation context apiv1app
|
|
# NOTE: use the following pipeline for keystone
|
|
# pipeline = versionnegotiation authtoken auth-context apiv1app
|
|
|
|
# To enable transparent caching of image files replace pipeline with below:
|
|
# pipeline = versionnegotiation context cache apiv1app
|
|
# NOTE: use the following pipeline for keystone auth (with caching)
|
|
# pipeline = versionnegotiation authtoken auth-context cache apiv1app
|
|
|
|
# To enable Image Cache Management API replace pipeline with below:
|
|
# pipeline = versionnegotiation context cachemanage apiv1app
|
|
# NOTE: use the following pipeline for keystone auth (with caching)
|
|
# pipeline = versionnegotiation authtoken auth-context cachemanage apiv1app
|
|
|
|
[app:apiv1app]
|
|
paste.app_factory = glance.api.v1.router:app_factory
|
|
|
|
[filter:versionnegotiation]
|
|
paste.filter_factory = glance.api.middleware.version_negotiation:filter_factory
|
|
|
|
[filter:cache]
|
|
paste.filter_factory = glance.api.middleware.cache:filter_factory
|
|
|
|
[filter:cachemanage]
|
|
paste.filter_factory = glance.api.middleware.cache_manage:filter_factory
|
|
|
|
[filter:context]
|
|
paste.filter_factory = glance.common.context:filter_factory
|
|
|
|
[filter:authtoken]
|
|
paste.filter_factory = keystone.middleware.auth_token:filter_factory
|
|
service_protocol = http
|
|
service_host = 127.0.0.1
|
|
service_port = 5000
|
|
auth_host = 127.0.0.1
|
|
auth_port = 35357
|
|
auth_protocol = http
|
|
auth_uri = http://127.0.0.1:5000/
|
|
admin_token = 999888777666
|
|
|
|
[filter:auth-context]
|
|
paste.filter_factory = keystone.middleware.glance_auth_token:filter_factory
|