Commit Graph

404 Commits

Author SHA1 Message Date
Maximilian Paß
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
Maximilian Paß
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
Maximilian Paß
8feffdae3a Add initial structure of influxdb monitoring. 2022-04-18 13:17:49 +02:00
Sebastian Serth
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
Maximilian Paß
f1825ebd69 CI: Remove dep-scan as dependency of e2e-tests 2022-04-09 16:35:53 +02:00
Maximilian Paß
3570f18202 Apply suggestions from code review
Co-authored-by: Sebastian Serth <MrSerth@users.noreply.github.com>
2022-04-09 16:35:53 +02:00
Maximilian Paß
597cbec456 Fix golangci-lint timeout error 2022-04-09 16:35:53 +02:00
Maximilian Paß
136f596dc2 Add aws environments to the statistics
but only with the field usedRunners.
2022-04-09 16:35:53 +02:00
Maximilian Paß
d7b1c2d691 Add limited support for Makefile parsing. (#103)
* Add limited support for Makefile parsing.
As the AWS Linux images do not contain make.

* javaExec: Extract makefile functionality in its own class

* Implement review comments
2022-04-07 22:40:19 +02:00
Sebastian Serth
830517f464 Upgrade Go from 1.17 to 1.18 2022-04-04 11:41:57 +02:00
Maximilian Paß
a41659eed4 Enable memory oversubscription (#102)
* Enable memory oversubscription

* Fix and add e2e test
2022-03-18 08:31:27 +01:00
dependabot[bot]
708ae3679e Bump github.com/stretchr/testify from 1.7.0 to 1.7.1
Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.7.0 to 1.7.1.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](https://github.com/stretchr/testify/compare/v1.7.0...v1.7.1)

---
updated-dependencies:
- dependency-name: github.com/stretchr/testify
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-16 18:30:27 +00:00
dependabot[bot]
62d7f00ff4 Merge pull request #101 from openHPI/dependabot/go_modules/github.com/getsentry/sentry-go-0.13.0 2022-03-14 10:35:45 +00:00
dependabot[bot]
a558eb2131 Bump github.com/getsentry/sentry-go from 0.12.0 to 0.13.0
Bumps [github.com/getsentry/sentry-go](https://github.com/getsentry/sentry-go) from 0.12.0 to 0.13.0.
- [Release notes](https://github.com/getsentry/sentry-go/releases)
- [Changelog](https://github.com/getsentry/sentry-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-go/compare/v0.12.0...v0.13.0)

---
updated-dependencies:
- dependency-name: github.com/getsentry/sentry-go
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-11 03:15:21 +00:00
Maximilian Paß
2cf890ab91 Implement review comments 2022-02-28 14:54:40 +01:00
Maximilian Paß
df68461264 Sanitize user input in logs. 2022-02-28 14:54:40 +01:00
Maximilian Paß
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
Maximilian Paß
13eaa61f3b Fix three bugs in java11Exec
detected by the e2e tests.

- Fix that one corrupt file breaks the whole execution.

- Fix that files with absolute path are saved in the workdir.

- Fix that AWS stderr is merged into stdout.
2022-02-28 14:54:40 +01:00
Maximilian Paß
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
Maximilian Paß
f6d9a6ddbb Add unit tests 2022-02-28 14:54:40 +01:00
Maximilian Paß
6123d20525 Implement core functionality of AWS integration 2022-02-28 14:54:40 +01:00
Maximilian Paß
dd41e0d5c4 Generate structures for an AWS environment and runner 2022-02-28 14:54:40 +01:00
Maximilian Paß
0ef5a4e39f Make Execution Environment interface Nomad independent 2022-02-28 14:54:40 +01:00
Maximilian Paß
ba43f667c2 Add architecture for multiple managers
using the chain of responsibility pattern.
2022-02-28 14:54:40 +01:00
dependabot[bot]
dd1d27e393 Bump github.com/gorilla/websocket from 1.4.2 to 1.5.0
Bumps [github.com/gorilla/websocket](https://github.com/gorilla/websocket) from 1.4.2 to 1.5.0.
- [Release notes](https://github.com/gorilla/websocket/releases)
- [Commits](https://github.com/gorilla/websocket/compare/v1.4.2...v1.5.0)

---
updated-dependencies:
- dependency-name: github.com/gorilla/websocket
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-23 12:46:50 +01:00
dependabot[bot]
251b3b30ef Bump github.com/hashicorp/nomad from 1.2.5 to 1.2.6
Bumps [github.com/hashicorp/nomad](https://github.com/hashicorp/nomad) from 1.2.5 to 1.2.6.
- [Release notes](https://github.com/hashicorp/nomad/releases)
- [Changelog](https://github.com/hashicorp/nomad/blob/main/CHANGELOG.md)
- [Commits](https://github.com/hashicorp/nomad/compare/v1.2.5...v1.2.6)

---
updated-dependencies:
- dependency-name: github.com/hashicorp/nomad
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-23 09:45:17 +01:00
dependabot[bot]
1d974d9576 Merge pull request #92 from openHPI/dependabot/go_modules/github.com/hashicorp/nomad-1.2.5 2022-02-02 03:26:00 +00:00
dependabot[bot]
abac7ebf33 Bump github.com/hashicorp/nomad from 1.2.4 to 1.2.5
Bumps [github.com/hashicorp/nomad](https://github.com/hashicorp/nomad) from 1.2.4 to 1.2.5.
- [Release notes](https://github.com/hashicorp/nomad/releases)
- [Changelog](https://github.com/hashicorp/nomad/blob/main/CHANGELOG.md)
- [Commits](https://github.com/hashicorp/nomad/compare/v1.2.4...v1.2.5)

---
updated-dependencies:
- dependency-name: github.com/hashicorp/nomad
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-02 03:19:45 +00:00
Maximilian Paß
4cf72ee337 AWS SAM deployment (#91)
* Generate AWS SAM application
with the Poseidon Java 11 Executor Lambda Function.

* Extend AWS Lambda documentation.

* Apply suggestions from code review

Co-authored-by: Sebastian Serth <MrSerth@users.noreply.github.com>

* Parse dynamic AWS region

Co-authored-by: Sebastian Serth <MrSerth@users.noreply.github.com>
2022-01-27 23:07:13 +01:00
Sebastian Serth
d530d4bfdf Update Dependencies 2022-01-20 23:50:01 +01:00
dependabot[bot]
560f61bccb Bump github.com/hashicorp/nomad from 1.2.3 to 1.2.4
Bumps [github.com/hashicorp/nomad](https://github.com/hashicorp/nomad) from 1.2.3 to 1.2.4.
- [Release notes](https://github.com/hashicorp/nomad/releases)
- [Changelog](https://github.com/hashicorp/nomad/blob/main/CHANGELOG.md)
- [Commits](https://github.com/hashicorp/nomad/compare/v1.2.3...v1.2.4)

---
updated-dependencies:
- dependency-name: github.com/hashicorp/nomad
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-20 21:44:34 +01:00
Maximilian Paß
e24248faa8 Run Sentry release GitHub Action
on every push to main.
2022-01-05 18:32:56 +01:00
Sebastian Serth
89bbb9daef Allow trim to fail
This will happen if no cache is found, e.g. because it has been deleted by GitHub. A cache will removed after seven days without usage
2022-01-05 18:26:32 +01:00
Maximilian Paß
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
dependabot[bot]
79578bd483 Bump github.com/getsentry/sentry-go from 0.11.0 to 0.12.0
Bumps [github.com/getsentry/sentry-go](https://github.com/getsentry/sentry-go) from 0.11.0 to 0.12.0.
- [Release notes](https://github.com/getsentry/sentry-go/releases)
- [Changelog](https://github.com/getsentry/sentry-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-go/compare/v0.11.0...v0.12.0)

---
updated-dependencies:
- dependency-name: github.com/getsentry/sentry-go
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-23 08:52:21 +01:00
Maximilian Paß
a59e2362bf Upgrade the dependencies 2021-12-22 17:35:53 +01:00
Maximilian Paß
c22b76720c Add documentation for guarding the Nomad tasks 2021-12-22 17:30:16 +01:00
Maximilian Paß
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
Maximilian Paß
d57a0c07b8 Implement review suggestions 2021-12-22 17:30:16 +01:00
Maximilian Paß
0571b10b5c Recreate runners on execution environment update
Solves #69 and #48
2021-12-22 17:30:16 +01:00
Sebastian Serth
3abfdb6cc6 Improve documentation for Network support in Nomad 2021-12-22 15:58:15 +01:00
Sebastian Serth
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
Maximilian Paß
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
Maximilian Paß
f3929cbf50 Fix webSocket error
that was introduced by closing the WebSocket connection without stopping the inputLoop.
2021-12-16 15:05:47 +01:00
Maximilian Paß
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
Maximilian Paß
9f0b04660f Fix goroutine leak in the nullio reader 2021-12-14 13:24:53 +01:00
Maximilian Paß
c565ca217e Fix goroutine leak when reading the client WebSocket 2021-12-14 13:24:53 +01:00
Sebastian Serth
e77024b62c Merge pull request #74 from openHPI/updates
Update Dependencies
2021-12-13 22:28:54 +01:00
Sebastian Serth
2be45c9ef7 Update Dependencies 2021-12-13 21:22:19 +01:00
Maximilian Paß
f45d28d4a4 Fix flaky TestOutputToStdout test 2021-12-12 10:27:03 +01:00