Skip to content

Provide more state information to the dashboard #83

@elondaits

Description

@elondaits

Goals:

  • The dashboard might start an operation (e.g. start a station, change the top app) which can fail (the station does not have power, docker crashes halfway through, etc.). The dashboard will lock the station while the operation is running but at some point it should timeout the operation to give the chance to retry. It'd be unfortunate if the dashboard times out but the operation is still being performed correctly in the station.
  • Some operations take a long time and the user might wander if they're running correctly. The system should be more responsive by giving more feedback about long processes.

Possible improvements:

  • Hilbert could indicate via CheckMK if any script is still running in the station (e.g. docker is still pulling an image, the stop script is still running, etc.). Let's have a documented format for this output which indicates:

    • Which app is running: Can be none (see issue MKLivestatus reports critical error if there is no top app hilbert-docker-images#22)
    • If any hilbert script is running (e.g. if the station is "locked"). Ideally if it could indicate if the station is starting, stopping or changing apps... although I know the first two would be only possible in certain moments of that process.
    • Or an error, if the information above could not be retrieved (also if a script failed?)
  • Hilbert CLI could output "markers" with a predefined format that the UI can use to give feedback to the user in long running operations. E.g.

||info||Opening ssh connection

The || would be a control sequence that at the start of an output line indicates to the UI that it's a marker, then a notification type (info, warning, error), and finally a message that can be shown to the user. That way if the UI is stuck in the "Opening ssh connection" the user could figure out there's a network issue, a DNS issue, etc. even approximately.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions