Awesome! Good to hear.
** Changed in: keystone
Status: Incomplete => Invalid
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to Keystone.
https://bugs.launchpad.net/bugs/1362181
Title:
Multi-domain has problems with domain drivers
Status in OpenStack Identity (Keystone):
Invalid
Bug description:
My Environment
--------------
I've install RDO Openstack Icehouse, then I've upgrade to keystone-2014.2.b2
from launchpad tarball. I'm using SQL (not LDAP). With standard installation,
we have only 1 domain, the "default" domain. I did not configure nothing more.
What I want to achieve
----------------------
Now, I want to configure multidomain feature on Keystone Juno 2 and I'm
following the official documentation
http://docs.openstack.org/developer/keystone/configuration.html#domain-specific-drivers
The problem
------------
If I execute this command:
$ curl --insecure -H "X-Auth-Token:ADMIN"
http://localhost:5000/v3/users
Ok, no problems, Keystone returns the json user list. Now, I'll
configure multi-domain feature.
1.- Edit /etc/keystone/keystone.conf file like
- # domain_specific_drivers_enabled=False
+ domain_specific_drivers_enabled=True
- # domain_config_dir=/etc/keystone/domains
+ domain_config_dir=/etc/keystone/domains
2.- Create default domain file.
2.1 cd /etc/keystone; mkdir domains; chown keystone:keystone domains; cd
domains;
2.2 vim keystone.default.conf
[identity]
driver = keystone.identity.backends.sql.Identity
[ldap]
2.3 chown keystone:keystone keystone.default.conf
3.- service openstack-keystone restart
Now, if try the same CURL command I obtain this error:
$ curl --insecure -H "X-Auth-Token:ADMIN" http://localhost:5000/v3/users
{
"error": {
"code": 401,
"message": "The request you have made requires authentication.
(Disable debug mode to suppress these details.)",
"title": "Unauthorized"
}
}
And, in the log file, I have 3 different errors:
2014-08-27 15:25:43.669 23078 DEBUG keystone.middleware.core [-] RBAC:
auth_context: {} process_request
/usr/lib/python2.6/site-packages/keystone/middleware/core.py:286
2014-08-27 15:25:43.764 23078 DEBUG keystone.common.wsgi [-] arg_dict: {}
__call__ /usr/lib/python2.6/site-packages/keystone/common/wsgi.py:181
2014-08-27 15:25:43.765 23078 WARNING keystone.common.controller [-] RBAC:
Bypassing authorization
2014-08-27 15:25:48.051 23078 DEBUG oslo.db.sqlalchemy.session [-] MySQL
server mode set to
STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
_mysql_check_effective_sql_mode
/usr/lib/python2.6/site-packages/oslo/db/sqlalchemy/session.py:401
2014-08-27 15:25:48.081 23078 WARNING keystone.common.controller [-] Invalid
token found while getting domain ID for list request
2014-08-27 15:25:48.084 23078 WARNING keystone.common.wsgi [-] Authorization
failed. The request you have made requires authentication. (Disable debug mode
to suppress these details.) (Disable debug mode to suppress these details.)
from 127.0.0.1
2014-08-27 15:25:48.090 23078 INFO eventlet.wsgi.server [-] 127.0.0.1 - -
[27/Aug/2014 15:25:48] "GET /v3/users HTTP/1.1" 401 357 4.421301
And some seconds later, keystone raises this error:
2014-08-27 15:26:35.707 23078 DEBUG keystone.middleware.core [-] Auth token
not in the request header. Will not build auth context. process_request
/usr/lib/python2.6/site-packages/keystone/middleware/core.py:276
2014-08-27 15:26:35.731 23078 DEBUG keystone.common.wsgi [-] arg_dict: {}
__call__ /usr/lib/python2.6/site-packages/keystone/common/wsgi.py:181
2014-08-27 15:26:35.741 23078 ERROR keystone.common.wsgi [-]
object.__init__() takes no parameters
2014-08-27 15:26:35.741 23078 TRACE keystone.common.wsgi Traceback (most
recent call last):
2014-08-27 15:26:35.741 23078 TRACE keystone.common.wsgi File
"/usr/lib/python2.6/site-packages/keystone/common/wsgi.py", line 212, in
__call__
2014-08-27 15:26:35.741 23078 TRACE keystone.common.wsgi result =
method(context, **params)
2014-08-27 15:26:35.741 23078 TRACE keystone.common.wsgi File
"/usr/lib/python2.6/site-packages/keystone/token/controllers.py", line 99, in
authenticate
2014-08-27 15:26:35.741 23078 TRACE keystone.common.wsgi context, auth)
2014-08-27 15:26:35.741 23078 TRACE keystone.common.wsgi File
"/usr/lib/python2.6/site-packages/keystone/token/controllers.py", line 279, in
_authenticate_local
2014-08-27 15:26:35.741 23078 TRACE keystone.common.wsgi username,
CONF.identity.default_domain_id)
2014-08-27 15:26:35.741 23078 TRACE keystone.common.wsgi File
"/usr/lib/python2.6/site-packages/keystone/identity/core.py", line 181, in
wrapper
2014-08-27 15:26:35.741 23078 TRACE keystone.common.wsgi self.driver,
self.assignment_api)
2014-08-27 15:26:35.741 23078 TRACE keystone.common.wsgi File
"/usr/lib/python2.6/site-packages/keystone/identity/core.py", line 137, in
setup_domain_drivers
2014-08-27 15:26:35.741 23078 TRACE keystone.common.wsgi
-len(DOMAIN_CONF_FTAIL)])
2014-08-27 15:26:35.741 23078 TRACE keystone.common.wsgi File
"/usr/lib/python2.6/site-packages/keystone/identity/core.py", line 116, in
_load_config
2014-08-27 15:26:35.741 23078 TRACE keystone.common.wsgi
self._load_driver(assignment_api, domain)
2014-08-27 15:26:35.741 23078 TRACE keystone.common.wsgi File
"/usr/lib/python2.6/site-packages/keystone/identity/core.py", line 93, in
_load_driver
2014-08-27 15:26:35.741 23078 TRACE keystone.common.wsgi
domain_config['cfg'].identity.driver, domain_config['cfg']))
2014-08-27 15:26:35.741 23078 TRACE keystone.common.wsgi File
"/usr/lib/python2.6/site-packages/keystone/openstack/common/importutils.py",
line 38, in import_object
2014-08-27 15:26:35.741 23078 TRACE keystone.common.wsgi return
import_class(import_str)(*args, **kwargs)
2014-08-27 15:26:35.741 23078 TRACE keystone.common.wsgi File
"/usr/lib/python2.6/site-packages/keystone/common/dependency.py", line 166, in
wrapper
2014-08-27 15:26:35.741 23078 TRACE keystone.common.wsgi
self.__wrapped_init__(*args, **kwargs)
2014-08-27 15:26:35.741 23078 TRACE keystone.common.wsgi TypeError:
object.__init__() takes no parameters
2014-08-27 15:26:35.741 23078 TRACE keystone.common.wsgi
2014-08-27 15:26:35.744 23078 INFO eventlet.wsgi.server [-] 128.142.152.106 -
- [27/Aug/2014 15:26:35] "POST /v2.0/tokens HTTP/1.1" 400 238 0.036876
After that, keystone raises this error every X seconds for ever
2014-08-27 15:26:46.683 23078 INFO eventlet.wsgi.server [-] 128.142.152.106 -
- [27/Aug/2014 15:26:46] "POST /v2.0/tokens HTTP/1.1" 500 348 0.005080
2014-08-27 15:27:02.864 23078 DEBUG keystone.middleware.core [-] Auth token
not in the request header. Will not build auth context. process_request
/usr/lib/python2.6/site-packages/keystone/middleware/core.py:276
2014-08-27 15:27:02.867 23078 DEBUG keystone.common.wsgi [-] arg_dict: {}
__call__ /usr/lib/python2.6/site-packages/keystone/common/wsgi.py:181
2014-08-27 15:27:02.868 23078 ERROR keystone.common.wsgi [-] 'driver'
2014-08-27 15:27:02.868 23078 TRACE keystone.common.wsgi Traceback (most
recent call last):
2014-08-27 15:27:02.868 23078 TRACE keystone.common.wsgi File
"/usr/lib/python2.6/site-packages/keystone/common/wsgi.py", line 212, in
__call__
2014-08-27 15:27:02.868 23078 TRACE keystone.common.wsgi result =
method(context, **params)
2014-08-27 15:27:02.868 23078 TRACE keystone.common.wsgi File
"/usr/lib/python2.6/site-packages/keystone/token/controllers.py", line 99, in
authenticate
2014-08-27 15:27:02.868 23078 TRACE keystone.common.wsgi context, auth)
2014-08-27 15:27:02.868 23078 TRACE keystone.common.wsgi File
"/usr/lib/python2.6/site-packages/keystone/token/controllers.py", line 279, in
_authenticate_local
2014-08-27 15:27:02.868 23078 TRACE keystone.common.wsgi username,
CONF.identity.default_domain_id)
2014-08-27 15:27:02.868 23078 TRACE keystone.common.wsgi File
"/usr/lib/python2.6/site-packages/keystone/identity/core.py", line 182, in
wrapper
2014-08-27 15:27:02.868 23078 TRACE keystone.common.wsgi return f(self,
*args, **kwargs)
2014-08-27 15:27:02.868 23078 TRACE keystone.common.wsgi File
"/usr/lib/python2.6/site-packages/keystone/identity/core.py", line 193, in
wrapper
2014-08-27 15:27:02.868 23078 TRACE keystone.common.wsgi return f(self,
*args, **kwargs)
2014-08-27 15:27:02.868 23078 TRACE keystone.common.wsgi File
"/usr/lib/python2.6/site-packages/keystone/identity/core.py", line 555, in
get_user_by_name
2014-08-27 15:27:02.868 23078 TRACE keystone.common.wsgi driver =
self._select_identity_driver(domain_id)
2014-08-27 15:27:02.868 23078 TRACE keystone.common.wsgi File
"/usr/lib/python2.6/site-packages/keystone/identity/core.py", line 372, in
_select_identity_driver
2014-08-27 15:27:02.868 23078 TRACE keystone.common.wsgi driver =
(self.domain_configs.get_domain_driver(domain_id) or
2014-08-27 15:27:02.868 23078 TRACE keystone.common.wsgi File
"/usr/lib/python2.6/site-packages/keystone/identity/core.py", line 145, in
get_domain_driver
2014-08-27 15:27:02.868 23078 TRACE keystone.common.wsgi return
self[domain_id]['driver']
2014-08-27 15:27:02.868 23078 TRACE keystone.common.wsgi KeyError: 'driver'
2014-08-27 15:27:02.868 23078 TRACE keystone.common.wsgi
2014-08-27 15:27:02.873 23078 INFO eventlet.wsgi.server [-] 128.142.152.106 -
- [27/Aug/2014 15:27:02] "POST /v2.0/tokens HTTP/1.1" 500 348 0.009450
It is suppose that multidomain feature is ready on Juno 2 (correct me
if I'm wrong) but I think that there are some problems. I don't know
if it is related with this bug
https://bugs.launchpad.net/keystone/+bug/1217017
To manage notifications about this bug go to:
https://bugs.launchpad.net/keystone/+bug/1362181/+subscriptions
--
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : [email protected]
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help : https://help.launchpad.net/ListHelp