Skip to content

workbench: towards a cloud nomad backend #4760

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 9 commits into from
Jan 12, 2023
Merged

workbench: towards a cloud nomad backend #4760

merged 9 commits into from
Jan 12, 2023

Conversation

fmaste
Copy link
Contributor

@fmaste fmaste commented Jan 9, 2023

Multiple enhancements for the workbench's Nomad backend

Moving towards cloud deployments:

  • Nix generated JSON Nomad job file (previously bash script and HCL)
  • Using Nomad templates instead of mounting volumes when possible
  • node-0 and generator in the same container
  • Using a pinned nomad/podman version
  • WIP: oneTracerPerNode flag
  • WIP: Stop using Nomad -dev mode (Switch to multiple agents)

Misc smaller Nix cleanups/refactorings:

  • Shared read-only genesis folder(even if symlinks, multiple were expected)
  • Honor the optional tracer flag in supervisor.conf
  • Verbosity for the stop/kill supervisor flags
  • Configurable loglevel for supervisord inside containers

Also: fix --trace not working in cabalRun mode

@fmaste fmaste marked this pull request as ready for review January 10, 2023 15:49
@fmaste fmaste requested review from a team, deepfire and mgmeier as code owners January 10, 2023 15:49
@deepfire deepfire changed the title Bench nomad workbench: towards a cloud nomad backend Jan 10, 2023
@fmaste fmaste force-pushed the bench-nomad branch 7 times, most recently from fcf6ff8 to ed45273 Compare January 10, 2023 18:08
Copy link
Contributor

@deepfire deepfire left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you a lot @fmaste !

@deepfire
Copy link
Contributor

bors r+

iohk-bors bot added a commit that referenced this pull request Jan 10, 2023
4760: workbench:  towards a cloud nomad backend r=deepfire a=fmaste

Multiple enhancements for the workbench's Nomad backend

Moving towards cloud deployments:
- Nix generated JSON Nomad job file (previously bash script and HCL)
- Using Nomad templates instead of mounting volumes when possible
- `node-0` and `generator` in the same container
- Using a pinned nomad/podman version
- WIP: `oneTracerPerNode` flag
- WIP: Stop using Nomad `-dev` mode (Switch to multiple agents)

Misc smaller Nix cleanups/refactorings:
- Shared read-only genesis folder(even if symlinks, multiple were expected)
- Honor the optional tracer flag in `supervisor.conf`
- Verbosity for the stop/kill supervisor flags
- Configurable loglevel for supervisord inside containers

Also: fix `--trace` not working in `cabalRun` mode

Co-authored-by: Federico Mastellone <[email protected]>
@iohk-bors
Copy link
Contributor

iohk-bors bot commented Jan 10, 2023

Build failed:

@deepfire
Copy link
Contributor

bors r+

iohk-bors bot added a commit that referenced this pull request Jan 10, 2023
4760: workbench:  towards a cloud nomad backend r=deepfire a=fmaste

Multiple enhancements for the workbench's Nomad backend

Moving towards cloud deployments:
- Nix generated JSON Nomad job file (previously bash script and HCL)
- Using Nomad templates instead of mounting volumes when possible
- `node-0` and `generator` in the same container
- Using a pinned nomad/podman version
- WIP: `oneTracerPerNode` flag
- WIP: Stop using Nomad `-dev` mode (Switch to multiple agents)

Misc smaller Nix cleanups/refactorings:
- Shared read-only genesis folder(even if symlinks, multiple were expected)
- Honor the optional tracer flag in `supervisor.conf`
- Verbosity for the stop/kill supervisor flags
- Configurable loglevel for supervisord inside containers

Also: fix `--trace` not working in `cabalRun` mode

Co-authored-by: Federico Mastellone <[email protected]>
@iohk-bors
Copy link
Contributor

iohk-bors bot commented Jan 10, 2023

Build failed:

@fmaste
Copy link
Contributor Author

fmaste commented Jan 10, 2023

bors merge

iohk-bors bot added a commit that referenced this pull request Jan 10, 2023
4760: workbench:  towards a cloud nomad backend r=fmaste a=fmaste

Multiple enhancements for the workbench's Nomad backend

Moving towards cloud deployments:
- Nix generated JSON Nomad job file (previously bash script and HCL)
- Using Nomad templates instead of mounting volumes when possible
- `node-0` and `generator` in the same container
- Using a pinned nomad/podman version
- WIP: `oneTracerPerNode` flag
- WIP: Stop using Nomad `-dev` mode (Switch to multiple agents)

Misc smaller Nix cleanups/refactorings:
- Shared read-only genesis folder(even if symlinks, multiple were expected)
- Honor the optional tracer flag in `supervisor.conf`
- Verbosity for the stop/kill supervisor flags
- Configurable loglevel for supervisord inside containers

Also: fix `--trace` not working in `cabalRun` mode

Co-authored-by: Federico Mastellone <[email protected]>
@iohk-bors
Copy link
Contributor

iohk-bors bot commented Jan 10, 2023

Build failed:

- supervisor.conf verbosity: show defaults of important options
- If a service already finished with a non-zero status, the whole script failed
- tracer is optional
No more HCL and other changes towards SRE compatiblity and cloud deployments
Use the meta stanza for default values
Use the template stanza to populate folders
merge node-0 and generator tasks
Use only one genesis folder
@deepfire
Copy link
Contributor

The CI is not a regression relative to master.

The workbench changes were tested with make ci-test-autonix.

@deepfire
Copy link
Contributor

..and with ci-test-autonomad

@deepfire deepfire merged commit ab4ac08 into master Jan 12, 2023
@iohk-bors iohk-bors bot deleted the bench-nomad branch January 12, 2023 07:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants