I can't reproduce this bug by rm .pid file and keep .pid-vrrp file. When I restart neutron-l3-agent, I can have keepalived process re-spawned. Bug look into the keepalived code[1-3], it may be because the vrrp process is alive, while keepalived process is dead. So, neutron code can't detect the keepalived process, meanwhile, neutron can't re-spawn the keepalived process too. [1] https://github.com/acassen/keepalived/blob/03da0d2d0393808bbb2feac7abc07aaf8d647855/keepalived/core/main.c#L236 [2] https://github.com/acassen/keepalived/blob/03da0d2d0393808bbb2feac7abc07aaf8d647855/keepalived/core/main.c#L291 [3] https://github.com/acassen/keepalived/blob/03da0d2d0393808bbb2feac7abc07aaf8d647855/keepalived/core/pidfile.c#L92
I can't reproduce this bug by rm .pid file and keep .pid-vrrp file. When I restart neutron-l3-agent, I can have keepalived process re-spawned. /github. com/acassen/ keepalived/ blob/03da0d2d03 93808bbb2feac7a bc07aaf8d647855 /keepalived/ core/main. c#L236 /github. com/acassen/ keepalived/ blob/03da0d2d03 93808bbb2feac7a bc07aaf8d647855 /keepalived/ core/main. c#L291 /github. com/acassen/ keepalived/ blob/03da0d2d03 93808bbb2feac7a bc07aaf8d647855 /keepalived/ core/pidfile. c#L92
Bug look into the keepalived code[1-3], it may be because the vrrp process is alive, while keepalived process is dead. So, neutron code can't detect the keepalived process, meanwhile, neutron can't re-spawn the keepalived process too.
[1]
https:/
[2]
https:/
[3] https:/