Sebastian Serth
4f1a7cde27
Add null strategy for runners
...
* This is the default strategy used when the runner management is disabled. It might be replaced with a generic Docker strategy in the future (without pooling). For now, it allows normal "operation" of CodeOcean without any runner management. However, as no runner system is configured, no command can be executed.
2021-11-01 17:13:10 +01:00
Sebastian Serth
5550183d7e
[Spec] openhpi/co_execenv_python:3.4 is no longer required
2021-11-01 17:13:10 +01:00
Sebastian Serth
01ec9343cf
Remove usage of DockerClient
2021-11-01 17:13:10 +01:00
Sebastian Serth
20064b0715
DockerClient: Cleanup usage of config
2021-11-01 17:13:10 +01:00
Sebastian Serth
b13a3b084d
Use new available_images routes from DCP
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
28c74bc9a5
Improve memoization of @strategy_class
2021-11-01 17:13:08 +01:00
Sebastian Serth
288c7693f7
Remove dump_docker method for admins
2021-11-01 17:13:08 +01:00
Sebastian Serth
af93603ba3
Use strategy release in admin dashboard
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
6d1b388e3c
Reorder methods in strategy classes
2021-11-01 17:13:07 +01:00
Sebastian Serth
f3b4be3006
Fix deprecation warning for raise_on_missing_translations
2021-11-01 17:13:07 +01:00
Sebastian Serth
e33af5760d
Delegate initialization to Runner::Strategy
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
541afa92f3
Remove ws_client_protocol option
...
* The correct setting will be determined automatically
2021-11-01 17:13:06 +01:00
Sebastian Serth
0db6f20933
Move MemoryLimit to Execution Environment
2021-11-01 17:13:06 +01:00
Sebastian Serth
8a4bd84d04
Add note about using hostnames on IPv6 systems
2021-11-01 17:13:06 +01:00
Sebastian Serth
87c5302336
Switch logging to milliseconds and add more details
...
* By design, most logging happens in an `ensure` block. This ensures that no return value is modified unexpectedly.
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
9cc4394296
Allow editing an Execution Environment with active runner management
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
02a2673bf2
Add hint for CPU limit
2021-11-01 17:13:05 +01:00
Sebastian Serth
7e2039ebc2
Fix bug that always showed the default value for CPU limit when editing the limit
2021-11-01 17:13:04 +01:00
Sebastian Serth
e272fcd19c
Add more comments and error logging to connection.rb
2021-11-01 17:13:04 +01:00
Sebastian Serth
e95ad5e26c
Add @!attribute comments to connection.rb
2021-11-01 17:13:04 +01:00
Sebastian Serth
2ad4eb7625
DCP: Escape command for RegEx
2021-11-01 17:13:04 +01:00
Sebastian Serth
68c8f1dbdf
DCP: Set sticky bit for folder and secure delete
2021-11-01 17:13:04 +01:00
Sebastian Serth
04c896c7de
DCP: Listen for Python exit handler
2021-11-01 17:13:03 +01:00
Sebastian Serth
c7ddbd676c
Do not forward custom exit handlers to frontend
2021-11-01 17:13:03 +01:00
Sebastian Serth
50b62b5703
Move flush_buffers method in Runner::Connection
2021-11-01 17:13:03 +01:00
Sebastian Serth
696cd6a236
Poseidon: Clean workspace between executions
2021-11-01 17:13:03 +01:00
Sebastian Serth
a6a477e361
Move error handling to else branch in execute_command
2021-11-01 17:13:03 +01:00
Sebastian Serth
95f97bd66e
Add documentation to code_ocean.yml
2021-11-01 17:13:02 +01:00
Sebastian Serth
a1db30c288
Clarify EnvironmentNotFound error handling
2021-11-01 17:13:02 +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
064c55b711
Add new validator for all elements of an array
2021-11-01 17:13:02 +01:00
Sebastian Serth
90eeb3bb9c
Move CodeOcean::FileNameValidator
2021-11-01 17:13:01 +01:00
Sebastian Serth
352e5f4329
Clarify strategy creation in runner.rb with comment
2021-11-01 17:13:01 +01:00
Sebastian Serth
7285978ea3
Re-add test method for SubmissionsController
2021-11-01 17:13:01 +01:00
Sebastian Serth
5f98456276
Extract run_test_file from submission.rb
2021-11-01 17:13:01 +01:00
Sebastian Serth
56a1d78793
Use correct embed_option to disable_score
2021-11-01 17:13:01 +01:00
Sebastian Serth
2377f8370c
Clarify set_file and set_files in SubmissionsController
2021-11-01 17:13:00 +01:00
Sebastian Serth
21e0571838
Remove unnecessary post parameter from sync_all view
2021-11-01 17:13:00 +01:00
Sebastian Serth
345860c779
Adapt output buffering to Poseidon and DCP
...
* Refactor flushing of messages
* Introduce two separate buffers for stdout and stderr
2021-11-01 17:13:00 +01:00