Bug 800704

Summary: keystone endpoint-list tracebacks
Product: [Fedora] Fedora Reporter: Pete Zaitcev <zaitcev>
Component: openstack-keystoneAssignee: Matt Domsch <matt_domsch>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 17CC: apevec, apevec, bfilippov, jonathansteffan, markmc, matt_domsch, p, rbryant, tripledes
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: openstack-keystone-2012.1-0.10.e4.fc17 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-03-12 01:58:40 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Pete Zaitcev 2012-03-07 00:58:20 UTC
Description of problem:

Running keystone endpoint-list tracebacks. This is needed to run Glance
(and Swift) for the Test Day 2012-8-3.

Version-Release number of selected component (if applicable):

openstack-keystone-2012.1-0.9.e4.fc17.noarch

How reproducible:

synchronous

Steps to Reproduce:
1. Follow Test Day instructions
   https://fedoraproject.org/wiki/Test_Day:2012-03-08_OpenStack_Test_Day
2. At the step "Start glance services", run "glance index"
   fails with "Response from Keystone does not contain a Glance endpoint."
3. Verify with "keystone endpoint-list" that Keystone is busted
  
Actual results:

Unable to list endpoints

Expected results:

Lists endpoints

Additional info:

keystone user-list, keystone service-list work ok

[root@niphredil zaitcev]# glance index
Failed to show index. Got error:
Response from Keystone does not contain a Glance endpoint.
[root@niphredil zaitcev]# 
[root@niphredil zaitcev]# keystone endpoint-list
No handlers could be found for logger "keystoneclient.client"
Unable to communicate with identity service: Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/eventlet/wsgi.py", line 336, in handle_
one_response
    result = self.application(self.environ, start_response)
  File "/usr/lib/python2.7/site-packages/paste/urlmap.py", line 203, in __call__
    return app(environ, start_response)
  File "/usr/lib/python2.7/site-packages/webob/dec.py", line 147, in __call__
    resp = self.call_func(req, *args, **self.kwargs)
  File "/usr/lib/python2.7/site-packages/webob/dec.py", line 210, in call_func
    return self.func(req, *args, **kwargs)
  File "/usr/lib/python2.7/site-packages/keystone/common/wsgi.py", line 282, in __call__
    response = request.get_response(self.application)
  File "/usr/lib/python2.7/site-packages/webob/request.py", line 1086, in get_response
    application, catch_exc_info=False)
  File "/usr/lib/python2.7/site-packages/webob/request.py", line 1055, in call_application
    app_iter = application(self.environ, start_response)
  File "/usr/lib/python2.7/site-packages/webob/dec.py", line 147, in __call__
    resp = self.call_func(req, *args, **self.kwargs)
  File "/usr/lib/python2.7/site-packages/webob/dec.py", line 210, in call_func
    return self.func(req, *args, **kwargs)
  File "/usr/lib/python2.7/site-packages/keystone/common/wsgi.py", line 282, in __call__
    response = request.get_response(self.application)
  File "/usr/lib/python2.7/site-packages/webob/request.py", line 1086, in get_response
    application, catch_exc_info=False)
  File "/usr/lib/python2.7/site-packages/webob/request.py", line 1055, in call_application
    app_iter = application(self.environ, start_response)
  File "/usr/lib/python2.7/site-packages/webob/dec.py", line 147, in __call__
    resp = self.call_func(req, *args, **self.kwargs)
  File "/usr/lib/python2.7/site-packages/webob/dec.py", line 210, in call_func
    return self.func(req, *args, **kwargs)
  File "/usr/lib/python2.7/site-packages/keystone/common/wsgi.py", line 282, in __call__
    response = request.get_response(self.application)
  File "/usr/lib/python2.7/site-packages/webob/request.py", line 1086, in get_response
    application, catch_exc_info=False)
  File "/usr/lib/python2.7/site-packages/webob/request.py", line 1055, in call_application
    app_iter = application(self.environ, start_response)
  File "/usr/lib/python2.7/site-packages/webob/dec.py", line 147, in __call__
    resp = self.call_func(req, *args, **self.kwargs)
  File "/usr/lib/python2.7/site-packages/webob/dec.py", line 210, in call_func
    return self.func(req, *args, **kwargs)
  File "/usr/lib/python2.7/site-packages/keystone/common/wsgi.py", line 282, in __call__
    response = request.get_response(self.application)
  File "/usr/lib/python2.7/site-packages/webob/request.py", line 1086, in get_response
    application, catch_exc_info=False)
  File "/usr/lib/python2.7/site-packages/webob/request.py", line 1055, in call_application
    app_iter = application(self.environ, start_response)
  File "/usr/lib/python2.7/site-packages/webob/dec.py", line 147, in __call__
    resp = self.call_func(req, *args, **self.kwargs)
  File "/usr/lib/python2.7/site-packages/webob/dec.py", line 210, in call_func
    return self.func(req, *args, **kwargs)
  File "/usr/lib/python2.7/site-packages/keystone/common/wsgi.py", line 305, in __call__
    resp = req.get_response(self.application)
  File "/usr/lib/python2.7/site-packages/webob/request.py", line 1086, in get_response
    application, catch_exc_info=False)
  File "/usr/lib/python2.7/site-packages/webob/request.py", line 1055, in call_application
    app_iter = application(self.environ, start_response)
  File "/usr/lib/python2.7/site-packages/webob/dec.py", line 159, in __call__
    return resp(environ, start_response)
  File "/usr/lib/python2.7/site-packages/routes/middleware.py", line 131, in __call__
    response = self.app(environ, start_response)
  File "/usr/lib/python2.7/site-packages/webob/dec.py", line 159, in __call__
    return resp(environ, start_response)
  File "/usr/lib/python2.7/site-packages/webob/dec.py", line 159, in __call__
    return resp(environ, start_response)
  File "/usr/lib/python2.7/site-packages/routes/middleware.py", line 131, in __call__
    response = self.app(environ, start_response)
  File "/usr/lib/python2.7/site-packages/webob/dec.py", line 159, in __call__
    return resp(environ, start_response)
  File "/usr/lib/python2.7/site-packages/webob/dec.py", line 147, in __call__
    resp = self.call_func(req, *args, **self.kwargs)
  File "/usr/lib/python2.7/site-packages/webob/dec.py", line 210, in call_func
    return self.func(req, *args, **kwargs)
  File "/usr/lib/python2.7/site-packages/keystone/common/wsgi.py", line 180, in __call__
    result = method(context, **params)
  File "/usr/lib/python2.7/site-packages/keystone/catalog/core.py", line 88, in get_endpoints
    endpoint_list = self.catalog_api.list_endpoints(context)
  File "/usr/lib/python2.7/site-packages/keystone/common/manager.py", line 30, in __getattr__
    f = getattr(self.driver, name)
