On 07/08/14 16:27, Kevin L. Mitchell wrote: > On Thu, 2014-08-07 at 12:15 +0100, Matthew Booth wrote: >> A (the?) solution is to register_opts() in foo before importing any >> modules which might also use oslo.config. > > Actually, I disagree. The real problem here is the definition of > bar_func(). The default value of the parameter "arg" will likely always > be the default value of foo_opt, rather than the configured value, > because "CONF.foo_opt" will be evaluated at module load time. The way > bar_func() should be defined would be: > > def bar_func(arg=None): > if not arg: > arg = CONF.foo_opt > … > > That ensures that arg will be the configured value, and should also > solve the import conflict.
That's different behaviour, because you can no longer pass arg=None. The fix isn't to change the behaviour of the code. Matt -- Matthew Booth Red Hat Engineering, Virtualisation Team Phone: +442070094448 (UK) GPG ID: D33C3490 GPG FPR: 3733 612D 2D05 5458 8A8A 1600 3441 EA19 D33C 3490 _______________________________________________ OpenStack-dev mailing list OpenStackemail@example.com http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev