Commit Graph

18843 Commits

Author SHA1 Message Date
Rom Walton 3aa01ec513 - Web: Don't display VirtualBox version number information in the coproc field while
displaying host information.
        
    html/inc/
        host.inc

svn path=/trunk/boinc/; revision=24882
2011-12-24 02:01:54 +00:00
Charlie Fenton 8bc68b6a85 VBOX: Fix "unused variable" warning
svn path=/trunk/boinc/; revision=24881
2011-12-24 00:18:25 +00:00
Rom Walton 96deec1f03 - VBOX: Rework the unique naming scheme for floppys and disk images so that the slot
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
2011-12-23 20:14:42 +00:00
Rom Walton 15343f23ed Quick Updates
svn path=/trunk/boinc/; revision=24879
2011-12-23 19:50:52 +00:00
Rom Walton d8efeb76c0 - VBOX: handle the case where the volunteer has not installed BOINC in the sandboxed
environment and they suspend/resume the VM by the VirtualBox application.
        
    samples/vboxwrapper/
        vbox.cpp, .h
        vboxwrapper.cpp

svn path=/trunk/boinc/; revision=24878
2011-12-23 18:21:48 +00:00
Rom Walton 1524a7dd7d - VBOX: Append the slot number to the end of the floppy disk image name like we do
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
2011-12-23 17:45:09 +00:00
Rom Walton 68568b400a - VBOX: Write the firewall rules once, after creation. If the job was suspended
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
2011-12-23 17:24:28 +00:00
Rom Walton 7419d3a7e1 Quick Updates
svn path=/trunk/boinc/; revision=24875
2011-12-23 06:42:03 +00:00
Rom Walton 10781f7776 - VBOX: Remove code that was meant to force the CC to reschedule jobs. There was
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
2011-12-22 23:30:03 +00:00
Rom Walton 9d14b4b425 - VBOX: Try a new approach to dealing with the Windows sandbox issue. Under Windows
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
2011-12-22 19:39:38 +00:00
Rom Walton f9aff67af3 Quick Updates
svn path=/trunk/boinc/; revision=24872
2011-12-22 14:31:02 +00:00
Rom Walton dd7c904e0e Quick Updates
svn path=/trunk/boinc/; revision=24871
2011-12-22 14:29:44 +00:00
Rom Walton 4337e5d091 Quick Updates
svn path=/trunk/boinc/; revision=24870
2011-12-22 14:27:12 +00:00
Rom Walton a0f0c30fd4 Quick Updates
svn path=/trunk/boinc/; revision=24869
2011-12-22 04:57:02 +00:00
Rom Walton 62d8ba1ed3 Quick Updates
svn path=/trunk/boinc/; revision=24868
2011-12-22 04:22:01 +00:00
Rom Walton 7cffd8be9a - VBOX: Add missing code for progress complete and check-pointing.
samples/vboxwrapper/
        vboxwrapper.cpp

svn path=/trunk/boinc/; revision=24867
2011-12-22 04:16:47 +00:00
Charlie Fenton b4b1c6b809 VBOX: Update XCode project for OS 10.7 and XCode 4.2.1
svn path=/trunk/boinc/; revision=24866
2011-12-22 03:55:32 +00:00
Rom Walton d016c1d56e Quick Updates
svn path=/trunk/boinc/; revision=24865
2011-12-22 03:35:43 +00:00
Rom Walton 9d47e0a87f Quick Updates
svn path=/trunk/boinc/; revision=24864
2011-12-22 03:34:09 +00:00
Rom Walton 1642299a73 - VBOX: It turns out that once you set the firewall rules, you cannot reset the
rules for a VM until the VM is in a powered off state.  I guess the VM will
        just have to fail starting up if it cannot allocate the assigned port.
        
    samples/vboxwrapper/
        vbox.cpp

svn path=/trunk/boinc/; revision=24863
2011-12-22 01:01:37 +00:00
Rom Walton 86d5915342 - VBOX: If vm.run() fails, it turns out the VM is parked in some kind of saved
state, deregistering the VM would fail all commands because the VM was not
        mutable.  The first thing we should do when deregistering is discard
        any saved state.
        
    samples/vboxwrapper/
        vbox.cpp
        

