Commit Graph

64 Commits

Author SHA1 Message Date
Rom Walton a635b075ef - VBOX: Add the ability for the wrapper to know if vboxmanage has hung or is stuck
in a loop.  If so, terminate the process and return an error to the calling
      function.
      
    samples/vboxwrapper/
        vbox.cpp

svn path=/trunk/boinc/; revision=24767
2011-12-09 16:30:13 +00:00
Rom Walton 4e54344742 Quick Updates
svn path=/trunk/boinc/; revision=24766
2011-12-09 16:17:51 +00:00
Rom Walton 7622cd57db Quick Updates
svn path=/trunk/boinc/; revision=24765
2011-12-09 16:16:56 +00:00
Rom Walton a1129b9b9c Quick Updates
svn path=/trunk/boinc/; revision=24764
2011-12-09 15:56:55 +00:00
Rom Walton e1b7db05e1 Quick Updates
svn path=/trunk/boinc/; revision=24763
2011-12-09 15:33:42 +00:00
Rom Walton 5dfa3ec5c7 - VBOX: Remove the guru meditation state, apparently that is when the vbox host
process for the vm crashes.
      
    samples/vboxwrapper/
        vbox.cpp

svn path=/trunk/boinc/; revision=24762
2011-12-09 15:13:56 +00:00
Rom Walton 17f11cc577 - VBOX: Remove unused function, I don't remember what I was going to use that
hook for.
      
    samples/vboxwrapper/
        vbox.cpp, .h
        vboxwrapper.cpp

svn path=/trunk/boinc/; revision=24761
2011-12-09 15:05:47 +00:00
Rom Walton 687195e7f0 Quick Updates
svn path=/trunk/boinc/; revision=24510
2011-11-03 02:35:04 +00:00
Rom Walton dbbd2a3ff9 - VBOX: Don't redirect VirtualBox to a different directory structure for
the root configuration file when the client is NOT in sandbox mode.
        Doing so could cause confusion if the volunteer uses VirtualBox for
        any of their own work.  If BOINC started up first it would have appeared
        that their own VM's no longer existed.
        
    samples/vboxwrapper/
        vbox.cpp

svn path=/trunk/boinc/; revision=24449
2011-10-21 16:34:45 +00:00
Rom Walton b7f4b13342 - vbox: Move the destination of the VBOX_USER_HOME environment variable to
<boinc_data_dir>/projects/virtualbox so that the virtualbox configuration
        can remain consistent across one or more projects.

    samples/vboxwrapper/
        vbox.cpp

svn path=/trunk/boinc/; revision=24380
2011-10-11 20:01:32 +00:00
Rom Walton 654a187178 - VBOX: More environment variable tweaks.
samples/vboxwrapper/
        vbox.cpp, .h

svn path=/trunk/boinc/; revision=24259
2011-09-22 15:39:08 +00:00
Charlie Fenton 312fc10918 vboxwrapper: fix code which sets environment variables
svn path=/trunk/boinc/; revision=24258
2011-09-22 08:42:26 +00:00
David Anderson d8f20bceea - vboxwrapper: report network usage to the client
- client: include the above in enforcing network quota preferences


svn path=/trunk/boinc/; revision=24227
2011-09-16 19:16:12 +00:00
David Anderson 2bd5b194b2 - vboxwrapper: code cleanup
- use double for potentially large quantities
    - factor out repetitive code, rather than copy and paste


svn path=/trunk/boinc/; revision=24226
2011-09-16 17:25:36 +00:00
Rom Walton 7d9384075d Quick Updates
svn path=/trunk/boinc/; revision=24224
2011-09-15 23:05:43 +00:00
Rom Walton e27ee6f152 - VBOX: Add a way to track overall network utilization of a VM.
samples/vboxwrapper/
        vbox.cpp, .h

svn path=/trunk/boinc/; revision=24223
2011-09-15 23:04:10 +00:00
Charlie Fenton 6314930e4f vboxwrapper: fix compiler warning
svn path=/trunk/boinc/; revision=24219
2011-09-15 09:02:05 +00:00
Rom Walton 3d9e3097ee Quick Updates
svn path=/trunk/boinc/; revision=24214
2011-09-14 23:33:11 +00:00
David Anderson f6cd51fe72 - vboxwrapper: we don't seem to be getting the VM PID.
Add some printfs.


svn path=/trunk/boinc/; revision=24211
2011-09-14 23:22:08 +00:00
Rom Walton 6c0a8d9035 - VBOX: Add a register_only command line argument to help debug VM related issues.
- VBOX: Add some suggestions to the source on how to debug VM related issues.
    - VBOX: Add a quick sanity check when the enable_shared_directory option is
        enabled.

    samples/vboxwrapper/
        vbox.cpp, .h
        vboxwrapper.cpp

svn path=/trunk/boinc/; revision=24203
2011-09-14 04:16:00 +00:00
Rom Walton a2c40ce0b6 Quick Updates
svn path=/trunk/boinc/; revision=24202
2011-09-14 03:17:13 +00:00
Rom Walton 9c20f59c15 - VBOX: Increase the pipe buffer on Windows from the default to 128k. Despite what
the docs say, if the buffer isn't large enough VboxManage hangs attempting to
        write the VM log file to it.  Luckly the VM log file is only 64k.
    - VBOX: Fix a couple of parsing errors.
        
    samples/vboxwrapper/
        vbox.cpp

svn path=/trunk/boinc/; revision=24201
2011-09-14 03:15:17 +00:00
Rom Walton 62ef962134 Quick Updates
svn path=/trunk/boinc/; revision=24200
2011-09-14 01:19:35 +00:00
Rom Walton 6ebadb3085 Quick Updates
svn path=/trunk/boinc/; revision=24199
2011-09-14 01:11:31 +00:00
Rom Walton cc5da892c7 Quick Updates
svn path=/trunk/boinc/; revision=24198
2011-09-14 00:51:06 +00:00
Rom Walton cedd8dfbd1 Quick Updates
svn path=/trunk/boinc/; revision=24197
2011-09-14 00:41:13 +00:00
Rom Walton fafb8a9bbf Quick Updates
svn path=/trunk/boinc/; revision=24196
2011-09-14 00:30:42 +00:00
Rom Walton 54c27ff947 Quick Updates
svn path=/trunk/boinc/; revision=24195
2011-09-14 00:20:17 +00:00
Rom Walton c94af43ea3 Quick Updates
svn path=/trunk/boinc/; revision=24194
2011-09-14 00:15:25 +00:00
Rom Walton d9de7596e6 Quick Updates
svn path=/trunk/boinc/; revision=24193
2011-09-13 23:59:19 +00:00
Rom Walton 4dcb0a5859 Quick Updates
svn path=/trunk/boinc/; revision=24192
2011-09-13 23:58:18 +00:00
Rom Walton 0dd791ad69 Quick Updates
svn path=/trunk/boinc/; revision=24190
2011-09-13 23:41:32 +00:00
Rom Walton 65fb6c7e0e Quick Updates
svn path=/trunk/boinc/; revision=24189
2011-09-13 23:38:56 +00:00
Rom Walton c2f1855be3 - VBOX: Make is_running() a bit smarter about detecting the running state
of a virtual machine.
        
    samples/vboxwrapper/
        vbox.cpp

svn path=/trunk/boinc/; revision=24187
2011-09-13 22:52:28 +00:00
Rom Walton 8ce3da18ce Quick Updates
svn path=/trunk/boinc/; revision=24186
2011-09-13 22:04:49 +00:00
Rom Walton 8f3249720f - VBOX: Don't attempt to stop a VM that is already shut down.
samples/vboxwrapper/
        vbox.cpp

svn path=/trunk/boinc/; revision=24185
2011-09-13 21:49:42 +00:00
Rom Walton 98efec4538 - VBOX: Properly trap stderr output from vboxmanage by redirecting it to
stdout.  Error messages should now be properly detected on Linux and
        Mac.
        
    samples/vboxwrapper/
        vbox.cpp

svn path=/trunk/boinc/; revision=24184
2011-09-13 21:43:58 +00:00
Rom Walton 26fdc9b1f7 Quick Updates
svn path=/trunk/boinc/; revision=24181
2011-09-13 20:59:01 +00:00
Rom Walton 0ebb45cc14 Quick Updates
svn path=/trunk/boinc/; revision=24180
2011-09-13 19:48:32 +00:00
Rom Walton 273327044b - VBOX: Add more trace messages to the wrapper to help resolve
issues.
        
    samples/vboxwrapper/
        vbox.cpp

svn path=/trunk/boinc/; revision=24179
2011-09-13 19:43:52 +00:00
David Anderson 4e946854c1 - client/API/vboxwrapper:
add a mechanism so that apps can report sub-processes
    that are not descendants (e.g., virtual machines)
    These processes are then counted as part of the app,
    not as "non-BOINC CPU time".
    This fixes a bug where processing was incorrectly suspended
    because CPU usage by VM apps exceeded the "CPU usage limit" pref.

    Implementation:
    - the PIDs of the processes in question
        are passed from app to client via shared-memory,
        in the app_status channel.
        A new variant of boinc_report_app_status() supports this.
    - the VBox wrapper queries the PID of the VM,
        and reports it in this way.
    - procinfo_app() includes a new argument: a list of PIDs
        that are part of the app, although not ancestrally
        related to the main process.
    - in the client, ACTIVE_TASK now includes a vector "other_pids".
        If this is nonempty, it's passed to procinfo_app().


svn path=/trunk/boinc/; revision=24123
2011-09-02 20:47:05 +00:00
Rom Walton a6de614071 - VboxWrapper: Add a way to extract the VM process id from the VM's
log file.
        
    samples/vboxwrapper/
        vbox.cpp, .h

svn path=/trunk/boinc/; revision=24112
2011-09-02 00:19:05 +00:00
Rom Walton 60b4546c75 - VboxWrapper: Specify a configuration directory under the slot directory to
try and avoid permission errors on multiple platforms when BOINC
        is installed as a daemon.

    samples/vboxwrapper/
        vbox.cpp

svn path=/trunk/boinc/; revision=24100
2011-08-31 22:51:33 +00:00
David Anderson 1eed0db2ec - VirtualBox wrapper:
- change names of CPU and network-limiting functions
        to express their units (always do this).
    - wrapper monitors status.suspend_network
        and suspends/resumes network accordingly
    - wrapper sets CPU and network bandwidth limits on startup
        (Rom: should this be done before run() rather than after?)
Note: App versions using this wrapper should always have
    <dont_throttle/> in their version.xml,
    to tell the client that the app throttles itself.


svn path=/trunk/boinc/; revision=24054
2011-08-27 04:13:50 +00:00
Rom Walton 49b9c1bb64 - VboxWrapper: Add functions for enable/disable network and throttling
the CPU and network activity.

    samples/vboxwrapper/
        vbox.cpp, .h

svn path=/trunk/boinc/; revision=24051
2011-08-26 19:19:28 +00:00
Rom Walton 7c14104e20 Quick Updates
svn path=/trunk/boinc/; revision=23931
2011-08-04 01:06:58 +00:00
David Anderson 306f42e7bc - vbox wrapper: hardwire logical name of image file to "vm_image.vdi".
- vbox wrapper: on startup, rename image file to "vm_image_SLOT.vdi",
    where SLOT is the slot number.
    Vbox requires unique names for VM image files.


svn path=/trunk/boinc/; revision=23930
2011-08-04 00:24:42 +00:00
Rom Walton 4e2968f71f match spec
svn path=/trunk/boinc/; revision=23929
2011-08-03 23:12:36 +00:00
David Anderson 241e6eaf35 - vbox wrapper: fix parsing of job file
- vbox wrapper: fix code structure
    - merge vm and vbox
    - no global vars


svn path=/trunk/boinc/; revision=23928
2011-08-03 22:36:29 +00:00
David Anderson 94e8c48220 - client: change --detach_phase_two (??) to --detach_console
- eliminate compiler warnings (e.g. shadowed vars)
    in various places, mostly in client


svn path=/trunk/boinc/; revision=23710
2011-06-12 20:58:43 +00:00