Commit c16f12b
committed
Poll for port/volume status when attached but not yet transitioned
After a port is attached to a server, its Neutron status transitions
asynchronously from DOWN to ACTIVE. Similarly, a volume transitions
from available to in-use after attachment. The cross-controller
signaling via serverTo{Port,Volume}MapFunc is susceptible to a race
with the controller's own status write.
Add defense-in-depth polling: when the port has a device_id but
status is still DOWN, or when a volume has attachments but status
is not in-use, schedule a re-fetch via WaitingOnOpenStack. This
ensures the controller picks up the status transition regardless
of whether the cross-controller signal is lost.1 parent d2cd4a7 commit c16f12b
2 files changed
Lines changed: 34 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
396 | 396 | | |
397 | 397 | | |
398 | 398 | | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
399 | 414 | | |
400 | 415 | | |
401 | 416 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
283 | 283 | | |
284 | 284 | | |
285 | 285 | | |
| 286 | + | |
286 | 287 | | |
287 | 288 | | |
288 | 289 | | |
289 | 290 | | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
290 | 309 | | |
291 | 310 | | |
292 | 311 | | |
| |||
0 commit comments