977d254cc6
Multiple SIGHUPs in quick succession might cause the master keepalived to forfeit its mastership (which will cause keepalived to remove IPs of its external devices, severing connectivity). This can happen when, for example, associating or disassociating multiple floatingips. The patch makes the agent throttle SIGHUP sent to keepalived: the very first SIGHUP is always sent; as for subsequent signals, they are delayed till agent threshold is reached. (It's 3 seconds by default.) As an example, when three consequent router updates trigger keepalived respawn then: * the very first signal is sent as usual; * the second signal is deferred and sent in up to 3 seconds since the first signal; * the third signal is ignored, though the change that triggered it will be correctly applied by the second signal handler when it is triggered after threshold delay. If the last time a spawn request occurred is older than current-time minus threshold then there is no delay. Co-Authored-By: Jakub Libosvar <libosvar@redhat.com> Co-Authored-By: Cedric Brandily <zzelle@gmail.com> Co-Authored-By: Ihar Hrachyshka <ihrachys@redhat.com> Closes-Bug: 1647432 Change-Id: I2955e0de835458a2eea4dd088addf33b656f8670 |
||
---|---|---|
.. | ||
openvswitch_firewall | ||
__init__.py | ||
async_process.py | ||
bridge_lib.py | ||
daemon.py | ||
dhcp.py | ||
dibbler.py | ||
external_process.py | ||
interface.py | ||
ip_conntrack.py | ||
ip_lib.py | ||
ip_link_support.py | ||
ip_monitor.py | ||
ipset_manager.py | ||
iptables_comments.py | ||
iptables_firewall.py | ||
iptables_manager.py | ||
keepalived.py | ||
ovsdb_monitor.py | ||
pd_driver.py | ||
pd.py | ||
polling.py | ||
ra.py | ||
tc_lib.py | ||
utils.py | ||
xenapi_root_helper.py |