Commit Graph

37009 Commits

Author SHA1 Message Date
Vitalii Koshura 32f6cc87a2
[windows][installer] clean-up unused strings and resources
Signed-off-by: Vitalii Koshura <lestat.de.lionkur@gmail.com>
2024-12-07 13:48:41 +01:00
davidpanderson 1ac38c9f77 bug fix 2024-12-06 23:23:28 -08:00
David Anderson 8f36cddcb7 wrapper: unzip input files only first time we run
client: set up slot dir only at start of job.
    This is a little tricky because of async file copy.
    Deal with this by creating a 'boinc_setup_complete' file
    after all files are copied.

These fixes address a problem where:
- wrapper job starts, unzips its output files, deletes the .zip
- job stops (e.g. client exits)
- job restarts; client sees that .zip file isn't in slot dir,
    copies it again.
- wrapper starts, unzips .zip file again.

The fixes address both (new client, old wrapper) and (old client, new wrapper).
2024-12-06 16:17:10 -08:00
Vitalii Koshura 51803c6bf4
Merge pull request #5935 from BOINC/vko_arm64_fix_platform_name
[Windows] Set correct platform name when running BOINC client on Windows on ARM.
2024-12-05 22:11:27 +01:00
Vitalii Koshura 5a4c925f50
[Windows] Set correct platform name when running BOINC client on Windows on ARM.
With this commit a new platform name 'windows_arm64' added.
Also, according to the https://learn.microsoft.com/en-us/windows/arm/apps-on-arm-x86-emulation, Windows 10 on ARM supports x86 applications, and Windows 11 on ARM supports x64 applications.
That is why we will be checking what version of Windows we are running on, and adding 'windows_intelx86' on Windows 10 and later (I suppose, this is will set always) and 'windows_x86_64' on Windows 11 and later (nothing later at the moment, but we are looking into the future!).

This fixes #5934.

Signed-off-by: Vitalii Koshura <lestat.de.lionkur@gmail.com>
2024-12-05 21:06:33 +01:00
Vitalii Koshura aad8525719
Merge pull request #5930 from BOINC/vko_create_arm64_installer
Build arm64 installer
2024-12-05 18:38:59 +01:00
Vitalii Koshura 2c91e9320b
Merge pull request #5932 from BOINC/dpa_buda5
BUDA: support per-batch and per-job command-line args
2024-12-05 11:49:05 +01:00
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
Vitalii Koshura b5adcfabeb
Build arm64 installer
Signed-off-by: Vitalii Koshura <lestat.de.lionkur@gmail.com>
2024-12-05 00:53:33 +01: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