Importing horizon.utils from dashboard local_settings.py to generate
SECRET_KEY results in a sequence of imports, and horizon.conf.default
module gets imported at some point. During initialization of default
HORIZON_CONFIG this module uses settings.LOGIN_REDIRECT_URL and
ugettext() call. Both of them need django settings to be ready to use,
therefore settings initialization starts again before it could finish.
Since Python processes module only when it is imported the first time,
this process stops, but the 'inner' settings object contains only
parameters that were set above the point of import of local_settings.
Therefore Django complains about missing SECRET_KEY when it processes
'inner' settings. Also, logging is configured twice: the first time with default
Django parameters and the second time with those specified in settings,
so effectively parameters are combined.
Reviewed: https:/ /review. openstack. org/23958 github. com/openstack/ horizon/ commit/ 50c21151b54759d 297fdbef222aaa4 5c17f70027
Committed: http://
Submitter: Jenkins
Branch: master
commit 50c21151b54759d 297fdbef222aaa4 5c17f70027
Author: Alexey Izbyshev <email address hidden>
Date: Fri Mar 8 23:42:11 2013 +0400
Fix circular dependencies in dashboard settings
Importing horizon.utils from dashboard local_settings.py to generate conf.default LOGIN_REDIRECT_ URL and
SECRET_KEY results in a sequence of imports, and horizon.
module gets imported at some point. During initialization of default
HORIZON_CONFIG this module uses settings.
ugettext() call. Both of them need django settings to be ready to use,
therefore settings initialization starts again before it could finish.
Since Python processes module only when it is imported the first time,
this process stops, but the 'inner' settings object contains only
parameters that were set above the point of import of local_settings.
Therefore Django complains about missing SECRET_KEY when it processes
'inner' settings.
The fix moves the import of horizon. conf.default to ._setup( ). If keys of HORIZON_CONFIG obtained from
LazySetting
horizon.conf are not used within openstask_dashboard settings.py
or local_settings.py, the circular import won't happen.
Fixes bug #1154564
Change-Id: If63ab1920ecc8e 646fd5b6cc52c10 6ae0876fa2d