AttributeError: 'TemplatedCatalog' object has no attribute 'list_endpoints'
. (HTTP 500)
[root@niphredil zaitcev]# env | grep OS
HOSTNAME=niphredil.zaitcev.lan
        :k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:\
OS_PASSWORD=admpass
OS_AUTH_URL=http://127.0.0.1:5000/v2.0/
OS_USERNAME=admin
OS_TENANT_NAME=admin
[root@niphredil zaitcev]# env | grep ADMIN
[root@niphredil zaitcev]#

Comment 1 Sergio Jimenez 2012-03-08 00:04:04 UTC
I've got the same problem, following wiki instructions for OpenStack test day, when trying to register an image I get:


[sergio@openstack ~]$ glance add name=f16 is_public=true disk_format=qcow2 container_format=ovf copy_from=http://berrange.fedorapeople.org/images/2012-02-29/f16-x86_64-openstack-sda.qcow2 
Failed to add image. Got error:
Response from Keystone does not contain a Glance endpoint.
Note: Your image metadata may still be in the registry, but the image's status will likely be 'killed'.


And trying to list endpoints I get same error as Pete.

My environment:


[sergio@openstack ~]$ env | grep OS_
OS_PASSWORD=admpass
OS_AUTH_URL=http://127.0.0.1:5000/v2.0/
OS_USERNAME=admin
OS_TENANT_NAME=admin

Comment 2 Alan Pevec 2012-03-08 00:25:32 UTC
TemplatedCatalog backend doesn't support operations on endpoints and services are not persistet. I'm changing default for Fedora to catalog sql backend along with sample data script changes:
https://review.openstack.org/#change,5049

Comment 3 Pete Zaitcev 2012-03-08 03:01:39 UTC
Sergio, a workaround for the Test Day exists. Use this to add the endpoints:

https://fedoraproject.org/wiki/Getting_started_with_OpenStack_on_Fedora_17#Configure_glance_to_use_keystone

Using that and re-running parts of the openstack-keystone-sample-data
script that add endpoints allowed me to continue. See the change that
Alan linked to identify the required part of the default template.

However, the crash of "keystone endpoint-list" is different.

Comment 4 Fedora Update System 2012-03-08 03:30:30 UTC
openstack-keystone-2012.1-0.10.e4.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/openstack-keystone-2012.1-0.10.e4.fc17

Comment 5 Alan Pevec 2012-03-08 03:35:00 UTC
Until this update reaches mirrors, you can use the temporary repository: http://repos.fedorapeople.org/repos/apevec/openstack-preview/fedora-17/noarch/

Comment 6 Fedora Update System 2012-03-08 05:53:55 UTC
Package openstack-keystone-2012.1-0.10.e4.fc17:
* should fix your issue,
* was pushed to the Fedora 17 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing openstack-keystone-2012.1-0.10.e4.fc17'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2012-3381/openstack-keystone-2012.1-0.10.e4.fc17
then log in and leave karma (feedback).

Comment 7 Fedora Update System 2012-03-12 01:58:40 UTC
openstack-keystone-2012.1-0.10.e4.fc17 has been pushed to the Fedora 17 stable repository.  If problems still persist, please make note of it in this bug report.