<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">All of this seems to be fine and
correct<br>
Can you share with me how you installed Glance ?<br>
<br>
Le 15/10/2012 14:38, Trinath Somanchi a écrit :<br>
</div>
<blockquote
cite="mid:CAH8HgmbHqkGpHgvDKo8BBGfgoEpkQZrMDwEEGRijkfxhgk7bDQ@mail.gmail.com"
type="cite">Please find the result of "keystone endpoint-list"
command
<div><br>
</div>
<div>
<div>root@openstackController:~# keystone endpoint-list</div>
<div>+----------------------------------+-----------+-------------------------------------------------+-------------------------------------------------+--------------------------------------------+</div>
<div>| id | region |
publicurl |
internalurl | adminurl
|</div>
<div>+----------------------------------+-----------+-------------------------------------------------+-------------------------------------------------+--------------------------------------------+</div>
<div>| 418be94409f640e8be31d7b3f79f540d | RegionOne | <a
moz-do-not-send="true" href="http://10.232.90.115:5000/v2.0">http://10.232.90.115:5000/v2.0</a>
| <a moz-do-not-send="true"
href="http://10.232.90.115:5000/v2.0">http://10.232.90.115:5000/v2.0</a>
| <a moz-do-not-send="true"
href="http://10.232.90.115:35357/v2.0">http://10.232.90.115:35357/v2.0</a>
|</div>
<div>| 822a2a022b7c486ea9d43dbe15baffd5 | RegionOne | <a
moz-do-not-send="true"
href="http://10.232.90.115:8776/v1/$%28tenant_id%29s">http://10.232.90.115:8776/v1/$(tenant_id)s</a>
| <a moz-do-not-send="true"
href="http://10.232.90.115:8776/v1/$%28tenant_id%29s">http://10.232.90.115:8776/v1/$(tenant_id)s</a>
| <a moz-do-not-send="true"
href="http://10.232.90.115:8776/v1/$%28tenant_id%29s">http://10.232.90.115:8776/v1/$(tenant_id)s</a>
|</div>
<div>| 84aef086c8884dec9a6af41ee4f5a67b | RegionOne | <a
moz-do-not-send="true"
href="http://10.232.90.115:8773/services/Cloud">http://10.232.90.115:8773/services/Cloud</a>
| <a moz-do-not-send="true"
href="http://10.232.90.115:8773/services/Cloud">http://10.232.90.115:8773/services/Cloud</a>
| <a moz-do-not-send="true"
href="http://10.232.90.115:8773/services/Admin">http://10.232.90.115:8773/services/Admin</a>
|</div>
<div>| 8f846871999048fcb22fd1819749674c | RegionOne |
<a moz-do-not-send="true" href="http://10.232.90.115:9292/v2">http://10.232.90.115:9292/v2</a>
| <a moz-do-not-send="true"
href="http://10.232.90.115:9292/v2">http://10.232.90.115:9292/v2</a>
| <a moz-do-not-send="true"
href="http://10.232.90.115:9292/v2">http://10.232.90.115:9292/v2</a>
|</div>
<div>| 91efaba9329248b1837e913f14213a8a | RegionOne | <a
moz-do-not-send="true"
href="http://10.232.90.115:8774/v2/$%28tenant_id%29s">http://10.232.90.115:8774/v2/$(tenant_id)s</a>
| <a moz-do-not-send="true"
href="http://10.232.90.115:8774/v2/$%28tenant_id%29s">http://10.232.90.115:8774/v2/$(tenant_id)s</a>
| <a moz-do-not-send="true"
href="http://10.232.90.115:8774/v2/$%28tenant_id%29s">http://10.232.90.115:8774/v2/$(tenant_id)s</a>
|</div>
<div>| dbf5e0b0d2864201bda64d95c3f66f02 | RegionOne | <a
moz-do-not-send="true"
href="http://10.232.90.115:8080/v1/AUTH_$%28tenant_id%29s">http://10.232.90.115:8080/v1/AUTH_$(tenant_id)s</a>
| <a moz-do-not-send="true"
href="http://10.232.90.115:8080/v1/AUTH_$%28tenant_id%29s">http://10.232.90.115:8080/v1/AUTH_$(tenant_id)s</a>
| <a moz-do-not-send="true"
href="http://10.232.90.115:8080/v1">http://10.232.90.115:8080/v1</a>
|</div>
<div>| eddcdb2a81534d6fb3e3f33dc1abb247 | RegionOne |
<a moz-do-not-send="true" href="http://10.232.90.115:9696/">http://10.232.90.115:9696/</a>
| <a moz-do-not-send="true"
href="http://10.232.90.115:9696/">http://10.232.90.115:9696/</a>
| <a moz-do-not-send="true"
href="http://10.232.90.115:9696/">http://10.232.90.115:9696/</a>
|</div>
<div>+----------------------------------+-----------+-------------------------------------------------+-------------------------------------------------+--------------------------------------------+</div>
<br>
<div class="gmail_quote">
On Mon, Oct 15, 2012 at 6:07 PM, Skible OpenStack <span
dir="ltr"><<a moz-do-not-send="true"
href="mailto:skible.openstack@gmail.com" target="_blank">skible.openstack@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div><br>
Can you paste the output of keystone endpoint-list
command ?<br>
<br>
Le 15/10/2012 14:33, Trinath Somanchi a écrit :<br>
</div>
<div>
<div class="h5">
<blockquote type="cite">Hi-
<div><br>
</div>
<div>I dont have any logs in the keystone.log file
its empty</div>
<div><br>
</div>
<div>and here is the glance-api.conf file</div>
<div><br>
</div>
<div>
<div>[DEFAULT]</div>
<div># Show more verbose log output (sets INFO log
level output)</div>
<div>verbose = True</div>
<div><br>
</div>
<div># Show debugging output in logs (sets DEBUG
log level output)</div>
<div>debug = False</div>
<div><br>
</div>
<div># Which backend scheme should Glance use by
default is not specified</div>
<div># in a request to add a new image to Glance?
Known schemes are determined</div>
<div># by the known_stores option below.</div>
<div># Default: 'file'</div>
<div>default_store = file</div>
<div><br>
</div>
<div># List of which store classes and store class
locations are</div>
<div># currently known to glance at startup.</div>
<div>#known_stores =
glance.store.filesystem.Store,</div>
<div># glance.store.http.Store,</div>
<div># glance.store.rbd.Store,</div>
<div># glance.store.s3.Store,</div>
<div># glance.store.swift.Store,</div>
<div><br>
</div>
<div><br>
</div>
<div># Maximum image size (in bytes) that may be
uploaded through the</div>
<div># Glance API server. Defaults to 1 TB.</div>
<div># WARNING: this value should only be
increased after careful consideration</div>
<div># and must be set to a value under 8 EB
(9223372036854775808).</div>
<div>#image_size_cap = 1099511627776</div>
<div><br>
</div>
<div># Address to bind the API server</div>
<div>bind_host = 0.0.0.0</div>
<div><br>
</div>
<div> # Port the bind the API server to</div>
<div>bind_port = 9292</div>
<div><br>
</div>
<div># Log to this file. Make sure you do not set
the same log</div>
<div># file for both the API and registry servers!</div>
<div>log_file = /var/log/glance/api.log</div>
<div><br>
</div>
<div># Backlog requests when creating socket</div>
<div>backlog = 4096</div>
<div><br>
</div>
<div># TCP_KEEPIDLE value in seconds when creating
socket.</div>
<div># Not supported on OS X.</div>
<div>#tcp_keepidle = 600</div>
<div><br>
</div>
<div># SQLAlchemy connection string for the
reference implementation</div>
<div># registry server. Any valid SQLAlchemy
connection string is fine.</div>
<div># See: <a moz-do-not-send="true"
href="http://www.sqlalchemy.org/docs/05/reference/sqlalchemy/connections.html#sqlalchemy.create_engine"
target="_blank">http://www.sqlalchemy.org/docs/05/reference/sqlalchemy/connections.html#sqlalchemy.create_engine</a></div>
<div>sql_connection =
mysql://glance:password@localhost/glance</div>
<div><br>
</div>
<div># Period in seconds after which SQLAlchemy
should reestablish its connection</div>
<div># to the database.</div>
<div>#</div>
<div># MySQL uses a default `wait_timeout` of 8
hours, after which it will drop</div>
<div># idle connections. This can result in 'MySQL
Gone Away' exceptions. If you</div>
<div># notice this, you can lower this value to
ensure that SQLAlchemy reconnects</div>
<div># before MySQL can drop the connection.</div>
<div>sql_idle_timeout = 3600</div>
<div><br>
</div>
<div># Number of Glance API worker processes to
start.</div>
<div># On machines with more than one CPU
increasing this value</div>
<div># may improve performance (especially if
using SSL with</div>
<div># compression turned on). It is typically
recommended to set</div>
<div># this value to the number of CPUs present on
your machine.</div>
<div>workers = 1</div>
<div><br>
</div>
<div># Role used to identify an authenticated user
as administrator</div>
<div>#admin_role = admin</div>
<div><br>
</div>
<div># Allow unauthenticated users to access the
API with read-only</div>
<div># privileges. This only applies when using
ContextMiddleware.</div>
<div>#allow_anonymous_access = False</div>
<div><br>
</div>
<div># Allow access to version 1 of glance api</div>
<div>#enable_v1_api = True</div>
<div><br>
</div>
<div># Allow access to version 2 of glance api</div>
<div>#enable_v2_api = True</div>
<div><br>
</div>
<div># ================= Syslog Options
============================</div>
<div><br>
</div>
<div># Send logs to syslog (/dev/log) instead of
to file specified</div>
<div># by `log_file`</div>
<div>use_syslog = False</div>
<div><br>
</div>
<div># Facility to use. If unset defaults to
LOG_USER.</div>
<div> #syslog_log_facility = LOG_LOCAL0</div>
<div><br>
</div>
<div># ================= SSL Options
===============================</div>
<div><br>
</div>
<div># Certificate file to use when starting API
server securely</div>
<div>#cert_file = /path/to/certfile</div>
<div><br>
</div>
<div># Private key file to use when starting API
server securely</div>
<div>#key_file = /path/to/keyfile</div>
<div><br>
</div>
<div># CA certificate file to use to verify
connecting clients</div>
<div>#ca_file = /path/to/cafile</div>
<div><br>
</div>
<div># ================= Security Options
==========================</div>
<div><br>
</div>
<div># AES key for encrypting store 'location'
metadata, including</div>
<div># -- if used -- Swift or S3 credentials</div>
<div># Should be set to a random string of length
16, 24 or 32 bytes</div>
<div>#metadata_encryption_key = <16, 24 or 32
char registry metadata key></div>
<div><br>
</div>
<div># ============ Registry Options
===============================</div>
<div><br>
</div>
<div># Address to find the registry server</div>
<div>registry_host = 0.0.0.0</div>
<div><br>
</div>
<div># Port the registry server is listening on</div>
<div>registry_port = 9191</div>
<div><br>
</div>
<div># What protocol to use when connecting to the
registry server?</div>
<div># Set to https for secure HTTP communication</div>
<div>registry_client_protocol = http</div>
<div><br>
</div>
<div># The path to the key file to use in SSL
connections to the</div>
<div># registry server, if any. Alternately, you
may set the</div>
<div># GLANCE_CLIENT_KEY_FILE environ variable to
a filepath of the key file</div>
<div>#registry_client_key_file = /path/to/key/file</div>
<div><br>
</div>
<div># The path to the cert file to use in SSL
connections to the</div>
<div># registry server, if any. Alternately, you
may set the</div>
<div># GLANCE_CLIENT_CERT_FILE environ variable to
a filepath of the cert file</div>
<div>#registry_client_cert_file =
/path/to/cert/file</div>
<div><br>
</div>
<div># The path to the certifying authority cert
file to use in SSL connections</div>
<div># to the registry server, if any.
Alternately, you may set the</div>
<div># GLANCE_CLIENT_CA_FILE environ variable to a
filepath of the CA cert file</div>
<div>#registry_client_ca_file = /path/to/ca/file</div>
<div><br>
</div>
<div># ============ Notification System Options
=====================</div>
<div><br>
</div>
<div># Notifications can be sent when images are
create, updated or deleted.</div>
<div># There are three methods of sending
notifications, logging (via the</div>
<div># log_file directive), rabbit (via a rabbitmq
queue), qpid (via a Qpid</div>
<div># message queue), or noop (no notifications
sent, the default)</div>
<div>notifier_strategy = rabbit</div>
<div><br>
</div>
<div># Configuration options if sending
notifications via rabbitmq (these are</div>
<div># the defaults)</div>
<div>rabbit_host = localhost</div>
<div>rabbit_port = 5672</div>
<div>rabbit_use_ssl = false</div>
<div>rabbit_userid = guest</div>
<div>rabbit_password = password</div>
<div>rabbit_virtual_host = /</div>
<div>rabbit_notification_exchange = glance</div>
<div>rabbit_notification_topic =
glance_notifications</div>
<div>rabbit_durable_queues = False</div>
<div><br>
</div>
<div># Configuration options if sending
notifications via Qpid (these are</div>
<div># the defaults)</div>
<div>qpid_notification_exchange = glance</div>
<div>qpid_notification_topic =
glance_notifications</div>
<div>qpid_host = localhost</div>
<div>qpid_port = 5672</div>
<div>qpid_username =</div>
<div>qpid_password =</div>
<div>qpid_sasl_mechanisms =</div>
<div>qpid_reconnect_timeout = 0</div>
<div>qpid_reconnect_limit = 0</div>
<div> qpid_reconnect_interval_min = 0</div>
<div>qpid_reconnect_interval_max = 0</div>
<div>qpid_reconnect_interval = 0</div>
<div>qpid_heartbeat = 5</div>
<div># Set to 'ssl' to enable SSL</div>
<div>qpid_protocol = tcp</div>
<div>qpid_tcp_nodelay = True</div>
<div><br>
</div>
<div># ============ Filesystem Store Options
========================</div>
<div><br>
</div>
<div># Directory that the Filesystem backend store</div>
<div># writes image data to</div>
<div>filesystem_store_datadir =
/var/lib/glance/images/</div>
<div><br>
</div>
<div># ============ Swift Store Options
=============================</div>
<div><br>
</div>
<div># Version of the authentication service to
use</div>
<div># Valid versions are '2' for keystone and '1'
for swauth and rackspace</div>
<div>swift_store_auth_version = 2</div>
<div><br>
</div>
<div># Address where the Swift authentication
service lives</div>
<div> # Valid schemes are '<a
moz-do-not-send="true">http://</a>' and '<a
moz-do-not-send="true">https://</a>'</div>
<div># If no scheme specified, default to '<a
moz-do-not-send="true">https://</a>'</div>
<div># For swauth, use something like '<a
moz-do-not-send="true"
href="http://127.0.0.1:8080/v1.0/"
target="_blank">127.0.0.1:8080/v1.0/</a>'</div>
<div>swift_store_auth_address = <a
moz-do-not-send="true"
href="http://127.0.0.1:5000/v2.0/"
target="_blank">127.0.0.1:5000/v2.0/</a></div>
<div><br>
</div>
<div># User to authenticate against the Swift
authentication service</div>
<div># If you use Swift authentication service,
set it to 'account':'user'</div>
<div># where 'account' is a Swift storage account
and 'user'</div>
<div># is a user in that account</div>
<div>swift_store_user = jdoe:jdoe</div>
<div><br>
</div>
<div># Auth key for the user authenticating
against the</div>
<div># Swift authentication service</div>
<div>swift_store_key =
a86850deb2742ec3cb41518e26aa2d89</div>
<div><br>
</div>
<div># Container within the account that the
account should use</div>
<div># for storing images in Swift</div>
<div>swift_store_container = glance</div>
<div><br>
</div>
<div># Do we create the container if it does not
exist?</div>
<div>swift_store_create_container_on_put = False</div>
<div><br>
</div>
<div># What size, in MB, should Glance start
chunking image files</div>
<div># and do a large object manifest in Swift? By
default, this is</div>
<div># the maximum object size in Swift, which is
5GB</div>
<div>swift_store_large_object_size = 5120</div>
<div><br>
</div>
<div># When doing a large object manifest, what
size, in MB, should</div>
<div># Glance write chunks to Swift? This amount
of data is written</div>
<div># to a temporary disk buffer during the
process of chunking</div>
<div># the image file, and the default is 200MB</div>
<div>swift_store_large_object_chunk_size = 200</div>
<div><br>
</div>
<div># Whether to use ServiceNET to communicate
with the Swift storage servers.</div>
<div># (If you aren't RACKSPACE, leave this
False!)</div>
<div>#</div>
<div># To use ServiceNET for authentication,
prefix hostname of</div>
<div># `swift_store_auth_address` with 'snet-'.</div>
<div># Ex. <a moz-do-not-send="true"
href="https://example.com/v1.0/"
target="_blank">https://example.com/v1.0/</a>
-> <a moz-do-not-send="true"
href="https://snet-example.com/v1.0/"
target="_blank">https://snet-example.com/v1.0/</a></div>
<div>swift_enable_snet = False</div>
<div><br>
</div>
<div># If set to True enables multi-tenant storage
mode which causes Glance images</div>
<div># to be stored in tenant specific Swift
accounts.</div>
<div>#swift_store_multi_tenant = False</div>
<div><br>
</div>
<div># A list of tenants that will be granted
read/write access on all Swift</div>
<div># containers created by Glance in
multi-tenant mode.</div>
<div>#swift_store_admin_tenants = []</div>
<div><br>
</div>
<div> # The region of the swift endpoint to be
used for single tenant. This setting</div>
<div># is only necessary if the tenant has
multiple swift endpoints.</div>
<div>#swift_store_region =</div>
<div><br>
</div>
<div># ============ S3 Store Options
=============================</div>
<div><br>
</div>
<div># Address where the S3 authentication service
lives</div>
<div># Valid schemes are '<a
moz-do-not-send="true">http://</a>' and '<a
moz-do-not-send="true">https://</a>'</div>
<div># If no scheme specified, default to '<a
moz-do-not-send="true">http://</a>'</div>
<div>s3_store_host = <a moz-do-not-send="true"
href="http://127.0.0.1:8080/v1.0/"
target="_blank">127.0.0.1:8080/v1.0/</a></div>
<div><br>
</div>
<div># User to authenticate against the S3
authentication service</div>
<div>s3_store_access_key = <20-char AWS access
key></div>
<div><br>
</div>
<div># Auth key for the user authenticating
against the</div>
<div># S3 authentication service</div>
<div>s3_store_secret_key = <40-char AWS secret
key></div>
<div><br>
</div>
<div># Container within the account that the
account should use</div>
<div># for storing images in S3. Note that S3 has
a flat namespace,</div>
<div># so you need a unique bucket name for your
glance images. An</div>
<div># easy way to do this is append your AWS
access key to "glance".</div>
<div># S3 buckets in AWS *must* be lowercased, so
remember to lowercase</div>
<div># your AWS access key if you use it in your
bucket name below!</div>
<div>s3_store_bucket = <lowercased 20-char aws
access key>glance</div>
<div><br>
</div>
<div># Do we create the bucket if it does not
exist?</div>
<div>s3_store_create_bucket_on_put = False</div>
<div><br>
</div>
<div># When sending images to S3, the data will
first be written to a</div>
<div># temporary buffer on disk. By default the
platform's temporary directory</div>
<div># will be used. If required, an alternative
directory can be specified here.</div>
<div>#s3_store_object_buffer_dir = /path/to/dir</div>
<div><br>
</div>
<div># When forming a bucket url, boto will either
set the bucket name as the</div>
<div># subdomain or as the first token of the
path. Amazon's S3 service will</div>
<div># accept it as the subdomain, but Swift's S3
middleware requires it be</div>
<div># in the path. Set this to 'path' or
'subdomain' - defaults to 'subdomain'.</div>
<div>#s3_store_bucket_url_format = subdomain</div>
<div><br>
</div>
<div># ============ RBD Store Options
=============================</div>
<div><br>
</div>
<div># Ceph configuration file path</div>
<div># If using cephx authentication, this file
should</div>
<div># include a reference to the right keyring</div>
<div># in a client.<USER> section</div>
<div>rbd_store_ceph_conf = /etc/ceph/ceph.conf</div>
<div><br>
</div>
<div># RADOS user to authenticate as (only
applicable if using cephx)</div>
<div>rbd_store_user = glance</div>
<div><br>
</div>
<div># RADOS pool in which images are stored</div>
<div>rbd_store_pool = images</div>
<div><br>
</div>
<div># Images will be chunked into objects of this
size (in megabytes).</div>
<div># For best performance, this should be a
power of two</div>
<div>rbd_store_chunk_size = 8</div>
<div><br>
</div>
<div># ============ Delayed Delete Options
=============================</div>
<div><br>
</div>
<div># Turn on/off delayed delete</div>
<div>delayed_delete = False</div>
<div><br>
</div>
<div># Delayed delete time in seconds</div>
<div>scrub_time = 43200</div>
<div><br>
</div>
<div># Directory that the scrubber will use to
remind itself of what to delete</div>
<div> # Make sure this is also set in
glance-scrubber.conf</div>
<div>scrubber_datadir = /var/lib/glance/scrubber</div>
<div><br>
</div>
<div># =============== Image Cache Options
=============================</div>
<div><br>
</div>
<div> # Base directory that the Image Cache uses</div>
<div>image_cache_dir =
/var/lib/glance/image-cache/</div>
<div><br>
</div>
<div>[keystone_authtoken]</div>
<div>auth_host = 127.0.0.1</div>
<div>auth_port = 35357</div>
<div>auth_protocol = http</div>
<div>admin_tenant_name = service</div>
<div>admin_user = glance</div>
<div>admin_password = password</div>
<div><br>
</div>
<div>[paste_deploy]</div>
<div># Name of the paste configuration file that
defines the available pipelines</div>
<div>#config_file = glance-api-paste.ini</div>
<div><br>
</div>
<div># Partial name of a pipeline in your paste
configuration file with the</div>
<div># service name removed. For example, if your
paste section name is</div>
<div> # [pipeline:glance-api-keystone], you would
configure the flavor below</div>
<div># as 'keystone'.</div>
<div>flavor=keystone</div>
<div><br>
</div>
<div><br>
</div>
<br>
<div class="gmail_quote">On Mon, Oct 15, 2012 at
5:59 PM, Skible OpenStack <span dir="ltr"><<a
moz-do-not-send="true"
href="mailto:skible.openstack@gmail.com"
target="_blank">skible.openstack@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0
0 0 .8ex;border-left:1px #ccc
solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div>can you send me the glance-api.conf<br>
and the keystone.log please.<br>
Le 15/10/2012 13:11, Trinath Somanchi a
écrit :<br>
</div>
<div>
<div>
<blockquote type="cite">Hi-
<div><br>
</div>
<div>I followed the folsom guide given
below, </div>
<div>but the error is intact. </div>
<div><br>
</div>
<div>
<div>ERROR: Unable to load
glance-api-keystone from
configuration file
/etc/glance/glance-api-paste.ini.</div>
<div>Got: ImportError("<module
'glance.api' from
'/usr/local/lib/python2.7/dist-packages/glance-2012.2-py2.7.egg/glance/api/__init__.pyc'>
has no 'root_app_factory'
attribute",)</div>
<div><br>
</div>
<div>Any guidance on troubleshooting
the same'</div>
<div><br>
</div>
<div>The glance-api-paste.ini is as
follows</div>
<div><br>
</div>
<div>
<div># Use this pipeline for no
auth or image caching - DEFAULT</div>
<div>[pipeline:glance-api]</div>
<div>pipeline = versionnegotiation
unauthenticated-context rootapp</div>
<div><br>
</div>
<div># Use this pipeline for image
caching and no auth</div>
<div>[pipeline:glance-api-caching]</div>
<div> pipeline =
versionnegotiation
unauthenticated-context cache
rootapp</div>
<div><br>
</div>
<div># Use this pipeline for
caching w/ management interface
but no auth</div>
<div>[pipeline:glance-api-cachemanagement]</div>
<div>pipeline = versionnegotiation
unauthenticated-context cache
cachemanage rootapp</div>
<div><br>
</div>
<div># Use this pipeline for
keystone auth</div>
<div>[pipeline:glance-api-keystone]</div>
<div>pipeline = versionnegotiation
authtoken context rootapp</div>
<div><br>
</div>
<div># Use this pipeline for
keystone auth with image caching</div>
<div>[pipeline:glance-api-keystone+caching]</div>
<div>pipeline = versionnegotiation
authtoken context cache rootapp</div>
<div><br>
</div>
<div># Use this pipeline for
keystone auth with caching and
cache management</div>
<div>
[pipeline:glance-api-keystone+cachemanagement]</div>
<div>pipeline = versionnegotiation
authtoken context cache
cachemanage rootapp</div>
<div><br>
</div>
<div>[composite:rootapp]</div>
<div>paste.composite_factory =
glance.api:root_app_factory</div>
<div>/: apiversions</div>
<div>/v1: apiv1app</div>
<div>/v2: apiv2app</div>
<div><br>
</div>
<div>[app:apiversions]</div>
<div>paste.app_factory =
glance.api.versions:create_resource</div>
<div><br>
</div>
<div>[app:apiv1app]</div>
<div>paste.app_factory =
glance.api.v1.router:API.factory</div>
<div><br>
</div>
<div>[app:apiv2app]</div>
<div>paste.app_factory =
glance.api.v2.router:API.factory</div>
<div><br>
</div>
<div>[filter:versionnegotiation]</div>
<div> paste.filter_factory =
glance.api.middleware.version_negotiation:VersionNegotiationFilter.factory</div>
<div><br>
</div>
<div>[filter:cache]</div>
<div>paste.filter_factory =
glance.api.middleware.cache:CacheFilter.factory</div>
<div><br>
</div>
<div>[filter:cachemanage]</div>
<div>paste.filter_factory =
glance.api.middleware.cache_manage:CacheManageFilter.factory</div>
<div><br>
</div>
<div>[filter:context]</div>
<div>paste.filter_factory =
glance.api.middleware.context:ContextMiddleware.factory</div>
<div><br>
</div>
<div>[filter:unauthenticated-context]</div>
<div>paste.filter_factory =
glance.api.middleware.context:UnauthenticatedContextMiddleware.factory</div>
<div><br>
</div>
<div>[filter:authtoken]</div>
<div>paste.filter_factory =
keystone.middleware.auth_token:filter_factory</div>
<div>auth_host = 10.232.90.115</div>
<div>auth_port = 35357</div>
<div>auth_protocol = http</div>
<div>admin_tenant_name = service</div>
<div>admin_user = glance</div>
<div>admin_password = password</div>
</div>
<div><br>
</div>
<div> <br>
</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<br>
<div class="gmail_quote">On Mon, Oct
15, 2012 at 4:28 PM, Skible
OpenStack <span dir="ltr"><<a
moz-do-not-send="true"
href="mailto:skible.openstack@gmail.com"
target="_blank">skible.openstack@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote"
style="margin:0 0 0
.8ex;border-left:1px #ccc
solid;padding-left:1ex">
<div bgcolor="#FFFFFF"
text="#000000">
<div>This is why you were
getting the Err111 because
you can't reach Glance-api
service since it doesn't
load !
<div><br>
ERROR: Unable to load
glance-api from
configuration file
/etc/glance/glance-api-paste.ini<br>
<br>
</div>
Verify your
glance-api-paste.ini file
with the steps provided in
this <a
moz-do-not-send="true"
href="https://github.com/mseknibilel/OpenStack-Folsom-Install-guide/blob/master/OpenStack_Folsom_Install_Guide_WebVersion.rst"
target="_blank">Folsom
Install Guide</a> to find
what's missing : <br>
<br>
Le 15/10/2012 12:55, Trinath
Somanchi a écrit :<br>
</div>
<div>
<blockquote type="cite">ERROR:
Unable to load glance-api
from configuration file
/etc/glance/glance-api-paste.ini</blockquote>
<br>
</div>
</div>
</blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
-- <br>
Regards,<br>
----------------------------------------------<br>
Trinath Somanchi,
<div><a moz-do-not-send="true"
href="tel:%2B91%209866%20235%20130"
value="+919866235130"
target="_blank">+91 9866 235 130</a></div>
<br>
</div>
</blockquote>
<br>
</div>
</div>
</div>
</blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
-- <br>
Regards,<br>
----------------------------------------------<br>
Trinath Somanchi,
<div><a moz-do-not-send="true"
href="tel:%2B91%209866%20235%20130"
value="+919866235130" target="_blank">+91 9866
235 130</a></div>
<br>
</div>
</blockquote>
<br>
</div>
</div>
</div>
</blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
-- <br>
Regards,<br>
----------------------------------------------<br>
Trinath Somanchi,
<div>+91 9866 235 130</div>
<br>
</div>
</blockquote>
<br>
</body>
</html>