[openstack-dev] [all][oslo] Disable option value interpolation in oslo.config

ChangBo Guo glongwave at gmail.com
Fri Jul 8 14:14:20 UTC 2016


I have been working a bug [1] about option value interpolation in
oslo.config[2], in short, option value interpolation can't handle password
containing special characters from environment variable and I  proposed a
fix of provide way to forbid option value interpolation explicitly[3].

copy of Doug Hellmann's coments:

"The problem is that the end user who is setting the value of the option
cannot control whether the option will do interpolation or not. So the
programmer who defines the option has to make that choice, and then we
can't change it because that would break existing deployments. The result
is that end users won't know for any given option whether interpolation
works or not, and if not why (did they do something wrong, or is it not

I've set -2 on this patch because I think it's a bad approach. I see 2
other ways we could solve the problem you describe (and I agree that it's
an issue we should help with).

1. We could have an option that turns off interpolation globally, and let
the user control that by setting the flag in their configuration file. I'm
not sure I like this, but it does give you what you're looking for at the
risk of breaking applications that are relying on interpolation, like the
nova example.

2. We could disable interpolation when we get values from environment
variables. That would be a big behavioral change, so we would need to think
about how to roll it out carefully. For example, do we provide a helper
function to give to application developers who are setting default values
to environment variables so the variable value can be escaped to avoid
interpolation? Or do we build it into the Opt class somehow? I think I like
the helper function approach but we should give it more thought."
I would like to collect more suggestions to decide the direction to fix
similar bug. Any thoughts ?


ChangBo Guo(gcb)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20160708/29c61217/attachment.html>

More information about the OpenStack-dev mailing list