Comment 2 for bug 1870313

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

Reviewed: https://review.opendev.org/716944
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=21935365f29cce3fa95f032d9778786519461521
Submitter: Zuul
Branch: master

commit 21935365f29cce3fa95f032d9778786519461521
Author: Rodolfo Alonso Hernandez <email address hidden>
Date: Thu Apr 2 11:00:35 2020 +0000

    "keepalived_state_change" needs to use threading to send arping

    "keepalived_state_change" monitor does not use eventlet but normal
    Python threads. When "send_ip_addr_adv_notif" is called from inside
    the monitor, the arping command is never sent because the eventlet
    thread does not start. In order to be able to be called from this
    process, this method should also have an alternative implementation
    using "threading".

    "TestMonitorDaemon.test_new_fip_sends_garp" is also modified to
    actually test the GARP sent. The test was originally implemented with
    only one interface in the monitored namespace.
    "keepalived_state_change" sends a GARP when a new IP address is added
    in a interface other than the monitored one. That's why this patch
    creates a new interface and sets it as the monitor interface. When
    a new IP address is added to the other interface, the monitor populates
    it by sending a GARP through the modified interface [1].

    [1] https://github.com/openstack/neutron/blob/8ee34655b8757086c03feecfda100333f47ed810/neutron/agent/l3/keepalived_state_change.py#L90

    Change-Id: Ib69e21b4645cef71db07595019fac9af77fefaa1
    Closes-Bug: #1870313