Commit Graph

74 Commits

Author SHA1 Message Date
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
5caace01b6 Add comment to DockerContainerPool strategy regarding filtering 2022-04-12 12:47:16 +02: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
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
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
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
054d35b8d3 Add environments method to all strategies 2021-11-04 20:09:19 +01:00
94170ea742 DCP: Improve error handling for destroy_at_management 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
328055e6e8 DCP: previous_data match should be non-greedy 2021-11-01 17:13:15 +01:00
65fe1d902d DCP: Match java@hostname output 2021-11-01 17:13:15 +01:00
d16917261b Prevent inactivityTimeout from being smaller than permitted_execution_time 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
eaa06ee528 DCP: Prevent double deletion of runner 2021-11-01 17:13:13 +01:00
6a902c41db DCP: Refactor container method and usage 2021-11-01 17:13:12 +01:00
537d8bfc95 DCP: Add handling of inactivity timer 2021-11-01 17:13:12 +01:00
dcafbb9d46 DCP: Change HTTP verbs 2021-11-01 17:13:12 +01:00
6209e25ee2 DCP: Move pool location to code_ocean.yml 2021-11-01 17:13:12 +01:00
7bb2ef8588 DCP: Forward data before matching stdout termination 2021-11-01 17:13:12 +01:00
dfdec92c6e Use ping option only for DCP WebSocket
* The Faye::WebSocket library will "buffer" some output of the connection and emit the `on :message` events in the order of the messages. However, when a ping is sent while the connection has already been closed, it will emit the `on :close` event immediately and drop all other messages (in that "buffer"). This is problematic for very short running executions that generate a long output (as this will be cut off without a proper exit message sent by Poseidon).
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
01ec9343cf Remove usage of DockerClient 2021-11-01 17:13:10 +01:00
b13a3b084d Use new available_images routes from DCP 2021-11-01 17:13:10 +01:00
9d833e37b3 Use Net::HTTP::Persistent for requests to Poseidon 2021-11-01 17:13:09 +01:00
ada438b230 Add release and pool_size methods to DCP 2021-11-01 17:13:07 +01:00
6d1b388e3c Reorder methods in strategy classes 2021-11-01 17:13:07 +01:00
e33af5760d Delegate initialization to Runner::Strategy 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