SP serial console doesn't detach stale faux-mgs clients on an idle console #1796
Labels
developer-experience
Fixing this would have a positive impact on developer experience
gimlet
service processor
Related to the service processor.
👋 good first issue
Good for newcomers.
faux-mgs
allows us to attach to a gimlet's serial console via the SP. Whilefaux-mgs
is running, it ensures it's regularly sending serial console-related packets (either writes if there's data, or keeepalives if there isn't). On a clean exit, faux-mgs will detach itself from the console. But on a non-clean exit, the SP is responsible for eventually timing out the connection and allowing new attach requests. However, it looks like only check for staleness athubris/task/control-plane-agent/src/mgs_gimlet.rs
Lines 282 to 303 in 1d3f3d5
This is inside the code path for "the SP has serial console data to send to faux-mgs". If the console is idle (e.g., someone left it sitting at a shell prompt), the SP will never send data, so will never realize the faux-mgs client has gone away. This isn't a major problem, because faux-mgs can forcibly detach any previous session, but it is annoying because it makes it look like there might be someone else on the console when there isn't. A pretty easy fix would be to also check for staleness in
serial_console_attach()
.The text was updated successfully, but these errors were encountered: