Commit Graph

555 Commits

Author SHA1 Message Date
be16738641 Update Sentry to ignore health check transactions 2021-11-26 00:00:45 +01:00
aabb6ca6bc Reduce Sentry traces_sample_rate 2021-11-23 10:04:22 +01:00
116511bd6e Update research_status locale for CommunitySolution 2021-11-23 10:02:17 +01:00
da4e10b990 Add CommunitySolution
* Also slightly refactor some JS files
2021-11-23 01:38:31 +01:00
9079a0b15a Implement Tips Intervention 2021-11-23 01:38:10 +01:00
950b03af77 Fix typo in English locale 2021-11-20 12:44:45 +01:00
81745504ea Fix CODEOCEAN-5Z
* add "cannot assign to comparison" to linter translation
2021-11-15 13:46:24 +01:00
1dce6c59ab Add note about default ACL for Docker mount dir 2021-11-08 22:39:10 +01:00
3ad4890ad4 Use JSON as default for remote evaluation 2021-11-08 10:14:49 +01:00
56d219ad8e [ci-skip] Improve comment for unused_runner_expiration_time 2021-11-01 17:13:13 +01:00
de83843496 Combine no_output and exit_status messages 2021-11-01 17:13:13 +01:00
6209e25ee2 DCP: Move pool location to code_ocean.yml 2021-11-01 17:13:12 +01:00
af93603ba3 Use strategy release in admin dashboard 2021-11-01 17:13:08 +01:00
f3b4be3006 Fix deprecation warning for raise_on_missing_translations 2021-11-01 17:13:07 +01:00
e33af5760d Delegate initialization to Runner::Strategy 2021-11-01 17:13:07 +01:00
541afa92f3 Remove ws_client_protocol option
* The correct setting will be determined automatically
2021-11-01 17:13:06 +01:00
8a4bd84d04 Add note about using hostnames on IPv6 systems 2021-11-01 17:13:06 +01:00
02a2673bf2 Add hint for CPU limit 2021-11-01 17:13:05 +01:00
95f97bd66e Add documentation to code_ocean.yml 2021-11-01 17:13:02 +01:00
06ef4430f5 Change exposed_ports to array 2021-11-01 17:13:02 +01:00
b51a45e9b1 Add token header option for requests to Poseidon 2021-11-01 17:12:57 +01:00
44395b7792 Add ca file option for requests to Poseidon 2021-11-01 17:12:56 +01:00
30603cb7ab Generalize method and constant names for runner management 2021-11-01 17:12:53 +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
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
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
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
fc6aa12b0a Remove handling of runner timeouts 2021-11-01 17:12:47 +01:00
7ff65135b5 Add runner management configuration to ci 2021-11-01 17:12:46 +01:00
286a3f394d Fix autocorrectable rubocop offences and implement suggestions 2021-11-01 17:12:46 +01:00
c14cf99a96 Don't cleanup runners during precompile 2021-11-01 17:12:46 +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
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
f9a7e73719 Remove usage of safe_html in renderings 2021-10-12 11:23:22 +02:00
bb4b4ece92 Add ping/pong health check 2021-10-09 23:37:31 +02:00
671c2bd28b Allow changes to internal user when password is void 2021-07-12 13:27:41 +02:00
eab51d1ea2 Update port of DockerContainerPool in example 2021-07-12 11:27:20 +02:00
4926b33a5f Introduce new config option for JS-based Sentry
* Also update environment_variables.md
2021-07-08 20:15:29 +02:00
237c225732 Add support for running CodeOcean under a subpath
* Also refactor (JavaScript) routes
2021-07-06 19:33:55 +02:00
7914608efe Add js-routes to use Route helpers in JavaScript 2021-07-06 16:54:27 +02:00
3fb9c967b4 Remove unnecessary Rubocop deactivation 2021-07-01 08:06:10 +02:00
110f1a5750 Fix rubocop offenses after bundle update 2021-06-30 09:13:25 +02:00
7543749e81 Lower Sentry trace sample rate to 5% 2021-05-17 22:54:00 +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
1d08a78d7d Lower Sentry trace sample rate to 10% 2021-05-12 23:20:03 +02:00
5bf7c0a425 Move inflections to dedicated file 2021-05-12 18:19:50 +02:00
a75328e634 Enable Sentry Performance 2021-05-12 17:58:18 +02:00
d563488c30 Remove uglifier as JS preprocessor 2021-05-12 17:51:28 +02:00