Problem Description: The new multi-domain functionality breaks when you configure both an SQL domain and an LDAP domain in directory "keystone/domains". Specifically, when you configure file "keystone/domains/keystone.Default.conf" to use SQL. File "keystone/keystone.conf" excerpt: [identity] domain_specific_drivers_enabled = True domain_config_dir = /etc/keystone/domains File "keystone/domains/keystone.Default.conf": [assignment] driver = keystone.assignment.backends.sql.Assignment [identity] driver = keystone.identity.backends.sql.Identity [ldap] Without the fix previously described, you get the following error: 2013-08-28 15:26:33,776 INFO sqlalchemy.engine.base.Engine SELECT domain.id AS domain_id, domain.name AS domain_name, domain.enabled AS domain_enabled, domain.extra AS domain_extra FROM domain WHERE domain.name = %s 2013-08-28 15:26:33 INFO [sqlalchemy.engine.base.Engine] SELECT domain.id AS domain_id, domain.name AS domain_name, domain.enabled AS domain_enabled, domain.extra AS domain_extra FROM domain WHERE domain.name = %s 2013-08-28 15:26:33,777 INFO sqlalchemy.engine.base.Engine ('MyDomain',) 2013-08-28 15:26:33 INFO [sqlalchemy.engine.base.Engine] ('MyDomain',) 2013-08-28 15:26:33,780 INFO sqlalchemy.engine.base.Engine SELECT project.id AS project_id, project.name AS project_name, project.domain_id AS project_domain_id, project.description AS project_description, project.enabled AS project_enabled, project.extra AS project_extra FROM project WHERE project.name = %s AND project.domain_id = %s 2013-08-28 15:26:33 INFO [sqlalchemy.engine.base.Engine] SELECT project.id AS project_id, project.name AS project_name, project.domain_id AS project_domain_id, project.description AS project_description, project.enabled AS project_enabled, project.extra AS project_extra FROM project WHERE project.name = %s AND project.domain_id = %s 2013-08-28 15:26:33,781 INFO sqlalchemy.engine.base.Engine ('myapp', '464bdc5784a446378a85f99a25d216b4') 2013-08-28 15:26:33 INFO [sqlalchemy.engine.base.Engine] ('myapp', '464bdc5784a446378a85f99a25d216b4') 2013-08-28 15:26:33,784 INFO sqlalchemy.engine.base.Engine SELECT domain.id AS domain_id, domain.name AS domain_name, domain.enabled AS domain_enabled, domain.extra AS domain_extra FROM domain WHERE domain.name = %s 2013-08-28 15:26:33 INFO [sqlalchemy.engine.base.Engine] SELECT domain.id AS domain_id, domain.name AS domain_name, domain.enabled AS domain_enabled, domain.extra AS domain_extra FROM domain WHERE domain.name = %s 2013-08-28 15:26:33,785 INFO sqlalchemy.engine.base.Engine ('Default',) 2013-08-28 15:26:33 INFO [sqlalchemy.engine.base.Engine] ('Default',) 2013-08-28 15:26:33 ERROR [keystone.common.wsgi] object.__init__() takes no parameters Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/keystone/common/wsgi.py", line 237, in __call__ result = method(context, **params) File "/usr/local/lib/python2.7/dist-packages/keystone/auth/controllers.py", line 287, in authenticate_for_token self.authenticate(context, auth_info, auth_context) File "/usr/local/lib/python2.7/dist-packages/keystone/auth/controllers.py", line 344, in authenticate auth_context) File "/usr/local/lib/python2.7/dist-packages/keystone/auth/plugins/password.py", line 103, in authenticate user_info = UserAuthInfo(auth_payload) File "/usr/local/lib/python2.7/dist-packages/keystone/auth/plugins/password.py", line 34, in __init__ self._validate_and_normalize_auth_data(auth_payload) File "/usr/local/lib/python2.7/dist-packages/keystone/auth/plugins/password.py", line 87, in _validate_and_normalize_auth_data user_ref = self.identity_api.get_user(user_id) File "/usr/local/lib/python2.7/dist-packages/keystone/identity/core.py", line 168, in wrapper self.driver, self.assignment_api) File "/usr/local/lib/python2.7/dist-packages/keystone/identity/core.py", line 124, in setup_domain_drivers names[1]) File "/usr/local/lib/python2.7/dist-packages/keystone/identity/core.py", line 104, in _load_config self._load_driver(assignment_api, domain) File "/usr/local/lib/python2.7/dist-packages/keystone/identity/core.py", line 81, in _load_driver domain_config['cfg'].identity.driver, domain_config['cfg'])) File "/usr/local/lib/python2.7/dist-packages/keystone/openstack/common/importutils.py", line 40, in import_object return import_class(import_str)(*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/keystone/common/dependency.py", line 51, in wrapper self.__wrapped_init__(*args, **kwargs) TypeError: object.__init__() takes no parameters