c6e65c14bb
Monitor Nomad allocation startup duration.
2022-07-31 19:42:35 +02:00
18daa1152c
Save the environment id for runner monitoring.
2022-07-31 19:42:35 +02:00
49c7a2d405
Save the runner and environment id for executions monitoring.
2022-07-31 19:42:35 +02:00
39cfdbf635
Apply suggestions from code review
2022-07-01 15:29:31 +02:00
498e8f5ff5
#110 Refactor influxdb monitoring
...
to use it as singleton.
This enables the possibility to monitor processes that are independent of an incoming request.
2022-07-01 15:29:31 +02:00
34040162c2
#89 Generalise the three Storage interfaces and structs into one generic storage manager.
2022-06-29 16:21:19 +02:00
203d5a3a4f
#155 refactor and synchronise writing to CodeOcean. ( #174 )
...
* #155 refactor and synchronise writing to CodeOcean.
* Reduce complexity of input parsing.
* Update typo in internal/api/ws/codeocean_writer.go
Co-authored-by: Sebastian Serth <MrSerth@users.noreply.github.com >
2022-06-26 20:19:23 +02:00
a4d13fb8cb
#148 Add stage to influx monitoring.
2022-06-21 15:31:29 +02:00
3afe8ddb66
#155 Enable stopping of the CodeOcean WebSocket read independently of writing to CodeOcean.
2022-06-21 12:13:33 +02:00
3d1ed7cb0f
#155 Minimise timing issues with websocket close.
2022-06-21 12:13:33 +02:00
79dc3a94da
#155 Add log statement for further investigations ( #164 )
2022-06-12 11:10:57 +02:00
eecacc08bf
#42 Allow deletion of ./*
2022-06-10 18:21:06 +02:00
59ca63268b
Add CODEOCEAN environment variable.
2022-06-10 18:10:28 +02:00
903ad415c6
Set and unset aws environment variables
...
in order to provide the CodeOcean context for some scripts and hide AWS credentials from the users.
2022-06-10 18:10:28 +02:00
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