yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #00654
[Bug 1125951] Re: Some tests from test_dhcp_agent depend on each other
** Changed in: quantum
Status: Fix Committed => Fix Released
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to quantum.
https://bugs.launchpad.net/bugs/1125951
Title:
Some tests from test_dhcp_agent depend on each other
Status in OpenStack Quantum (virtual network service):
Fix Released
Bug description:
Some tests from test_dhcp_agent depend on each other and fail for
several launch orders. They may need config options that are
initialized in other tests.
Example.
1. Run only TestDhcpAgentEventHandler
$ nosetests quantum.tests.unit.test_dhcp_agent:TestDhcpAgentEventHandler
test_disable_dhcp_helper_driver_failure (quantum.tests.unit.test_dhcp_agent.TestDhcpAgentEventHandler) ... ERROR
test_disable_dhcp_helper_known_network (quantum.tests.unit.test_dhcp_agent.TestDhcpAgentEventHandler) ... ERROR
test_disable_dhcp_helper_unknown_network (quantum.tests.unit.test_dhcp_agent.TestDhcpAgentEventHandler) ... ERROR
test_enable_dhcp_helper (quantum.tests.unit.test_dhcp_agent.TestDhcpAgentEventHandler) ... ERROR
test_enable_dhcp_helper_down_network (quantum.tests.unit.test_dhcp_agent.TestDhcpAgentEventHandler) ... ERROR
test_enable_dhcp_helper_driver_failure (quantum.tests.unit.test_dhcp_agent.TestDhcpAgentEventHandler) ... ERROR
test_enable_dhcp_helper_exception_during_rpc (quantum.tests.unit.test_dhcp_agent.TestDhcpAgentEventHandler) ... ERROR
test_network_create_end (quantum.tests.unit.test_dhcp_agent.TestDhcpAgentEventHandler) ... ERROR
test_network_delete_end (quantum.tests.unit.test_dhcp_agent.TestDhcpAgentEventHandler) ... ERROR
test_network_update_end_admin_state_down (quantum.tests.unit.test_dhcp_agent.TestDhcpAgentEventHandler) ... ERROR
test_network_update_end_admin_state_up (quantum.tests.unit.test_dhcp_agent.TestDhcpAgentEventHandler) ... ERROR
test_port_delete_end (quantum.tests.unit.test_dhcp_agent.TestDhcpAgentEventHandler) ... ERROR
test_port_delete_end_unknown_port (quantum.tests.unit.test_dhcp_agent.TestDhcpAgentEventHandler) ... ERROR
test_port_update_end (quantum.tests.unit.test_dhcp_agent.TestDhcpAgentEventHandler) ... ERROR
test_refresh_dhcp_helper_exception_during_rpc (quantum.tests.unit.test_dhcp_agent.TestDhcpAgentEventHandler) ... ERROR
test_refresh_dhcp_helper_no_dhcp_enabled_networks (quantum.tests.unit.test_dhcp_agent.TestDhcpAgentEventHandler) ... ERROR
test_subnet_update_end (quantum.tests.unit.test_dhcp_agent.TestDhcpAgentEventHandler) ... ERROR
test_subnet_update_end_delete_payload (quantum.tests.unit.test_dhcp_agent.TestDhcpAgentEventHandler) ... ERROR
======================================================================
ERROR: test_disable_dhcp_helper_driver_failure (quantum.tests.unit.test_dhcp_agent.TestDhcpAgentEventHandler)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/tmp/myenv/quantum/quantum/tests/unit/test_dhcp_agent.py", line 273, in setUp
self.dhcp = dhcp_agent.DhcpAgent(cfg.CONF)
File "/tmp/myenv/quantum/quantum/agent/dhcp_agent.py", line 68, in __init__
self.lease_relay = DhcpLeaseRelay(self.update_lease)
File "/tmp/myenv/quantum/quantum/agent/dhcp_agent.py", line 504, in __init__
dirname = os.path.dirname(cfg.CONF.dhcp_lease_relay_socket)
File "/tmp/myenv/quantum/quantum/openstack/common/cfg.py", line 1150, in __getattr__
return self._get(name)
File "/tmp/myenv/quantum/quantum/openstack/common/cfg.py", line 1454, in _get
value = self._substitute(self._do_get(name, group))
File "/tmp/myenv/quantum/quantum/openstack/common/cfg.py", line 1470, in _do_get
info = self._get_opt_info(name, group)
File "/tmp/myenv/quantum/quantum/openstack/common/cfg.py", line 1570, in _get_opt_info
raise NoSuchOptError(opt_name, group)
NoSuchOptError: no such option: dhcp_lease_relay_socket
2. Run only TestDhcpAgent
$ nosetests quantum.tests.unit.test_dhcp_agent:TestDhcpAgent
test_call_driver (quantum.tests.unit.test_dhcp_agent.TestDhcpAgent) ... ok
test_call_driver_failure (quantum.tests.unit.test_dhcp_agent.TestDhcpAgent) ... ok
test_dhcp_agent_main (quantum.tests.unit.test_dhcp_agent.TestDhcpAgent) ... ok
test_periodic_resync (quantum.tests.unit.test_dhcp_agent.TestDhcpAgent) ... ERROR
test_periodoc_resync_helper (quantum.tests.unit.test_dhcp_agent.TestDhcpAgent) ... ERROR
test_run_completes_single_pass (quantum.tests.unit.test_dhcp_agent.TestDhcpAgent) ... ok
test_sync_state_disabled_net (quantum.tests.unit.test_dhcp_agent.TestDhcpAgent) ... ERROR
test_sync_state_initial (quantum.tests.unit.test_dhcp_agent.TestDhcpAgent) ... ERROR
test_sync_state_plugin_error (quantum.tests.unit.test_dhcp_agent.TestDhcpAgent) ... ERROR
test_sync_state_same (quantum.tests.unit.test_dhcp_agent.TestDhcpAgent) ... ERROR
test_update_lease (quantum.tests.unit.test_dhcp_agent.TestDhcpAgent) ... ERROR
test_update_lease_failure (quantum.tests.unit.test_dhcp_agent.TestDhcpAgent) ... ERROR
======================================================================
ERROR: test_periodic_resync (quantum.tests.unit.test_dhcp_agent.TestDhcpAgent)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/tmp/myenv/quantum/quantum/tests/unit/test_dhcp_agent.py", line 234, in test_periodic_resync
dhcp = dhcp_agent.DhcpAgent(cfg.CONF)
File "/tmp/myenv/quantum/quantum/agent/dhcp_agent.py", line 66, in __init__
self.device_manager = DeviceManager(self.conf, self.plugin_rpc)
File "/tmp/myenv/quantum/quantum/agent/dhcp_agent.py", line 398, in __init__
if not conf.interface_driver:
File "/tmp/myenv/quantum/quantum/openstack/common/cfg.py", line 1150, in __getattr__
return self._get(name)
File "/tmp/myenv/quantum/quantum/openstack/common/cfg.py", line 1454, in _get
value = self._substitute(self._do_get(name, group))
File "/tmp/myenv/quantum/quantum/openstack/common/cfg.py", line 1470, in _do_get
info = self._get_opt_info(name, group)
File "/tmp/myenv/quantum/quantum/openstack/common/cfg.py", line 1570, in _get_opt_info
raise NoSuchOptError(opt_name, group)
NoSuchOptError: no such option: interface_driver
And so on.
These problems can be fixed easily (just register necessary options in
setUp):
--- a/quantum/tests/unit/test_dhcp_agent.py
+++ b/quantum/tests/unit/test_dhcp_agent.py
@@ -85,6 +85,7 @@ fake_down_network = FakeModel('12345678-dddd-dddd-1234567890ab',
class TestDhcpAgent(unittest.TestCase):
def setUp(self):
+ cfg.CONF.register_opts(dhcp_agent.DeviceManager.OPTS)
cfg.CONF.register_opts(dhcp_agent.DhcpAgent.OPTS)
cfg.CONF.register_opts(dhcp_agent.DhcpLeaseRelay.OPTS)
self.driver_cls_p = mock.patch(
@@ -251,6 +252,7 @@ class TestDhcpAgent(unittest.TestCase):
class TestDhcpAgentEventHandler(unittest.TestCase):
def setUp(self):
cfg.CONF.register_opts(dhcp_agent.DeviceManager.OPTS)
+ cfg.CONF.register_opts(dhcp_agent.DhcpLeaseRelay.OPTS)
cfg.CONF.set_override('interface_driver',
'quantum.agent.linux.interface.NullDriver')
To manage notifications about this bug go to:
https://bugs.launchpad.net/quantum/+bug/1125951/+subscriptions