Commit Graph

294 Commits

Author SHA1 Message Date
a41659eed4 Enable memory oversubscription (#102)
* Enable memory oversubscription

* Fix and add e2e test
2022-03-18 08:31:27 +01:00
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
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
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
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
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
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
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
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
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
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
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
d530d4bfdf Update Dependencies 2022-01-20 23:50:01 +01:00
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
e24248faa8 Run Sentry release GitHub Action
on every push to main.
2022-01-05 18:32:56 +01:00
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
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
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
a59e2362bf Upgrade the dependencies 2021-12-22 17:35:53 +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
3abfdb6cc6 Improve documentation for Network support in Nomad 2021-12-22 15:58:15 +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
e77024b62c Merge pull request #74 from openHPI/updates
Update Dependencies
2021-12-13 22:28:54 +01:00
2be45c9ef7 Update Dependencies 2021-12-13 21:22:19 +01:00
f45d28d4a4 Fix flaky TestOutputToStdout test 2021-12-12 10:27:03 +01:00
901aa3c8db Remove TCP Write Response Timeout 2021-12-12 10:27:03 +01:00
d684366a4d Add debug statements for TestSendsSignalAfterTimeout 2021-12-12 10:27:03 +01:00
bb66190456 Merge pull request #71 from openHPI/fix/#44-unwrapping-error
Unwrap Nomad Error for Allocation Exec
2021-12-10 11:59:04 +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
1955e678f7 Change the e2e test rule to use the remote image
* Change the e2e test rule
to use a remote docker image

* Pull the e2e test image
to avoid delay and failure in the e2e tests
2021-12-08 21:13:19 +01:00