Commit 67db6cc
NAS-140250 / 26.0.0-BETA.1 / Fix keepalived boot deadlock in configure_addresses_impl (by bmeagherix) (#18440)
ix-netif.service runs Before=network-pre.target, but keepalived requires
After=network-online.target. Starting keepalived from
configure_addresses_impl (called via ix-netif.service) caused systemd to
queue the start job for ~95s until network-online.target was eventually
satisfied after ix-netif.service completed - a structural deadlock.
Fix by guarding the keepalived START behind the ix-netif completion
sentinel. If keepalived is already running, RELOAD as before. If it is
not running and the sentinel exists (i.e. we are in a post-boot
interface.sync call), START it. If the sentinel does not exist we are in
the early boot call and skip keepalived entirely; it will be started
once the network is online.
Move NETIF_COMPLETE_SENTINEL from smb_/constants.py to the more
appropriate middlewared/utils/interface.py and update importers
accordingly.
Original PR: #18437
Co-authored-by: Brian M <brian.meagher@ixsystems.com>1 parent d35495b commit 67db6cc
File tree
4 files changed
+27
-18
lines changed- src/middlewared/middlewared
- plugins
- interface
- smb_
- utils
4 files changed
+27
-18
lines changedLines changed: 23 additions & 15 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
4 | 5 | | |
5 | 6 | | |
6 | 7 | | |
| |||
11 | 12 | | |
12 | 13 | | |
13 | 14 | | |
| 15 | + | |
14 | 16 | | |
15 | 17 | | |
16 | 18 | | |
| |||
170 | 172 | | |
171 | 173 | | |
172 | 174 | | |
173 | | - | |
174 | | - | |
175 | | - | |
176 | | - | |
177 | | - | |
178 | | - | |
179 | | - | |
180 | | - | |
181 | | - | |
182 | | - | |
183 | | - | |
184 | 175 | | |
185 | 176 | | |
186 | 177 | | |
| |||
195 | 186 | | |
196 | 187 | | |
197 | 188 | | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
198 | 210 | | |
199 | 211 | | |
200 | 212 | | |
| |||
213 | 225 | | |
214 | 226 | | |
215 | 227 | | |
216 | | - | |
217 | | - | |
218 | | - | |
219 | | - | |
220 | 228 | | |
221 | 229 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
28 | | - | |
29 | 28 | | |
30 | 29 | | |
31 | 30 | | |
32 | 31 | | |
33 | 32 | | |
| 33 | + | |
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
5 | 4 | | |
6 | 5 | | |
7 | 6 | | |
8 | | - | |
9 | 7 | | |
10 | 8 | | |
11 | 9 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
| 6 | + | |
5 | 7 | | |
6 | 8 | | |
| 9 | + | |
7 | 10 | | |
8 | 11 | | |
9 | 12 | | |
| |||
0 commit comments