Commit Graph

1813 Commits

Author SHA1 Message Date
d033f71ae3 Catch Runner::Error in RemoteEvaluationController 2021-11-04 18:43:16 +01:00
4cd70f2bad Add comment for retries to Runner#execute_command 2021-11-04 18:43:16 +01:00
92eafa145c Swap runner during score if timeout occurred 2021-11-04 18:43:16 +01:00
eb69697b9a Fix missing routes incompatible with a subpath 2021-11-03 16:02:21 +01:00
91af20b5ce Disallow assessment files during run 2021-11-02 16:19:24 +01:00
0b4217b12d Memoize collect_files 2021-11-02 16:19:01 +01:00
d7e515f1c6 Fix rubocop offense 2021-11-02 10:46:48 +01:00
620dac935a Fix bug that prevented binary file uploads 2021-11-02 10:31:50 +01:00
c3642b5d0c Add an empty line before printing exit message
* The empty line is only added if the output is not empty
2021-11-01 17:52:44 +01:00
2c10b48b70 Execute Command: Guard requesting new runner
* If any exception is thrown, these will be caught now and handled appropriately
2021-11-01 17:13:15 +01:00
bdfcb0da19 Reset previous exception if retrying command execution 2021-11-01 17:13:14 +01:00
6ff14d6fc7 Connection Buffer: Replace \r in run and score output with \n 2021-11-01 17:13:14 +01:00
1e7cf1c622 Prevent parallel execution of run and test during RfC creation
* Otherwise, the output of both might be mixed and saved incorrectly for the RfC
2021-11-01 17:13:14 +01:00
475aa8c512 DCP: Allow increasing the pool size when previously empty 2021-11-01 17:13:13 +01:00
447860892a Always remove exposed_ports_list if present 2021-11-01 17:13:13 +01:00
de83843496 Combine no_output and exit_status messages 2021-11-01 17:13:13 +01:00
b62a7ad129 Prevent non-existing runner_management config to be read 2021-11-01 17:13:11 +01:00
3c8017f23e JS: Ensure to print status messages for score
* If only one response is available, no array will be passed (but rather an Object). The impact of this has been tackled with the changes included
2021-11-01 17:13:11 +01:00
1609bd2e0e Change default of raise_exception for execute_command 2021-11-01 17:13:11 +01:00
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
28c74bc9a5 Improve memoization of @strategy_class 2021-11-01 17:13:08 +01:00
288c7693f7 Remove dump_docker method for admins 2021-11-01 17:13:08 +01:00
af93603ba3 Use strategy release in admin dashboard 2021-11-01 17:13:08 +01:00
ada438b230 Add release and pool_size methods to DCP 2021-11-01 17:13:07 +01:00
2b98905acb Remove usage of DockerClient from execution_environments_controller.rb 2021-11-01 17:13:07 +01:00
541afa92f3 Remove ws_client_protocol option
* The correct setting will be determined automatically
2021-11-01 17:13:06 +01:00
0db6f20933 Move MemoryLimit to Execution Environment 2021-11-01 17:13:06 +01:00
9cc4394296 Allow editing an Execution Environment with active runner management 2021-11-01 17:13:05 +01:00
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
02a2673bf2 Add hint for CPU limit 2021-11-01 17:13:05 +01:00
7e2039ebc2 Fix bug that always showed the default value for CPU limit when editing the limit 2021-11-01 17:13:04 +01:00
a1db30c288 Clarify EnvironmentNotFound error handling 2021-11-01 17:13:02 +01:00
06ef4430f5 Change exposed_ports to array 2021-11-01 17:13:02 +01:00
064c55b711 Add new validator for all elements of an array 2021-11-01 17:13:02 +01:00
90eeb3bb9c Move CodeOcean::FileNameValidator 2021-11-01 17:13:01 +01:00
352e5f4329 Clarify strategy creation in runner.rb with comment 2021-11-01 17:13:01 +01:00
7285978ea3 Re-add test method for SubmissionsController 2021-11-01 17:13:01 +01:00
5f98456276 Extract run_test_file from submission.rb 2021-11-01 17:13:01 +01:00
56a1d78793 Use correct embed_option to disable_score 2021-11-01 17:13:01 +01:00
2377f8370c Clarify set_file and set_files in SubmissionsController 2021-11-01 17:13:00 +01:00
21e0571838 Remove unnecessary post parameter from sync_all view 2021-11-01 17:13:00 +01:00
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
7e7b7ebdfa Allow flushing the WebSocket connection
* This will prevent the current thread from crashing when a single newline character is received.
2021-11-01 17:12:59 +01:00
f4c806fe43 Forward JSON from runner to client if possible 2021-11-01 17:12:59 +01:00
a074a5cb0d Add buffering to output received from runner 2021-11-01 17:12:58 +01:00
3240ea7076 Forward input as raw_event to runner
* Also, rename #send to #send_data in order to prevent debugging issues in RubyMine
2021-11-01 17:12:58 +01:00
f896d041f8 Restructure submissions_controller and remove outdated copy_comments method 2021-11-01 17:12:58 +01:00
1403fc03c4 Remove outdated lines from #download method 2021-11-01 17:12:57 +01:00
601e1fab5c Remove all occurrences of server-sent events 2021-11-01 17:12:57 +01:00
82cab390ad Remove outdated run method from turtle.js 2021-11-01 17:12:57 +01:00