** Description changed:
+ [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- 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.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
** Summary changed:
- DHCP agent: interface unplug leads to exception
+ [SRU] DHCP agent: interface unplug leads to exception
** Patch added: "lp1498370.debdiff"
https://bugs.launchpad.net/ubuntu/vivid/+source/neutron/+bug/1498370/+attachment/4516815/+files/lp1498370.debdiff
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1498370
Title:
[SRU] DHCP agent: interface unplug leads to exception
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1498370/+subscriptions
--
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs