-
Notifications
You must be signed in to change notification settings - Fork 496
setup vbox profile location #6116
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
setup vbox profile location #6116
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copilot reviewed 1 out of 1 changed files in this pull request and generated no comments.
|
Tested the Windows version of this PR and concluded that VirtualBox is using again the default Oracle VirtualBox location for its xml- and log-files. So OK to this version of vboxwrapper. |
|
Can you please also add comments (in vbox_common.h) for these fields: ... saying what they're used for and how they're determined. Also: I don't understand why these are elements of VBOX_BASE and not global vars. |
As for Added comments for the others. VBOX_JOB, VBOX_VM, and VBOX_BASE are also used for more than a decade. |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #6116 +/- ##
============================================
- Coverage 11.96% 11.95% -0.01%
Complexity 1068 1068
============================================
Files 278 278
Lines 36940 36938 -2
Branches 8529 8529
============================================
- Hits 4419 4416 -3
Misses 32121 32121
- Partials 400 401 +1 🚀 New features to boost your workflow:
|
|
LGTM I endorse the test from Crystal-Pellet |
|
@davidpanderson, could you please review this again? Thank you in advance. |
|
The added comments are good, but they should say
vboxwrapper may not be able to create the profile directory in the user's home directory. Whatever the change is, it needs to be tested on
|
I think the comments are detailed enough. boinc/samples/vboxwrapper/vbox_vboxmanage.cpp Line 109 in 4216226
Vboxwrapper runs under that username, hence can write to it's own home directory. In a sandbox environment the profile now goes to
It has been tested on all platforms with real tasks from LHC@home. |
|
Has it been tested with secure installs on Win and Linux? |
|
Depends on what you exactly mean by 'secure installs'. On Windows I don't know whether this has explicitly been tested. |
|
In the Windows installer there's a secure install option. |
|
I don't know if a user on Windows requires a classical home directory, but AFAIK Windows always creates a user profile when a new user account is added. |
If you mean 'Service install' with the secure option: It's just like with GPU-tasks, don't use BOINC's service install when you plan to run VBox-tasks. |
|
I wonder if https://www.virtualbox.org/manual/topics/installation.html#install-win-installdir-req |
|
I agree this should be solved separately in the installer. |
|
Anything else that needs to be done? |
|
@davidpanderson Please review again. Thanks in advance. |
|
The comments are not complete, but as long as it works, fine w/ me. |
Recently there were a lot of comments and suggestions regarding where to locate the VirtualBox configuration files.
See:
#6015
#6016
#6018
This PR is intended to combine them into a working solution on Linux/MacOS/Windows.
Major objectives:
(1.) mitigates a possible race between VirtualBox Manager (launched by the user) and BOINC VMs (launched via VBoxHeadless).
Since the first VirtualBox process that starts up for a distinct user determines which vbox profile is used, all of them should use the same vbox profile.
(1.) also ensures that an interactive user can monitor the running VMs, e.g. on Windows.
(2.) must be used in environments where BOINC has not enough permissions to access the default vbox profile location, e.g. from inside MacOS's sandbox.