Commit Graph

36899 Commits

Author SHA1 Message Date
Vitalii Koshura 18dc8fba67
Fix worker version
Signed-off-by: Vitalii Koshura <lestat.de.lionkur@gmail.com>
2024-12-05 11:29:19 +01:00
David Anderson f24fc22020 file sandbox: put 'file list' and 'add file' on different pages
file sandbox: use Location: to prevent repeating op on page reload
BUDA: add explanatory text
2024-12-04 17:51:46 -08:00
David Anderson e14f7154d9 BUDA: debug cmdline arg features
- file sandbox: add 'Get web file' option
- docker wrapper: always write container log output to stderr
- worker: write cmdline args to stderr
- worker: version# is 4
- fix bug in file sandbox display
- fix bug in BUDA variant delete
- BUDA variant name defaults to 'cpu'
- update examples files in samples/docker_wrapper/test_buda
2024-12-04 15:10:12 -08:00
David Anderson e38016d017 BUDA: add cmdline field to submission form.
Specifies cmdline args for all jobs in batch;
you can also specify per-job args, which come after.

create_work: add logic to support the above;
also fix bug involving pointers to stack vars (big no-no)
2024-12-04 01:42:50 -08:00
Vitalii Koshura ff7810bdbd
Merge pull request #5929 from BOINC/dpa_docker4
docker_wrapper: allow passing args into container
2024-12-03 12:26:03 +01:00
davidpanderson b45b2c0f7e client: fix bug in Docker cleanup
docker wrapper: pass cmdline args in an env var ARGS
2024-12-03 01:18:56 -08:00
David Anderson 2ae1d9a9d1 docker_wrapper: unparsed cmdline args are passed to main program 2024-12-02 18:06:32 -08:00
Vitalii Koshura 9d73abf7f6
Merge pull request #5927 from BOINC/vko_installer_cleanup_for_pr
[Windows][Installer] Clean-up installer project
2024-11-30 05:06:54 +01:00
Vitalii Koshura 9247be12a7
[Windows][Installer] Clean-up installer project
- Replace icons
- Remove unused dialog
- Remove SetAllUsers.dll
- Remove Print LA action (I don't believe anybody still uses it). If required - it could be always implemented.
- Replace ISSetupAllUsers 3rd-party function
- Remove unused icons
- Convert custom build target to custom build step to fix build of MSI file when only *.json file was changed.
- Remove SFHelper.dll

Signed-off-by: Vitalii Koshura <lestat.de.lionkur@gmail.com>
2024-11-30 04:32:12 +01:00
Vitalii Koshura 7cc54fc66a
Merge pull request #5925 from makeasnek/linkfixes
Some link fixes
2024-11-29 11:31:39 +01:00
makeasnek 697cbb020f
Update census.cpp
Fix broken links
2024-11-29 01:51:30 -08:00
makeasnek 2e6b246d3d
Update manage_apps.php
Fix broken links
2024-11-29 01:51:22 -08:00
Vitalii Koshura 98b89e5eb3
Merge pull request #5924 from BOINC/dpa_web12
web: fix two undefined var bugs
2024-11-29 00:20:43 +01:00
David Anderson 07ee065bfe web: fix two undefined var bugs 2024-11-28 12:52:35 -08:00
Vitalii Koshura dc3597d958
Merge pull request #5923 from BOINC/dpa_buda4
Web: job submission enhancements
2024-11-28 11:04:25 +01:00
David Anderson 0e4b59061c - improve batch page
correctly show # of in progress, error, done, unsent jobs
    fraction done is frac of success jobs
- Add 'verbose' checkbox for BUDA job submit.
    docker_wrapper prints stuff to stderr (can view on result page)
- fix bugs in non-BUDA submit pages
2024-11-28 01:13:51 -08:00
Vitalii Koshura 31517ff0d3
Merge pull request #5922 from BOINC/vko_add_windows_installer_tests
Run Windows installation tests
2024-11-28 00:01:48 +01:00
Vitalii Koshura c37a1ff512
Run Windows installation tests
Signed-off-by: Vitalii Koshura <lestat.de.lionkur@gmail.com>
2024-11-27 21:12:59 +01:00
Vitalii Koshura d23edc05e6
Merge pull request #5921 from BOINC/vko_fix_build
Build release versions of linux samples on Debian buster (glibc 2.28)
2024-11-27 12:25:38 +01:00
Vitalii Koshura 7c8cd9385a
Build release versions of linux samples on Debian buster (glibc 2.28)
Signed-off-by: Vitalii Koshura <lestat.de.lionkur@gmail.com>
2024-11-27 02:14:52 +01:00
Vitalii Koshura d44bb95958
Merge pull request #5920 from BOINC/dpa_buda3
BUDA job submission: add access control
2024-11-26 18:42:02 +01:00
David Anderson 413e168448 BUDA job submission: add access control
and unify access control web and remote job submission
2024-11-26 00:02:39 -08:00
Vitalii Koshura 40f8fd8642
Merge pull request #5919 from BOINC/dpa_buda2
fix link to doc
2024-11-26 01:47:44 +01:00
David Anderson 8a374a705c fix link to doc 2024-11-25 16:16:20 -08:00
Vitalii Koshura 3fe522660a
Merge pull request #5918 from BOINC/dpa_buda2
Web and server: Add web-based job submission for BUDA
2024-11-26 01:08:43 +01:00
David Anderson f70ae7f529 check GET args of buda_submit.php 2024-11-25 14:53:38 -08:00
David Anderson b6654b894f web (BUDA)
- validate URL args that are used as filenames; prevent ../ stuff.
    Do this by checking for '/'; is that sufficient?

- add 'delete app' function

- remove binary test file
2024-11-25 14:49:36 -08:00
David Anderson 3858f356ad job submission web: user friendlier
Principle: when showing jobs or files, use names that the user provided,
rather than DB IDs or names that BOINC generated.
2024-11-24 11:12:36 -08:00
David Anderson f8879a3a0e web job submission, script assimilator: add new output file model
old model:
    no assimilator
    output files live in upload hierarchy w/ physical names
    WUs are marked as assimulated when batch is retired;
    file_deleter deletes output files after that.

new model:
    assimilator (e.g. sample_assimilate.py and sample_assimilator.cpp)
    moves output files of canonical results to project/results/<batch_id>,
    with names that include the batch name and the logical name.
    WU is marked as assimilated; file_deleter deletes
    output files of non-canonical results.

advantages of new model:
    can see all output files of a batch on cmdline with ls
    can zip output files of a batch without copying them
    unified naming scheme for output files that encodes
        the batch, the job (e.g. the BUDA job dir name)
        and the logical name of the file.
------------
script assimilator: pass logical names to the script

Support both models.  Choice of model is per app.
The project.inc file says which app uses which model.
2024-11-23 23:35:40 -08:00
Vitalii Koshura 86fd7ba3e7
Merge pull request #5916 from BOINC/vko_update_actions
[ci] update actions
2024-11-24 01:46:15 +01:00
Vitalii Koshura d5ad4cb8bf
[ci] update actions
Signed-off-by: Vitalii Koshura <lestat.de.lionkur@gmail.com>
2024-11-24 01:08:26 +01:00
Vitalii Koshura 1c100c5fbe
Merge pull request #5915 from BOINC/vko_bump_vboxwrapper_version_to_26209 2024-11-23 15:27:57 +01:00
Vitalii Koshura 20fc4adbc7
[vboxwrapper] bump development version to 26209
Signed-off-by: Vitalii Koshura <lestat.de.lionkur@gmail.com>
2024-11-23 14:51:51 +01:00
Vitalii Koshura 30f162c218
Merge pull request #5914 from BOINC/vko_bump_vbxowrapper_version_to_26208
[vboxwrapper] bump version to 26208
2024-11-23 14:46:26 +01:00
Vitalii Koshura 9f1f5efb4f
[vboxwrapper] bump version to 26208
Signed-off-by: Vitalii Koshura <lestat.de.lionkur@gmail.com>
2024-11-23 14:23:14 +01:00
David Anderson dc47826575 improve BUDA web interface
For BUDA batches, description is '<app> (<variant>)'

Move job submission admin functions to their own page

Lay the groundwork for unifying output file handling
for remote job submission.
2024-11-22 17:12:22 -08:00
David Anderson 881a4c16b6 BUDA job submission now passes the basic end-to-end test - woo hoo!
When you run a shell script on Unix, and it has Windows line endings (CRLF),
it fails with a misleading 'file not found' error message.
This can cause problems with BUDA apps, which can involve shell scripts,
and all files go through the user sandbox.

For example: if you put the script (with Unix endings) into Github
and check it out on a Win machine, all of a sudden it has Win endings!
If you upload it to your sandbox, it won't work.

So I added a sandbox feature where you can add a file
by pasting text into a web form.
Surprisingly, even this changed the LF to a CRLF!
I changed the form handler to convert CRLF to LF, and now it works.

How many man-years have been wasted on this line-ending BS?
I'm guessing the blame goes to Microsoft.
2024-11-21 12:31:47 -08:00
David Anderson 1b017e173f add buda test files
buda: output files are <copy_file/>
2024-11-21 01:42:22 -08:00
David Anderson 415696ba6a dockerwrapper: work dir defaults to /app 2024-11-21 00:59:13 -08:00
David Anderson 160cc3de8e docker wrapper: it's OK if no config file 2024-11-20 18:48:12 -08:00
David Anderson df4a8b50a7 BUDA job submission: fill in some missing logic.
It works now, to the extent of staging files properly
and creating plausible-looking workunits.
Next step: see if they work.
2024-11-19 23:52:56 -08:00
David Anderson fd044d62f0 added (undebugged) code for BUDA job submission.
changes:
- creating a variant creates a JSON file, variant.json,
    describing the dockerfile, app files, and in/out files.
    Template files are now generated during job submission.
- no aliasing of files.  If your main prog is foo,
    your Dockerfile must end with CMD ./foo
- batch zip file must have shared input files
    in a directory shared_input_files/.
    All other directories are jobs.
2024-11-19 17:55:31 -08:00
David Anderson 3e5c24b6ed
Merge pull request #5902 from AenBleidd/vko_installer_for_pr
[Windows] Create new installer.
2024-11-18 21:34:03 -08:00
Vitalii Koshura dde82daff5
[Windows] Create new installer.
Signed-off-by: Vitalii Koshura <lestat.de.lionkur@gmail.com>
Co-authored-by: Vittorio Parrella <vittorioparrella+1@gmail.com>
Signed-off-by: Vitalii Koshura <lestat.de.lionkur@gmail.com>
2024-11-19 02:21:22 +01:00
David Anderson bc4cb3bb68 - Add web interface for creating BUDA apps and variants
variants are stored in <project>/buda_apps/<app>/<variant>.
    This includes app files (copied from sandbox) and templates
    (generated by handler)
- Add web interface for submitting BUDA jobs (not finished)
- Change implementation of user file sandbox
    old: sandbox dir had 'link files' containing md5 and size;
        actual file is in download hierarchy with sb_md5 name
    new: sandbox dir has actual files.
        parallel .md5/ dir has 'info files' (md5 size)
        Files are not stored in download hierarchy.
    New philosophy: names in the download hierarchy include
        not only an MD5 (for uniqueness)
        but also text describing the use of the file
        (input file for a batch, part of a BUDA app, etc.).
        This may allow duplicate files,
        but it makes it possible to always clean up unused files.

- use readdir() instead of opendir()/scandir()
2024-11-18 13:43:44 -08:00
Vitalii Koshura a63fad3af0
Merge pull request #5900 from BOINC/vko_update_actions
[ci] update actions
2024-11-17 03:03:48 +01:00
Vitalii Koshura d234fc98c2
[ci] update actions
Signed-off-by: Vitalii Koshura <lestat.de.lionkur@gmail.com>
2024-11-17 01:49:42 +01:00
Vitalii Koshura 24db23cd06
Merge pull request #5899 from BOINC/all_projects_list_xml_update
Update all_projects_list.xml
2024-11-17 01:44:18 +01:00
AenBleidd de8893d022 Update all_projects_list.xml 2024-11-17 00:25:27 +00:00
Vitalii Koshura dd16cab2c8
Merge pull request #5897 from BOINC/dpa_buda
Add support for BOINC Universal Docker Application (BUDA).
2024-11-13 23:31:31 +01:00