ecce3c294f
#155 Add log statement for further investigations
2022-06-09 22:34:43 +02:00
0f8a1fa25a
Specify AWS Functions as list
...
to conform with the yaml standard of list definition.
2022-06-08 09:01:46 +02:00
1e59c1146e
Fix CodeQL log injection warning
...
by removing newlines from logged user input.
2022-06-07 17:21:05 +02:00
795c83f7b2
Fix deleting non existent environments
...
that is an error caused by throwing a panic when an environment is not found and a nonexistent runner manager at the end of the chain is asked for it.
2022-06-07 15:54:48 +02:00
358769eb6b
Fix golangci lint.
2022-05-24 22:12:48 +02:00
430b1748f5
Allow the CR character as part of a newline.
...
Since CodeOcean may send the `\r\n` newline.
2022-04-18 22:29:05 +02:00
25f92e5f94
Add environment specific data to the influxdb data.
2022-04-18 13:17:49 +02:00
eabe3a1b27
Add the Environment ID to the influxdb data.
...
Also move the interface of an execution environment into its own file, execution_environment.go.
2022-04-18 13:17:49 +02:00
b7a20e3114
Introduce method "Environment" to the Runners interface.
...
This way we can relate to which environment a runner belongs.
2022-04-18 13:17:49 +02:00
8feffdae3a
Add initial structure of influxdb monitoring.
2022-04-18 13:17:49 +02:00
e4ebb5b384
Add trace statements for WebSocket messages
...
* With `logger.level: TRACE`, the content of WebSocket messages is logged
together with the corresponding timestamp.
* The input is not further sanitized as this log level
is not intended for production use.
2022-04-15 12:39:03 +02:00
3570f18202
Apply suggestions from code review
...
Co-authored-by: Sebastian Serth <MrSerth@users.noreply.github.com >
2022-04-09 16:35:53 +02:00
136f596dc2
Add aws environments to the statistics
...
but only with the field usedRunners.
2022-04-09 16:35:53 +02:00
a41659eed4
Enable memory oversubscription ( #102 )
...
* Enable memory oversubscription
* Fix and add e2e test
2022-03-18 08:31:27 +01:00
2cf890ab91
Implement review comments
2022-02-28 14:54:40 +01:00
df68461264
Sanitize user input in logs.
2022-02-28 14:54:40 +01:00
4ffbb712ed
Parametrize e2e tests to also check AWS environments.
...
- Fix destroy runner after timeout.
- Add file deletion
2022-02-28 14:54:40 +01:00
d603a8ebb0
Refactor static AWS functions
...
from a magic number in the code to a configurable list in configuration.yaml
2022-02-28 14:54:40 +01:00
f6d9a6ddbb
Add unit tests
2022-02-28 14:54:40 +01:00
6123d20525
Implement core functionality of AWS integration
2022-02-28 14:54:40 +01:00
dd41e0d5c4
Generate structures for an AWS environment and runner
2022-02-28 14:54:40 +01:00
0ef5a4e39f
Make Execution Environment interface Nomad independent
2022-02-28 14:54:40 +01:00
ba43f667c2
Add architecture for multiple managers
...
using the chain of responsibility pattern.
2022-02-28 14:54:40 +01:00
1239699e74
Add a warning when allocations fail ( #83 )
...
* Log a warning when an allocation fails
* Restructure allocation event handling
2021-12-23 13:10:55 +01:00
c22b76720c
Add documentation for guarding the Nomad tasks
2021-12-22 17:30:16 +01:00
251129aa74
Modify filter for runners that should deleted
...
Only "dead" jobs are now not requested to be deleted. Before also pending and starting runners are ignored.
2021-12-22 17:30:16 +01:00
d57a0c07b8
Implement review suggestions
2021-12-22 17:30:16 +01:00
0571b10b5c
Recreate runners on execution environment update
...
Solves #69 and #48
2021-12-22 17:30:16 +01:00
2bf9b10564
Update default image in template-environment-job.hcl
...
* The image previously used is not available publicly and not maintained any longer
* The new base image is not bound to any specific programming environment
2021-12-22 15:54:46 +01:00
2f5b30702a
Fix early write
...
Because some clients fail receiving a response before the body is sent entirely. See https://github.com/openHPI/poseidon/issues/54
2021-12-16 23:44:13 +01:00
f3929cbf50
Fix webSocket error
...
that was introduced by closing the WebSocket connection without stopping the inputLoop.
2021-12-16 15:05:47 +01:00
feefe2c1ed
Fix third goroutine leak and refactor proxy cancellation.
...
Fix goroutine leak in the Read function of the codeOceanToRawReader: Blocking Select statement.
2021-12-14 13:24:53 +01:00
9f0b04660f
Fix goroutine leak in the nullio reader
2021-12-14 13:24:53 +01:00
c565ca217e
Fix goroutine leak when reading the client WebSocket
2021-12-14 13:24:53 +01:00
d684366a4d
Add debug statements for TestSendsSignalAfterTimeout
2021-12-12 10:27:03 +01:00
9cd81930e9
Add API Querier test
2021-12-10 11:30:56 +01:00
ebbbfdb9be
Unwrap Nomad error for allocation exec
...
* This will allow us to inspect whether the websocket connection was closed normally
2021-12-10 10:01:31 +01:00
dce895faff
Move the error handler to the api querier
...
to catch the ws normal close error for all Execute requests
2021-12-09 19:12:20 +01:00
825ebdd3e6
Add forcePull option
...
* Add forcePull option
for pulling the image when the execution environment gets updated
* Apply suggestions from code review
Co-authored-by: Sebastian Serth <MrSerth@users.noreply.github.com >
* Add unit tests
* Clean up and implement option two
Co-authored-by: Sebastian Serth <MrSerth@users.noreply.github.com >
2021-12-09 14:54:14 +01:00
af939b7810
Catch the "Close normal" error
2021-12-09 13:05:18 +01:00
e95e07e426
Catch the client connection "Close normal" error
...
* Catch the client connection "Close normal" error
* Reduce cognitive complexity of the input read loop
2021-12-09 10:02:26 +01:00
1de559cebc
Add statistics route for execution environments
...
* Add statistics route for execution environments
* Add maximum to port api definition
Co-authored-by: Sebastian Serth <MrSerth@users.noreply.github.com >
2021-12-08 12:08:22 +01:00
a6eaa45097
Stop stdout & stderr after timeout
...
Co-authored-by: Sebastian Serth <MrSerth@users.noreply.github.com >
2021-11-25 21:08:56 +01:00
0d7e07eae0
Add route for version information
2021-11-25 19:49:58 +01:00
3ae83217d7
Add Sentry integration
2021-11-25 19:29:33 +01:00
fbbc96da37
Add guard close in event stream
...
for not handling stopped Execution Environment Allocations
2021-11-17 13:16:18 +01:00
ac6ce56c38
Remove flaky test case
2021-11-10 13:11:38 +01:00
dcc869cd94
Fix after updating golangci-lint
...
v1.43
2021-11-10 13:11:38 +01:00
fff67246d6
Infinite busy waiting for lost event ( #31 )
...
* Close evaluation stream for Nomad Job creation
when set event handler have been finished
* Remove evaluation event stream requests
by handling the events via the main Nomad event handler.
2021-11-10 09:57:40 +01:00
4db1ceb41e
Fix Bug with the runner recovery
...
that the runners of the environment 10 are also recovered for the environment 1.
2021-10-22 16:24:55 +02:00