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

2.0 - Scheduler Refactor as Plugins #42

Open
pflarr opened this issue Sep 4, 2018 · 0 comments
Open

2.0 - Scheduler Refactor as Plugins #42

pflarr opened this issue Sep 4, 2018 · 0 comments
Assignees
Milestone

Comments

@pflarr
Copy link
Collaborator

pflarr commented Sep 4, 2018

The scheduler base class should inherit from the Yapsy plugins module.

The new scheduler base class should have the following methods. Methods marked (abstract) should begin with an underscore, and raise a NotImplemented error in the base class. They should each be called via a wrapper of the same name (minus the underscore) and interface that updates the status file when entered and upon exit/failure.

  • activate
    • yapsy plugin activation. Should run 'make_config_section' and add the result to the test config sections.
  • make_config_section (abstract)
    • At plugin load time, adds a config section for this plugin to the strict config definition.
  • help (abstract)
    • Return a help string for this plugin.
  • filter_series
    • Given a test series, return the list of runs that apply to this plugin. This should just select on the test's 'scheduler' key.
  • merge_run_configs
    • Each test series should have config for this scheduler. Merge them so that we have one set of minimums needed to start our series. Mostly, this means finding the minimum number of nodes that need to be requested.
  • write_series_script (abstract)
    • Write the script that will be run when kicking off this series with the scheduler. For slurm, this will be a batch script. The script should be put in the series directory, and be pre-pended with the scheduler name. The rest of the filename is at the discretion of the scheduler. Other than any setup for the scheduler, the script contents should be dictated by pav.script_series_cmds.
  • run_series (abstract)
    • Kickoff the series script as appropriate for the scheduler.
  • write_test_script (abstract)
    • Write a test script for a given test run. This should be a scheduler specific wrapper for pav.test_run_cmds.
  • run_test (abstract)
    • Run test test script per the scheduler.

Depends on #40.

@pflarr pflarr changed the title Scheduler Plugins Scheduler Refactor as Plugins Sep 4, 2018
@pflarr pflarr added this to the 2.0 milestone Sep 4, 2018
@pflarr pflarr changed the title Scheduler Refactor as Plugins 2.0 - Scheduler Refactor as Plugins Sep 4, 2018
@nicholas-sly nicholas-sly self-assigned this Oct 18, 2018
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

No branches or pull requests

2 participants