The title for this is a little misleading. It's not the DI that is failing, it's the loading of the driver[1]. The code assumes that all of the drivers will be constructed with the config options from the domain specific config.
While the provided fix works (stops the traceback), I don't think it's the right one. The drivers should all be accepting the ConfigOpts instance in their __init__ and use it instead of the global conf. This would allow the driver to be configured by the domain specific file.
The title for this is a little misleading. It's not the DI that is failing, it's the loading of the driver[1]. The code assumes that all of the drivers will be constructed with the config options from the domain specific config.
While the provided fix works (stops the traceback), I don't think it's the right one. The drivers should all be accepting the ConfigOpts instance in their __init__ and use it instead of the global conf. This would allow the driver to be configured by the domain specific file.
1. http:// git.openstack. org/cgit/ openstack/ keystone/ tree/keystone/ identity/ core.py# n91