yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #24361
[Bug 1390484] [NEW] Missing "s" in keystone configuration document.
Public bug reported:
The keystone doc
http://docs.openstack.org/developer/keystone/configuration.html#token-
persistence-driver, in "Token Persistence Driver", has a mistype in the
red warning box:
```
keystone.token.persistence.backend.memcache_pool.Token
keystone.token.persistence.backend.memcache.Token
```
They should have been
```
keystone.token.persistence.backends.memcache_pool.Token
keystone.token.persistence.backends.memcache.Token
```
It is the missing "s". You can ctrl+f in this document, with or without
"s". You will find the mismatch.
------------------------
If you fill /etc/keystone.conf with the missing "s"
keystone.token.persistence.backend.memcache_pool.Token (as I did)
```
...
[token]
provider = keystone.token.providers.uuid.Provider
driver = keystone.token.persistence.backend.memcache_pool.Token
...
```
The command below will causes keystone to raise "No module named
backend.memcache_pool" error (token is faked)
```
$ keystone --debug --os-token 135abcdef --os-endpoint http://127.0.0.1:35357/v2.0/ user-list
DEBUG:keystoneclient.session:REQ: curl -i -X GET http://127.0.0.1:35357/v2.0/users -H "User-Agent: python-keystoneclient" -H "X-Auth-Token: {SHA1}ce791127cf84307aa59d7a8ba8829f00d5d91570"
INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): 127.0.0.1
DEBUG:requests.packages.urllib3.connectionpool:"GET /v2.0/users HTTP/1.1" 500 143
DEBUG:keystoneclient.session:RESP:
DEBUG:keystoneclient.session:Request returned failure status: 500
An unexpected error prevented the server from fulfilling your request. (HTTP 500)
```
The error raised from keystone service
```
$ keystone-all
...
2014-11-07 13:41:06.676 20275 ERROR keystone.common.wsgi [-] No module named backend.memcache_pool
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi Traceback (most recent call last):
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/common/wsgi.py", line 430, in __call__
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi response = self.process_request(request)
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/middleware/core.py", line 279, in process_request
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi auth_context = self._build_auth_context(request)
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/middleware/core.py", line 259, in _build_auth_context
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi token_data=self.token_provider_api.validate_token(token_id))
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/token/provider.py", line 225, in validate_token
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi token = self._validate_token(unique_id)
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi File "/usr/lib/python2.7/site-packages/dogpile/cache/region.py", line 1013, in decorate
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi should_cache_fn)
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi File "/usr/lib/python2.7/site-packages/dogpile/cache/region.py", line 640, in get_or_create
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi async_creator) as value:
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi File "/usr/lib/python2.7/site-packages/dogpile/core/dogpile.py", line 158, in __enter__
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi return self._enter()
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi File "/usr/lib/python2.7/site-packages/dogpile/core/dogpile.py", line 98, in _enter
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi generated = self._enter_create(createdtime)
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi File "/usr/lib/python2.7/site-packages/dogpile/core/dogpile.py", line 149, in _enter_create
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi created = self.creator()
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi File "/usr/lib/python2.7/site-packages/dogpile/cache/region.py", line 612, in gen_value
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi created_value = creator()
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi File "/usr/lib/python2.7/site-packages/dogpile/cache/region.py", line 1009, in creator
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi return fn(*arg, **kw)
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/token/provider.py", line 318, in _validate_token
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi token_ref = self._persistence.get_token(token_id)
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/token/provider.py", line 191, in _persistence
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi self._persistence_manager = persistence.PersistenceManager()
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/common/dependency.py", line 172, in wrapper
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi self.__wrapped_init__(*args, **kwargs)
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/token/persistence/core.py", line 53, in __init__
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi super(PersistenceManager, self).__init__(CONF.token.driver)
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/common/manager.py", line 70, in __init__
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi self.driver = importutils.import_object(driver_name)
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/openstack/common/importutils.py", line 38, in import_object
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi return import_class(import_str)(*args, **kwargs)
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/openstack/common/importutils.py", line 27, in import_class
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi __import__(mod_str)
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi ImportError: No module named backend.memcache_pool
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi
```
-----------------------
So after all the keystone doc
http://docs.openstack.org/developer/keystone/configuration.html#token-
persistence-driver is missing an "s". But troubleshoot takes hours.
** Affects: keystone
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to Keystone.
https://bugs.launchpad.net/bugs/1390484
Title:
Missing "s" in keystone configuration document.
Status in OpenStack Identity (Keystone):
New
Bug description:
The keystone doc
http://docs.openstack.org/developer/keystone/configuration.html#token-
persistence-driver, in "Token Persistence Driver", has a mistype in
the red warning box:
```
keystone.token.persistence.backend.memcache_pool.Token
keystone.token.persistence.backend.memcache.Token
```
They should have been
```
keystone.token.persistence.backends.memcache_pool.Token
keystone.token.persistence.backends.memcache.Token
```
It is the missing "s". You can ctrl+f in this document, with or
without "s". You will find the mismatch.
------------------------
If you fill /etc/keystone.conf with the missing "s"
keystone.token.persistence.backend.memcache_pool.Token (as I did)
```
...
[token]
provider = keystone.token.providers.uuid.Provider
driver = keystone.token.persistence.backend.memcache_pool.Token
...
```
The command below will causes keystone to raise "No module named
backend.memcache_pool" error (token is faked)
```
$ keystone --debug --os-token 135abcdef --os-endpoint http://127.0.0.1:35357/v2.0/ user-list
DEBUG:keystoneclient.session:REQ: curl -i -X GET http://127.0.0.1:35357/v2.0/users -H "User-Agent: python-keystoneclient" -H "X-Auth-Token: {SHA1}ce791127cf84307aa59d7a8ba8829f00d5d91570"
INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): 127.0.0.1
DEBUG:requests.packages.urllib3.connectionpool:"GET /v2.0/users HTTP/1.1" 500 143
DEBUG:keystoneclient.session:RESP:
DEBUG:keystoneclient.session:Request returned failure status: 500
An unexpected error prevented the server from fulfilling your request. (HTTP 500)
```
The error raised from keystone service
```
$ keystone-all
...
2014-11-07 13:41:06.676 20275 ERROR keystone.common.wsgi [-] No module named backend.memcache_pool
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi Traceback (most recent call last):
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/common/wsgi.py", line 430, in __call__
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi response = self.process_request(request)
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/middleware/core.py", line 279, in process_request
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi auth_context = self._build_auth_context(request)
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/middleware/core.py", line 259, in _build_auth_context
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi token_data=self.token_provider_api.validate_token(token_id))
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/token/provider.py", line 225, in validate_token
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi token = self._validate_token(unique_id)
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi File "/usr/lib/python2.7/site-packages/dogpile/cache/region.py", line 1013, in decorate
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi should_cache_fn)
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi File "/usr/lib/python2.7/site-packages/dogpile/cache/region.py", line 640, in get_or_create
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi async_creator) as value:
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi File "/usr/lib/python2.7/site-packages/dogpile/core/dogpile.py", line 158, in __enter__
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi return self._enter()
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi File "/usr/lib/python2.7/site-packages/dogpile/core/dogpile.py", line 98, in _enter
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi generated = self._enter_create(createdtime)
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi File "/usr/lib/python2.7/site-packages/dogpile/core/dogpile.py", line 149, in _enter_create
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi created = self.creator()
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi File "/usr/lib/python2.7/site-packages/dogpile/cache/region.py", line 612, in gen_value
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi created_value = creator()
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi File "/usr/lib/python2.7/site-packages/dogpile/cache/region.py", line 1009, in creator
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi return fn(*arg, **kw)
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/token/provider.py", line 318, in _validate_token
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi token_ref = self._persistence.get_token(token_id)
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/token/provider.py", line 191, in _persistence
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi self._persistence_manager = persistence.PersistenceManager()
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/common/dependency.py", line 172, in wrapper
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi self.__wrapped_init__(*args, **kwargs)
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/token/persistence/core.py", line 53, in __init__
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi super(PersistenceManager, self).__init__(CONF.token.driver)
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/common/manager.py", line 70, in __init__
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi self.driver = importutils.import_object(driver_name)
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/openstack/common/importutils.py", line 38, in import_object
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi return import_class(import_str)(*args, **kwargs)
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/openstack/common/importutils.py", line 27, in import_class
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi __import__(mod_str)
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi ImportError: No module named backend.memcache_pool
2014-11-07 13:41:06.676 20275 TRACE keystone.common.wsgi
```
-----------------------
So after all the keystone doc
http://docs.openstack.org/developer/keystone/configuration.html#token-
persistence-driver is missing an "s". But troubleshoot takes hours.
To manage notifications about this bug go to:
https://bugs.launchpad.net/keystone/+bug/1390484/+subscriptions
Follow ups
References