yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #55787
[Bug 1517839] Re: Make CONF.set_override with parameter enforce_type=True by default
** Also affects: glance-store
Importance: Undecided
Status: New
** Changed in: glance-store
Assignee: (unassigned) => Ji.Wei (jiwei)
** Also affects: ceilometer
Importance: Undecided
Status: New
** Changed in: ceilometer
Assignee: (unassigned) => Ji.Wei (jiwei)
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1517839
Title:
Make CONF.set_override with parameter enforce_type=True by default
Status in Ceilometer:
New
Status in Cinder:
In Progress
Status in cloudkitty:
Fix Released
Status in Designate:
Fix Released
Status in Glance:
New
Status in glance_store:
New
Status in heat:
Fix Released
Status in OpenStack Identity (keystone):
Fix Released
Status in Manila:
Fix Released
Status in Murano:
Fix Released
Status in neutron:
Won't Fix
Status in OpenStack Compute (nova):
Fix Released
Status in oslo.config:
In Progress
Status in oslo.messaging:
Fix Released
Status in Rally:
Fix Released
Status in watcher:
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.
[1]
https://github.com/openstack/oslo.config/blob/master/oslo_config/cfg.py#L2173
2. Proposal
1) Fix violations when enforce_type=True in each project.
2) Make method CONF.set_override with enforce_type=True by default
in oslo_config
You can find more details and comments in
https://etherpad.openstack.org/p/enforce_type_true_by_default
3. How to find violations in your projects.
1. Run tox -e py27
2. then modify oslo.config with enforce_type=True
cd .tox/py27/lib64/python2.7/site-packages/oslo_config
edit cfg.py with enforce_type=True
- def set_override(self, name, override, group=None, enforce_type=False):
+ def set_override(self, name, override, group=None, enforce_type=True):
3. Run tox -e py27 again, you will find violations.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ceilometer/+bug/1517839/+subscriptions