-
Notifications
You must be signed in to change notification settings - Fork 4
Control GUI
The Control Center GUI is inspired by the vdemo GUI to ease a possible switch.
Image: Screenshot of the current GUI prototype (October 18th 2018)
The main window consist of a tab widget. Each defined group in the config gets a single tab containing all its components. Each component has a label which depicts the component name and the hostname, separated by an '@' and buttons and checkboxes to control the component.
The check button runs the main check and, if provided, the component specific Check (status codes).
The start button starts the selected component respecting the specified dependencies: starting from the "root" component in the computed dependency tree, each component gets started and checked afterwards. If a component fails, each consecutive component wont be started (however each component gets checked anyway just in case).
The stop button only stops the selected component. Dependent components may crash (checking for a component crash is not supported yet).
The show term checkbox opens a new xterm showing the contents of the component window in the tmux session (unless the component is not running).
The logging checkbox will toggle logging (before starting the component). This feature is not implemented yet.
The view log button will open a new xterm showing the log opened in less. This feature is not implemented yet.
The host bar located on the lower border of the window holds information about the hosts of the current configuration: which hosts are needed and what is the connection status (darkred = no connection | green = connected). Also clicking on a hosts button (if the host can be reached) opens an xterm holding an ssh connection to the host.
Image: Screenshot of the current GUI prototype with color codes (October 2018)
Green: Component is running
Red: Component not running (checks failed)
Darkred: Component this component depends on failed
Darkcyan: Process in the tmux window terminated, but the custom check succeeded
Lightsalmon: Check succeeded, but component was not started with Hyperion
To give the user some feedback about whats happening the labels of the start and the check button blink as long as their operations are running.
After each dependency start/check the GUI is updated to show the most recent state and thanks to threading the GUI remains responsive even while starting or checking components.
Image: Successful dependency based component start (October 2018)
Image: Failed dependency based component start (October 2018)