
When fm manager is restarted, there is no mechanism to detect it from fm api client side. As a result, when subcloud delete clear alarm request is sent after fm manager is restarted, fm api client will show broke pipe and clear alarm request is not received and this alarm stays. This fix is to check socket fd state before send/receive from fm api client. If broken pipe is detected, it will try to reconnect to fm manager. Closes-bug: 2039684 Test Plan: PASS: Restart fm manager and confirm that detect broken pipe and reconnect messages in /var/log. For example, ----- sm: err fmSocket.cpp(270): A broken pipe error occurred sm: warning fmAPI.cpp(116): Invalid file descriptor. Atte mpting to reconnect... sm: info fmAPI.cpp(149): Connected to FM Manager. ----- PASS: Delete offline subcloud and confirm the alarm is removed. Change-Id: Ibc0f4d96b5c0a385d8fedbc1acd23898f1cbea46 Signed-off-by: Takamasa Takenaka <takamasa.takenaka@windriver.com>
Fault Management (FM)
The starlingx/fault repository handles Fault Management (FM) services1, and provides the fm command-line interface (CLI)2.
This repository is not intended to be developed standalone, but rather as part of the StarlingX Source System, which is defined by the StarlingX manifest3.
References
Description
Languages
Python
60.9%
C++
31.7%
Shell
3.1%
C
3.1%
Makefile
1.1%