Repository navigation
BUDA setup
To enable BUDA on your BOINC project:
In your project's admin web page, click Manage application.
Add an application with name buda and description BUDA.
In your project's apps/ directory, create directories
buda/
1.0/
windows_x86_64__docker/
x86_64-apple-darwin__docker/
x86_64-pc-linux-gnu__docker/
Go to Docker-wrapper-release-notes. For each platform:
-
Download the current version of the Docker wrapper; put it in the corresponding directory.
-
Create a file
version.xmlcontaining e.g.
<version>
<file>
<physical_name>docker_wrapper_18_windows_x86_64.exe</physical_name>
<main_program/>
</file>
<is_wrapper/>
</version>
where the filename is that of the Docker wrapper for that platform.
Make sure you're subscribed to the boinc_projects email list.
When a new version of docker_wrapper is released,
download the executables and repeat the above process to
create a new BUDA app version (e.g. 1.1).
In your project root dir, type
bin/manage_privileges grant ID all
where ID is the ID of your BOINC account.
This lets you administer and submit jobs to all apps, including BUDA.
You can then use the page under Job submission / Manage permissions
to give other users permissions to administer or submit jobs to BUDA.
A user U with 'administer' permissions for BUDA can create a BUDA science app. Only U can create, edit and delete variants of the science app.
Initially, only U can submit jobs to the science app. But - using the 'Edit app info' form - they can give other users the ability to submit jobs to the science app. These users must have BUDA submit permissions.
In your project's html/project/remote_apps.inc, add
<?php
$buda = new StdClass;
$buda->app_name = 'buda';
$buda->form = 'buda_submit.php';
$buda->batch_collect = true;
$buda->long_name = "BOINC Universal Docker App";
$remote_apps = [
'Docker apps' => [$buda]
];
?>
This will add a BUDA link on your web site's Computing / Job Submission page.
Edit your project's config.xml
and add the following to the <daemons> section:
<daemon>
<cmd>sample_trivial_validator --app buda </cmd>
<output>buda_validator.out</output>
<pid_file>buda_validator.pid</pid_file>
</daemon>
<daemon>
<cmd>script_assimilator -d 3 --app buda --script "batch_collect_assimilate.py wu_name batch_id files2"</cmd>
<output>buda_assimilator.out</output>
<pid_file>buda_assimilator.pid</pid_file>
</daemon>
-
Download and compile the current BOINC code.
-
Stop the project.
-
In the BOINC source directory, run
bin/upgrade <project-name>
-
In the project directory, run
bin/update_versions. -
Start the project.