Commit Graph

1167 Commits

Author SHA1 Message Date
Rom Walton 70bc2bd4ca Quick Updates
svn path=/trunk/boinc/; revision=25475
2012-03-22 21:22:23 +00:00
Rom Walton 7710c0cfc8 - VBOX: We don't need to display the state of the VM before startup.
- 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
2012-03-21 22:13:06 +00:00
Rom Walton 93a015300b - Moving trunk back into a development branch, further stabilization of the 7.0.x
client is now in the boinc_core_release_7_0a branch.

    /
        configure.ac
        version.h
        version.h.in

svn path=/trunk/boinc/; revision=25436
2012-03-16 17:29:30 +00:00
Rom Walton 25142dda02 - VBOX: Give the VM process a short priority boost when responding
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
2012-03-16 01:04:43 +00:00
Rom Walton c35bf413d5 Quick Updates
svn path=/trunk/boinc/; revision=25425
2012-03-14 18:55:02 +00:00
Rom Walton a52651bf56 - VBOX: Use the boinc_temporary_exit API properly. Wait for 5 minutes
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
2012-03-14 18:54:03 +00:00
Rom Walton 85fce1d29a - VBOX: Only attempt to reset throttle values if the VM is in
a running state, otherwise controlvm throws an error.
        
    samples/vboxsamples/
        vboxwrapper.cpp

svn path=/trunk/boinc/; revision=25403
2012-03-12 15:45:09 +00:00
Rom Walton 8f8caec6e7 - VBOX: Allow the CPU execution cap to be set back to 100% after it had
alreadly been set lower.

    samples/vboxwrapper/
        vbox.cpp
        vboxwrapper.cpp

svn path=/trunk/boinc/; revision=25399
2012-03-09 22:56:19 +00:00
Rom Walton f2f9ec8dc3 - VBOX: Setting the CPU Execution Cap should be done with the controlvm
command after the VM has entered a running state instead of using
        modifyvm.
        
    samples/vboxwrapper/
        vbox.cpp

svn path=/trunk/boinc/; revision=25397
2012-03-09 19:53:34 +00:00
Rom Walton 702c78d8c8 - VBOX: Parse the vboxmanage error code for *nix as well.
- 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
2012-03-09 03:05:48 +00:00
Rom Walton 2030f3ca23 - VBOX: Implement an exponential backoff scheme of sleeping between
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
2012-03-01 04:23:08 +00:00
Rom Walton 594ab7a80d - Vbox: Include date component in log messages to ease debugging long
running VM tasks.
        
    samples/vboxwrapper/
        vbox.cpp
        vboxwrapper.cpp, .h

svn path=/trunk/boinc/; revision=25308
2012-02-21 22:31:50 +00:00
Rom Walton 3431257465 - Tag for 7.0.16 release, all platforms
boinc_core_release_7_0_16

    /
        configure.ac
        version.h

svn path=/trunk/boinc/; revision=25282
2012-02-17 17:41:57 +00:00
David Anderson c5ac569868 - remove lib/mac_address.cpp,h from project
svn path=/trunk/boinc/; revision=25270
2012-02-16 00:11:07 +00:00
Rom Walton 4c9d7b8579 - Tag for 7.0.15 release, all platforms
boinc_core_release_7_0_15

    /
        configure.ac
        version.h

svn path=/trunk/boinc/; revision=25233
2012-02-09 21:34:33 +00:00
Rom Walton 5fd660bd22 - client: add async file copy stuff to Windows project file.
client/
        async_file.cpp
    win_build/
        boinc_cli.vcproj

svn path=/trunk/boinc/; revision=25193
2012-02-03 19:00:28 +00:00
Rom Walton 916cd7ded2 - MGR: Fix cookie detection problem when using the
IEGetProtectedModeCookie API.  Function prototype changed from the
        InternetGetCookieEx function.  HRESULT != BOOL.
        
    clientgui/
        browser.cpp

svn path=/trunk/boinc/; revision=25189
2012-02-02 17:35:24 +00:00
Rom Walton 7b770971eb - Tag for 7.0.12 release, all platforms
boinc_core_release_7_0_12

    /
        configure.ac
        version.h

svn path=/trunk/boinc/; revision=25155
2012-01-26 20:46:25 +00:00
Rom Walton d5327641fb - VBOX: Use the documented way to reset the UUID of a virtual hard
disk.  Thanks Daniel.
        
     samples/vboxwrapper
        vbox.cpp

svn path=/trunk/boinc/; revision=25102
2012-01-19 00:09:06 +00:00
Rom Walton f2ceca49c1 - VBOX: Fix another issue that was a result of Saturdays commit. Make
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
2012-01-18 17:23:45 +00:00
Rom Walton 6918de52ce - Tag for 7.0.9 release, all platforms
boinc_core_release_7_0_9

    /
        configure.ac
        version.h

svn path=/trunk/boinc/; revision=25075
2012-01-17 02:52:39 +00:00
Rom Walton ace89b675a Quick Updates
svn path=/trunk/boinc/; revision=25055
2012-01-14 05:45:54 +00:00
Rom Walton 0d6668fb85 - MGR: Launch the RDP client on Windows in full-screen mode to avoid
a bug where the screen doesn't refresh and keyboard/mouse events
        don't manifest until you close down the client and restart it.
        
    clientgui/
        MainDocument.cpp

svn path=/trunk/boinc/; revision=25051
2012-01-14 03:56:12 +00:00
Rom Walton dadf01353c Quick Updates
svn path=/trunk/boinc/; revision=25045
2012-01-13 19:24:22 +00:00
Rom Walton 4538282220 - VBOX: Make sure the configured port numbers persist across
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
2012-01-13 03:12:00 +00:00
Rom Walton 2c54c9735a - VBOX: Report the remote desktop connection information to the
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
2012-01-12 20:57:23 +00:00
Rom Walton 521b9fdce3 Quick Updates
svn path=/trunk/boinc/; revision=25029
2012-01-11 18:38:29 +00:00
Rom Walton 3f8ca51110 - VBOX: Fix one last regression related to failed start detection. If
only one CPU is allocated, manually disable VM hardware acceleration.
        
    samples/vboxwrapper/
        vbox.cpp

svn path=/trunk/boinc/; revision=25016
2012-01-09 15:37:26 +00:00
Rom Walton f9a0ba4759 - VBOX: Extract the various logs before attempting to cleanup if the
registration process fails.
        
    samples/vboxwrapper/
        vboxwrapper.cpp

svn path=/trunk/boinc/; revision=24996
2012-01-05 06:34:22 +00:00
Rom Walton bbc1351ced Quick Updates
svn path=/trunk/boinc/; revision=24979
2012-01-02 20:59:15 +00:00
Rom Walton 5691f06dd6 - VBOX: Fix crashing issue I introduced last night attempting to
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
2012-01-02 16:58:11 +00:00
Rom Walton f9ec8681f0 Quick Updates
svn path=/trunk/boinc/; revision=24954
2011-12-31 03:59:27 +00:00
Rom Walton 1b2a01726a - WINSETUP: Hookup new custom actions to the BOINC Installers
win_build/installerv2/
        BOINC.ism
        BOINCx64.ism

svn path=/trunk/boinc/; revision=24952
2011-12-31 00:33:10 +00:00
Rom Walton 9eb3d91e77 - WINSETUP: Give 'boinc_admins' and 'boinc_projects' the ability to access and
launch the VirtualBox server-side application.  This should complete the
        needed work to run VirtualBox within the Windows sandboxed environment.
    - WINSETUP: Remove the virtualized file system tag from the Windows Explorer
        copied security token when launching BOINC Manager and BOINC Tray after
        setup has completed.  I believe this will resolve the new cookie issue
        experienced by PTP/GR/CE.

    win_build/installerv2/redist/Windows/src/boinccas/
        aclmgmt.cpp
        boinccas.def
        boinccas.vcproj
        CAGrantBOINCAdminsVirtualBoxRights.cpp, .h
        CAGrantBOINCProjectsVirtualBoxRights.cpp, .h
        CALaunchBOINCTray.cpp, .h
        dcomperm.h
        launcher.cpp
        listacl.cpp
        sdmgmt.cpp
        srvcmgmt.cpp
        utils.cpp
        wrappers.cpp
    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=24951
2011-12-30 22:38:10 +00:00
Rom Walton de8b312911 - WINSETUP: Introduce new BOINC setup packages which include VirtualBox.
win_build/installerv2/
        BOINC_vbox.ism
        BOINCx64_vbox.ism

svn path=/trunk/boinc/; revision=24928
2011-12-28 16:48:20 +00:00
Rom Walton 61e6e8949e Quick Updates
svn path=/trunk/boinc/; revision=24909
2011-12-27 00:11:43 +00:00
Rom Walton 63607c070c - VBOX: If a host has been assigned a single-core job and the
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
2011-12-26 14:09:03 +00:00
Rom Walton 64da0ca90a svn path=/trunk/boinc/; revision=24895 2011-12-25 20:31:26 +00:00
Rom Walton 0f17e81554 - VBOX: For projects that use vboxwrapper to control how long a VM should run,
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
2011-12-25 20:17:53 +00:00
Rom Walton b6a188c250 - VBOX: If an error occurs only log the error once if log_error is true.
samples/vboxwrapper/
        vbox.cpp, .h
    

svn path=/trunk/boinc/; revision=24889
2011-12-25 06:04:24 +00:00
Rom Walton c906260da8 Quick Updates
svn path=/trunk/boinc/; revision=24883
2011-12-24 02:05:40 +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 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 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
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