Commit Graph

123 Commits

Author SHA1 Message Date
0dd931fba1 Add runner management health check for /ping
Even though we can check the health of the runner management, we would like to ensure an external health check validates the availability of all required services.
2023-03-13 22:54:14 +01:00
e9cf79085a Refactor listing files to be independent of exiting runners
Previously, we were always fetching files, even if not required (e.g., for score runs). Now, we reduce the number of file listings and use a dedicated callback.
2023-02-16 10:50:01 +01:00
a558a6df3b Shorten message name for sentry hub cloning 2023-02-16 10:47:58 +01:00
91c2e14fe8 Fix error handling during Runner::Connection close
Closes CODEOCEAN-HQ
2023-02-16 10:47:28 +01:00
4a8653040c Use deep merge for Runner::Connection headers 2023-02-12 14:08:54 +01:00
b1372e880c Enable Sentry instrumentation for WebSocket connection 2023-02-12 13:51:10 +01:00
fb9ab4cd61 DCP: Allow unused keyword arguments for Rubocop 2022-12-19 17:09:59 +01:00
82bb0dd5d1 Return default for retrieve_files
Fixes CODEOCEAN-G7
2022-12-19 16:10:38 +01:00
574e99eddd Fix rubocop offenses - Requires Ruby 3.1+ 2022-11-25 11:10:06 +01:00
61c4d5a894 Provide default for retrieve_files method
Fixes CODEOCEAN-F4
2022-11-17 20:47:33 +01:00
d50e6d30e9 List Files: Catch more Runner::Errors 2022-11-14 13:51:04 +01:00
2753e4ef5b Always catch StandardError in Threads and release connection 2022-11-11 22:50:27 +01:00
9ea94ed4fc Explicitly copy folders before adding files
This allows to protect copied files while additionally allowing learners to add new files in copied subdirectories
2022-10-29 18:50:27 +02:00
9e7b3b7b58 Update keyword arguments for #retrieve_files 2022-10-29 18:49:18 +02:00
60078701f5 Editor: Allow file retrieval after code run 2022-10-29 18:49:18 +02:00
cb94bc3de6 Strategy: Allow privileged_execution: keyword even if not used 2022-10-05 19:19:12 +02:00
a5da7d1f84 Remove outdated HTTP status codes
See https://github.com/openHPI/codeocean/pull/1349#pullrequestreview-1091652523
2022-10-05 13:11:43 +02:00
ba821bd18b Change HTTP status codes for Poseidon in accordance with recent changes.
See https://github.com/openHPI/poseidon/pull/159
2022-10-05 13:11:43 +02:00
f53c6cb3ee Shell: Add toggle to execute command as root 2022-10-04 16:06:58 +02:00
eb188dcd71 Add privilegedExecution flag to database and Poseidon Strategy 2022-09-24 22:32:41 +02:00
d762f976a8 Add new CodeOcean::File#read method
* With a new method, we can simplify our code to handle differences between file.content and file.native_file.read
2022-08-19 22:42:55 +02:00
56eab88f88 Gracefully handle the deletion of non-existing runners 2022-07-15 00:49:15 +02:00
8e403ff65a Poseidon: Use relative path to remove workspace directory
See #1088
2022-06-10 18:13:11 +02:00
b613267add Remove legacy DockerClient 2022-06-08 13:18:37 +02:00
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
8d8bf5ef29 Connection::Buffer: Fix bug for incomplete lines
* Introduce (temporary) conversion to CRLF-line endings before processing and splitting the output
* (Partially) revert previous changes
2022-04-25 17:53:08 +02:00
902d09b3fa Connection::Buffer: Allow additional, single new lines for AWS 2022-04-24 19:34:53 +02:00
591d520e26 Connection::Buffer: Improve performance for deleting \r suffix 2022-04-24 19:00:02 +02:00
c5f0189859 Connection::Buffer: Remove duplicated new line character
"a\r".gsub(/\r?$/, "\n") ==> "a\n\n"
2022-04-24 18:57:33 +02:00
35454836c8 Allow \r\n and \n line breaks for Connection::Buffer
* Nomad sends CRLF-separated lines
* AWS sends LF-separated lines
2022-04-24 18:26:05 +02:00
66d4f90b4a Send the WebSocket message immediately with EventMachine.next_tick 2022-04-13 14:39:07 +02:00
5caace01b6 Add comment to DockerContainerPool strategy regarding filtering 2022-04-12 12:47:16 +02:00
18daa1c998 Enable image preview in STDOUT 2022-03-02 11:44:48 +01:00
ea85519163 Update bundle (with newest rubocop version) and fix offenses 2022-01-04 09:42:37 +01:00
4fc4b7ac35 Remove temporary fix for Poseidon#54 2021-12-16 23:15:27 +01:00
563e14a44a Adapt dashboard to show idle and used runners 2021-12-07 00:08:31 +01:00
a4003ca733 DCP: Redirect successful PyLint output to stdout 2021-12-06 22:12:16 +01:00
394385098d Rescue Faraday::ConnectionFailed for Poseidon 2021-12-01 15:10:47 +01:00
5ef7da14be Show release information for Poseidon 2021-11-25 20:09:46 +01:00
c90e02e4f1 Fixes CODEOCEAN-5J with error during WebSocket handshake 2021-11-18 14:04:23 +01:00
4cddcb6544 Fixes CODEOCEAN-68 with empty file 2021-11-18 13:37:32 +01:00
b07560bc7e Poseidon: Read native file content if available 2021-11-17 19:36:06 +01:00
86c6ad7ea3 Poseidon: Use absolute path to remove workspace directory 2021-11-17 17:44:09 +01:00
eb985bec9a DCP: Rescue Excon::Error::Socket 2021-11-15 15:09:43 +01:00
e34656eb0f Modify buffer line breaking behavior
* This is based on Sentry issue CODEOCEAN-5W (linter translation failing due to \r in output)
* We cannot keep all "\r" messages but we must not forward the "\r" if it is a single message received after a valid JSON
2021-11-15 00:30:32 +01:00
46e0bb73a7 Fix initial sync with Poseidon 2021-11-10 08:56:33 +01:00
3608856397 Merge pull request #1079 from openHPI/sync_execution_environments
Sync execution environments
2021-11-09 18:44:35 +01:00
7d032e5c0d Buffer: Prevent replacement of "\r" message 2021-11-08 23:33:37 +01:00
1dce6c59ab Add note about default ACL for Docker mount dir 2021-11-08 22:39:10 +01:00
5401ebb54d Revert "DCP: previous_data match should be non-greedy"
This reverts commit 328055e6e8 due to dramatically slower processing.
2021-11-08 20:06:55 +01:00