Computers

Overview of how to manage Computers, accessible in the Configure section in Typhoon Test Hub.

A computer is a machine where Officer will run and manage an Agent. You can find the most important information about and perform actions on computers in the Computer table (Figure 1), including create a new computer, update a computer, or delete an existing one. The Computer overview also contains data for connecting Officer with a computer. Additional information is available in the Utilization tab.

When a computer is connected, it appears as . If the docker exists on the machine where Officer is running, then the tabs Containers and Images are also visible.

Figure 1. Computers table

The Computers table shows the following information:

  1. Status: Offline and Available
  2. Name: Computer name
  3. Officer version: Currently used version of the Officer. If the Officer was not previously ran or if it does not provide information about the version (before TTH version 1.3.0), version will be set to unknown in the table until the first connection of the Officer.
  4. Latest CPU usage [%]
  5. Latest RAM usage [%]
  6. Latest disk usage [%]

Additionally you can Disconnect a computer directly from the table, which will shutdown Officer on that computer.

Note: Once a computer is disconnected, Officer must be started manually on the computer before you can connect to it again.
Note: By clicking on the button, columns of the table can be customized - hidden or shown depending on the preference. Columns of the table can be reordered by using drag and drop in the table header. When positioning cursor in between two columns, cursor for column resizing will show and enable change of the column's width. All changes made to the table will be automatically preserved.

Computer details

Figure 2. Computer details

In the Details section (Figure 2), you can find:

  1. Overview tab: Here you can update a Computer's name and description, as well as see its Connection command and Officer version. Connection to Officer is established using the URL, Connection token and Connection secret all combined in the Connection command shown in the details. Value of the Connection command is not visible by default. Button for copying Connection command is not visible if TTH is deployed on HTTP.
    Note: In order to display hidden value, you must click the button. It is recommended that once a value is copied, you immediately hide the sensitive value by clicking the button. If you forget to hide the value, it will be automatically hidden as soon as you leave the page.
  2. Changes history tab tab: Contains computer's history of changes.
  3. Utilization tab: This tab displays computer CPU and RAM consumption, as well as the Hard disk usage for the last seven days.
    Figure 3. Computer utilization
  4. Containers: This tab features a table of containers with basic informations on the selected machine. Additional information about containers and Logs can be seen in the detailed view of the Container.
  5. Computer images: This tab features a table of images with basic informations on the selected machine. Additional information about images can be seen in the detailed view of the Image.
Note: Tabs Containers and Images are disabled for all computers that are not available.

When the computer is offline, you can delete a computer by clicking on the button. A computer can only be deleted if there are no jobs connected with that computer.

Changes history tab

Changes history for the selected Computer is visible from this tab (Figure 4).

Figure 4. Computer changes history

All snapshots (events) will be exported to JSON format and automatically downloaded by clicking on the button. By selecting each line in the table, single snapshot will be shown enabling preview of the made changes and allowing user to perform comparison between the selected snapshot and and any chosen snapshot.

Figure 5. Selected snapshot preiew

Single snapshot (event) can be exported as JSON and downloaded by clicking on the button. Snapshots can be compared through UI or as JSON, with JSON option having more clearly displayed differences between the two snapshots using Monaco editor.

Figure 6. Snapshot comparisson through UI
Figure 7. Snapshot comparisson through JSON

Create computer

A new computer can be added by clicking on the button. This opens the Add new computer dialog box (Figure 8).

Figure 8. Add new computer dialog

From this menu, you must:

  1. Assign a name which will be used to refer to the computer throughout the Hub. This name must be unique.
  2. Write a description of the computer.
Note: In order to save a form, all input fields must be valid. Required fields are signed with *.

Install computer machine

A new computer machine must have installed certain software to be able to run officer and agents. Typhoon Test Hub is best used with Linux Debian 12 distribution (Debian images).

When installing the OS, the first user must be called 'typhoon'. Having another user with ID 1000 is problematic

When installing the OS, do not install a desktop environment. Enable SSH

After installation of Linux Debian OS:

  1. Install sudo (do su -, followed by apt-get update, and apt-get install sudo)
  2. Install nano if not installed
  3. Change Source list and update it (sudo nano /etc/apt/sources.list and comment the first line by adding a '#' at the start)
  4. Add 'typhoon' user to sudoers (sudo nano /etc/sudoers and add typhoon ALL=(ALL) NOPASSWD: ALL below the line root ALL=(ALL:ALL) ALL)
  5. Install docker: https://docs.docker.com/engine/install/debian/ After that run:
      sudo systemctl enable docker.service
      sudo systemctl enable containerd.service
      sudo nano /etc/docker/daemon.json
      {
        "log-driver": "json-file",
        "log-opts": {
          "max-size": "100m",
          "max-file": "3"
        }
      }
  6. Python 3.11 (sudo apt-get install python3.11.4)
  7. Change IP configuration, if desired: sudo nano /etc/network/interfaces
      allow-hotplug enp4s0
      iface enp4s0 inet static
      address 192.168.100.100/24
      gateway 192.168.100.1
      dns-nameservers 192.168.1.1 8.8.8.8 8.8.4.4
  8. sudo systemctl restart networking.service
  9. Reboot
  10. Install officer (see link below for more details)