On 8/7/2014 10:27 AM, 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.

Surely you mean:

if arg is not None:

right?! I'm pretty sure there is a hacking check for that now too...




Matt Riedemann

OpenStack-dev mailing list

Reply via email to