svn path=/trunk/boinc/; revision=24862
2011-12-22 00:15:06 +00:00
Rom Walton e73736a01a Quick Updates
svn path=/trunk/boinc/; revision=24861
2011-12-21 23:21:18 +00:00
Rom Walton 95ebc8f6da - VBOX: If vm.cleanup() can be called when a VM hasn't been fully initialized,
then all the deregister commands have to be optional. Go ahead and log errors
        to stderr but continue to run through the various commands anyway.

    samples/vboxwrapper/
        vbox.cpp

svn path=/trunk/boinc/; revision=24860
2011-12-21 23:19:55 +00:00
Rom Walton 6948658af5 - VBOX: If vm.run() fails, call vm.cleanup() to unregister the VM before exiting
vboxwrapper.  Not doing so leaves the drive reference around and the VM in a
        saved state.  The next attempt to delete it from another instance of
        vboxwrapper fails with a complaint about the old unnamed vm(all files have
        been cleaned up by BOINC) being in an non-mutable state.

    samples/vboxwrapper/
        vbox.cpp
        vboxwrapper.cpp

svn path=/trunk/boinc/; revision=24859
2011-12-21 22:57:44 +00:00
Rom Walton febac394aa - VBOX: Don't log all vbm_popen errors, we expect certain commands to fail when we
are looking at the existing state of the host.
    - VBOX: Reset the output buffer for every command execution.
    - VBOX: Remove the teleporting and snapshotting states from the list of running
        states.
    - VBOX: Remove the '--type floppy' typo when mounting the floppy disk image.
    
    samples/vboxwrapper/
        vbox.cpp, .h

svn path=/trunk/boinc/; revision=24858
2011-12-21 21:58:01 +00:00
David Anderson 70bbd5673c - web: combine ops and regular functions for displaying
various result attributes as strings


svn path=/trunk/boinc/; revision=24857
2011-12-21 18:29:11 +00:00
Rom Walton 88ae2c43df - VBOX: Create the FloppyIO image via the FloppyIO constructor before attempting
to link the VM to it.
        
    samples/vboxwrapper/
        floppyio.cpp
        vbox.cpp

svn path=/trunk/boinc/; revision=24856
2011-12-21 14:24:50 +00:00
Charlie Fenton 14e20f9928 Show localized project descriptions in Attach Wizard
svn path=/trunk/boinc/; revision=24854
2011-12-21 11:11:28 +00:00
Charlie Fenton 35f4c2aa10 MGR: Fix horizontal sizing of text in Simple View project description
svn path=/trunk/boinc/; revision=24853
2011-12-21 11:08:10 +00:00
Charlie Fenton 97724f5ad7 MGR: Fix horizontal sizing of text in Simple View project description
svn path=/trunk/boinc/; revision=24851
2011-12-21 11:04:39 +00:00
Charlie Fenton 996a6dcc55 Show localized project descriptions in Attach Wizard
svn path=/trunk/boinc/; revision=24849
2011-12-21 11:00:31 +00:00
Charlie Fenton 195d393d24 MGR: Display project descriptions in Attach Wizard using wxTextCtrl instead of wxHtmlWindow to support screen readers
svn path=/trunk/boinc/; revision=24847
2011-12-21 08:40:10 +00:00
Rom Walton 34867cc6f8 - VBOX: Implement a basic mechanism for port forwarding through to the VM.
Some more work will be required if there is ever a need for more than
        one port.  But this should work for now.  This should successfully
        handle running multiple instances of the same job, port information is
        stored in a file called "vbox_firewall.txt" which is updated for each
        execution of the wrapper.
    
    samples/vboxwrapper/
        vbox.cpp, .h
        vboxwrapper.cpp
    win_build/
        vboxwrapper.vcproj

svn path=/trunk/boinc/; revision=24843
2011-12-21 05:55:08 +00:00
David Anderson fe90776614 - scheduler: if an app has only GPU versions,
scale their PFC by 0.1 in credit calculations.
    This reflects the fact that GPU apps are typically less efficient
    (relative to device peak FLOPS) than are CPU apps.
    The actual values from SETI@home and Milkyway are 0.05 and 0.08.


svn path=/trunk/boinc/; revision=24842
2011-12-21 03:21:52 +00:00
Rom Walton 31aaf4bf85 Quick Updates
svn path=/trunk/boinc/; revision=24841
2011-12-21 00:08:36 +00:00
Rom Walton 7091523e91 Quick Updates
svn path=/trunk/boinc/; revision=24840
2011-12-21 00:07:03 +00:00
Rom Walton c5e98777ef Quick Updates
svn path=/trunk/boinc/; revision=24839
2011-12-21 00:01:38 +00:00
Rom Walton c6d97ca554 Quick Updates
svn path=/trunk/boinc/; revision=24838
2011-12-20 23:05:58 +00:00
Rom Walton 6c1dd9e555 - VBOX: Create a configuration item that specifies the maximum amount of
wall clock time a VM is allowed, if exceeded shutdown gracefully and tell
        BOINC that the job is finished.
        
    samples/vboxwrapper/
        vbox.cpp, .h
        vboxwrapper.cpp

