Add contact_support on update status page#3226
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
contact_support on update status page
karencfv
left a comment
There was a problem hiding this comment.
Oooohhh that looks so pretty! Not sure if it would be necessary or not, but this boolean is also intended to get people to not perform an update if they are about to when contact_support is true, would it make sense to say something to that effect? Like, "if you're thinking about updating now, just don't"
I think generally you'd be better off making illegal states unrepresentable. E.g. just don't give them the ability to update. If you do something like disabling the update button (I don't know what's actually there, haven't looked at that), just make sure you note why it's disabled (which this does, but you'd still want treatment on the disabled experience). Also, hi. |
|
hi @just-be-dev!!!
lol, we had a huge conversation about this 😄 oxidecomputer/omicron#9419 (comment) . We don't want to block an update just yet, the purpose of this field is more or less a warning. A simple example would be that there is a bug somewhere where the only way to fix it is to update the system. We don't want to block people from updating in that instance. |
New boolean
contact_supportfield on update status added in oxidecomputer/omicron#10271.I tried it inside the properties table as
Contact support: Yesand it felt terrible.Robot notes on the API logic behind
contact_supportomicron#10271 adds a
contact_support: boolfield to thesystem/update/statusAPI. It is the last piece of a minimal system health check tied to update status, intended as a stopgap until the fault management subsystem lands (RFD 612).What it means
When
contact_supportistrue, Nexus has detected one or more known conditions in the latest inventory collection (plus a few additional checks) that require Oxide support to resolve. The field collapses several sub-checks into a single boolean because none of the individual conditions are actionable by the customer — the only action is to call support. The detailed breakdown is logged server-side and lands in support bundles.The intended usage maps to two cases:
contact_supportis true, the customer should not start an update — resolve the issue with support first.contact_supportis true, something went wrong; the customer should call support immediately.Conditions that trigger
contact_support: trueonlinestate (e.g., degraded).maintenance,offline, ordegraded.The list is explicitly minimal and not exhaustive —
contact_support: falsedoes not guarantee the system is fully healthy.Suppression during an active update
Health checks often fail transiently during an update, so the API suppresses
contact_support: truewhile an update is genuinely in progress. The field only surfaces a true value when either (1) there is no update in progress, or (2) an in-progress update has stalled past the threshold (matching the 10–15 minute guidance) in the Reconfigurator Ops Guide for when support considers an update stuck).In practice this means the field always presents in one of two contexts: the system is idle (pre-update or post-update), or the update has stalled long enough that the result is no longer a transient artifact.
Issues to resolve