Skip to content
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

Bench nomad exec #4852

Merged
merged 6 commits into from
Mar 14, 2023
Merged

Bench nomad exec #4852

merged 6 commits into from
Mar 14, 2023

Conversation

fmaste
Copy link
Contributor

@fmaste fmaste commented Jan 26, 2023

Exec task driver and standalone Nomad Server and Clients (no -dev mode)

  • Local/testing environment
    • Bye bye -dev mode, now both Nomad Servers and Clients are started independently
    • Can automate as many Nomad Clients as needed (wb backend pass nomad server|client start|stop NAME)
    • Optional stateful Nomad Agents instead of starting and stopping on every run
    • Only when using the Nomad exec Task Driver Clients are run as root
    • Create symlinks to every Task's stdout and stderr file for easier/live monitoring and debugging
  • Cloud deployments
    • Add a new mode called nomadexec that uses SRE's patched version of Nomad
    • As part of the switch-over to directly-executable derivations, the Nomad Job specification file is self contained. Every script and config file is included as a template stanza only leaving outside the genesis folder.
    • Created an ad-hoc "container-specs.json" file with GitHub references (towards being able to benchmark any cardano-node commit from any workbench version).
    • The workbench checks that the commit being tested is publicly available on GitHub
    • Fetch all Nomad (some dynamically) generated start.sh and config.json files for log and debugging purposes
  • Both local and cloud
    • Control and monitoring of Nomad Jobs was refactored in line with the important role it has
    • Removal of all locality assumptions
    • Removal of all 1-1 allocation ID-task name relation assumptions
  • Others
    • Fixed how wb backend calls backend specific subcommands

@fmaste fmaste force-pushed the bench-nomad-exec branch 3 times, most recently from a015319 to 8898923 Compare February 1, 2023 14:04
@fmaste fmaste force-pushed the bench-nomad-exec branch 2 times, most recently from 41f05c8 to 177b9ce Compare February 8, 2023 05:57
@fmaste fmaste force-pushed the bench-nomad-exec branch 13 times, most recently from 528fc5e to e9dfef8 Compare March 1, 2023 13:58
@fmaste fmaste force-pushed the bench-nomad-exec branch 3 times, most recently from a897d37 to 5230b79 Compare March 8, 2023 20:02
@fmaste fmaste marked this pull request as ready for review March 9, 2023 14:09
Makefile Show resolved Hide resolved
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.

@fmaste, just one comment/question.

Thank you! : -)

@fmaste
Copy link
Contributor Author

fmaste commented Mar 14, 2023

bors merge

iohk-bors bot added a commit that referenced this pull request Mar 14, 2023
4852: Bench nomad exec r=fmaste a=fmaste

Exec task driver and standalone Nomad Server and Clients (no -dev mode)

- Local/testing environment
- - Bye bye `-dev` mode, now both Nomad Servers and Clients are started independently 
- - Can automate as many Nomad Clients as needed (`wb backend pass nomad server|client start|stop NAME`)
- - Optional stateful Nomad Agents instead of starting and stopping on every run
- - Only when using the Nomad `exec` Task Driver Clients are run as root
- - Create symlinks to every Task's `stdout` and `stderr` file for easier/live monitoring and debugging
- Cloud deployments
- - Add a new mode called `nomadexec` that uses SRE's patched version of Nomad
- - As part of the switch-over to directly-executable derivations, the Nomad Job specification file is self contained. Every script and config file is included as a template stanza only leaving outside the genesis folder.
- - Created an ad-hoc "container-specs.json" file with GitHub references (towards being able to benchmark any cardano-node commit from any workbench version).
- - The workbench checks that the commit being tested is publicly available on GitHub
- - Fetch all Nomad (some dynamically) generated `start.sh` and `config.json` files for log and debugging purposes
- Both local and cloud
- - Control and monitoring of Nomad Jobs was refactored in line with the important role it has
- - Removal of all locality assumptions
- - Removal of all 1-1 `allocation ID`-`task name` relation assumptions
- Others
- - Fixed how `wb backend` calls backend specific subcommands

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

iohk-bors bot commented Mar 14, 2023

This PR was included in a batch that successfully built, but then failed to merge into master. It will not be retried.

Additional information:

{"message":"Validation Failed","documentation_url":"https://docs.github.com/articles/about-protected-branches"}

