restarts of the client software. Remote desktop stopped
working if the client software was restarted.
samples/vboxwrapper
vboxwrapper.cpp
svn path=/trunk/boinc/; revision=25037
core client. Next commit will create an extra "VM Console"
button in the manager when detected. Volunteers will just have
to click the button to see what is going on with the VM.
api/
boinc_api.cpp, .h
samples/vboxwrapper
vbox.cpp, .h
vboxwrapper.cpp, .h
svn path=/trunk/boinc/; revision=25035
<enable_remotedesktop/> specified in its vbox_job.xml file.
NOTE: It does require the VirtualBox extension pack, but that
is freely available on the VirtualBox download page.
samples/vboxwrapper
vbox.cpp, .h
vboxwrapper.cpp, .h
svn path=/trunk/boinc/; revision=25034
message wasn't being written to stderr when the VM extensions
were disabled via the BIOS.
samples/vboxwrapper/
vboxwrapper.cpp
svn path=/trunk/boinc/; revision=25010
I'm not sure what the heck happened. It probably has something to
do with my \r removal code on Windows. Bugs hidden by other bugs
I suppose.
samples/vboxwrapper/
vbox.cpp
svn path=/trunk/boinc/; revision=24994
start() function and use similar code to handle stop as well.
Weird stuff happens when people start/stop BOINC quickly,
it looks as though the previous VM instance isn't shutdown before we
attempt to start it again. Hopefully enough of a wait is in there
for the VM to fully halt before the wrapper is terminated.
samples/vboxwrapper/
vbox.cpp
svn path=/trunk/boinc/; revision=24993
stderr/stdout output.
- VBOX: Undo my reorg yesterday with regards to report_vm_pid and
report_net_usage.
- VBOX: Only report network usage in the status report if
aid.global_prefs.daily_xfer_limit_mb is non-zero
- VBOX: Add the VM log to the list of things reported on a start
failure. Hypervisor log suggests that it launched the VM but
it failed unexpectedly. So there might be cases where it
actually exists.
samples/vboxwrapper/
vbox.cpp
vboxwrapper.cpp
svn path=/trunk/boinc/; revision=24992
network usage.
- VBOX: For errors where an error code is specified in the output,
use that value when returning from vbm_open(). Make it easier
to track failure rates by problem type in the ops pages.
(Windows Only)
- VBOX: Try making the process of extracting the hypervisor system
log more robust, make a temp copy of it in the slot directory.
Avoid exclusive file lock issues since VboxSvc will still be
logging to it.
- VBOX: Change the session lock text to make it clearer that the
use of other VirtualBox management tools can cause a problem.
samples/vboxwrapper/
vbox.cpp, .h
vboxwrapper.cpp
svn path=/trunk/boinc/; revision=24990
extract the hypervisor system log.
- VBOX: Report the hypervisor system log with any failed vboxmanage
command that happens during the phase where we setup the VM.
samples/vboxwrapper/
vbox.cpp, .h
svn path=/trunk/boinc/; revision=24977
log as well as the VM execution log. Maybe the hypervisor log
will tell us what is up with the virtual floppy device.
- VBOX: Don't retry commands that are expected to fail in normal use
cases. It slows down getting the VM up and running.
- VBOX: After starting the VM, use a timed loop waiting for the initial
VM state change instead of just waiting for 5 seconds. Older
machines can take longer than 5 seconds to switch from poweroff
to starting. If we hit the main poll loop in that state the wrapper
thinks we have crashed.
- VBOX: Strip carriage returns from all the vboxmanage output on
Windows.
samples/vboxwrapper/
vbox.cpp, .h
vboxwrapper.cpp
svn path=/trunk/boinc/; revision=24967
the VM extensions for the CPU have been disabled via the BIOS. This
allows the core-client to parse the response and disable future
request for multi-core VM jobs.
samples/vboxwrapper/
vboxwrapper.cpp
svn path=/trunk/boinc/; revision=24940
and disable the use of them at VM creation time. Certain actions
within VirtualBox will force enabling them at runtime and cause
an error (like SMP support) but it should reduce confusion between
volunteers and projects when a VM configuration change now causes
a class of machine that used to work suddenly stop working.
- VBOX: Add some more helpful text notes for error conditions that
the volunteer might be able to address. For instance other
hypervisors locking the VM CPU features for exclusive use.
- VBOX: If we have to dump out the VM execution log on Windows, remove
excess carriage returns from the spew.
samples/vboxwrapper/
vbox.cpp
vboxwrapper.cpp
svn path=/trunk/boinc/; revision=24907
processor doesn't support hardware acceleration for VMs,
manually turn off the hardware acceleration support in the VMs
configuration.
NOTE: The latest server scheduler should not be assigning
multi-core jobs to hosts that do not have hardware acceleration.
samples/vboxwrapper/
vbox.cpp
svn path=/trunk/boinc/; revision=24905
allow applications to supply a "web graphics URL",
in which case the manager's "Show Graphics" button
opens a browser at that URL.
This typically would used for applications that
implement a web server that serves pages showing
job information in HTML.
- vboxwrapper: if <pf_guest_port> is specified in the config file,
set up port forwarding to that port
and use the above API call with URL "http://localhost:port"
svn path=/trunk/boinc/; revision=24898
is a certain class of machines where the processor supports hardware
acceleration but it is disabled in the computers BIOS. Asking the volunteer
to tweak settings in the computers BIOS isn't a good idea. We might be able
to turn it on as an advanced preference thing in the future.
samples/vboxwrapper/
vbox.cpp
vboxwrapper.cpp
svn path=/trunk/boinc/; revision=24896
treat premature events as failures. Avoids false positive results.
- VBOX: Log the VM Execution log if a premature shutdown event has happened.
- VBOX: Rename config option max_elapsed_time to job_duration. Choosing
max_elapsed_time turned out to be a bad choice in that its purpose
became intermixed with the credit issue(s).
samples/vboxwrapper/
vbox.cpp,.h
vboxwrapper.cpp
svn path=/trunk/boinc/; revision=24894
allow specification of guest port only.
Change tag to <pf_guest_port>.
Separate getting port from registering firewall rule
svn path=/trunk/boinc/; revision=24891
Apparently when the VM is removed from the VirtualBox server process
it automatically deletes the floppy image from the media registry.
- VBOX: If a VM crashes for one reason or another, append the VM execution
log file to the stderr.txt file. I believe this is what is going on with
Richard Mitnick's computer. At the very least we should be able to give
this to the VirtualBox guys.
- VBOX: Introduce a way to re-execute commands when a session lock
event is detected. A session lock event happens when a volunteer is
tweaking something about the VM while vboxwrapper is attempting to query
state information.
samples/vboxwrapper/
vbox.cpp, .h
vboxwrapper.cpp, .h
svn path=/trunk/boinc/; revision=24887
id is appended after the name instead of after the extension. Avoid problems
with the VirtualBox interface.
samples/vboxwrapper/
vbox.cpp, .h
vboxwrapper.cpp, .h
svn path=/trunk/boinc/; revision=24880
environment and they suspend/resume the VM by the VirtualBox application.
samples/vboxwrapper/
vbox.cpp, .h
vboxwrapper.cpp
svn path=/trunk/boinc/; revision=24878
for virtual hard disks.
- VBOX: Execute closemedium against the virtual floppy disks when the VM is being
deleted.
samples/vboxwrapper/
vbox.cpp
vboxwrapper.cpp
svn path=/trunk/boinc/; revision=24877
and restarted it would null out the host port information.
- VBOX: Try to make the CERN compatible datatype for FloppyIO more JSON friendly
by following the advice of issue:
https://github.com/stig/json-framework/issues/48
- VBOX: Support both the old style and new style of determining assigned threads
of execution (aka core counts). 6.12 and the early versions of 7.x support
the old style.
samples/vboxwrapper/
vbox.cpp, .h
vboxwrapper.cpp, .h
svn path=/trunk/boinc/; revision=24876
a bug that was fixed last night which prevented the wrapper from properly
reporting its checkpoint time to the CC. The lack of checkpoint information
for the job would have prevented the CC from rescheduling the job and removing
it from memory. Now it can so the extra shutdown each scheduling period
should not be needed.
samples/vboxwrapper/
vboxwrapper.cpp
svn path=/trunk/boinc/; revision=24874
VboxSVC.exe is normally launched by svchost.exe which only contains environment
variables defined by the system. In the BOINC sandbox environment we want to
add VBOX_USER_HOME to redirect reading/writing configuration files to a
different directory. What happens if we launch it ahead of making any calls to
VBoxManage which would cause the OS to launch it? If we launch it, it should
inherit our environment block and work just like it works on Linux and the Mac.
This is such a simple solution, why didn't I think of it sooner?
samples/vboxwrapper/
vbox.cpp
svn path=/trunk/boinc/; revision=24873