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

Add support for BOINC Universal Docker Application (BUDA). #5897

Merged
merged 4 commits into from
Nov 13, 2024
Merged

Conversation

davidpanderson
Copy link
Contributor

This lets you run arbitrary Docker applications using a single
BOINC app (and one app version per platform).
The Dockerfile and science executables are in the workunit.

The script tools/submit_buda lets you test this.
Basic tests were successful.
  1. Unify the scripts for testing job submission
    The 'test' assimilators (sample_assimilate.py and sample_assimilator.cpp)
    do the same thing: they copy result files to
    <proj_dir>/results/<batch_id>/<wu_name> (if 1 output file)
    <proj_dir>/results/<batch_id>/<wu_name>_i (if >1 output file)
    where <batch_id> is 0 if WU is not in a batch
    ... and they write error code to <wu_name>_error if the WU errored out
    Scripts to submit jobs:
    submit_job
    submit_batch
    submit_buda
    Script to query jobs:
    query_job
    This works for either jobs or batches,
    as long as the app uses one of the above assimilators

  2. Add plan class 'docker' to plan_class_spec.xml.sample

Fixes #5896

    This lets you run arbitrary Docker applications using a single
    BOINC app (and one app version per platform).
    The Dockerfile and science executables are in the workunit.

    The script tools/submit_buda lets you test this.
    Basic tests were successful.

2) Unify the scripts for testing job submission
    The 'test' assimilators (sample_assimilate.py and sample_assimilator.cpp)
        do the same thing: they copy result files to
        <proj_dir>/results/<batch_id>/<wu_name> (if 1 output file)
        <proj_dir>/results/<batch_id>/<wu_name>_i (if >1 output file)
        where <batch_id> is 0 if WU is not in a batch
        ... and they write error code to <wu_name>_error if the WU errored out
    Scripts to submit jobs:
        submit_job
        submit_batch
        submit_buda
    Script to query jobs:
        query_job
    This works for either jobs or batches,
    as long as the app uses one of the above assimilators

3) Add plan class 'docker' to plan_class_spec.xml.sample
Copy link

codecov bot commented Nov 13, 2024

Codecov Report

Attention: Patch coverage is 0% with 22 lines in your changes missing coverage. Please review.

Project coverage is 10.73%. Comparing base (abfea4c) to head (2d35fd5).
Report is 5 commits behind head on master.

Files with missing lines Patch % Lines
sched/sample_assimilator.cpp 0.00% 16 Missing ⚠️
sched/script_assimilator.cpp 0.00% 6 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##             master    #5897      +/-   ##
============================================
- Coverage     10.73%   10.73%   -0.01%     
  Complexity     1068     1068              
============================================
  Files           280      280              
  Lines         36598    36604       +6     
  Branches       8482     8484       +2     
============================================
  Hits           3930     3930              
- Misses        32279    32285       +6     
  Partials        389      389              
Files with missing lines Coverage Δ
sched/script_assimilator.cpp 0.00% <0.00%> (ø)
sched/sample_assimilator.cpp 0.00% <0.00%> (ø)

@AenBleidd AenBleidd merged commit dd16cab into master Nov 13, 2024
152 of 153 checks passed
@AenBleidd AenBleidd deleted the dpa_buda branch November 13, 2024 22:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

unify test assimilators and job submission
2 participants