← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1815345] Re: neutron doesnt delete port binding level when deleting an inactive port binding

 

Reviewed:  https://review.openstack.org/634276
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=b197f7c1c4b9c0dd4c58f5c5a4b654dde5596b85
Submitter: Zuul
Branch:    master

commit b197f7c1c4b9c0dd4c58f5c5a4b654dde5596b85
Author: Adrian Chiris <adrianc@xxxxxxxxxxxx>
Date:   Thu Jan 31 18:51:33 2019 +0200

    Delete port binding level for deleted bindings
    
    Today, if live migration has failed after an inactive
    binding was created on the destination node but before
    the activation of the created binding, the port's binding level
    for the destination host is not cleared during nova's API call
    to neutron to delete the port binding.
    
    This causes future attempts to perform live migration
    of the instance to the same host to fail.
    
    This change removes port binding level object during port binding
    deletion.
    
    Closes-Bug: #1815345
    
    Change-Id: Idd55f7d24a2062c08ac8a0dc2243625632d962a5


** Changed in: neutron
       Status: In Progress => Fix Released

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

Title:
  neutron doesnt delete port binding level when deleting an inactive
  port binding

Status in neutron:
  Fix Released

Bug description:
  When performing VM live migration with a normal port (OVS mechanism
  driver) nova creates an in-active binding on the destination node then
  activates that binding upon successful migration.

  in case of failure to migrate with libvirt, an exception is raised,
  nova performs a rollback operation for the live migration and instance
  remains in running state on the source node.

  part of the rollback operation is deleting neutron's port binding on the destination node with the following API call:
  DELETE /v2.0/ports/​{port_id}​/bindings/{host_id}

  this call, for an inactive port binding (which was never activated),
  does not delete the port's binding level which causes future migration
  attempts to fail.

  Reproduction setup:
  - devstack deployment of an all in one and a compute node from master
  - OS: FC28
  - QEMU hypervisor
  - neutron OVS mechanism driver enabled
  - perform further configurations to enable live-migration : https://docs.openstack.org/nova/pike/admin/configuring-migrations.html
  - block libvirt migration port with iptables on destination node (on my setup i just needed to activate iptables on destination node)

  reproduction steps:
  http://paste.openstack.org/show/744802/

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


References