yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #43737
[Bug 1529037] [NEW] l3 ha add_ha_port rollback is mostly broken in create_ha_port_and_bind
Public bug reported:
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/
** Affects: neutron
Importance: Medium
Assignee: Kevin Benton (kevinbenton)
Status: In Progress
** Changed in: neutron
Assignee: (unassigned) => Kevin Benton (kevinbenton)
** Changed in: neutron
Importance: Undecided => Medium
--
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:
In Progress
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
Follow ups