← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1828755] [NEW] delete-subnets in the same network at concurrency, dhcp port may be reallocated ip in deleting subnet

 

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