← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1529037] Re: l3 ha add_ha_port rollback is mostly broken in create_ha_port_and_bind

 

Reviewed:  https://review.openstack.org/261238
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=a8c715ab0fae82563252e815a12ddeb37ee5cc23
Submitter: Jenkins
Branch:    master

commit a8c715ab0fae82563252e815a12ddeb37ee5cc23
Author: Kevin Benton <blak111@xxxxxxxxx>
Date:   Thu Dec 24 01:37:10 2015 -0800

    Don't call add_ha_port inside a transaction
    
    Calling add_ha_port inside a transaction will break the delete_port
    error recovery logic. This patch prevents the scheduler from doing
    that. It also adds a note to add_ha_port and a runtime check to
    prevent the function from working with an active transaction.
    
    Change-Id: I39e2bb70527a8ff4a47668f44abb81d0fede3786
    Closes-Bug: #1529037


** 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/1529037

Title:
  l3 ha add_ha_port rollback is mostly broken in create_ha_port_and_bind

Status in neutron:
  Fix Released

Bug description:
  create_ha_port_and_bind  starts a transaction and then calls
  add_ha_port.

  add_ha_port creates a port via the core plugin API and then tries to
  create a binding. If the binding fails, it tries to delete the port
  via the core plugin API. However, when called during the transaction
  in create_ha_port_and_bind, the delete_port call will fail because the
  transaction will already be in the rolled back state[1].

  This failure mode happened to sort of work by accident when running
  the reference implementation because the DB state would be rolled back
  the the port would be removed. However, the agents wouldn't be
  notified and any mechanism drivers that allocated backend resources
  for the port would not release them. It also resulted in ugly
  tracebacks.


  1. http://paste.openstack.org/show/482652/

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


References