Commit Graph

118 Commits

Author SHA1 Message Date
Sebastian Serth
99979eeb4f Rescue RuntimeError (FayeWebsocket) and apply style 2020-05-05 22:46:28 +02:00
Sebastian Serth
0a989e31ae Apply file permissions after copying files to workspace 2020-04-17 23:51:13 +02:00
Sebastian Serth
8fd81fb05e Ignore permission problems when deleting files 2020-04-16 14:52:16 +02:00
Sebastian Serth
28d40605c8 Fix specs 2020-04-14 15:20:15 +02:00
Sebastian Serth
48d06b6dbe Persist metrics for container usage (execution time and waiting time) to Testrun table 2020-03-26 16:28:56 +01:00
Sebastian Serth
380b2ce6c7 Enhance kill for container 2020-03-25 11:47:59 +01:00
Sebastian Serth
b0761dbdb5 Extract pool handling to separate service 2020-03-25 11:30:11 +01:00
Sebastian Serth
de06a83f4c Add a few comments 2020-03-24 18:06:21 +01:00
Sebastian Serth
d9d77fbd97 Various important bug fixes and self destroy for containers 2020-03-23 13:38:50 +01:00
Sebastian Serth
ccb5998b72 Remove semaphore where no longer required and re-enable 2020-03-22 16:56:07 +01:00
Sebastian Serth
1cdc1b0647 Replacing a killed container only if required 2020-03-22 15:35:27 +01:00
Sebastian Serth
0338564bf2 Always close database connection when exiting thread 2020-03-22 15:18:27 +01:00
Sebastian Serth
b4c0a14a35 Fix code style to reduce errors in RubyMine 2020-03-22 15:09:40 +01:00
Sebastian Serth
30fab618a7 Kill container in new thread 2020-03-22 15:09:04 +01:00
Sebastian Serth
ff879d85a1 Restructure kill_container method to release semaphore more quickly 2020-03-22 13:22:22 +01:00
Sebastian Serth
3102d1529f Extract semaphore handling to own methods and add logging 2020-03-22 11:44:19 +01:00
Sebastian Serth
d6e7c20f3f Ensure to release semaphore even if killing container 2020-03-22 10:41:19 +01:00
Sebastian Serth
2b3428b963 Add semaphore to method calls in DockerClient 2020-03-22 09:54:20 +01:00
Sebastian Serth
b38b7bd435 Catch two more exceptions from production 2020-03-17 13:50:33 +01:00
Sebastian Serth
39a822f8bf Skip all docker images not tagged (otherwise, the method crashes) 2018-11-22 19:03:35 +01:00
Sebastian Serth
15b1670511 Update Turbolinks, load additional assets only on request, fix JS
Signed-off-by: Sebastian Serth <Sebastian.Serth@student.hpi.de>
2018-11-06 16:46:01 +01:00
Sebastian Serth
de52db89f0 Upgrade Rails to version 5.2.1 and adopt code & specs where necessary
Signed-off-by: Sebastian Serth <Sebastian.Serth@student.hpi.de>
2018-11-06 16:46:00 +01:00
Ralf Teusner
730d5541bd allow running, testing and scoring of files in subfolders by using the full filepath 2018-10-19 15:25:05 +02:00
Maximilian Grundke
6b6fec025d Fix socket being nil in tests 2018-06-15 14:23:20 +02:00
Maximilian Grundke
90d1dcdc37 Close socket from container to server when killing the container in order to save run output 2018-06-05 17:10:22 +02:00
Ralf Teusner
2806d9bf85 specify API version in url used to open the websocket. With version 1.28 and up, docker uses binary frame format for websockets which does not seem to work with FAYE websocket. For API version 1.27 and below, text frame format is used.
+ short fix improvement for empty responses
2017-09-29 16:09:42 +02:00
Ralf Teusner
bdbc372c0c fixed saving run results. also fixed websocket closing. 2017-03-24 18:47:30 +01:00
Tom Staubitz
4674c057a4 Fixed rejection of untagged images 2017-01-18 11:10:34 +01:00
Ralf Teusner
17f0f6fa9f prevent calls on nil 2017-01-11 17:13:34 +01:00
Ralf Teusner
254e8c65d1 adjusted log levels for docker exit and kill messages 2017-01-11 16:04:55 +01:00
Ralf Teusner
f2db88f952 Merge branch 'master' into travis-green-docker
took all the newer versions. Only thing I deleted is the part #to pass the test "it executes the run command" ...
We need to shortly discuss this yqbk.

Conflicts:
	lib/docker_client.rb
2016-11-09 18:25:02 +01:00
yqbk
c937a1a9ef clean pull request 2016-10-24 23:02:44 +02:00
yqbk
f055e6813d changes in travis 2016-10-16 17:21:54 +02:00
yqbk
1f24e48c5c enable docker initialize 2016-10-11 16:45:56 +02:00
yqbk
1945a47109 apply changes after review 2016-10-11 12:44:16 +02:00
Ralf Teusner
1dfd6f61dc some more relative url roots in editor_edit, removed javascript uglifying for staging, added debug message for docker websocket connection url.
added doku for setting up docker daemon for codeocean
2016-10-07 14:16:24 +02:00
Alexander Kastius
6ff3d36809 Fixed container-ending on exit. 2016-09-09 17:06:30 +02:00
yqbk
032c201b94 repair database query 2016-08-03 14:08:01 +02:00
yqbk
4183a16178 merge with master 2016-08-03 12:09:58 +02:00
Ralf Teusner
d29cf9cf61 Also support run output for QaApi 2016-06-17 19:22:25 +02:00
yqbk
ed20a30517 reverse some changes 2016-06-07 13:52:01 +02:00
yqbk
8c9c798a0d solve execute_run_command error 2016-05-30 17:02:29 +02:00
yqbk
060f9687f1 use pry-byebug gem instead for pry (recommended for ruby 2.x) 2016-05-30 15:47:06 +02:00
yqbk
2850e562cc changes in gemfile 2016-05-30 15:18:02 +02:00
yqbk
7bc3c4e27c Fix tests in models/execution_environment_spec.rb, uncomment @image in lib/docker_client.rb 2016-05-25 15:56:49 +02:00
yqbk
4df7bc825b tests creates the workspace files and takes a container from the pool in docker_client_spec.rb repaired 2016-05-24 16:03:55 +02:00
yqbk
a4a8b6393d test creates the workspace files repaired 2016-05-24 15:59:10 +02:00
Ralf Teusner
b31a5b37f4 renamed execute_websocket_command to open_websocket_connection, because we now run the command after all listeners in the submissions controller were attached 2016-03-01 11:34:07 +01:00
Ralf Teusner
94c31e35a4 Some comments and cleanup of exercise.rb percentage calculation 2016-03-01 11:14:53 +01:00
Ralf Teusner
61426e8f2e uncomment some logging, and recreate folder for local workspace path in the docker client. 2016-01-27 15:49:38 +01:00