← 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/263031
Committed: https://git.openstack.org/cgit/openstack/keystone/commit/?id=9ec0f3317bfb92f4f2244752f66dc1a5bb91e40b
Submitter: Jenkins
Branch:    master

commit 9ec0f3317bfb92f4f2244752f66dc1a5bb91e40b
Author: LiuNanke <nanke.liu@xxxxxxxxxxxx>
Date:   Sun Jan 3 20:35:00 2016 +0800

    Test: make enforce_type=True in CONF.set_override
    
    each config option has limitation for type and value.
    In production code, oslo.conf can ensure user's input
    is valid, but in unit test, test methods can pass if
    we use method CONF.set_override without parameter
    enforce_type=True even we pass wrong type or wrong
    value to config option. This commit makes sure calling
    method CONF.set_override with enforce_type=True.
    
    Change-Id: I52fdc7ed9f74f80814fbafd00625dcdd5597ba0e
    Closes-bug: #1517839


** Changed in: keystone
       Status: New => 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 OpenStack Identity (keystone):
  Fix Released
Status in oslo.config:
  New
Status in Rally:
  Triaged

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/keystone/+bug/1517839/+subscriptions