guest VM is 64-bit. 64-bit guest vms require hardware virtualization
and should fail without it.
- VBOX: Implement the <copy_to_shared/> directive in the vbox_job.xml file.
if <copy_to_shared>init_data.xml</copy_to_shared> is set, the wrapper will
copy the init_data.xml file to the shared directory before the VM is launched.
svn path=/trunk/boinc/; revision=25973
- validator: add some sanity-checking for credit,
to prevent granting 1e38 credit.
max_granted_credit now defaults to the equivalent of 1 TeraFLOP-year.
Instances that exceed this are not counted in the credit
calculation, and a critical-mode log message is written
- wrapper: remove wall_cpu_time; not used anymore
svn path=/trunk/boinc/; revision=25825
new port number to work with convert it from network byte order
(big endian) to the host byte order (little endian on x86/x64 processors).
samples/vboxwrapper/
vbox.cpp
svn path=/trunk/boinc/; revision=25671
(or at least the last double).
This accommodates a particular application (LAMMPS)
that can only append to this file.
- CAS@home stuff
svn path=/trunk/boinc/; revision=25557
to delete stale snapshots. Slower machines can take longer than
45 seconds to complete the deletion of old snapshots.
samples/vboxwrapper/
vbox.cpp
svn path=/trunk/boinc/; revision=25474
Reschedule the job for some time in the future when there might
be enough memory.
- VBOX: Resume the VM's execution after the creation of the snapshot
but before we attempt to delete the previous, now stale, snapshot.
- VBOX: Treat the 'livesnapshotting', 'deletingsnapshotlive', and
'deletingsnapshotlivepaused' states as online states.
samples/vboxwrapper/
vbox.cpp
vboxwrapper.cpp
svn path=/trunk/boinc/; revision=25473
This changes the snapshot type from a live snapshot to an online
snapshot. Presumably difference might make it easier to do and
prevent the VM from asserting.
samples/vboxwrapper/
vbox.cpp, .h
svn path=/trunk/boinc/; revision=25472
- VBOX: Change the snapshot naming scheme by removing the quotes and
prefixing the checkpoint time with 'boinc_'. Hopefully this will
prevent the VM from asserting during the snapshot process.
samples/vboxwrapper/
vbox.cpp, .h
svn path=/trunk/boinc/; revision=25471
- Perform snapshots at most once every ten minutes.
- Client suspend/resume messages behave the same.
- Client no heartbeat/quit messages cause the wrapper to just
poweroff the VM.
On startup check to see if the last checkpoint time is greater than 0,
if so, start from the most recent snapshot.
- VBOX: If we receieve the status message of no heartbeat or quit, set
the temporary delay to 5 minutes. If the wrapper is terminated during
the middle of a snapshot, hopefully this will give VirtualBox enough
time to complete the snapshot. Restarting the BOINC job should then
poweroff the VM and restore from the last snapshot.
samples/vboxwrapper/
vbox.cpp, .h
vboxwrapper.cpp
svn path=/trunk/boinc/; revision=25469
the CernVMWrapper would. This allows both wrapppers to work with
the same BOINC job generation system.
samples/vboxwrapper/
vbox.cpp
svn path=/trunk/boinc/; revision=25463
request was. Hopefully this will give us insight into whether
the core client is terminating the wrapper or something else is
going on.
- VBOX: Shorten the command execution timeout to 45 seconds.
- VBOX: Don't attempt to re-execute the close/savestate commands.
samples/vboxwrapper/
vbox.cpp
svn path=/trunk/boinc/; revision=25462
to a quit request. On older XP machines it might speed up the memory
dump to disk.
- client: Increase the quit request timeout from 10 seconds to 60 seconds for
machines running VMs and slow disk drives. It should give the VM enough
time to gracefully shutdown and not give boinc reason to kill the wrapper.
client/
app.h
samples/vboxwrapper/
vbox.cpp, .h
vboxwrapper.cpp
svn path=/trunk/boinc/; revision=25433
before allowing another attempt to start the VM when the hypervisor
cannot allocate enough memory.
- VBOX: Print out a trace statement about the suspend/resume directive
from the vboxwrapper perspective. This in conjuction with the
BOINC API trace statements should provide a better idea with
what is going on.
samples/vboxwrapper
vboxwrapper.cpp
svn path=/trunk/boinc/; revision=25424
temporarily exit so BOINC can reschedule it for a later time.
If the problem doesn't go away it'll just time out eventually anyway.
samples/vboxsamples/
vboxwrapper.cpp
svn path=/trunk/boinc/; revision=25404
- VBOX: Switch to using status.suspend_request instead of status.suspend
when determining when to suspend/resume a VM. status.suspended is
now only changed when direct_process_action is set to true.
samples/vboxwrapper/
vboxwrapper.cpp
vbox.cpp
svn path=/trunk/boinc/; revision=25394
commands if a session lock error has been detected. Cap the overall
delay to 30 seconds total for a single command.
Experiments performed by jujube(T4T) suggest changing the sleep interval
to an exponential style backoff would increase our chances of recovering in
situations where the previous lock is held by a previous instance of
vboxmanage whos instance data hasn't been cleaned up within vboxsvc yet.
client/
vbox.cpp
svn path=/trunk/boinc/; revision=25359
latency issues for volunteers.
- VBOX: If the port forwarding preferred port isn't usable, try asking
the OS for one.
- VBOX: On a failure, get the VM process exit code and report it with
the rest of the stderr spew.
samples/vboxwrapper/
vbox.cpp, .h
vboxwrapper.cpp
svn path=/trunk/boinc/; revision=25133
the server specifies 1.1 CPUs used, allocate 2 CPUs to be used
in VirtualBox.
samples/vboxwrapper
vboxwrapper.cpp
svn path=/trunk/boinc/; revision=25119
sure that the vm_name variable is populated with something useful if
resuming from a different execution.
samples/vboxwrapper
vbox.cpp
svn path=/trunk/boinc/; revision=25098
be called when vm_name is empty. Change it so that is references
vm_master_name instead to get the correct name of the VM.
- VBOX: Fix the logic that scan for the CR character and removes it. Also fix
the partial line inclusion when the various log files are greater than 16k.
string.erase returns what the iterator value should be.
samples/vboxwrapper
vbox.cpp
svn path=/trunk/boinc/; revision=25086