[openstack-dev] [oslo][All] Make CONF.set_override with paramter enforce_type=True by default

Doug Hellmann doug at doughellmann.com
Wed Nov 18 17:47:44 UTC 2015


Excerpts from Markus Zoeller's message of 2015-11-17 18:10:14 +0100:
> ChangBo Guo <glongwave at gmail.com> wrote on 11/17/2015 01:29:53 PM:
> 
> > From: ChangBo Guo <glongwave at gmail.com>
> > To: "OpenStack Development Mailing List (not for usage questions)" 
> > <openstack-dev at lists.openstack.org>
> > Date: 11/17/2015 01:37 PM
> > Subject: [openstack-dev] [oslo][All] Make CONF.set_override with 
> > paramter enforce_type=True by default
> > 
> > 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.
> > 
> >   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
> > 
> > -- 
> > ChangBo Guo(gcb)
> 
> 
> Does it make sense to introduce a hacking check when your changes are
> merged? To prevent that new things slip in in Nova during the time period
> until "oslo.config" changes the default value?

Good suggestion! I found that to be a big help when removing the namespace
packages from the Oslo libs during Kilo.

Doug

> 
> Regards, Markus Zoeller (markus_z)
> 



More information about the OpenStack-dev mailing list