← Back to team overview

openstack team mailing list archive

Re: Folsom Glance Image upload error

 

This is not about glance add or glance image-create, This problem is due to glance-api can't be loaded
I need the full guide that you have followed to see what you have done

Le 16/10/2012 05:52, Trinath Somanchi a écrit :
On Tue, Oct 16, 2012 at 12:48 AM, Nikhil Komawar <nikhil.komawar@xxxxxxxxxxxxx <mailto:nikhil.komawar@xxxxxxxxxxxxx>> wrote:

    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



Hi-

How add the --debug flag. It throws an exception when I use this option.

Also, using "glance image-create" also throws the same exception.

root@openstackController:~# glance image-create --name="Ubuntu_Server_1204" --is-public=true --container-format=ovf --disk-format=qcow2 --location file:///root/openstack_images/ubuntu_server.img
Error communicating with /v1/images: [Errno 111] Connection refused





    -----Original Message-----
    From: "Skible OpenStack" <skible.openstack@xxxxxxxxx
    <mailto:skible.openstack@xxxxxxxxx>>
    Sent: Monday, October 15, 2012 8:43am
    To: "Trinath Somanchi" <trinath.somanchi@xxxxxxxxx
    <mailto:trinath.somanchi@xxxxxxxxx>>
    Cc: openstack@xxxxxxxxxxxxxxxxxxx
    <mailto:openstack@xxxxxxxxxxxxxxxxxxx>
    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@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:35357/v2.0 |
        | 822a2a022b7c486ea9d43dbe15baffd5 | RegionOne |
        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
        <http://10.232.90.115:8776/v1/%24%28tenant_id%29s> |
        | 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/Admin |
        | 8f846871999048fcb22fd1819749674c | RegionOne |
        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/$(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
        <http://10.232.90.115:8774/v2/%24%28tenant_id%29s> |
        | dbf5e0b0d2864201bda64d95c3f66f02 | RegionOne |
        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/AUTH_%24%28tenant_id%29s> |
        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/ |
        +----------------------------------+-----------+-------------------------------------------------+-------------------------------------------------+--------------------------------------------+

        On Mon, Oct 15, 2012 at 6:07 PM, Skible OpenStack
        <skible.openstack@xxxxxxxxx
        <mailto:skible.openstack@xxxxxxxxx>> 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
                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 '127.0.0.1:8080/v1.0/
                <http://127.0.0.1:8080/v1.0/>'
                swift_store_auth_address = 127.0.0.1:5000/v2.0/
                <http://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://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 = 127.0.0.1:8080/v1.0/
                <http://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
                <skible.openstack@xxxxxxxxx
                <mailto:skible.openstack@xxxxxxxxx>> 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 <skible.openstack@xxxxxxxxx
                        <mailto:skible.openstack@xxxxxxxxx>> 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 Folsom Install
                            Guide
                            <https://github.com/mseknibilel/OpenStack-Folsom-Install-guide/blob/master/OpenStack_Folsom_Install_Guide_WebVersion.rst>
                            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,
                        +91 9866 235 130 <tel:%2B91%209866%20235%20130>



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



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




--
Regards,
----------------------------------------------
Trinath Somanchi,
+91 9866 235 130



Follow ups

References