Excerpts from ChangBo Guo's message of 2015-11-17 20:29:53 +0800: > Hi ALL, > > 1. Problems : > oslo_config provides method CONF.set_override[1] , developers usually > use it to change config option's value in tests. That's convenient . > By default parameter enforce_type=False, it doesn't check any type or > value of override. If set enforce_type=True , will check parameter > override's type and value. In production code(running time code), > oslo_config always checks config option's value. > In short, we test and run code in different ways. so there's gap: > config option with wrong type or invalid value can pass tests when > parameter enforce_type = False in consuming projects. that means some > invalid or wrong tests are in our code base. > There is nova POC result when I enable "enforce_type=true" [2], and I > must fix them in [3] > > [1] > https://github.com/openstack/oslo.config/blob/master/oslo_config/cfg.py#L2173 > [2] > http://logs.openstack.org/16/242416/1/check/gate-nova-python27/97b5eff/testr_results.html.gz > [3] https://review.openstack.org/#/c/242416/ > https://review.openstack.org/#/c/242717/ > https://review.openstack.org/#/c/243061/ > > 2. Proposal > 1) Make method CONF.set_override with enforce_type=True in consuming > projects. and fix violations when enforce_type=True in each project. Tracking this to ensure we don't break anything will be important. I like the idea of changing that default. Thanks for taking on this work! Doug > > 2) Make method CONF.set_override with enforce_type=True by default in > oslo_config > > Hope some one from consuming projects can help make enforce_type=True > in consuming projects and fix violations, > > You can find more details and comments in > https://etherpad.openstack.org/p/enforce_type_true_by_default >