Commit Graph

21 Commits

Author SHA1 Message Date
Konrad Hanff
4b2cae0bd1 Add inactivity timeout for runners.
By removing runners after a specified timeout they no longer stay
around indefinitely and block Nomads capacities. The timeout can be set
individually per runner when requesting the provide route. If it is set
to 0, the runner is never removed automatically.

The timeout is reset when activity is detected. Currently that is when
something gets executed or the filesystem gets modified.
2021-06-23 11:04:18 +02:00
Maximilian Paß
25d78df557 Restore existing jobs and fix rebase (7c99eff3) issues 2021-06-15 11:37:35 +02:00
Jan-Eric Hellenberg
61bc7d0143 Add unit tests for provide runner route 2021-06-10 06:11:31 +00:00
Maximilian Paß
32fe47d669 Implement linting issues and merge request comments 2021-06-09 08:35:20 +00:00
Jan-Eric Hellenberg
02b3f52a11 Add ability to copy files to and delete files from runner 2021-06-02 14:54:54 +02:00
Konrad Hanff
3afcdeaba8 Execute commands in runner via WebSocket
This enables executing commands in runners and forwarding input and
output between the runner and the websocket to the client.

Co-authored-by: Maximilian Paß <maximilian.pass@student.hpi.uni-potsdam.de>
2021-05-31 12:32:51 +02:00
Jan-Eric Hellenberg
619cd40fb6 Refactor EntityStore interface to multiple interfaces of specific type 2021-05-27 09:56:07 +00:00
Jan-Eric Hellenberg
fe2ec4df35 Incorporate review comments 2021-05-19 14:52:03 +02:00
Jan-Eric Hellenberg
83ea552cf7 Refactor interfaces to use a runner manager and an environment manager.
See https://gitlab.hpi.de/codeocean/codemoon/poseidon/-/issues/44.
2021-05-19 14:52:03 +02:00
Maximilian Paß
5a5ab8f02b Implement merge request review comments 2021-05-12 09:01:25 +02:00
Maximilian Paß
ed735f284f Add tests for websocket connection
Co-authored-by: Konrad Hanff <konrad.hanff@student.hpi.uni-potsdam.de>
2021-05-12 09:01:25 +02:00
Maximilian Paß
465577fea6 Add basic websocket structure and request upgrader 2021-05-12 09:01:25 +02:00
Sebastian Serth
035d1eb795 Remove error handling for fetching runner from /execute 2021-05-10 16:28:35 +02:00
Jan-Eric Hellenberg
ba51956ec3 Add destroy runner route 2021-05-10 16:28:35 +02:00
Jan-Eric Hellenberg
e45cd92557 Fix bad import rebase artifacts 2021-05-10 12:59:18 +00:00
Maximilian Paß
0dc4d28c1b Add e2e tests in ci stage 2021-05-07 12:54:15 +02:00
Konrad Hanff
52b80583b5 Implement review suggestions
Improve logging, constants for routes, RWMutex for ExerciseRunners,
use url.URL for websocket url building
2021-05-06 09:38:00 +02:00
Konrad Hanff
07cdf17eb4 Move execution request map to runners 2021-05-06 08:03:48 +02:00
Konrad Hanff
612bc55bdd Add tests for runners execute route
Co-authored-by: Tobias Kantusch <tobias.kantusch@student.hpi.uni-potsdam.de>
2021-05-06 08:03:48 +02:00
Konrad Hanff
6a00ea3165 Implement runners execute route
Co-authored-by: Tobias Kantusch <tobias.kantusch@student.hpi.uni-potsdam.de>
2021-05-06 08:03:48 +02:00
Maximilian Paß
c092199693 Add basic nomad integration and runner provider 2021-05-04 13:08:04 +02:00