Comment 7 for bug 1505166

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

Reviewed: https://review.openstack.org/271804
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=aebd27f3b7cbbb6277440de029e773eb781dec9e
Submitter: Jenkins
Branch: stable/liberty

commit aebd27f3b7cbbb6277440de029e773eb781dec9e
Author: Eugene Nikanorov <email address hidden>
Date: Mon Oct 12 13:59:01 2015 +0400

    Resync L3, DHCP and OVS/LB agents upon revival

    In big and busy clusters there could be a condition when
    rabbitmq clustering mechanism synchronizes queues and during
    this period agents connected to that instance of rabbitmq
    can't communicate with the server and server considers them
    dead moving resources away. After agent become active again,
    it needs to cleanup state entries and synchronize its state
    with neutron-server.
    The solution is to make agents aware of their state from
    neutron-server point of view. This is done by changing state
    reports from cast to call that would return agent's status.
    When agent was dead and becomes alive, it would receive special
    AGENT_REVIVED status indicating that it should refresh its
    local data which it would not do otherwise.

    Conflicts:
     neutron/plugins/ml2/drivers/linuxbridge/agent/linuxbridge_neutron_agent.py
     neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py
     neutron/tests/unit/agent/dhcp/test_agent.py
     neutron/tests/unit/plugins/ml2/drivers/linuxbridge/agent/test_linuxbridge_neutron_agent.py
     neutron/tests/unit/plugins/ml2/drivers/openvswitch/agent/test_ovs_neutron_agent.py

    Closes-Bug: #1505166
    Change-Id: Id28248f4f75821fbacf46e2c44e40f27f59172a9
    (cherry picked from commit 3b6bd917e4b968a47a5aacb7f590143fc83816d9)