Public bug reported: Current DHCP port management in Neutron makes the server to clear the device_id while the agent is responsible for setting it.
This may cause a potential race condition, for example during network rescheduling. The server aims to clear the device_id on a DHCP port and assign the network to another agent while the old agent might just be taking possession of the port. If the DHCP agent takes possession of the port (i.e., update port...set the device_id) before the server clears it, then there is no issue. However, if this happens after the clear operation by server then the DHCP port would be updated/marked to be owned by the old agent. When the new agent takes over the network scheduled to it, it won't be able to find a port to reuse so that an extra port might need to be created. This leads to two issues: 1) an extra port is created and never deleted; 2) the extra port creation may fail if there are no available IP addresses. ** Affects: neutron Importance: Undecided Assignee: Kailun Qin (kailun.qin) Status: New ** Changed in: neutron Assignee: (unassigned) => Kailun Qin (kailun.qin) -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to neutron. https://bugs.launchpad.net/bugs/1795126 Title: Race condition of DHCP agent updating port after ownership removed and given to another agent will cause extra port creation Status in neutron: New Bug description: Current DHCP port management in Neutron makes the server to clear the device_id while the agent is responsible for setting it. This may cause a potential race condition, for example during network rescheduling. The server aims to clear the device_id on a DHCP port and assign the network to another agent while the old agent might just be taking possession of the port. If the DHCP agent takes possession of the port (i.e., update port...set the device_id) before the server clears it, then there is no issue. However, if this happens after the clear operation by server then the DHCP port would be updated/marked to be owned by the old agent. When the new agent takes over the network scheduled to it, it won't be able to find a port to reuse so that an extra port might need to be created. This leads to two issues: 1) an extra port is created and never deleted; 2) the extra port creation may fail if there are no available IP addresses. To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/1795126/+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