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
cf58be97ee
Fix 17 previously failing specs
2021-11-01 17:12:49 +01:00
598de3bcff
Add button to synchronize all execution environments
...
This adds a button to the execution environment index page that, when
clicked, causes all execution environments to be synchronized to the
runner management (Poseidon) by creating or replacing them.
CodeOcean does not synchronize it's execution environments on startup or
when a new runner management configuration is used for the first time.
The administrator has to manually start this process by pressing this
button.
The equivalent for syncing just one execution environment is updating
it.
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
90fac7b94c
Copy execution environment to Poseidon on create and update
...
When creating or updating an execution environment, an API call to
Poseidon is made with the necessary information to create the
corresponding Nomad job.
If runner management is configured, his will display a warning
(currently in the same color as if it were a success) in the UI, if the
API call fails. The environment is saved even if it fails.
If runner management is not configured, this warning will not be created.
2021-11-01 17:12:48 +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
2404c1c36c
Rename variables from container to runner
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
cf1e4d6edf
Rename API routes
2021-11-01 17:12:44 +01:00
28f8de1a93
Implement workaroud for double render error
...
Co-authored-by: Felix Auringer <felix.auringer@student.hpi.uni-potsdam.de >
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
bb4b4ece92
Add ping/pong health check
2021-10-09 23:37:31 +02:00
9374334bef
Fix memoization for exercise_params
2021-10-08 19:30:55 +02:00
ccf2f1f5fd
Memoize @exercise_params
2021-10-08 19:30:54 +02:00
74e285e9fd
Fix rubocop offenses
2021-10-05 12:09:56 +02:00
a170f7bfc2
Throw exception on any error within Concurrent::Future
...
Co-authored-by: Sebastian Serth <Sebastian.Serth@hpi.de >
2021-08-05 23:17:06 +02:00
3840b45f8a
Revert "Revert "Use switch_locale instead of I18n.with_locale directly""
...
This reverts commit 2c08e270e7
.
Co-authored-by: Sebastian Serth <Sebastian.Serth@hpi.de >
2021-08-05 23:17:06 +02:00
2c08e270e7
Revert "Use switch_locale instead of I18n.with_locale directly"
...
This reverts commit 125c342f35
.
2021-08-05 11:55:54 +02:00
125c342f35
Use switch_locale instead of I18n.with_locale directly
2021-07-26 12:01:25 +02:00
448b5e4a7a
Use current_locale for "not_graded" hint
2021-07-22 10:23:57 +02:00
671c2bd28b
Allow changes to internal user when password is void
2021-07-12 13:27:41 +02:00
d7eb562389
Prevent underscores from being removed during command substitution
2021-07-07 20:42:59 +02:00
72e4026d6c
Ensure that the current docker image is listed when editing an execution environment
2021-07-07 20:19:45 +02:00
9696fcb06f
Remove unnecessary require for zip download
2021-07-06 09:27:44 +02:00
110f1a5750
Fix rubocop offenses after bundle update
2021-06-30 09:13:25 +02:00
7010614a75
Re-enable translation of linter messages
2021-06-28 22:11:00 +02:00
d08707f62e
Fix switch_locale to return the block result
2021-06-28 16:08:24 +02:00
1b71163a77
Refactor locale with around method
2021-06-25 17:36:56 +02:00
e7cf4ef5db
Apply automatic rubocop fixes
2021-06-25 14:41:49 +02:00
7b4a487530
Localize exercises.implement.not_graded
2021-06-11 22:23:09 +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
a6c6b07a91
Detect encoding of uploaded files and convert to UTF-8. Finally.
2021-05-17 19:33:32 +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
48904a19fd
Fix test for new custom file
2021-05-14 17:35:37 +02:00
bf6ab4f114
Prevent custom files from being rejected
2021-05-14 17:15:55 +02:00
276423fd30
Replace deprecated update_attributes
2021-05-12 22:54:06 +02:00
2b32829e60
Upgrade DatabaseCleaner strategy
2021-05-12 16:47:05 +02:00
3c7e9176a2
Daily Rubocop
2021-04-30 12:06:13 +02:00
4958f5b9a9
Add StudyGroup to RemoteEvaluationMapping
2021-04-30 12:06:12 +02:00
36cacc2330
Pass exercise object instead of id to reject_illegal_file_attributes
2021-04-30 12:06:11 +02:00