Comment 32 for bug 1709774

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (stable/ocata)

Reviewed: https://review.opendev.org/527952
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=2028a66f21af596cd59e2a6f7d9bb05f6d5f7292
Submitter: Zuul
Branch: stable/ocata

commit 2028a66f21af596cd59e2a6f7d9bb05f6d5f7292
Author: Swaminathan Vasudevan <email address hidden>
Date: Wed Aug 16 21:48:08 2017 -0700

    DVR: Multiple csnat ports created when RouterPort table update fails

    When router interfaces are added to DVR router, if the router has
    gateway configured, then the internal csnat ports are created for
    the corresponding router interfaces.
    We have seen recently after the csnat port is created if the
    RouterPort table update fails, there is a DB retry that is happening
    and that retry operation is creating an additional csnat port.
    This additional port is not getting removed automatically when the
    router interfaces are deleted.
    This issue is seen when testing with a simple heat template as
    per the bug report.

    This patch fixes the issue by calling the RouterPort create with
    delete_port_on_error context.

    Conflicts:
            neutron/db/l3_dvr_db.py
            neutron/tests/unit/db/test_l3_dvr_db.py

    Change-Id: I916011f2200f02556ebb30bce30e349a8023602c
    Closes-Bug: #1709774
    (cherry picked from commit 8c3cb2e15b48f5e2b0c3d22550f00f3c7adc7f33)
    Signed-off-by: Mikhail Ushanov <email address hidden>