Commit Graph

400 Commits

Author SHA1 Message Date
5ecba6ef70 Persist TestrunMessages and store timestamp
So far, the Testrun messages are in addition to the Tesstrun.output column
2022-04-29 01:00:51 +02:00
e9efb5bc2b Add exit_code and status to Testruns, create model for TestrunMessages
* This is the first step to migrate the `output` column from Testruns to a dedicated table TestrunMessages
2022-04-28 15:18:51 +02:00
0f378ce151 Limit RfC display to the last three months 2022-04-26 19:00:55 +02:00
83e09f33ec Merge pull request #1237 from openHPI/aws_experiment
Prepare AWS Experiment
2022-04-18 21:18:29 +02:00
19bd742bc9 Show a localized message if the program was killed.
* This will most likely happen by the OOM killer, thus we inform the user about the memory restriction.
2022-04-15 21:29:55 +02:00
d10735d0a8 Persist Execution Environment when running code 2022-04-15 15:22:19 +02:00
4887f4af02 Implement A/B Test for using AWS as an executor for Java 2022-04-15 15:22:19 +02:00
ba11adb966 Fix working time statistics for internal and external users 2022-01-20 23:41:32 +01:00
46faa14428 Merge pull request #1129 from openHPI/updates
Update bundle (with newest rubocop version) and fix offenses
2022-01-04 10:17:58 +01:00
ea85519163 Update bundle (with newest rubocop version) and fix offenses 2022-01-04 09:42:37 +01:00
97e4ecb4d9 Increase wait time for validating Docker image 2021-12-22 19:10:59 +01:00
79edace57b Use BigDecimals for score calculations 2021-12-16 23:12:16 +01:00
0c1a10959c Use file name with file path as identifier 2021-12-15 00:52:31 +01:00
1a5d512689 Check Runner management status in execution environment updates 2021-12-01 18:41:29 +01:00
f22db22110 Enable Poseidon sync after commit 2021-11-26 01:00:31 +01:00
da4e10b990 Add CommunitySolution
* Also slightly refactor some JS files
2021-11-23 01:38:31 +01:00
5aee2aaba8 Add more logging for execution requests 2021-11-18 14:18:41 +01:00
a576d76fda Serialize trestrun for Sentry logging 2021-11-15 00:30:50 +01:00
c2ea27b3ee Add annotation about exceptions to submission.rb 2021-11-14 22:45:37 +01:00
fb92d382ac Skip verification of Docker image if pool size is empty 2021-11-09 17:49:51 +01:00
79da2781e3 Restructure methods in execution_environment.rb 2021-11-04 20:09:19 +01:00
c1ac401a49 Add retries to working_docker_image?
* Also synchronize images during save
2021-11-04 20:09:19 +01:00
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
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
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
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
475aa8c512 DCP: Allow increasing the pool size when previously empty 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
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
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
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
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
2377f8370c Clarify set_file and set_files in SubmissionsController 2021-11-01 17:13:00 +01:00
0c22e1392a Remove outdated mnemosyne traces 2021-11-01 17:12:55 +01:00
13c378b980 Remove concurrent ruby gem no longer needed 2021-11-01 17:12:55 +01:00
f77e6d9df8 Simplify code in runner model 2021-11-01 17:12:54 +01:00
30603cb7ab Generalize method and constant names for runner management 2021-11-01 17:12:53 +01:00
e752df1b3c Move EventMachine initialization to Runner::EventLoop 2021-11-01 17:12:53 +01:00
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