e877cd1e52
Rename Sentry Span Descriptions.
2023-03-14 23:42:19 +01:00
7dadc5dfe9
Refactor Nomad Command Generation.
...
- Abstracting from the exec form while generating.
- Removal of single quotes (usage of only double-quotes).
- Bash-nesting using escaping of special characters.
2023-03-14 23:42:19 +01:00
a4599f2cf9
Fix panic on influx shutdown.
...
Influx was shutdown before Poseidon was terminated. In that mean time the Profiling data has been written. Also in that mean time, a periodical influx event triggers a panic since influx is already shutdown.
We implemented two changes, each fixing this scenario.
2023-03-13 15:21:24 +01:00
aa9d4d30e2
Actual retry sending InfluxDB data
...
Previously, we always logged the error on first failure and (nevertheless) tried to send the data within 3 minutes (default configuration).
Fixes POSEIDON-1H
Closes #262
2023-02-28 23:47:35 +01:00
2650efbb38
Sentry Tracing Identifier
2023-02-03 10:29:18 +00:00
a9581ac1d9
Performance for ListFileSystem
2023-02-03 10:29:18 +00:00
8950ab3776
Add single quotes for inner command.
...
Change to bash as interpreter.
Forbid single quotes for user commands.
2022-11-04 15:15:43 +01:00
5e5e13806e
Monitor file download.
2022-10-26 01:33:26 +02:00
160df3d9e6
Add retry-mechanism for sample, mark-as-used and return
...
of Nomad runners.
2022-10-24 22:12:09 +01:00
b9c923da8a
Remove unused and deprecated Storer interface.
2022-10-24 22:12:09 +01:00
7119f3e012
Fix not canceling monitoring events for removed environments
...
and runners.
2022-10-24 13:15:14 +02:00
3509109b6f
Fix Ls2JsonWriter
...
by allowing more spaces in the ls response.
by sending the error response of the list file system route only when no content has been written.
2022-10-05 12:11:47 +01:00
195f88177e
Add Content-Length and Content-Disposition Header
...
for GetFileContent route.
2022-10-05 12:11:47 +01:00
847e5cda65
Extend ls2json reader
...
by also parsing the link target, permissions, group and owner.
2022-10-05 12:11:47 +01:00
fc77f11d4d
Enquote file path for shell execution.
...
Also, fix json of 500 response.
2022-10-05 12:11:47 +01:00
152b77afe5
Add listing of runners file system.
2022-10-05 12:11:47 +01:00
f2b25566dd
#136 Copy files back from Nomad runner.
2022-10-05 12:11:47 +01:00
1a5a49d7c8
Explicitly switch user for code execution.
...
Co-authored-by: Maximilian Pass <maximilian.pass@student.hpi.uni-potsdam.de >
2022-09-24 23:09:23 +02:00
89fc7b2637
Fix Nomad event stream is ignoring errors
...
when an event stream could be established once.
2022-09-07 21:16:20 +02:00
e8457ca035
Remove monitoring debug statement.
2022-08-31 09:19:07 +02:00
5590c50e14
#110 Add periodical monitoring events.
2022-08-19 20:48:46 +02:00
9677253b35
Change Influx field name for the startup duration
...
due to a currently not resolvable type mismatch.
2022-08-10 20:46:17 +02:00
770327cf64
Add storage count debug statement.
2022-08-08 09:17:27 +02:00
6e52b8660d
Avoid elements being removed multiple times
...
as this leads to multiple deletion events in the monitoring.
2022-08-01 11:36:18 +02:00
c6e65c14bb
Monitor Nomad allocation startup duration.
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
d9b7989a6c
Enable logging for failed monitoring.
2022-07-01 15:29:31 +02:00
3f0c781997
Monitor storage object count.
2022-07-01 15:29:31 +02:00
051fe29d59
Add unit test for monitored storage.
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
275b6aa642
#89 Adjust golangci-lint configuration
...
as it does not support generics at this moment.
See https://github.com/golangci/golangci-lint/issues/2649
2022-06-29 16:21:19 +02:00
34040162c2
#89 Generalise the three Storage interfaces and structs into one generic storage manager.
2022-06-29 16:21:19 +02:00
a4d13fb8cb
#148 Add stage to influx monitoring.
2022-06-21 15:31:29 +02:00
59ca63268b
Add CODEOCEAN environment variable.
2022-06-10 18:10:28 +02:00
669ec039ce
Update dependencies
2022-06-07 17:21:05 +02:00
1e59c1146e
Fix CodeQL log injection warning
...
by removing newlines from logged user input.
2022-06-07 17:21: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
8feffdae3a
Add initial structure of influxdb monitoring.
2022-04-18 13:17:49 +02:00
9f0b04660f
Fix goroutine leak in the nullio reader
2021-12-14 13:24:53 +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
7c9406cd7a
Change response logging message
...
to allow specific error tracking in sentry. See POSEIDON-F
2021-11-26 21:28:10 +01:00
3ae83217d7
Add Sentry integration
2021-11-25 19:29:33 +01:00
cf3db036fa
Make environment variables of the system accessible.
2021-11-17 13:44:50 +01:00
dcc869cd94
Fix after updating golangci-lint
...
v1.43
2021-11-10 13:11:38 +01:00
bd80dd729f
Add milliseconds to the logging timestamp
2021-10-21 10:34:31 +02:00
34d4bb7ea0
Implement routes to list, get and delete execution environments
...
* #9 Implement routes to list, get and delete execution environments.
A refactoring was required to introduce the ExecutionEnvironment interface.
* Fix MR comments, linting issues and bug that lead to e2e test failure
* Add e2e tests
* Add unit tests
2021-10-21 10:33:52 +02:00
c8c5357b8c
Rename module for GitHub
2021-07-30 16:43:05 +02:00
36dc99f019
Don't embed the execution.Storer interface into a runner
...
Previously, the execution.Storer interface was embedded in the Runner interface.
However, this resulted in calls like runner.Add(...) to add an execution to the
store which is kind of ugly. Thus, we decided to add only the required functions to
the runner interface and make the execution.Storer a field of the implementation.
2021-07-30 14:28:06 +02:00
4ad470a5c4
Rename execution.Storage to Storer to follow Go convention
...
Interfaces should be named like someone actively doing a thing. Thus,
instead of Storage we use Storer.
2021-07-30 14:26:44 +02:00