Problems with openstack-dashboard keystone identification
Kurt Scholtens
burnbrighter at hotmail.com
Thu Aug 22 23:24:38 UTC 2013
Hi All -
I am still having problems sorting keystone authentication between
openstack-dashboard and keystone node. I believe I am dealing with a
version mismatch problem. I declared the openstack-dashboard node's
openstack-origin string as cloud:precise-grizzly. However, the keystone
node is not explicitly declared. I don't know how to tell what version of
keystone I have and if it defaults to precise-grizzly.
The two nodes do not appear to be able to communicate correctly. The error
is below.
Here is the version information I put in to pastebin:
http://pastebin.com/HCK7gHse
Authentication works fine on the keystone node, but not on the
openstack-dashboard node:
ubuntu at qxkgb:~$ keystone user-list
+----------------------------------+---------+----------------+-------------
--------+
| id | enabled | email | name
|
+----------------------------------+---------+----------------+-------------
--------+
| 5c2d8eb437334b6887023172f786a742 | True | juju at localhost | admin
|
| 839b4a5e7a004912b27fd4539b02218f | True | juju at localhost | glance
|
| 88950b5cffd84f91b21d9f97766d721c | True | juju at localhost | cinder
|
| db3b050931d644f5a32c35daa403d459 | True | juju at localhost |
quantum_s3_ec2_nova |
+----------------------------------+---------+----------------+-------------
--------+
ubuntu at qxkgb:~$ cat .profile
# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.
# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
export OS_USERNAME=admin
export OS_PASSWORD=equeucheeYequohm
export OS_TENANT_NAME=admin
export OS_AUTH_URL=http://127.0.0.1:35357/v2.0
-----------------------------------------------------------------------
Openstack-dashboard node
ubuntu at epbw8:~$ cat .profile
# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.
# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
export OS_USERNAME=admin
export OS_PASSWORD=equeucheeYequohm
export OS_TENANT_NAME=admin
export OS_AUTH_URL=http://qxkgb.master:35357/v2.0
ubuntu at epbw8:~$ sudo keystone --debug user-list
Expecting authentication method via
either a service token, --os-token or env[OS_SERVICE_TOKEN],
or credentials, --os-username or env[OS_USERNAME].
ubuntu at epbw8:~$ keystone --debug user-list
REQ: curl -i http://qxkgb.master:35357/v2.0/tokens -X POST -H "Content-Type:
application/json" -H "User-Agent: python-keystoneclient"
REQ BODY: {"auth": {"tenantName": "admin", "passwordCredentials":
{"username": "admin", "password": "equeucheeYequohm"}}}
RESP: [200] {'date': 'Thu, 22 Aug 2013 23:07:49 GMT', 'transfer-encoding':
'chunked', 'vary': 'X-Auth-Token', 'content-type': 'application/json'}
RESP BODY: {"access": {"token": {"expires": "2013-08-23T23:07:49Z", "id":
"0ce9f35cadb84ed6961dd2b7f9e1761f", "tenant": {"description": "Created by
Juju", "enabled": true, "id": "d6ea0a30be974138b7111a5f2e66e2d7", "name":
"admin"}}, "serviceCatalog": [{"endpoints": [{"adminURL":
"http://tpf4j.master:8774/v1.1/d6ea0a30be974138b7111a5f2e66e2d7", "region":
"RegionOne", "internalURL":
"http://tpf4j.master:8774/v1.1/d6ea0a30be974138b7111a5f2e66e2d7",
"publicURL":
"http://tpf4j.master:8774/v1.1/d6ea0a30be974138b7111a5f2e66e2d7"}],
"endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints":
[{"adminURL": "http://tpf4j.master:9696", "region": "RegionOne",
"internalURL": "http://tpf4j.master:9696", "publicURL":
"http://tpf4j.master:9696"}], "endpoints_links": [], "type": "network",
"name": "quantum"}, {"endpoints": [{"adminURL": "http://tpf4j.master:3333",
"region": "RegionOne", "internalURL": "http://tpf4j.master:3333",
"publicURL": "http://tpf4j.master:3333"}], "endpoints_links": [], "type":
"s3", "name": "s3"}, {"endpoints": [{"adminURL": "http://89mdk.master:9292",
"region": "RegionOne", "internalURL": "http://89mdk.master:9292",
"publicURL": "http://89mdk.master:9292"}], "endpoints_links": [], "type":
"image", "name": "glance"}, {"endpoints": [{"adminURL":
"http://t79ma.master:8776/v1/d6ea0a30be974138b7111a5f2e66e2d7", "region":
"RegionOne", "internalURL":
"http://t79ma.master:8776/v1/d6ea0a30be974138b7111a5f2e66e2d7", "publicURL":
"http://t79ma.master:8776/v1/d6ea0a30be974138b7111a5f2e66e2d7"}],
"endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints":
[{"adminURL": "http://tpf4j.master:8773/services/Cloud", "region":
"RegionOne", "internalURL": "http://tpf4j.master:8773/services/Cloud",
"publicURL": "http://tpf4j.master:8773/services/Cloud"}], "endpoints_links":
[], "type": "ec2", "name": "ec2"}, {"endpoints": [{"adminURL":
"http://qxkgb.master:35357/v2.0", "region": "RegionOne", "internalURL":
"http://qxkgb.master:5000/v2.0", "publicURL":
"http://qxkgb.master:5000/v2.0"}], "endpoints_links": [], "type":
"identity", "name": "keystone"}], "user": {"username": "admin",
"roles_links": [], "id": "5c2d8eb437334b6887023172f786a742", "roles":
[{"id": "19be22e47542407e87b69cde2436b3a2", "name": "KeystoneServiceAdmin"},
{"id": "d5a0adc085f947afbb51a00254613f79", "name": "KeystoneAdmin"}, {"id":
"5298db9e05a7461687dfb67505371d9c", "name": "Admin"}], "name": "admin"}}}
REQ: curl -i http://qxkgb.master:35357/v2.0/users -X GET -H "User-Agent:
python-keystoneclient" -H "X-Auth-Token: 0ce9f35cadb84ed6961dd2b7f9e1761f"
RESP: [500] {'date': 'Thu, 22 Aug 2013 23:07:49 GMT', 'content-length':
'3416', 'content-type': 'text/plain', 'connection': 'close'}
RESP BODY: Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/eventlet/wsgi.py", line 336, in
handle_one_response
result = self.application(self.environ, start_response)
File "/usr/lib/python2.7/dist-packages/paste/urlmap.py", line 203, in
__call__
return app(environ, start_response)
File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 147, in
__call__
resp = self.call_func(req, *args, **self.kwargs)
File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 210, in
call_func
return self.func(req, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/keystone/common/wsgi.py", line 299,
in __call__
response = request.get_response(self.application)
File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1086, in
get_response
application, catch_exc_info=False)
File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1055, in
call_application
app_iter = application(self.environ, start_response)
File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 147, in
__call__
resp = self.call_func(req, *args, **self.kwargs)
File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 210, in
call_func
return self.func(req, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/keystone/common/wsgi.py", line 299,
in __call__
response = request.get_response(self.application)
File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1086, in
get_response
application, catch_exc_info=False)
File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1055, in
call_application
app_iter = application(self.environ, start_response)
File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 147, in
__call__
resp = self.call_func(req, *args, **self.kwargs)
File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 210, in
call_func
return self.func(req, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/keystone/common/wsgi.py", line 299,
in __call__
response = request.get_response(self.application)
File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1086, in
get_response
application, catch_exc_info=False)
File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1055, in
call_application
app_iter = application(self.environ, start_response)
File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 147, in
__call__
resp = self.call_func(req, *args, **self.kwargs)
File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 210, in
call_func
return self.func(req, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/keystone/common/wsgi.py", line 299,
in __call__
response = request.get_response(self.application)
File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1086, in
get_response
application, catch_exc_info=False)
File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1055, in
call_application
app_iter = application(self.environ, start_response)
File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 147, in
__call__
resp = self.call_func(req, *args, **self.kwargs)
File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 210, in
call_func
return self.func(req, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/keystone/common/wsgi.py", line 318,
in __call__
for line in req.body_file:
TypeError: 'LimitedLengthFile' object is not iterable
Request returned failure status: 500
Unable to communicate with identity service: Traceback (most recent call
last):
File "/usr/lib/python2.7/dist-packages/eventlet/wsgi.py", line 336, in
handle_one_response
result = self.application(self.environ, start_response)
File "/usr/lib/python2.7/dist-packages/paste/urlmap.py", line 203, in
__call__
return app(environ, start_response)
File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 147, in
__call__
resp = self.call_func(req, *args, **self.kwargs)
File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 210, in
call_func
return self.func(req, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/keystone/common/wsgi.py", line 299,
in __call__
response = request.get_response(self.application)
File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1086, in
get_response
application, catch_exc_info=False)
File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1055, in
call_application
app_iter = application(self.environ, start_response)
File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 147, in
__call__
resp = self.call_func(req, *args, **self.kwargs)
File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 210, in
call_func
return self.func(req, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/keystone/common/wsgi.py", line 299,
in __call__
response = request.get_response(self.application)
File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1086, in
get_response
application, catch_exc_info=False)
File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1055, in
call_application
app_iter = application(self.environ, start_response)
File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 147, in
__call__
resp = self.call_func(req, *args, **self.kwargs)
File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 210, in
call_func
return self.func(req, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/keystone/common/wsgi.py", line 299,
in __call__
response = request.get_response(self.application)
File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1086, in
get_response
application, catch_exc_info=False)
File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1055, in
call_application
app_iter = application(self.environ, start_response)
File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 147, in
__call__
resp = self.call_func(req, *args, **self.kwargs)
File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 210, in
call_func
return self.func(req, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/keystone/common/wsgi.py", line 299,
in __call__
response = request.get_response(self.application)
File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1086, in
get_response
application, catch_exc_info=False)
File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1055, in
call_application
app_iter = application(self.environ, start_response)
File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 147, in
__call__
resp = self.call_func(req, *args, **self.kwargs)
File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 210, in
call_func
return self.func(req, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/keystone/common/wsgi.py", line 318,
in __call__
for line in req.body_file:
TypeError: 'LimitedLengthFile' object is not iterable
. (HTTP 500)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/juju/attachments/20130822/03094731/attachment-0001.html>
More information about the Juju
mailing list