Skip to content

New proof-of-concept tester: docker #322

@mishaschwartz

Description

@mishaschwartz

Create a new tester that uses docker images/containers to run tests. This tester will behave in the following way:

  • creating a new environment will create a new docker image (customized by a Dockerfile? Preset options to select?)
  • when tests are run, a container will be created from the image and test files and settings files will be copied/mounted to the container
  • tests will run in the container and the results will be reported back to the autotest server as normal
  • once the test is done the container will be removed (probably the easiest way to do this is to start the container with the --rm flag)

This should all be possible by creating a directory server/autotest_server/testers/docker/ and making all changes in there. In other words, the actual autotester should not require any changes, you're simply adding a new tester.

This project will proceed in two steps:

  1. write up a design document describing in detail how you will design this tester. No actual code changes are required at this step but you should include the following in your design document:
    • how the autotester will interface with the docker images and containers
    • what security measures will be put in place to prevent a user from breaking out of the docker container with escalated privileges
    • how the workflow will be described to users (in documentation and in the UI on MarkUs)
  2. actually make the code changes and create the new tester

due dates: step 1 should be presented at the end of April 2022 at the latest. step 2 should be finished by the end of the summer 2022.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions