Commit Graph

224 Commits

Author SHA1 Message Date
Rom Walton 62578717e4 VBOX: Duplicate symbols have been removed from the link step. 2014-11-23 12:47:29 -05:00
Rom Walton bf0b56c073 VBOX: Introduce the notion of Virtualbox COM namespaces. We currently support VirtualBox 4.2 and VirtualBox 4.3. 2014-11-23 12:47:05 -05:00
Rom Walton fa325188fe VBOX: Bug fixes related to running T4T jobs 2014-11-23 12:46:58 -05:00
Rom Walton 59152902b0 VBOX: Convert cleanup_snapshots() and various bug fixes 2014-11-23 12:46:57 -05:00
Rom Walton 2f51aec2e2 VBOX: Convert create_vm() 2014-11-23 12:46:54 -05:00
Rom Walton 2f79a92b5c VBOX: Add a flag for GBAC functionality. 2014-11-23 12:46:53 -05:00
Rom Walton b739badb44 VBOX: Write a stderr message when BOINC is notified about a web application for a particular task. 2014-11-23 12:46:52 -05:00
Rom Walton 5037444962 VBOX: Introduce the notion of a temporary exit trigger file.
When the file is detected, the wrapper will call boinc_temporary_exit() and restart the VM at a later date.
2014-11-23 12:46:51 -05:00
Rom Walton 810047d4eb VBOX: Move common code to VBOX_BASE class, VBOX_VM derives from it by extending virtual functions calling Vboxmanage or Native API functions. Use ATL on Windows to wrap COM Objects and data types. 2014-11-23 12:46:28 -05:00
Rom Walton 97b9d947b8 VBOX: Add a flag for GBAC functionality. 2014-10-24 11:54:11 -04:00
Rom Walton f8dbde1dbf VBOX: Write a stderr message when BOINC is notified about a web application for a particular task. 2014-10-22 15:35:56 -04:00
Rom Walton a8a6eab086 VBOX: Unify port forwarding scheme for web applications within VMs. 2014-10-22 12:05:18 -04:00
Rom Walton 3919da9524 VBOX: Introduce the notion of a temporary exit trigger file.
When the file is detected, the wrapper will call boinc_temporary_exit() and restart the VM at a later date.
2014-10-14 13:09:12 -04:00
Rom Walton b781e409f9 VBOX: Add support for intermediate uploads 2014-10-03 10:03:11 +02:00
Rom Walton e5a4f0345d VBOX: Always report the completion message. 2014-09-24 13:34:22 -04:00
Rom Walton e1da8323bd VBOX: Bubble up completion file notices to the client software. 2014-09-24 13:18:38 -04:00
Rom Walton 99c8c678dd VBOX: Make the VM memory size something that can be overridden via the command line.
TODO: Refactor how command line options and vbox_job.xml options are handled.  This was a ugly hack.
2014-09-24 13:06:05 -04:00
Rom Walton c768866118 VBOX: Look for the fraction done file in the shared directory by default 2014-09-15 17:21:11 -04:00
Rom Walton 9c80adb5a1 VBOX: Initialize completion file values before parsing. 2014-09-12 11:50:22 -04:00
Rom Walton afd34b8072 VBOX: Check for the completion file regardless if the VM is running or not. 2014-09-12 11:18:43 -04:00
David Anderson e55297a8f0 vboxwrapper: change option name to "network_bridged_mode" 2014-08-19 19:28:38 -07:00
Rom Walton 188a13b2fb VBOX: Rename bridged_mode to enable_network_bridged_mode.
VBOX: Set the network configuration at VM creation time.  set_network_access() is called whenever the network is suspended or resumed.  It'll cause multiple DHCP requests to be spawned on a network resume.
2014-08-19 14:48:10 -04:00
David Anderson c7aaf64423 vboxwrapper: add <bridge_mode/> otion for bridged mode networking 2014-08-18 20:33:51 -07:00
David Anderson e2e08e313d vboxwrapper: small code cleanup 2014-08-13 21:27:30 -07:00
David Anderson ab9b146054 vboxwrapper: add a general port-forwarding mechanism
All vbox_job.xml to specify ranges of port forwardings,
and whether the access to the host ports is remote or local.
This is to support MPI for Rytis.

Notes:
- the existing feature (pf_guest_port) is used only for web graphics.
  The host port is always dynamically assigned;
  there's no reason to have <pf_host_port>; I removed it from the doc.
  There's no reason to write the host port to a file; I removed that.
- The new feature is only for fixed host ports.
- The checkpoint file can stay the way it is.
2014-08-02 23:07:22 -07:00
David Anderson b3392bb195 scheduler: fix bug in plan class spec logic 2014-07-25 15:04:04 -07:00
Carlos Aguado Sanchez acf54750a8 Fix naming scheme for cache and iso
Signed-off-by: Carlos Aguado Sanchez <carlos.aguado@epfl.ch>
2014-07-07 16:04:11 -04:00
Rom Walton a57cbb7987 Add implementation for an extra cache disk
This commit adds two extra options:
- enable_cache_disk
- cache_disk_filename

This allows to attach a cache disk image to extend the storage
needs initially provided by the OS image.

In context-based systems such as uCernVM, this image can be
used to store the local cache of artifacs coming from CVMFS.

Note this image is attached without further checking on the content
and is entirely up to the main OS to make good use of it.

Signed-off-by: Carlos Aguado Sanchez <carlos.aguado@epfl.ch>
2014-07-07 16:03:46 -04:00
Rom Walton 7ec9e95822 Enable VM contextualization via ISO9660 image
This commit allows to attach an ISO9660 image to a vbox VM
from a well-known file. The purpose is to enable the dynamic
configuration of the VM in first boot so that the volunteer VM
can be kept generic. This process is otherwise widely known as
contextualization of virtual machines.

The actual content of the ISO9660 image is application dependent
and outside the scope of this implementation.

Signed-off-by: Carlos Aguado Sanchez <carlos.aguado@epfl.ch>
2014-07-07 15:46:59 -04:00
David Anderson 658547ccf6 wrapper: add --trickle X cmdline option to periodically report runtime
Add logic in wrapper to maintain and checkpoint total runtime.
Also vboxwrapper: slight refactor.

Note: we often use "elapsed time" where we mean "runtime".
Should use the latter.
2014-07-04 12:19:31 -07:00
David Anderson 89b27cabf9 vboxwrapper: temporary change to completion trigger file:
pause for 60 seconds before exiting, and don't read trigger file.
For ATLAS@home.  Undo when they update their VM.
2014-07-01 23:01:42 -07:00
David Anderson 56c30c8427 vboxwrapper: fix function names to use consistent style. 2014-07-01 13:43:43 -07:00
David Anderson b8627bace1 vboxwrapper: add "completion trigger file" mechanism.
When it's finished, the VM app can write a file of a given name
(specified in vbox_job.xml) in the shared dir.
This file can optionally contain an exit code and stderr text.
If vboxwrapper finds this file, it cleans up the VM and calls boinc_finish().
This works around a problem where the VM doesn't exit properly
and the task hangs forever.
2014-07-01 13:31:25 -07:00
Rom Walton f1981368f8 VBOX: Partial commit for completion trigger files (David taking over) 2014-07-01 15:19:17 -04:00
David Anderson 1a33c1465d vboxwrapper: add support for "trickle trigger files" 2014-06-20 19:33:10 -07:00
Rom Walton ad32ed3ecc VBOX: Switch back to using elapsed time in determining checkpoint based timings. 2014-05-30 23:16:34 -04:00
Rom Walton 26e16ac48e VBOX: When restarting and restoring from a checkpoint, make sure we do not checkpoint again until after the minimum checkpoint interval. 2014-05-30 19:32:35 -04:00
Rom Walton 817dfd87ef VBOX: Only get the updated CPU time every tenth iteration through the main loop. 2014-05-30 19:25:28 -04:00
Rom Walton 189a17ef07 VBOX: If vboxwrapper is running in standalone mode (not under BOINC), run the VM in head full mode. 2014-05-30 17:35:48 -04:00
Rom Walton eb2d2de370 Merge branch 'master' of ssh://isaac.ssl.berkeley.edu/boinc-v2 2014-05-30 16:10:38 -04:00
Rom Walton 081dcca1f0 VBOX: Setting the minimum checkpoint interval should not cause the wrapper to believe that it should run in headfull mode. 2014-05-30 16:08:48 -04:00
David Anderson e6f01ecb77 Merge branch 'master' of ssh://boinc.berkeley.edu/boinc-v2 2014-05-30 12:29:39 -07:00
David Anderson 4d6ebcf6a1 change "core client" to "client" in some comments. 2014-05-30 12:29:08 -07:00
Rom Walton 31a40f74e1 VBOX: Ugh, I missed assigning the starting_cpu_time variable when restoring from a checkpoint. 2014-05-30 14:35:24 -04:00
Rom Walton 81bbafc5c5 VBOX: Make the minimum checkpoint interval project configurable.
VBOX: Accumulate CPU Time across restarts of the wrapper.
2014-05-30 13:50:29 -04:00
Rom Walton 45df1256fc VBOX: Base checkpoints on CPU time instead of elapsed time. 2014-05-29 10:01:56 -04:00
Rom Walton c30bd62227 VBOX: Report CPU Time instead of elapsed time to boinc_report_app_status() 2014-05-29 09:46:10 -04:00
Rom Walton 1f4098aaa9 VBOX: Write the desired checkpoint interval to stderr on startup and every time it changes. 2014-05-29 01:20:16 -04:00
Rom Walton af9f2e83bc VBOX: Fix typo 2014-05-28 20:39:27 -04:00
David Anderson f15f6d2ba0 API/client/vboxwrapper: show notice if need Vbox upgrade
Vboxwrapper detects known buggy versions of Vbox and calls
boinc_temporary_exit().
The "Incompatible version" message appears in the task status
in the BOINC Manager, where some users may never see it.
It needs to appear as a notice, telling the user to upgrade VBox.

To do this, I added an optional argument to boinc_temporary_exit()
saying that the message should be delivered as a notice.
This is conveyed to the client by adding
a line containing "notice" to the temp exit file.
I changed the client and vboxwrapper to use this.
2014-05-28 11:05:56 -07:00