Comment 5 for bug 1662804

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

Reviewed: https://review.openstack.org/452099
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=71c0e8940661fefbe2830258509e6c4afb887783
Submitter: Jenkins
Branch: stable/ocata

commit 71c0e8940661fefbe2830258509e6c4afb887783
Author: venkata anil <email address hidden>
Date: Wed Feb 8 15:49:47 2017 +0000

    Avoid router ri.process if initialize() fails

    When router_info initialize() fails(with trace) some resources(
    like keepalived process) may not be created. While handling this
    exception, l3 agent calls _process_updated_router instead of
    again calling _process_added_router, which also fails trying to
    access resources which are not created.

    In this change, agent will have new router_info(i.e
    self.router_info[router_id] = ri) only when initialize() succeeds.
    When initialize() fails, as router_info is not part of agent,
    "_process_router_if_compatible" will again call initialize().
    We also cleanup router_info when initialize() fails.

    Closes-bug: #1662804
    Change-Id: I278ac83de57713c93d6e50846d79034d774c5d47
    (cherry picked from commit 3e1ed94e389c427f1da56cde43a458832078f073)