@fmaste
Copy link
Contributor Author

fmaste commented Mar 14, 2023

bors merge

iohk-bors bot added a commit that referenced this pull request Mar 14, 2023
4852: Bench nomad exec r=fmaste a=fmaste

Exec task driver and standalone Nomad Server and Clients (no -dev mode)

- Local/testing environment
- - Bye bye `-dev` mode, now both Nomad Servers and Clients are started independently 
- - Can automate as many Nomad Clients as needed (`wb backend pass nomad server|client start|stop NAME`)
- - Optional stateful Nomad Agents instead of starting and stopping on every run
- - Only when using the Nomad `exec` Task Driver Clients are run as root
- - Create symlinks to every Task's `stdout` and `stderr` file for easier/live monitoring and debugging
- Cloud deployments
- - Add a new mode called `nomadexec` that uses SRE's patched version of Nomad
- - As part of the switch-over to directly-executable derivations, the Nomad Job specification file is self contained. Every script and config file is included as a template stanza only leaving outside the genesis folder.
- - Created an ad-hoc "container-specs.json" file with GitHub references (towards being able to benchmark any cardano-node commit from any workbench version).
- - The workbench checks that the commit being tested is publicly available on GitHub
- - Fetch all Nomad (some dynamically) generated `start.sh` and `config.json` files for log and debugging purposes
- Both local and cloud
- - Control and monitoring of Nomad Jobs was refactored in line with the important role it has
- - Removal of all locality assumptions
- - Removal of all 1-1 `allocation ID`-`task name` relation assumptions
- Others
- - Fixed how `wb backend` calls backend specific subcommands

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

iohk-bors bot commented Mar 14, 2023

This PR was included in a batch that successfully built, but then failed to merge into master. It will not be retried.

Additional information:

{"message":"Validation Failed","documentation_url":"https://docs.github.com/articles/about-protected-branches"}

@fmaste
Copy link
Contributor Author

fmaste commented Mar 14, 2023

bors merge

iohk-bors bot added a commit that referenced this pull request Mar 14, 2023
4852: Bench nomad exec r=fmaste a=fmaste

Exec task driver and standalone Nomad Server and Clients (no -dev mode)

- Local/testing environment
- - Bye bye `-dev` mode, now both Nomad Servers and Clients are started independently 
- - Can automate as many Nomad Clients as needed (`wb backend pass nomad server|client start|stop NAME`)
- - Optional stateful Nomad Agents instead of starting and stopping on every run
- - Only when using the Nomad `exec` Task Driver Clients are run as root
- - Create symlinks to every Task's `stdout` and `stderr` file for easier/live monitoring and debugging
- Cloud deployments
- - Add a new mode called `nomadexec` that uses SRE's patched version of Nomad
- - As part of the switch-over to directly-executable derivations, the Nomad Job specification file is self contained. Every script and config file is included as a template stanza only leaving outside the genesis folder.
- - Created an ad-hoc "container-specs.json" file with GitHub references (towards being able to benchmark any cardano-node commit from any workbench version).
- - The workbench checks that the commit being tested is publicly available on GitHub
- - Fetch all Nomad (some dynamically) generated `start.sh` and `config.json` files for log and debugging purposes
- Both local and cloud
- - Control and monitoring of Nomad Jobs was refactored in line with the important role it has
- - Removal of all locality assumptions
- - Removal of all 1-1 `allocation ID`-`task name` relation assumptions
- Others
- - Fixed how `wb backend` calls backend specific subcommands

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

iohk-bors bot commented Mar 14, 2023

This PR was included in a batch that successfully built, but then failed to merge into master. It will not be retried.

Additional information:

{"message":"Required status check \"build-complete\" is expected.","documentation_url":"https://docs.github.com/articles/about-protected-branches"}

@fmaste fmaste enabled auto-merge March 14, 2023 12:53
@fmaste fmaste disabled auto-merge March 14, 2023 13:05
@fmaste fmaste enabled auto-merge March 14, 2023 13:06
@fmaste fmaste added this pull request to the merge queue Mar 14, 2023
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Mar 14, 2023
@fmaste fmaste added this pull request to the merge queue Mar 14, 2023
Merged via the queue into master with commit a16c198 Mar 14, 2023
@iohk-bors iohk-bors bot deleted the bench-nomad-exec branch March 14, 2023 14:07
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