Sebastian Serth
b2656bd6b5
Fix rubocop offenses
2022-03-01 15:35:08 +01:00
Karol
c5c47715b3
Merge branch 'master' into refactor_proforma_import_export
...
# Conflicts:
# spec/controllers/exercises_controller_spec.rb
2022-01-11 22:20:18 +01:00
Karol
3260d8f82f
tiny refactor from exercise_found to task_found
2022-01-11 22:17:09 +01:00
Karol
886a5b68f6
update gem
...
fix codeharbor endpoint usage and translations
2022-01-10 22:34:03 +01:00
Sebastian Serth
ea85519163
Update bundle (with newest rubocop version) and fix offenses
2022-01-04 09:42:37 +01:00
Sebastian Serth
563e14a44a
Adapt dashboard to show idle and used runners
2021-12-07 00:08:31 +01:00
Karol
ec49f91a08
change namespace to CodeOcean
2021-12-06 20:23:30 +01:00
Karol
2c7748ed12
fix namespacing, specs
2021-11-27 21:08:52 +01:00
Sebastian Serth
f22db22110
Enable Poseidon sync after commit
2021-11-26 01:00:31 +01:00
Karol
8a7eae1a56
Migrated to proforma 0.6
...
Fixed all failing specs
2021-11-23 19:37:38 +01:00
Sebastian Serth
86c6ad7ea3
Poseidon: Use absolute path to remove workspace directory
2021-11-17 17:44:09 +01:00
Sebastian Serth
3608856397
Merge pull request #1079 from openHPI/sync_execution_environments
...
Sync execution environments
2021-11-09 18:44:35 +01:00
Sebastian Serth
fb92d382ac
Skip verification of Docker image if pool size is empty
2021-11-09 17:49:51 +01:00
Sebastian Serth
1dce6c59ab
Add note about default ACL for Docker mount dir
2021-11-08 22:39:10 +01:00
Sebastian Serth
b179dadce6
Mock CodeOcean::Config for Poseidon strategy
2021-11-04 20:09:20 +01:00
Sebastian Serth
79e8caea45
Remove outdated execution environments after syncing all
2021-11-04 20:09:20 +01:00
Sebastian Serth
c1ac401a49
Add retries to working_docker_image?
...
* Also synchronize images during save
2021-11-04 20:09:19 +01:00
Sebastian Serth
ecf470bddd
Refactor sync_environment methods
...
* Add delete_environment method
* Change return value to allow raising an exception
2021-11-04 20:06:40 +01:00
Sebastian Serth
7f47af99cb
Fix order-dependent specs
2021-11-04 19:15:33 +01:00
Sebastian Serth
dcafbb9d46
DCP: Change HTTP verbs
2021-11-01 17:13:12 +01:00
Sebastian Serth
1609bd2e0e
Change default of raise_exception for execute_command
2021-11-01 17:13:11 +01:00
Sebastian Serth
01ec9343cf
Remove usage of DockerClient
2021-11-01 17:13:10 +01:00
Sebastian Serth
2551ea709b
Remove 'previous' DockerContainerPool implementation
2021-11-01 17:13:09 +01:00
Sebastian Serth
9d833e37b3
Use Net::HTTP::Persistent for requests to Poseidon
2021-11-01 17:13:09 +01:00
Sebastian Serth
25b007dfda
[Spec] Fix return value of image_tags for mocked DockerClient
2021-11-01 17:13:09 +01:00
Sebastian Serth
e8c686ce75
[Spec] Clean seed_secs with truncation
2021-11-01 17:13:09 +01:00
Sebastian Serth
c1cff29147
[Spec] Initialize environment for Docker testing
2021-11-01 17:13:08 +01:00
Sebastian Serth
953643f05e
[Spec] Use strings for image names
2021-11-01 17:13:08 +01:00
Sebastian Serth
ada438b230
Add release and pool_size methods to DCP
2021-11-01 17:13:07 +01:00
Sebastian Serth
2b98905acb
Remove usage of DockerClient from execution_environments_controller.rb
2021-11-01 17:13:07 +01:00
Sebastian Serth
0db6f20933
Move MemoryLimit to Execution Environment
2021-11-01 17:13:06 +01:00
Sebastian Serth
1dfee31079
Fix order-dependent execution_environments_controller_spec.rb
2021-11-01 17:13:05 +01:00
Sebastian Serth
d87e23b9a3
Add execute_command
method to runner.rb
...
* This is now used by the score and test runs
* This also re-enables the interactive shell for execution environments
2021-11-01 17:13:05 +01:00
Sebastian Serth
68c8f1dbdf
DCP: Set sticky bit for folder and secure delete
2021-11-01 17:13:04 +01:00
Sebastian Serth
696cd6a236
Poseidon: Clean workspace between executions
2021-11-01 17:13:03 +01:00
Sebastian Serth
c676785d55
Fix order-dependent runner_spec.rb
2021-11-01 17:13:02 +01:00
Sebastian Serth
06ef4430f5
Change exposed_ports to array
2021-11-01 17:13:02 +01:00
Sebastian Serth
601e1fab5c
Remove all occurrences of server-sent events
2021-11-01 17:12:57 +01:00
Sebastian Serth
3fa6ba6c72
Use instance_double for Poseidon Strategy specs
2021-11-01 17:12:57 +01:00
Sebastian Serth
ee1751debf
Fix rubocop offenses
2021-11-01 17:12:55 +01:00
Sebastian Serth
5037a73f36
Mock runner management settings for spec
2021-11-01 17:12:54 +01:00
Sebastian Serth
30603cb7ab
Generalize method and constant names for runner management
2021-11-01 17:12:53 +01:00
Felix Auringer
9e2cff7558
Attach connection errors to socket
...
Raising the errors would crash the current thread. As this thread
contains the Eventmachine, that would influence other connections
as well. Attaching the errors to the connection and reading them
after the connection was closed ensures that the thread stays
alive while handling the errors in the main thread of the current
request.
2021-11-01 17:12:53 +01:00
Felix Auringer
c8e1a0bbcb
Fix tests for Runner#attach_to_execution
...
These tests were blocking because of the newly introduced
EventLoop. The messages sent to the EventLoop are now mocked
and the EventLoop isn't blocking anymore in the tests.
2021-11-01 17:12:53 +01:00
Felix Auringer
5cc180d0e9
Fix rubocop, I18n, cleanup rebase
2021-11-01 17:12:52 +01:00
Felix Auringer
2dff81a510
Attach duration information to the exception object
2021-11-01 17:12:52 +01:00
Felix Auringer
cc412b73bc
Introduce more error types
2021-11-01 17:12:51 +01:00
Felix Auringer
db2d1e3164
Add tests for DockerContainerPool strategy
2021-11-01 17:12:51 +01:00
Felix Auringer
704407b9fc
Add strategy for DockerContainerPool
...
In order to provide an alternative to Poseidon, a strategy for the
DockerContainerPool is added that is used by the runner model.
Co-authored-by: Sebastian Serth <Sebastian.Serth@hpi.de >
2021-11-01 17:12:51 +01:00
Felix Auringer
1d3f0d7ad8
Handle Faraday errors
2021-11-01 17:12:50 +01:00