Sebastian Serth
c1ac401a49
Add retries to working_docker_image?
...
* Also synchronize images during save
2021-11-04 20:09:19 +01:00
Sebastian Serth
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
Sebastian Serth
38e1f5b486
Show error details of available_images
2021-11-04 20:06:40 +01:00
Sebastian Serth
7f47af99cb
Fix order-dependent specs
2021-11-04 19:15:33 +01:00
Sebastian Serth
d033f71ae3
Catch Runner::Error in RemoteEvaluationController
2021-11-04 18:43:16 +01:00
Sebastian Serth
4cd70f2bad
Add comment for retries to Runner#execute_command
2021-11-04 18:43:16 +01:00
Sebastian Serth
92eafa145c
Swap runner during score if timeout occurred
2021-11-04 18:43:16 +01:00
Sebastian Serth
107ff03eec
Bundle update
2021-11-04 17:19:45 +01:00
Sebastian Serth
eb69697b9a
Fix missing routes incompatible with a subpath
2021-11-03 16:02:21 +01:00
Sebastian Serth
7bda3f1950
JUnit 4: Allow "exit" at the end of tests
2021-11-02 22:42:38 +01:00
Sebastian Serth
91af20b5ce
Disallow assessment files during run
2021-11-02 16:19:24 +01:00
Sebastian Serth
0b4217b12d
Memoize collect_files
2021-11-02 16:19:01 +01:00
Sebastian Serth
e37683a1b2
Fix linting issue for PyLint adapter
2021-11-02 15:53:49 +01:00
Sebastian Serth
3d3478d859
Test Adapters: Always use the last output for score runs
...
* This prevents learners from cheating by printing the required status line themselves
2021-11-02 15:52:49 +01:00
Sebastian Serth
d7e515f1c6
Fix rubocop offense
2021-11-02 10:46:48 +01:00
Sebastian Serth
620dac935a
Fix bug that prevented binary file uploads
2021-11-02 10:31:50 +01:00
dependabot[bot]
ebec5bac04
Merge pull request #1078 from openHPI/dependabot/bundler/net-http-persistent-4.0.1
2021-11-02 03:08:42 +00:00
dependabot[bot]
5cda6d3ce8
Merge pull request #1077 from openHPI/dependabot/bundler/js-routes-2.1.2
2021-11-02 03:07:48 +00:00
dependabot[bot]
c6bbd4f28e
Bump net-http-persistent from 4.0.0 to 4.0.1
...
Bumps [net-http-persistent](https://github.com/drbrain/net-http-persistent ) from 4.0.0 to 4.0.1.
- [Release notes](https://github.com/drbrain/net-http-persistent/releases )
- [Changelog](https://github.com/drbrain/net-http-persistent/blob/master/History.txt )
- [Commits](https://github.com/drbrain/net-http-persistent/compare/v4.0.0...v4.0.1 )
---
updated-dependencies:
- dependency-name: net-http-persistent
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-11-02 03:01:37 +00:00
dependabot[bot]
fe0a1e2887
Bump js-routes from 2.1.1 to 2.1.2
...
Bumps [js-routes](https://github.com/railsware/js-routes ) from 2.1.1 to 2.1.2.
- [Release notes](https://github.com/railsware/js-routes/releases )
- [Changelog](https://github.com/railsware/js-routes/blob/master/CHANGELOG.md )
- [Commits](https://github.com/railsware/js-routes/compare/v2.1.1...v2.1.2 )
---
updated-dependencies:
- dependency-name: js-routes
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-11-02 03:01:26 +00:00
Sebastian Serth
7b834b420b
Merge pull request #1076 from openHPI/runner_management
...
Enable support for runner management
2021-11-01 19:33:59 +01:00
Sebastian Serth
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
Sebastian Serth
328055e6e8
DCP: previous_data match should be non-greedy
2021-11-01 17:13:15 +01:00
Sebastian Serth
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
Sebastian Serth
65fe1d902d
DCP: Match java@hostname output
2021-11-01 17:13:15 +01:00
Sebastian Serth
d16917261b
Prevent inactivityTimeout from being smaller than permitted_execution_time
2021-11-01 17:13:14 +01:00
Sebastian Serth
bdfcb0da19
Reset previous exception if retrying command execution
2021-11-01 17:13:14 +01:00
Sebastian Serth
6ff14d6fc7
Connection Buffer: Replace \r in run and score output with \n
2021-11-01 17:13:14 +01:00
Sebastian Serth
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
Sebastian Serth
475aa8c512
DCP: Allow increasing the pool size when previously empty
2021-11-01 17:13:13 +01:00
Sebastian Serth
447860892a
Always remove exposed_ports_list
if present
2021-11-01 17:13:13 +01:00
Sebastian Serth
56d219ad8e
[ci-skip] Improve comment for unused_runner_expiration_time
2021-11-01 17:13:13 +01:00
Sebastian Serth
de83843496
Combine no_output and exit_status messages
2021-11-01 17:13:13 +01:00
Sebastian Serth
eaa06ee528
DCP: Prevent double deletion of runner
2021-11-01 17:13:13 +01:00
Sebastian Serth
6a902c41db
DCP: Refactor container
method and usage
2021-11-01 17:13:12 +01:00
Sebastian Serth
537d8bfc95
DCP: Add handling of inactivity timer
2021-11-01 17:13:12 +01:00
Sebastian Serth
dcafbb9d46
DCP: Change HTTP verbs
2021-11-01 17:13:12 +01:00
Sebastian Serth
6209e25ee2
DCP: Move pool location to code_ocean.yml
2021-11-01 17:13:12 +01:00
Sebastian Serth
7bb2ef8588
DCP: Forward data before matching stdout termination
2021-11-01 17:13:12 +01:00
Sebastian Serth
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
Sebastian Serth
570809bfe9
Allow whitespace for JSON exit
2021-11-01 17:13:11 +01:00
Sebastian Serth
b62a7ad129
Prevent non-existing runner_management config to be read
2021-11-01 17:13:11 +01:00
Sebastian Serth
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
Sebastian Serth
1609bd2e0e
Change default of raise_exception for execute_command
2021-11-01 17:13:11 +01:00
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