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@qxkgb:~$ keystone user-list +----------------------------------+---------+----------------+------------- --------+ | id | enabled | email | name | +----------------------------------+---------+----------------+------------- --------+ | 5c2d8eb437334b6887023172f786a742 | True | juju@localhost | admin | | 839b4a5e7a004912b27fd4539b02218f | True | juju@localhost | glance | | 88950b5cffd84f91b21d9f97766d721c | True | juju@localhost | cinder | | db3b050931d644f5a32c35daa403d459 | True | juju@localhost | quantum_s3_ec2_nova | +----------------------------------+---------+----------------+------------- --------+ ubuntu@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@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@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@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)
-- Juju mailing list Juju@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/juju