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 href="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</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 'http://' and 'https://'</div><div># If no scheme specified,  default to 'https://'</div><div># For swauth, use something like '<a href="http://127.0.0.1:8080/v1.0/">127.0.0.1:8080/v1.0/</a>'</div>
<div>swift_store_auth_address = <a href="http://127.0.0.1:5000/v2.0/">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 href="https://example.com/v1.0/">https://example.com/v1.0/</a> -> <a href="https://snet-example.com/v1.0/">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 'http://' and 'https://'</div><div># If no scheme specified,  default to 'http://'</div><div>s3_store_host = <a href="http://127.0.0.1:8080/v1.0/">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 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 class="h5">
    <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 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 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 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>