← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1517839] Re: Make CONF.set_override with paramter enforce_type=True by default

 

Reviewed:  https://review.openstack.org/264616
Committed: https://git.openstack.org/cgit/openstack/oslo.messaging/commit/?id=ca6c34ac71a506026d3754584de7616ad2a7d8da
Submitter: Jenkins
Branch:    master

commit ca6c34ac71a506026d3754584de7616ad2a7d8da
Author: Javeme <zhangmei.li@xxxxxxxxxxxx>
Date:   Thu Jan 7 14:59:45 2016 +0800

    make enforce_type=True in CONF.set_override
    
    Each config option has limitation for type and value. If we use
    method CONF.set_override without parameter enforce_type=True, we
    may pass wrong type to config option.
    
    This commit makes sure calling method CONF.set_override with
    enforce_type=True.
    
    Change-Id: I1430c93777d6e5d98086a8700663ab9f58c1e5ab
    Closes-Bug: #1517839


** Changed in: oslo.messaging
       Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Identity (keystone).
https://bugs.launchpad.net/bugs/1517839

Title:
  Make CONF.set_override with paramter enforce_type=True by default

Status in Gnocchi:
  In Progress
Status in OpenStack Identity (keystone):
  Fix Released
Status in oslo.config:
  New
Status in oslo.messaging:
  Fix Released
Status in Rally:
  Fix Released

Bug description:
  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

To manage notifications about this bug go to:
https://bugs.launchpad.net/gnocchi/+bug/1517839/+subscriptions