413f9b2705
Improve error resilience and handling
...
Timeouts are now handled correctly and the Runner automatically
creates the execution environment if it could not be found in
Poseidon. The runner is deleted locally if Poseidon returns
a bad request error.
2021-11-01 17:12:50 +01:00
d0d1b1bffd
Introduce strategy for runner behavior
...
The runner model is only a class responsible for storing information
now. Based on the configuration it picks a strategy for the runner
management. The Poseidon strategy is already implemented and tested.
The Docker strategy will follow.
2021-11-01 17:12:49 +01:00
d5b274c9f2
Introduce new error types for runners
...
The errors are raised in the runner model and in the runner connection
class. In the submission controller the errors are rescued and,
depending on the error, the status timeout / container depleted is
sent to the client.
2021-11-01 17:12:48 +01:00
8d968e01e6
Move RunnerConnection into class Runner
...
The old approach was to require the runner connection. This did
not work anymore with Zeitwerk in Rails 6. @sebastian.serth and I
moved the Connection class in `lib` into the ActiveRecord class
`Runner`. This will also work with future changes like specific
error classes. Furthermore the config was fixed and simplified.
Co-authored-by: Sebastian Serth <Sebastian.Serth@hpi.de >
2021-11-01 17:12:47 +01:00
63d997a7e3
Fix Rubocop offenses after Rubocop was reconfigured
2021-11-01 17:12:47 +01:00
17bd2d8726
Reuse runners per user and execution environment
...
Co-authored-by: Jan-Eric Hellenberg <jan-eric.hellenberg@student.hpi.uni-potsdam.de >
Co-authored-by: Maximilian Pass <maximilian.pass@student.hpi.uni-potsdam.de >
2021-11-01 17:12:46 +01:00
3017e46006
Add newline to end of json schema
2021-11-01 17:12:45 +01:00
2404c1c36c
Rename variables from container to runner
2021-11-01 17:12:45 +01:00
3e6534567d
Move copy_submission_files from runner to submission
2021-11-01 17:12:45 +01:00
575057acd3
Fix some non-autocorrectable linting issues
...
Many functions in submission_controller.rb still are very long and have
a high complexity. Because the logic for handling execution of
submissions will probably move elsewhere (when switching to
ActionCable), this is fine for now.
2021-11-01 17:12:45 +01:00
80932c0c40
Auto-correct linting issues
2021-11-01 17:12:45 +01:00
6e9562c9e1
Validate json
2021-11-01 17:12:44 +01:00
cf1e4d6edf
Rename API routes
2021-11-01 17:12:44 +01:00
c36ec447ff
Fix faulty API data format
2021-11-01 17:12:44 +01:00
347e4728a0
Rework protocol inside websocket
...
Co-authored-by Felix Auringer <felix.auringer@student.hpi.uni-potsdam.de >
2021-11-01 17:12:44 +01:00
6a4e302f4e
Fix socket handling and add configuration option
...
Co-authored-by: Felix Auringer <felix.auringer@student.hpi.uni-potsdam.de >
2021-11-01 17:12:43 +01:00
92b249e7b3
Reimplement scoring and create connection abstraction
...
Co-authored-by: Felix Auringer <felix.auringer@student.hpi.uni-potsdam.de >
2021-11-01 17:12:43 +01:00
1546f70818
Begin to refactor websocket handling and implement test
...
Co-authored-by: Felix Auringer <felix.auringer@student.hpi.uni-potsdam.de >
2021-11-01 17:12:43 +01:00
3cf70a33d8
Integrate new API with websocket (run only)
...
Co-authored-by: Felix Auringer <felix.auringer@student.hpi.uni-potsdam.de >
2021-11-01 17:12:43 +01:00
2e2cd1855e
Add Container abstration with new API calls and adapt running a submission
...
Co-authored-by: Felix Auringer <felix.auringer@student.hpi.uni-potsdam.de >
2021-11-01 17:12:43 +01:00
74e285e9fd
Fix rubocop offenses
2021-10-05 12:09:56 +02:00
9fbb148af4
Improve JUnit 5 adapter for successful runs
2021-09-11 21:07:47 +02:00
49d71f9763
Specify version for junit_adapter.rb
2021-09-11 19:51:50 +02:00
b9b2917acf
Add JUnit5 adapter
2021-09-11 19:51:26 +02:00
d7eb562389
Prevent underscores from being removed during command substitution
2021-07-07 20:42:59 +02:00
7010614a75
Re-enable translation of linter messages
2021-06-28 22:11:00 +02:00
e7cf4ef5db
Apply automatic rubocop fixes
2021-06-25 14:41:49 +02:00
08d7b89108
Merge pull request #930 from openHPI/own-project
...
Rebrush action sidebar for implement view
2021-06-01 17:38:55 +02:00
f32661ad78
Rework left sidebar
...
* Move Buttons from left sidebar to JSTree
* Use light style for collapse sidebar buttons
2021-05-28 17:49:59 +02:00
5243808d54
Apply automatic rubocop fixes
2021-05-17 19:40:38 +02:00
da0a682ffb
Apply manual rubocop fixes
2021-05-14 22:03:06 +02:00
6cbecb5b39
Apply automatic rubocop fixes
2021-05-14 22:03:06 +02:00
b3bd84cc21
Change check for presence of Rails Console
2021-05-10 18:57:01 +02:00
9e3eafb346
skip prometheus initialization if disabled / console
2021-04-26 14:20:14 +02:00
6a6e1c84f4
Move Prometheus initialization after preloading the remaining app
2021-04-22 12:34:27 +02:00
c243e65403
Wrap Prometheus initializer into Rails Executor
2021-04-22 11:29:40 +02:00
fbda980d6e
Move eager load before forking process for Prometheus
2021-04-19 17:58:31 +02:00
fc8471c6d4
Parallelize initial Prometheus metric collection
2021-04-19 17:19:49 +02:00
40d2384779
Eager load within Prometheus exporter
2021-04-19 16:56:20 +02:00
6bd9ae9c80
Count RfCs with comments in PostgreSQL for faster Prometheus initialization
2021-04-19 14:55:47 +02:00
434ea0595e
Allow flash messages to appear a second time
2021-04-19 12:59:16 +02:00
ed83e8ea52
Fix some rubocop offenses
2021-04-07 14:06:33 +02:00
9485c15c57
Fix exercise anomaly detection
...
* The SQL query and mail template was erroneous
* Including the `url_helpers` influenced the specs due different url helpers within the specs. Test by executing `rspec './spec/db/seeds_spec.rb[1:1:1]' './spec/features/request_for_comments_filter_spec.rb[1:1]' -f progress --fail-fast --seed 55564`
2021-04-07 14:06:33 +02:00
44b32b6f6a
#46 Add Prometheus exporter
2021-04-07 14:06:32 +02:00
39467ad0e0
Hide linter in week 1 and 2 of Python course
2021-03-08 23:20:42 +01:00
110b009480
Remove A/B test from Python20 course setup
2021-03-08 23:15:58 +01:00
b10e23dd16
Upgrade to newest Sentry
2021-03-04 14:02:16 +01:00
ba4e09e2d7
Rename STDOUT to $stdout in Rake task
2021-02-11 14:33:00 +01:00
13fb6e7f5f
Merge branch 'jz_cpp_adapter'
...
# Conflicts:
# debian_installer/setup_debian_2_install_docker.sh
2021-01-24 22:49:37 +01:00
ad3e4ce4e2
Use default language for PyLint if non is specified
2021-01-24 22:33:35 +01:00