svn path=/trunk/boinc/; revision=24837
2011-12-20 22:59:06 +00:00
Rom Walton 2b463218ed - VBOX: Implement CERN's FloppyIO IPC technology for the VirtualBox wrapper.
samples/vboxwrapper/
        floppyio.cpp, .h
        vbox.cpp, .h
        vboxwrapper.cpp
    win_build/
        vboxwrapper.vcproj

svn path=/trunk/boinc/; revision=24836
2011-12-20 22:12:07 +00:00
Charlie Fenton 1085c5ab86 MGR: Continue partial fix for wizard problem when a client automatically attempts to attach to an account manager via cookies
svn path=/trunk/boinc/; revision=24835
2011-12-20 11:49:12 +00:00
Rom Walton bd62f4203b Quick Updates
svn path=/trunk/boinc/; revision=24833
2011-12-19 23:42:03 +00:00
Rom Walton aaade7b57d - MGR: Partial fix for wizard problem when a client automatically attempts to attach
to an account manager via cookies.  This fix is good enough for the 6.8 client.
        We'll need to do a little more for 7.x and beyond.
        
    clientgui/
        WizardAttach.cpp

svn path=/trunk/boinc/; revision=24827
2011-12-19 22:16:49 +00:00
Rom Walton 9d0553f7ea - WINSETUP: Copy the explorer primary token to get processes launched by the setup
process to launch with reduced permissions.
        
    win_build/installerv2/redist/Windows/src/boinccas/
        boinccas.vcproj
        CALaunchBOINCManager.cpp
        launcher.cpp, .h
    win_build/installerv2/redist/Windows/Win32/
        boinccas.dll
        boinccas95.dll
    win_build/installerv2/redist/Windows/x64/
        boinccas.dll
        boinccas95.dll

svn path=/trunk/boinc/; revision=24826
2011-12-19 20:45:32 +00:00
Rom Walton 36ef681e28 - VBOX: Use the same mechanism as the multi-threaded apps to determine desired CPU
count for the VM.  VM(s) can now be multi-core.

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

svn path=/trunk/boinc/; revision=24825
2011-12-19 19:10:24 +00:00
David Anderson c164349afc - vboxwrapper: if shared dir is specified and it doesn't exist on startup,
that's not necessarily an error.
    Try to create it.
    If it exists and is a file, show appropriate error message.


svn path=/trunk/boinc/; revision=24824
2011-12-19 19:00:19 +00:00
David Anderson 0777ab174a - scheduler: if using homogeneous app version and a WU is committed
to a superceded or deprecated app version, use it anyway.
    The current app version may not validate against the old one.


svn path=/trunk/boinc/; revision=24823
2011-12-17 22:11:26 +00:00
Rom Walton d121e6cbb6 - VBOX: Attempt to detect the condition where a Virtual HD image has already been
registered with VirtualBox during the RegisterVM phase.  If we detect the
        already exists error message run the unsupported internal command to reset
        the HD UUID which then allows us to attach the HD to the VM.  This should allow
        us to run multiple jobs with the same base VM HD image.

    samples/vboxwrapper/
        vbox.cpp

svn path=/trunk/boinc/; revision=24822
2011-12-17 18:10:07 +00:00
David Anderson 83f91025e7 - client: if we're trying to upload a file and it's missing,
that's a permanent error


svn path=/trunk/boinc/; revision=24821
2011-12-17 05:36:45 +00:00
David Anderson 5c02170d5a - storage simulator: add stats for network load and fault tolerance.
- client: msg tweak
- client: minimum work buffer lower bound is 180 sec
- scheduler: in computing HOST_USAGE::project_flops for a job,
    if we don't have sufficient elapsed_time statistics
    for either the (host, app_version) or the app_version,
    use a conservative estimate (p_fpops*(#cpus+#ngpus))
    rather than the number returned by app_plan().
    This avoids "time limit exceeded" errors when the latter is way off.


svn path=/trunk/boinc/; revision=24820
2011-12-16 19:45:31 +00:00