← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1979072] [NEW] Duplicated port binding registers per port, due to live-migration failures

 

Public bug reported:

Related bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1955031

Description:
This issue has been reported frequently by our customers. If during a live migration [1] Neutron does not respond fast enough and fails during the activation step, the live migration process is reverted. The VM will continue running in the source host. However this process can leave a leftover in the Neutron database: two port binding registers pointing to the same port. Database will look like [2].

If Nova tries to bind the port again, Neutron will raise an error [3].

Steps to Reproduce:
1. Put some sleep, like 120 seconds, in Neutron activate method [4].
2. Run live migration
3. Observe ml2_port_bindings table for the VM port

This bug proposes:
- To have a periodic worker (same as OVN mech driver "MaintenanceWorker" or "DbQuotaNoLockDriver" periodic worker) loaded when "Ml2Plugin" starts.
- Add a task inside this periodic worker to monitor the port binding table, looking for duplicated records. Of course, we should not interfere any migration process. Those duplicated port binding registers should 


[1]https://specs.openstack.org/openstack/neutron-specs/_images/seqdiag-7d93af8770687c1a95685208b8e6ca0553a8fb25.png
[2]https://paste.opendev.org/show/b4Kb8VTlBHlRERjzcBFA/
[3]https://paste.opendev.org/show/bsT0hGiZGKT2ihWzbPfx/
[4]https://github.com/openstack/neutron/blob/150396625aaa870640a6fb9d636aeb90cea4da3e/neutron/plugins/ml2/plugin.py#L2556

** Affects: neutron
     Importance: Undecided
     Assignee: Rodolfo Alonso (rodolfo-alonso-hernandez)
         Status: New

** Changed in: neutron
     Assignee: (unassigned) => Rodolfo Alonso (rodolfo-alonso-hernandez)

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1979072

Title:
  Duplicated port binding registers per port, due to live-migration
  failures

Status in neutron:
  New

Bug description:
  Related bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1955031

  Description:
  This issue has been reported frequently by our customers. If during a live migration [1] Neutron does not respond fast enough and fails during the activation step, the live migration process is reverted. The VM will continue running in the source host. However this process can leave a leftover in the Neutron database: two port binding registers pointing to the same port. Database will look like [2].

  If Nova tries to bind the port again, Neutron will raise an error [3].

  Steps to Reproduce:
  1. Put some sleep, like 120 seconds, in Neutron activate method [4].
  2. Run live migration
  3. Observe ml2_port_bindings table for the VM port

  This bug proposes:
  - To have a periodic worker (same as OVN mech driver "MaintenanceWorker" or "DbQuotaNoLockDriver" periodic worker) loaded when "Ml2Plugin" starts.
  - Add a task inside this periodic worker to monitor the port binding table, looking for duplicated records. Of course, we should not interfere any migration process. Those duplicated port binding registers should 

  
  [1]https://specs.openstack.org/openstack/neutron-specs/_images/seqdiag-7d93af8770687c1a95685208b8e6ca0553a8fb25.png
  [2]https://paste.opendev.org/show/b4Kb8VTlBHlRERjzcBFA/
  [3]https://paste.opendev.org/show/bsT0hGiZGKT2ihWzbPfx/
  [4]https://github.com/openstack/neutron/blob/150396625aaa870640a6fb9d636aeb90cea4da3e/neutron/plugins/ml2/plugin.py#L2556

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1979072/+subscriptions