Comment 12 for bug 1726370

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

Reviewed: https://review.openstack.org/518635
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=6809a6dd775f553d58be0f3fcb27d43f575e2881
Submitter: Zuul
Branch: stable/pike

commit 6809a6dd775f553d58be0f3fcb27d43f575e2881
Author: Brian Haley <email address hidden>
Date: Mon Oct 30 09:41:46 2017 -0400

    Move check_ha_state_for_router() into notification code

    As soon as we call router_info.initialize(), we could
    possibly try and process a router. If it is HA, and
    we have not fully initialized the HA port or keepalived
    manager, we could trigger an exception.

    Move the call to check_ha_state_for_router() into the
    update notification code so it's done after the router
    has been created. Updated the functional tests for this
    since the unit tests are now invalid.

    Also added a retry counter to the RouterUpdate object so
    the l3-agent code will stop re-enqueuing the same update
    in an infinite loop. We will delete the router if the
    limit is reached.

    Finally, have the L3 HA code verify that ha_port and
    keepalived_manager objects are valid during deletion since
    there is no need to do additional work if they are not.

    Change-Id: Iae65305cbc04b7af482032ddf06b6f2162a9c862
    Closes-bug: #1726370
    (cherry picked from commit d2b909f5339e72f84de797977384e4164d72a154)