Public bug reported: Scenario: Delete 10 subnets in the same network at concurrency, every thread will delete ip that belongs to the deleting subnet on the dhcp port, than neutron-server will send delete-sbunet notification to dhcp agent, dhcp agent restart the network configuration.
Steps: In thread(A), dhcp agent received the delete-subnet(A) notification, than requests the newest dhcp port and subnets information from neutron- server. In thread(B), neutron-server just deleted ips that belogs to the deleting subnet(B) on dhcp port, but the subnet(B) still exist. In thread(A), dhcp agent recieved the newest dhcp port and subnets information from neutron-server, than it find subnet(B) exists, but dhcp port doesn't have fixed_ip under the subnet(B), the fixed_ip had deleted in thread(B). In this case, dhcp agent will request neutron-server to allocat a fresh IP for subnet(B). https://github.com/openstack/neutron/blob/master/neutron/agent/linux/dhcp.py : _setup_existing_dhcp_port ** Affects: neutron Importance: Undecided Status: New ** Summary changed: - delete-subnets in one network at concurrency, dhcp port may be reallocated ip in deleting subnet + delete-subnets in the same network at concurrency, dhcp port may be reallocated ip in deleting subnet ** Description changed: Scenario: - Delete 10 subnets in the same network at concurrency, every thread will delete ip that belongs to the deleting subnet on the dhcp port, than neutron-server will send delete-sbunet notification to dhcp agent, dhcp agent restart the network configuration. + Delete 10 subnets in the same network at concurrency, every thread will delete ip that belongs to the deleting subnet on the dhcp port, than neutron-server will send delete-sbunet notification to dhcp agent, dhcp agent restart the network configuration. Steps: - In thread(A), dhcp agent received the delete-subnet(A) notification, + In thread(A), dhcp agent received the delete-subnet(A) notification, than requests the newest dhcp port and subnets information from neutron- server. - In thread(B), neutron-server just deleted ips that belogs to the + In thread(B), neutron-server just deleted ips that belogs to the deleting subnet(B) on dhcp port, but the subnet(B) still exist. - In thread(A), dhcp agent recieved the newest dhcp port and subnets + In thread(A), dhcp agent recieved the newest dhcp port and subnets information from neutron-server, than it find subnet(B) exists, but dhcp - port doesn't have fixed_ip under the subnet. + port doesn't have fixed_ip under the subnet(B). In this case, dhcp agent will request neutron-server to allocat a fresh IP for subnet(B). https://github.com/openstack/neutron/blob/master/neutron/agent/linux/dhcp.py : _setup_existing_dhcp_port ** Description changed: Scenario: Delete 10 subnets in the same network at concurrency, every thread will delete ip that belongs to the deleting subnet on the dhcp port, than neutron-server will send delete-sbunet notification to dhcp agent, dhcp agent restart the network configuration. Steps: In thread(A), dhcp agent received the delete-subnet(A) notification, than requests the newest dhcp port and subnets information from neutron- server. In thread(B), neutron-server just deleted ips that belogs to the deleting subnet(B) on dhcp port, but the subnet(B) still exist. In thread(A), dhcp agent recieved the newest dhcp port and subnets information from neutron-server, than it find subnet(B) exists, but dhcp - port doesn't have fixed_ip under the subnet(B). + port doesn't have fixed_ip under the subnet(B), the fixed_ip has deleted + in thread(B). In this case, dhcp agent will request neutron-server to allocat a fresh IP for subnet(B). https://github.com/openstack/neutron/blob/master/neutron/agent/linux/dhcp.py : _setup_existing_dhcp_port -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to neutron. https://bugs.launchpad.net/bugs/1828755 Title: delete-subnets in the same network at concurrency, dhcp port may be reallocated ip in deleting subnet Status in neutron: New Bug description: Scenario: Delete 10 subnets in the same network at concurrency, every thread will delete ip that belongs to the deleting subnet on the dhcp port, than neutron-server will send delete-sbunet notification to dhcp agent, dhcp agent restart the network configuration. Steps: In thread(A), dhcp agent received the delete-subnet(A) notification, than requests the newest dhcp port and subnets information from neutron-server. In thread(B), neutron-server just deleted ips that belogs to the deleting subnet(B) on dhcp port, but the subnet(B) still exist. In thread(A), dhcp agent recieved the newest dhcp port and subnets information from neutron-server, than it find subnet(B) exists, but dhcp port doesn't have fixed_ip under the subnet(B), the fixed_ip had deleted in thread(B). In this case, dhcp agent will request neutron-server to allocat a fresh IP for subnet(B). https://github.com/openstack/neutron/blob/master/neutron/agent/linux/dhcp.py : _setup_existing_dhcp_port To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/1828755/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

