[PATCH] Graceful shutdown request signal

Erin Shepherd bird-users at erinshepherd.net
Mon Jul 17 23:25:42 CEST 2023


I ended up picking this up and implementing it, and in my experiments it seems to be working fine

Patch attached

- Erin

On Tue, 20 Jun 2023, at 21:07, Maria Matejka via Bird-users wrote:
> Hello!
> 
> Well, it's a pity that systemd doesn't allow for custom operations – in such case you could call "systemd graceful bird2" or "systemd restart bird2"…
> 
> Anyway, feel free to implement it, it should be like 10 lines of code. Sigusr2 is probably ok. Then it'll be on anybody to choose whether to restart gracefully or hardly by systemd.
> 
> Maria
> 
> 
> On 20 June 2023 20:20:50 CEST, Erin Shepherd <bird-users at erinshepherd.net> wrote:
>> Hello,
>> 
>> I run bird on a system which uses systemd as a service supervisor, and would like to implement graceful restart in a way which works well with it.
>> 
>> In particular, what I'd like to do is:
>>  • If I restart the bird service (e.g. for an upgrade), Bird performs a graceful restart
>>  • If I manually stop bird (systemctl stop bird2), shutdown the system, or any other action which is liable to cause a longer period of downtime, perform a graceful restart (for BGP at least)
>> Ideally systemd would have an ExecStopRestart option which could be used to distinguish between stops and restarts, but unfortunately it doesn't (I might submit a feature request for this regardless). However, it does support `KillSignal and RestartKillSignal options.`
>> 
>> `So therefore I was wondering how the Bird developers and users would feel about introducing a signal (SIGUSR2 maybe?) which can be used to request that Bird perform a graceful restart?`
>> 
>> `- Erin`
> -- 
> Maria Matejka (she/her) | BIRD Team Leader | CZ.NIC, z.s.p.o.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20230717/86d00d70/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Add-support-for-graceful-restart-by-signal-SIGUSR2.patch
Type: application/octet-stream
Size: 2868 bytes
Desc: not available
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20230717/86d00d70/attachment.obj>


More information about the Bird-users mailing list