Commit d4c9a12
committed
RBMC: Check again for dead sibling service
During some bad path testing the sibling daemon on each BMC would make
it past the existing check done to make sure it was running and then
die. This would cause the wait for the sibling interface to be on D-Bus
to time out. At that point each BMC became active since it thought the
sibling daemon was fine and just the sibling BMC had the problem.
Fix this by checking again if the sibling daemon is running when the
sibling interface still isn't on D-Bus after waiting for it. If it
isn't, become passive.
Tested:
This is seen on each BMC:
```
Waiting for sibling interface and/or heartbeat: Present = False, Heartbeat = False
Done waiting for sibling. Interface present = False, heartbeat = False
Sibling service state is failed
Role = xyz.openbmc_project.State.BMC.Redundancy.Role.Passive due to: Sibling BMC service is not running
```
Signed-off-by: Matt Spinler <[email protected]>1 parent eb92044 commit d4c9a12
1 file changed
+9
-4
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
54 | 54 | | |
55 | 55 | | |
56 | 56 | | |
57 | | - | |
58 | 57 | | |
59 | 58 | | |
60 | 59 | | |
| |||
80 | 79 | | |
81 | 80 | | |
82 | 81 | | |
83 | | - | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
84 | 90 | | |
85 | 91 | | |
86 | 92 | | |
87 | 93 | | |
88 | 94 | | |
89 | | - | |
| 95 | + | |
90 | 96 | | |
91 | 97 | | |
92 | 98 | | |
| |||
126 | 132 | | |
127 | 133 | | |
128 | 134 | | |
129 | | - | |
130 | 135 | | |
131 | 136 | | |
132 | 137 | | |
| |||
0 commit comments