Skip to content

Typical Workflow for Training

Before starting a training run, several steps must be performed. These steps are not necessarily performed by a single user and they are usually divided among several users with a role instructor. The whole workflow of creating training is divided into two parts, as it also includes the creation of the sandboxes.

  1. Sandboxes Creation
  2. Training Creation

Prerequisites#

It is assumed that KYPO CRP is installed according to the installation guide and created KYPO CRP instance is connected to the OpenStack cloud service and through the respective microservice, it can create and manage sandboxes inside the cloud via available APIs.

Sandboxes Creation#

  1. A sandbox definition is created by instructors according to this format and stored as a Git repository (see 7. Configure access to the Gitlab repository).
  2. In the KYPO Portal, a record about the sandbox definition is created via the Sandbox Definition Overview page by entering the URI to the respective Git repository from the previous step.
  3. From the sandbox definition created in the KYPO Portal, a pool with a specified size can be created by following these steps.
  4. Sandboxes in the cloud are allocated by clicking the allocation button of the respective pool. Two actions are automatically performed:
    1. The respective sandbox definition is downloaded from the Git repository, parsed, and processed.
    2. Sandboxes are created in the cloud according to the sandbox definition.
  5. Sandboxes can be used in two ways:
    1. An instructor can access VMs inside sandboxes using SSH and perform any actions. See Sandbox SSH Acccess.
    2. Sandboxes are used as part of the trainings. See the Training Creation workflow.

Training Creation#

Before Training#

  1. Training definition can be created via the Create Training Definition page independently on the sandbox definition.
  2. Training instance can be created via the Create/Edit Training Instance page specifically for the selected available training definition.
  3. An unlocked pool of sandboxes created for the training is assigned to the training instance in the second panel Assign Pool when editing the training instance.
  4. Each training instance has partially a generated access token which the instructor hand over to trainees so they can access training runs.

During Training#

  1. Trainees access Training Run using the obtained access token. Trainees can resume their accessed training runs if the training instance is still active.
  2. Each training run has assigned a specific sandbox and trainees can access VMs in this sandbox using Sandbox SSH Access or a Spice console.
  3. An organizer of training instance can watch real-time progress of trainees and can see their training run results during the game.

After Training#

  1. When the training instance is finished, the results are available and ready to be downloaded for further evaluation.
  2. The assigned pool is unassigned from the training instance and deleted using the delete button on Pool Overview page to free resources in the cloud. The respective training instance can be deleted using delete button on Training Instances Overview page.

KYPO-workflow-trainings