[Openstack] Folsom Glance Image upload error

Nikhil Komawar nikhil.komawar at rackspace.com
Mon Oct 15 19:18:51 UTC 2012


AFAIK, 'glance add' has been deprecated. Did you try using 'glance image-create', you can add --debug flag as well to get to know better details. Let us know.
 
-Nikhil


-----Original Message-----
From: "Skible OpenStack" <skible.openstack at gmail.com>
Sent: Monday, October 15, 2012 8:43am
To: "Trinath Somanchi" <trinath.somanchi at gmail.com>
Cc: openstack at lists.launchpad.net
Subject: Re: [Openstack] Folsom Glance Image upload error



All of this seems to be fine and       correct
 Can you share with me how you installed Glance ?

 Le 15/10/2012 14:38, Trinath Somanchi a écrit :Please find the result of  "keystone endpoint-list"       command

root at openstackController:~# keystone endpoint-list
+----------------------------------+-----------+-------------------------------------------------+-------------------------------------------------+--------------------------------------------+
|                id                |   region  |                              publicurl                    |                             internalurl                   |                  adminurl                            |
+----------------------------------+-----------+-------------------------------------------------+-------------------------------------------------+--------------------------------------------+
| 418be94409f640e8be31d7b3f79f540d | RegionOne |          [http://10.232.90.115:5000/v2.0] http://10.232.90.115:5000/v2.0 |          [http://10.232.90.115:5000/v2.0] http://10.232.90.115:5000/v2.0 |      [http://10.232.90.115:35357/v2.0] http://10.232.90.115:35357/v2.0 |
| 822a2a022b7c486ea9d43dbe15baffd5 | RegionOne |    [http://10.232.90.115:8776/v1/%24%28tenant_id%29s] http://10.232.90.115:8776/v1/$(tenant_id)s |    [http://10.232.90.115:8776/v1/%24%28tenant_id%29s] http://10.232.90.115:8776/v1/$(tenant_id)s | [http://10.232.90.115:8776/v1/%24%28tenant_id%29s] http://10.232.90.115:8776/v1/$(tenant_id)s |
| 84aef086c8884dec9a6af41ee4f5a67b | RegionOne |     [http://10.232.90.115:8773/services/Cloud] http://10.232.90.115:8773/services/Cloud |     [http://10.232.90.115:8773/services/Cloud] http://10.232.90.115:8773/services/Cloud |  [http://10.232.90.115:8773/services/Admin] http://10.232.90.115:8773/services/Admin |
| 8f846871999048fcb22fd1819749674c | RegionOne |                     [http://10.232.90.115:9292/v2] http://10.232.90.115:9292/v2 |           [http://10.232.90.115:9292/v2] http://10.232.90.115:9292/v2 |        [http://10.232.90.115:9292/v2] http://10.232.90.115:9292/v2 |
| 91efaba9329248b1837e913f14213a8a | RegionOne |    [http://10.232.90.115:8774/v2/%24%28tenant_id%29s] http://10.232.90.115:8774/v2/$(tenant_id)s |    [http://10.232.90.115:8774/v2/%24%28tenant_id%29s] http://10.232.90.115:8774/v2/$(tenant_id)s | [http://10.232.90.115:8774/v2/%24%28tenant_id%29s] http://10.232.90.115:8774/v2/$(tenant_id)s |
| dbf5e0b0d2864201bda64d95c3f66f02 | RegionOne | [http://10.232.90.115:8080/v1/AUTH_%24%28tenant_id%29s] http://10.232.90.115:8080/v1/AUTH_$(tenant_id)s | [http://10.232.90.115:8080/v1/AUTH_%24%28tenant_id%29s] http://10.232.90.115:8080/v1/AUTH_$(tenant_id)s |        [http://10.232.90.115:8080/v1] http://10.232.90.115:8080/v1 |
| eddcdb2a81534d6fb3e3f33dc1abb247 | RegionOne |                      [http://10.232.90.115:9696/] http://10.232.90.115:9696/ |            [http://10.232.90.115:9696/] http://10.232.90.115:9696/ |         [http://10.232.90.115:9696/] http://10.232.90.115:9696/ |
+----------------------------------+-----------+-------------------------------------------------+-------------------------------------------------+--------------------------------------------+

On Mon, Oct 15, 2012 at 6:07 PM, Skible OpenStack <[mailto:skible.openstack at gmail.com] skible.openstack at gmail.com> wrote:



 Can you paste the output of keystone endpoint-list                 command ?

 Le 15/10/2012 14:33, Trinath Somanchi a écrit :

Hi-
I dont have any logs in the keystone.log file                       its empty
and here is the glance-api.conf file

[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 scheme should Glance use by                         default is not specified
# in a request to add a new image to Glance?                         Known schemes are determined
# by the known_stores option below.
# Default: 'file'
default_store = file
# List of which store classes and store class                         locations are
# currently known to glance at startup.
#known_stores =                         glance.store.filesystem.Store,
#               glance.store.http.Store,
#               glance.store.rbd.Store,
#               glance.store.s3.Store,
#               glance.store.swift.Store,
# Maximum image size (in bytes) that may be                         uploaded through the
# Glance API server. Defaults to 1 TB.
# WARNING: this value should only be                         increased after careful consideration
# and must be set to a value under 8 EB                         (9223372036854775808).
#image_size_cap = 1099511627776
# 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
# Backlog requests when creating socket
backlog = 4096
# TCP_KEEPIDLE value in seconds when creating                         socket.
# Not supported on OS X.
#tcp_keepidle = 600
# SQLAlchemy connection string for the                         reference implementation
# registry server. Any valid SQLAlchemy                         connection string is fine.
# See: [http://www.sqlalchemy.org/docs/05/reference/sqlalchemy/connections.html#sqlalchemy.create_engine] http://www.sqlalchemy.org/docs/05/reference/sqlalchemy/connections.html#sqlalchemy.create_engine
sql_connection =                         mysql://glance:password@localhost/glance
# Period in seconds after which SQLAlchemy                         should reestablish its connection
# to the database.
#
# MySQL uses a default `wait_timeout` of 8                         hours, after which it will drop
# idle connections. This can result in 'MySQL                         Gone Away' exceptions. If you
# notice this, you can lower this value to                         ensure that SQLAlchemy reconnects
# before MySQL can drop the connection.
sql_idle_timeout = 3600
# Number of Glance API worker processes to                         start.
# On machines with more than one CPU                         increasing this value
# may improve performance (especially if                         using SSL with
# compression turned on). It is typically                         recommended to set
# this value to the number of CPUs present on                         your machine.
workers = 1
# Role used to identify an authenticated user                         as administrator
#admin_role = admin
# Allow unauthenticated users to access the                         API with read-only
# privileges. This only applies when using                         ContextMiddleware.
#allow_anonymous_access = False
# Allow access to version 1 of glance api
#enable_v1_api = True
# Allow access to version 2 of glance api
#enable_v2_api = True
# ================= Syslog Options                         ============================
# Send logs to syslog (/dev/log) instead of                         to file specified
# by `log_file`
use_syslog = False
# Facility to use. If unset defaults to                         LOG_USER.
#syslog_log_facility = LOG_LOCAL0
# ================= 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
# CA certificate file to use to verify                         connecting clients
#ca_file = /path/to/cafile
# ================= 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), qpid (via a Qpid
# message queue), or noop (no notifications                         sent, the default)
notifier_strategy = rabbit
# 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 = password
rabbit_virtual_host = /
rabbit_notification_exchange = glance
rabbit_notification_topic =                         glance_notifications
rabbit_durable_queues = False
# Configuration options if sending                         notifications via Qpid (these are
# the defaults)
qpid_notification_exchange = glance
qpid_notification_topic =                         glance_notifications
qpid_host = localhost
qpid_port = 5672
qpid_username =
qpid_password =
qpid_sasl_mechanisms =
qpid_reconnect_timeout = 0
qpid_reconnect_limit = 0
qpid_reconnect_interval_min = 0
qpid_reconnect_interval_max = 0
qpid_reconnect_interval = 0
qpid_heartbeat = 5
# Set to 'ssl' to enable SSL
qpid_protocol = tcp
qpid_tcp_nodelay = True
# ============ Filesystem Store Options                         ========================
# Directory that the Filesystem backend store
# writes image data to
filesystem_store_datadir =                         /var/lib/glance/images/
# ============ Swift Store Options                         =============================
# Version of the authentication service to                         use
# Valid versions are '2' for keystone and '1'                         for swauth and rackspace
swift_store_auth_version = 2
# Address where the Swift authentication                         service lives
# Valid schemes are 'http://' and 'https://'
# If no scheme specified,  default to 'https://'
# For swauth, use something like '[http://127.0.0.1:8080/v1.0/] 127.0.0.1:8080/v1.0/'
swift_store_auth_address = [http://127.0.0.1:5000/v2.0/] 127.0.0.1:5000/v2.0/
# User to authenticate against the Swift                         authentication service
# If you use Swift authentication service,                         set it to 'account':'user'
# where 'account' is a Swift storage account                         and 'user'
# is a user in that account
swift_store_user = jdoe: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://example.com/v1.0/ -> [https://snet-example.com/v1.0/] https://snet-example.com/v1.0/
swift_enable_snet = False
# If set to True enables multi-tenant storage                         mode which causes Glance images
# to be stored in tenant specific Swift                         accounts.
#swift_store_multi_tenant = False
# A list of tenants that will be granted                         read/write access on all Swift
# containers created by Glance in                         multi-tenant mode.
#swift_store_admin_tenants = []
# The region of the swift endpoint to be                         used for single tenant. This setting
# is only necessary if the tenant has                         multiple swift endpoints.
#swift_store_region =
# ============ S3 Store Options                         =============================
# Address where the S3 authentication service                         lives
# Valid schemes are 'http://' and 'https://'
# If no scheme specified,  default to 'http://'
s3_store_host = [http://127.0.0.1:8080/v1.0/] 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
# When forming a bucket url, boto will either                         set the bucket name as the
# subdomain or as the first token of the                         path. Amazon's S3 service will
# accept it as the subdomain, but Swift's S3                         middleware requires it be
# in the path. Set this to 'path' or                         'subdomain' - defaults to 'subdomain'.
#s3_store_bucket_url_format = subdomain
# ============ 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/
[keystone_authtoken]
auth_host = 127.0.0.1
auth_port = 35357
auth_protocol = http
admin_tenant_name = service
admin_user = glance
admin_password = password
[paste_deploy]
# Name of the paste configuration file that                         defines the available pipelines
#config_file = glance-api-paste.ini
# 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], you would                         configure the flavor below
# as 'keystone'.
flavor=keystone

On Mon, Oct 15, 2012 at                         5:59 PM, Skible OpenStack <[mailto:skible.openstack at gmail.com] skible.openstack at gmail.com> wrote:


can you send me the glance-api.conf
 and the keystone.log please.
 Le 15/10/2012 13:11, Trinath Somanchi a                               écrit :

Hi-
I followed the folsom guide given                                     below,
but the error is intact.

ERROR: Unable to load                                       glance-api-keystone from                                       configuration file                                       /etc/glance/glance-api-paste.ini.
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",)
Any guidance on troubleshooting                                       the same'
The glance-api-paste.ini is as                                       follows

# Use this pipeline for no                                         auth or image caching - DEFAULT
[pipeline:glance-api]
pipeline = versionnegotiation                                         unauthenticated-context rootapp
# Use this pipeline for image                                         caching and no auth
[pipeline:glance-api-caching]
pipeline =                                         versionnegotiation                                         unauthenticated-context cache                                         rootapp
# Use this pipeline for                                         caching w/ management interface                                         but no auth
[pipeline:glance-api-cachemanagement]
pipeline = versionnegotiation                                         unauthenticated-context cache                                         cachemanage rootapp
# Use this pipeline for                                         keystone auth
[pipeline:glance-api-keystone]
pipeline = versionnegotiation                                         authtoken context rootapp
# Use this pipeline for                                         keystone auth with image caching
[pipeline:glance-api-keystone+caching]
pipeline = versionnegotiation                                         authtoken context cache rootapp
# Use this pipeline for                                         keystone auth with caching and                                         cache management
[pipeline:glance-api-keystone+cachemanagement]
pipeline = versionnegotiation                                         authtoken context cache                                         cachemanage rootapp
[composite:rootapp]
paste.composite_factory =                                         glance.api:root_app_factory
/: apiversions
/v1: apiv1app
/v2: apiv2app
[app:apiversions]
paste.app_factory =                                         glance.api.versions:create_resource
[app:apiv1app]
paste.app_factory =                                         glance.api.v1.router:API.factory
[app:apiv2app]
paste.app_factory =                                         glance.api.v2.router:API.factory
[filter:versionnegotiation]
paste.filter_factory = glance.api.middleware.version_negotiation:VersionNegotiationFilter.factory
[filter:cache]
paste.filter_factory =                                         glance.api.middleware.cache:CacheFilter.factory
[filter:cachemanage]
paste.filter_factory =                                         glance.api.middleware.cache_manage:CacheManageFilter.factory
[filter:context]
paste.filter_factory =                                         glance.api.middleware.context:ContextMiddleware.factory
[filter:unauthenticated-context]
paste.filter_factory =                                         glance.api.middleware.context:UnauthenticatedContextMiddleware.factory
[filter:authtoken]
paste.filter_factory =                                         keystone.middleware.auth_token:filter_factory
auth_host = 10.232.90.115
auth_port = 35357
auth_protocol = http
admin_tenant_name = service
admin_user = glance
admin_password = password


On Mon, Oct                                       15, 2012 at 4:28 PM, Skible                                       OpenStack <[mailto:skible.openstack at gmail.com] skible.openstack at gmail.com> wrote:


This is why you were                                             getting the Err111 because                                             you can't reach Glance-api                                             service since it doesn't                                             load !

 ERROR: Unable to load                                               glance-api from                                               configuration file                                               /etc/glance/glance-api-paste.ini

Verify your                                             glance-api-paste.ini file                                             with the steps provided in                                             this [https://github.com/mseknibilel/OpenStack-Folsom-Install-guide/blob/master/OpenStack_Folsom_Install_Guide_WebVersion.rst] Folsom                                               Install Guide to find                                             what's missing : 

 Le 15/10/2012 12:55, Trinath                                             Somanchi a écrit :
ERROR:                                               Unable to load glance-api                                               from configuration file                                               /etc/glance/glance-api-paste.ini

 -- 
 Regards,
 ----------------------------------------------
 Trinath Somanchi,
[tel:%2B91%209866%20235%20130] +91 9866 235 130

 -- 
 Regards,
 ----------------------------------------------
 Trinath Somanchi,
[tel:%2B91%209866%20235%20130] +91 9866                           235 130

 -- 
 Regards,
 ----------------------------------------------
 Trinath Somanchi,
+91 9866 235 130
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20121015/9b9e6484/attachment.html>


More information about the Openstack mailing list