yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #57085
[Bug 1517839] Re: Make CONF.set_override with parameter enforce_type=True by default
Reviewed: https://review.openstack.org/376093
Committed: https://git.openstack.org/cgit/openstack/senlin/commit/?id=80e438caaab55ec00041380b78a6d962a734690d
Submitter: Jenkins
Branch: master
commit 80e438caaab55ec00041380b78a6d962a734690d
Author: tengqm <tengqim@xxxxxxxxxx>
Date: Sun Sep 25 23:09:29 2016 -0400
Fix CONF.set_override for type enforcement
As suggested in the bug report, we are supposed to include
'enforce_type=True' when invoking CONF.set_override(). This patch fixes
the related calls in senlin unit tests.
Change-Id: I873d017dcf7de87a888c63b10f20c8921d6b23b4
Closes-Bug: 1517839
** Changed in: senlin
Status: New => Fix Released
--
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 Aodh:
In Progress
Status in Ceilometer:
In Progress
Status in Cinder:
In Progress
Status in cloudkitty:
Fix Released
Status in Designate:
Fix Released
Status in Freezer:
In Progress
Status in Glance:
Invalid
Status in glance_store:
In Progress
Status in heat:
Fix Released
Status in Ironic:
Triaged
Status in Karbor:
Fix Released
Status in OpenStack Identity (keystone):
Fix Released
Status in kolla:
New
Status in Magnum:
In Progress
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 octavia:
New
Status in oslo.config:
In Progress
Status in oslo.messaging:
Fix Released
Status in Quark: Money Reinvented:
New
Status in Rally:
Fix Released
Status in senlin:
Fix Released
Status in tacker:
In Progress
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/aodh/+bug/1517839/+subscriptions