yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #42021
[Bug 1498370] Re: [SRU] DHCP agent: interface unplug leads to exception
This bug was fixed in the package neutron - 1:2015.1.2-0ubuntu2
---------------
neutron (1:2015.1.2-0ubuntu2) vivid; urgency=medium
* Fix DHCP agent delete non-existant interface (LP: #1498370)
- d/p/dhcp-protect-against-case-when-device-name-is-none.patch
-- Edward Hope-Morley <edward.hope-morley@xxxxxxxxxxxxx> Tue, 10 Nov
2015 00:11:31 +0000
** Changed in: neutron (Ubuntu Vivid)
Status: Fix Committed => 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/1498370
Title:
[SRU] DHCP agent: interface unplug leads to exception
Status in neutron:
Fix Released
Status in neutron package in Ubuntu:
Fix Released
Status in neutron source package in Trusty:
New
Status in neutron source package in Vivid:
Fix Released
Status in neutron source package in Wily:
Fix Released
Status in neutron source package in Xenial:
Fix Released
Bug description:
[Impact]
There are edge cases when the DHCP agent attempts to unplug an interface
and the device does not exist. This patch ensures that the agent can
tolerate this case.
[Test Case]
* create subnet with dhcp enabled
* set pdb.set_trace() in neutron.agent.linux.dhcp.DeviceManager.destroy()
* manually delete ns-<id> device in tenant namespace
* pdb continue and should not raise any error
[Regression Potential]
None
2015-09-22 01:23:42.612 ERROR neutron.agent.dhcp.agent [-] Unable to disable dhcp for c543db4d-e077-488f-b58c-5805f63f86b6.
2015-09-22 01:23:42.612 TRACE neutron.agent.dhcp.agent Traceback (most recent call last):
2015-09-22 01:23:42.612 TRACE neutron.agent.dhcp.agent File "/opt/stack/neutron/neutron/agent/dhcp/agent.py", line 115, in call_driver
2015-09-22 01:23:42.612 TRACE neutron.agent.dhcp.agent getattr(driver, action)(**action_kwargs)
2015-09-22 01:23:42.612 TRACE neutron.agent.dhcp.agent File "/opt/stack/neutron/neutron/agent/linux/dhcp.py", line 221, in disable
2015-09-22 01:23:42.612 TRACE neutron.agent.dhcp.agent self._destroy_namespace_and_port()
2015-09-22 01:23:42.612 TRACE neutron.agent.dhcp.agent File "/opt/stack/neutron/neutron/agent/linux/dhcp.py", line 226, in _destroy_namespace_and_port
2015-09-22 01:23:42.612 TRACE neutron.agent.dhcp.agent self.device_manager.destroy(self.network, self.interface_name)
2015-09-22 01:23:42.612 TRACE neutron.agent.dhcp.agent File "/opt/stack/neutron/neutron/agent/linux/dhcp.py", line 1223, in destroy
2015-09-22 01:23:42.612 TRACE neutron.agent.dhcp.agent self.driver.unplug(device_name, namespace=network.namespace)
2015-09-22 01:23:42.612 TRACE neutron.agent.dhcp.agent File "/opt/stack/neutron/neutron/agent/linux/interface.py", line 358, in unplug
2015-09-22 01:23:42.612 TRACE neutron.agent.dhcp.agent tap_name = self._get_tap_name(device_name, prefix)
2015-09-22 01:23:42.612 TRACE neutron.agent.dhcp.agent File "/opt/stack/neutron/neutron/agent/linux/interface.py", line 299, in _get_tap_name
2015-09-22 01:23:42.612 TRACE neutron.agent.dhcp.agent dev_name = dev_name.replace(prefix or self.DEV_NAME_PREFIX,
2015-09-22 01:23:42.612 TRACE neutron.agent.dhcp.agent AttributeError: 'NoneType' object has no attribute 'replace'
2015-09-22 01:23:42.612 TRACE neutron.agent.dhcp.agent
2015-09-22 01:23:42.616 INFO neutron.agent.dhcp.agent [-] Synchronizing state complete
The reason is the device is None
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1498370/+subscriptions
References