Reviewed: https://review.openstack.org/557003 Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=a1b49c796e44df35318fc35327b132aae22dce48 Submitter: Zuul Branch: master
commit a1b49c796e44df35318fc35327b132aae22dce48 Author: Ihar Hrachyshka <ihrac...@redhat.com> Date: Tue Mar 27 11:32:37 2018 -0700 Don't define polling_interval option in two places The option is currently defined in two places - as a generic agent option and as a sriov agent specific one. This is a problem now that oslo.config tracks location where options are defined (I6dec1e09dcab203c6287f9c56c866f220a42f850) because when unit test runner imports all modules, it registers the option from those two separate locations, and since locations are different, it's considered the options are duplicate, which results in the following error: DuplicateOptError: duplicate option: polling_interval To fix the issue, I removed the definition of the option from sriov module and made sure the common agent options are registered whenever the sriov module is imported. Change-Id: I485532692f4b3a5804885e0325a8352fe6b1aa65 Closes-Bug: #1759345 ** Changed in: neutron Status: In Progress => 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/1759345 Title: -with-oslo-master job fails with DuplicateOptError: duplicate option: polling_interval Status in neutron: Fix Released Bug description: http://logs.openstack.org/periodic/git.openstack.org/openstack/neutron/master /openstack-tox-py27-with-oslo-master/f65fec8/job-output.txt.gz 2018-03-27 06:16:32.984356 | ubuntu-xenial | --- import errors --- 2018-03-27 06:16:32.984599 | ubuntu-xenial | Failed to import test module: neutron.tests.unit.plugins.ml2.drivers.mech_sriov.agent.common.test_config 2018-03-27 06:16:32.984708 | ubuntu-xenial | Traceback (most recent call last): 2018-03-27 06:16:32.985036 | ubuntu-xenial | File "/home/zuul/src/git.openstack.org/openstack/neutron/.tox/py27/local/lib/python2.7/site-packages/unittest2/loader.py", line 456, in _find_test_path 2018-03-27 06:16:32.985174 | ubuntu-xenial | module = self._get_module_from_name(name) 2018-03-27 06:16:32.985496 | ubuntu-xenial | File "/home/zuul/src/git.openstack.org/openstack/neutron/.tox/py27/local/lib/python2.7/site-packages/unittest2/loader.py", line 395, in _get_module_from_name 2018-03-27 06:16:32.985563 | ubuntu-xenial | __import__(name) 2018-03-27 06:16:32.985804 | ubuntu-xenial | File "neutron/tests/unit/plugins/ml2/drivers/mech_sriov/agent/common/test_config.py", line 21, in <module> 2018-03-27 06:16:32.985993 | ubuntu-xenial | from neutron.plugins.ml2.drivers.mech_sriov.agent.common import config 2018-03-27 06:16:32.986193 | ubuntu-xenial | File "neutron/plugins/ml2/drivers/mech_sriov/agent/common/config.py", line 57, in <module> 2018-03-27 06:16:32.986351 | ubuntu-xenial | agent_common_config.register_agent_sriov_nic_opts() 2018-03-27 06:16:32.986588 | ubuntu-xenial | File "neutron/conf/plugins/ml2/drivers/mech_sriov/agent_common.py", line 56, in register_agent_sriov_nic_opts 2018-03-27 06:16:32.986717 | ubuntu-xenial | cfg.register_opts(agent_opts, 'AGENT') 2018-03-27 06:16:32.987017 | ubuntu-xenial | File "/home/zuul/src/git.openstack.org/openstack/neutron/.tox/py27/local/lib/python2.7/site-packages/oslo_config/cfg.py", line 2416, in __inner 2018-03-27 06:16:32.987129 | ubuntu-xenial | result = f(self, *args, **kwargs) 2018-03-27 06:16:32.987458 | ubuntu-xenial | File "/home/zuul/src/git.openstack.org/openstack/neutron/.tox/py27/local/lib/python2.7/site-packages/oslo_config/cfg.py", line 2614, in register_opts 2018-03-27 06:16:32.987604 | ubuntu-xenial | self.register_opt(opt, group, clear_cache=False) 2018-03-27 06:16:32.987969 | ubuntu-xenial | File "/home/zuul/src/git.openstack.org/openstack/neutron/.tox/py27/local/lib/python2.7/site-packages/oslo_config/cfg.py", line 2420, in __inner 2018-03-27 06:16:32.988101 | ubuntu-xenial | return f(self, *args, **kwargs) 2018-03-27 06:16:32.988437 | ubuntu-xenial | File "/home/zuul/src/git.openstack.org/openstack/neutron/.tox/py27/local/lib/python2.7/site-packages/oslo_config/cfg.py", line 2590, in register_opt 2018-03-27 06:16:32.988546 | ubuntu-xenial | return group._register_opt(opt, cli) 2018-03-27 06:16:32.988847 | ubuntu-xenial | File "/home/zuul/src/git.openstack.org/openstack/neutron/.tox/py27/local/lib/python2.7/site-packages/oslo_config/cfg.py", line 1886, in _register_opt 2018-03-27 06:16:32.988952 | ubuntu-xenial | if _is_opt_registered(self._opts, opt): 2018-03-27 06:16:32.989257 | ubuntu-xenial | File "/home/zuul/src/git.openstack.org/openstack/neutron/.tox/py27/local/lib/python2.7/site-packages/oslo_config/cfg.py", line 801, in _is_opt_registered 2018-03-27 06:16:32.989352 | ubuntu-xenial | raise DuplicateOptError(opt.name) 2018-03-27 06:16:32.989475 | ubuntu-xenial | DuplicateOptError: duplicate option: polling_interval It happens because test runner imports two different modules with the same option defined. This is a problem now that oslo.config tracks location of option definitions and consider it a conflict if the same option is declared in different locations. (The trigger is https://review.openstack.org/#/c/537399/) To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/1759345/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp