Version 21.12

December 10, 2021

Changelog

Sandbox Service

  • bugfix: fix PostgreSQL version in Dockerfile,
  • added state of allocation stage
  • integration of APG library
  • added hardware usage of pools
  • restrict allocation of sandbox beyond HW limitations of OpenStack project
  • support for JWT token to allow Microsoft login
  • support for deleting multiple sandboxes with a single request
  • optimized allocation of sandboxes and simplified topology of sandbox
  • updated topology visualization data
  • optimized pool operations

Ansible-runner

  • Integrate experimental APG library
  • Added option to signalize user cleanup stage

User and Group Service

  • Refactoring: Enhanced the SQL performance by removing the unnecessary entities from DTOs and other improvements.
  • Support new OIDC provider - Microsoft Azure.
  • Bugfix: Fix broken endpoints of the microservices loaded during the startup.

Training Service

  • Bugfix: evaluation of the MCQ in assessment levels.
  • Bugfix: cloning of the training definitions with assessment levels.
  • Bugfix: computation of the estimated duration when uploading the training definition.
  • Refactoring: Renaming flag to answer, renaming game level to training level.
  • Experimental implementation of the APG.
  • Integration of the command feedback.
  • Storage of the submissions - save all submitted correct/incorrect answers.
  • Store information 'last edited by' for a training definition and instance.
  • Create default levels when a new definition is created - the content of the default levels can be configured.
  • New endpoint to save multiple levels at once.
  • Assign/unassign the pool as part of the update training instance request.
  • Support new OIDC provider - Microsoft Azure.
  • Audit new field in training events - level order.
  • New endpoint to get correct answers for specific training runs.

Adaptive Training Service

  • The maximum length of the answer to a question has been changed to 1023 characters.
  • Store information last edited by and last edited to the training definition and instance.
  • New endpoint to save multiple phases at once.
  • Assign/unassign the pool as part of the update training instance request.
  • Support new OIDC provider - Microsoft Azure.
  • New endpoint to request data for transition graph.
  • Set default value of the wrong answers, allowed commands, estimated duration, and incorrect answer limit to 10.
  • Create default phases when a new definition is created - the content of the default phases can be configured.
  • Storage of the submissions - save all submitted correct/incorrect answers.
  • Audit new fields in training events - phase order, task ID, and task order.

Smart Assistant Service

  • Nothing has changed since release 21.12.

Elasticsearch Service

  • Support new OIDC provider - Microsoft Azure.

Training Feedback Service

  • Created DB schema to store training feedback in the form of graphs and command analysis.
  • Automatic migration of the database schema at startup.
  • Created REST API.
  • Bussiness logic of the adaptive training:
    • Create and provide three types of graphs: Reference, Trainee, Summary.
    • Analyze and store the commands executed during the trainings.
    • Provide aggregated commands, e.g., by trainee and frequency.
  • Calling external service to obtain necessary data like events and commands from Elasticsearch.
  • Integrated exception handling.

Answers Storage

  • Created a simple DB schema to manage variant answers generated for each sandbox.
  • Automatic migration of the database schema at startup.
  • Created REST API.
  • Store unique answers for each sandbox under the specific variable.
  • Provide answers for the requested sandboxes and variables.
  • Integrated exception handling.

Frontend

  • Bugfix: added missing theme for markdown component.
  • New detail pages for agendas.
  • New adaptive transition visualization.
  • New command analysis visualization for linear trainings.
  • Added support for the experimental implementation of APG.
  • Visualizations are now grouped in the dashboard.
  • Redesigned and simplified sandbox instances management page.
  • Redesign of training run controls.
  • Redesign of the topology graph.
  • Added preloading of SPICE access to topology graph.
  • Integration of the Apache Guacamole to topology graph.
  • Unify saving of training definitions.
  • Pagination size is now synchronized between all tables.

Upgrading from the previous version

  • Upgrading Sandbox Service from the previous version will limit manipulation with existing Sandboxes (topology visualization will not work) and Pools (creating sandbox from the existing pool and new features regarding Pools will not work). Therefore, we recommend the following steps before upgrading to the newest version:

    • back up data from existing Sandboxes,
    • delete all Sandbox and Pools,
    • remove database of Sandbox Service
    • remove cird attribute of the router in the topology definition
  • Because the database model of the definitions has been changed in linear training definitions, previously exported definitions need to be updated before importing them.

    • Rename all ocurrences "level_type" : "GAME_LEVEL" to "level_type" : "TRAINING_LEVEL".
    • Rename field flag to answer.
    • Rename field incorrect_flag_limit to incorrect_answer_limit.
    • To each training level and "answer_variable_name": null next to the field answer.