Commit Graph

17 Commits

Author SHA1 Message Date
87f823756b Implement merge request comments 2021-06-15 11:37:47 +02:00
25d78df557 Restore existing jobs and fix rebase (7c99eff3) issues 2021-06-15 11:37:35 +02:00
0020590c96 Update all runners when updating environment
Previously only the default job would be updated to the newest specs.
Now all Nomad jobs that belong to the given environment are updated
accordingly.
2021-06-15 11:35:59 +02:00
c7d59810e5 Use Nomad jobs as runners instead of allocations
As we can't control which allocations are destroyed when downscaling a job, we decided
to use Nomad jobs as our runners. Thus for each runner we prewarm for an environment,
a corresponding job is created in Nomad. We create a default job that serves as a template
for the runners. Using this, already existing execution environments can easily be restored,
once Poseidon is restarted.
2021-06-15 11:35:54 +02:00
d3300e839e Add unit tests for separate stdout and stderr on execution 2021-06-11 08:47:25 +00:00
32fe47d669 Implement linting issues and merge request comments 2021-06-09 08:35:20 +00:00
4b5f0a3eb6 Add tests for runner manager updating runners 2021-06-09 08:35:20 +00:00
d0a2a1d96c Add tests for receiving allocation updates from Nomad 2021-06-09 08:35:20 +00:00
3f572261c2 Add updating cached allocations 2021-06-09 08:35:20 +00:00
b32e9c2a67 Remove off by one with needed runners
Earlier we used a channel to store the runners. To make the environment
refresh block, we scheduled an additional runner as the buffered channel
was then filled up. As we don't use the channel anymore, we don't need
the additional runner anymore. Furthermore this leads to weird race
conditions in tests when comparing the runner count to the desired one.
2021-06-03 13:21:49 +00:00
630a006258 Use more uints
Previously we accepted int values although only uint values made sense.
We adjusted this to accept uints where appropriate.
2021-06-03 13:21:49 +00:00
b990df7b9d Add route to create or update execution environments 2021-06-03 13:21:49 +00:00
619cd40fb6 Refactor EntityStore interface to multiple interfaces of specific type 2021-05-27 09:56:07 +00:00
5bb3c6745e Add tests for job store, Len and Sample method of pool 2021-05-19 14:52:03 +02:00
fe2ec4df35 Incorporate review comments 2021-05-19 14:52:03 +02:00
0590f31200 Refactor setup of runner manager test suite 2021-05-19 14:52:03 +02:00
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