Commit Graph

995 Commits

Author SHA1 Message Date
David Anderson d94fe5bcde Merge pull request #1592 from bema-ligo/boinc_gahp_fixes
Boinc gahp fixes
2016-07-31 11:42:28 -07:00
David Anderson 89dc25bc6c Condor interface: compile fix 2016-07-27 23:18:30 -07:00
David Anderson b6c0d75a8c remote job submission: fix bugs, improve error reporting 2016-07-27 01:07:07 -07:00
Bernd Machenschalk 9c15fd2183 BOINC GAHP: assign output files by order, if not found by matching name 2016-07-27 08:41:54 +02:00
Bernd Machenschalk b4a0807c40 BOINC GAHP: append to an existing stderr file instead of overwriting it 2016-07-27 08:41:40 +02:00
Bernd Machenschalk f88c65125b BOINC GAHP: escape paths for system("mv"), in case these contain blanks 2016-07-27 08:41:29 +02:00
David Anderson a259991c7a Fix bugs in content-based file management system
- stray return in compute_boinc_name()
- BoincJobFile::delete() was wrong
- error-check DB record deletions
2016-07-24 22:55:33 -07:00
David Anderson f5c64abac0 Condor GAHP: add extensions to input file names
The content-based file management system used by Condor GAHP
used a file's MD5 hash as its physical name.
This caused problems for Einstein@home because their app
expected filenames with particular extensions.
So I:

- changed the docs and param names of the C++ interface
  to the file management system (query_files() and upload_files())
  to clarify that the physical file names can include additional text
  besides the MD5 hash.
- changed the BOINC GAHP to look for filename extensions,
  and append these to the physical filenames
2016-07-22 16:10:23 -07:00
David Anderson cd87e03c5e remote job submission, C++ interface: support remote input files
This is a first step toward letting Condor job submissions
have remote input files.
Todo: change the GAHP protocol to specify this.
2016-07-22 13:51:04 -07:00
marius 5aa676ebb0 VBOX: added boot_iso option 2016-07-19 11:37:14 +02:00
Rom Walton 4c5b9eb9f4 VBOX: Fix build break. 2016-07-12 23:13:43 -07:00
Rom Walton db94233cc4 VBOX: Attempt to wake the console before attempting to take a screenshot, to work around a VirtualBox bug. 2016-07-12 20:34:18 -07:00
Rom Walton aacc8a5924 VBOX: Upgrade to the RTM build of the VirtualBox 5.1 COM interface file. 2016-07-12 20:00:07 -07:00
Rom Walton c8ae1d8439 VBOX: Fix check pointing code in the vboxmanage interface.
I apparently broke it when I implemented the screen shot code.
2016-07-04 15:46:33 -07:00
David Anderson 56d59a7780 vboxwrapper: fix bugs in cmdline memory size spec; fix compile warnings 2016-07-01 12:06:55 -07:00
Rom Walton 7d0b8a59ad VBOX: Only attempt to take a screen shot if VirtualBox is greater than 5.0 (VboxManage Interface) 2016-06-15 22:29:59 -07:00
Rom Walton fe7f919519 VBOX: Only attempt to take a screen shot if the VM is online. 2016-06-14 19:20:26 -07:00
Rom Walton c01f534595 VBOX: Formatting changes to stderr log 2016-06-14 10:02:51 -07:00
Rom Walton 0ad323997a VBOX: Explicitly use GetSafeArrayPtr() on the CComSafeArray object instead of relying on a cast, it might be what is causing the screen shot corruption. 2016-06-14 09:39:28 -07:00
Rom Walton 855a1066af VBOX: Treat ERR_INVALID_PARAM from create_vm() as an unrecoverable error.
Since most everyone is running something more recent that BOINC 7.2.16, we can assume that the hardware just does not support hardware acceleration.  Inform BOINC that the VM Extensions have been disabled so that the server can either assign a 32-bit VM which can use software emulation, or just not assign future work to the host.
2016-06-13 19:44:14 -07:00
Rom Walton 5480ff4a9d VBOX: Screen shots can only be taken while the VM is running and we hold the session lock. Make sure we take them before attempting to clean-up. 2016-06-13 09:49:07 -07:00
Rom Walton d5c3142993 VBOX: Bug fixes for previous commit. 2016-06-12 22:02:10 -07:00
Rom Walton 9dad26fefb VBOX: Take a screen shot on failure and dump the base64 encoded image to stderr.
Report the MD5 signature in the stderr output as well so that duplicate screen shots can be quickly identified.  Of course this assumes that the exact same PNG is generated across different machine types and video cards.  Currently I believe that it should given the hardware in question is virtualized.
2016-06-12 19:20:55 -07:00
Rom Walton 732f2e01a8 VBOX: Dump Vbox logs when the heartbeat fails. 2016-06-10 07:50:31 -07:00
Rom Walton 36044d51ab VBOX: Code cleanup - streamline the hypervisor initialization code a bit. 2016-06-09 23:08:03 -07:00
Rom Walton 0fe214038c VBOX: Adjust the startup logic to support Vbox 5.1 (MSCOM) 2016-06-03 23:07:16 -07:00
Rom Walton 1784d67843 VBOX: Disable explicitly disabling LPT ports on Macs.
It isn't clear that this is causing the startup failure of VM(s) on MacOS X, but it is unsightly to see in the error log.

See:
https://github.com/BOINC/boinc/issues/1526
2016-06-03 22:07:55 -07:00
Rom Walton 0f3b0ccc8f VBOX: Add support for VirtualBox 5.1 (MSCOM) 2016-06-03 21:47:43 -07:00
Christian Beer d0c6eb8b86 Tools: new fstab tool
Creates a file "etc\fstab" which allows BOINC XML soft links to properly refer to files in the project directory if using an application compiled with a cygwin environment on a Windows host.

Original author: Bernd Machenschalk.
2016-05-18 16:06:26 +02:00
Bernd Machenschalk 44d3274094 Wrapper: when specifying <forward_slashes/> in a task, replace '\' with '/' in boinc_resolve()d paths 2016-05-18 10:24:37 +02:00
Christian Beer 2ec53d3ebc Revert "wrapper: add feature to rename/move output files"
Feature is superfluous because <copy_file/> on an output file already renames/moves the file.

This reverts commit 1e77d82f5b.
2016-05-18 10:20:34 +02:00
Christian Beer e9da8ce7e5 Revert "Wrapper: fix comment"
Feature is superfluous because <copy_file/> on an output file already renames/moves the file.

This reverts commit 309f38fbaa.
2016-05-18 10:19:49 +02:00
Rom Walton 1184f279e6 VBOX: Cap the maximum number of CPUs to 32.
Virtualbox has a hard cap of 32 processors per VM.
2016-04-12 13:08:05 -04:00
Christian Beer e86eb29d28 Wrapper: print version information 2016-03-18 14:02:19 +01:00
Christian Beer 309f38fbaa Wrapper: fix comment 2016-03-18 11:53:30 +01:00
Bernd Machenschalk 0e974b226b wrapper: fix compiler warning 2016-03-18 11:27:02 +01:00
Bernd Machenschalk 5ef7edb4ef wrapper: if compiled with DEBUG, write debugging output 2016-03-18 11:27:02 +01:00
Christian Beer 920283c577 Wrapper: fix macro substitution
The macro substitution needs the APP_INIT_DATA aid object to be populated. This is only the case after boinc_init_options() and boinc_get_init_data() but the parsing of the job.xml happens before that. This commit moves the substitution step after the aid object is populated with the project directory.
2016-03-18 11:27:02 +01:00
Bernd Machenschalk 59bd029a92 wrapper: macro-replace "$PWD" with (absolute) current working directory 2016-03-18 11:27:02 +01:00
Bernd Machenschalk 1e77d82f5b wrapper: add feature to rename/move output files
The job file needs to contain

<rename_output>
  <filename>foo</filename>
</rename_output>

In the output template the logical name of that output file must be specified as "foo.link"

After completion, the file "foo" will be renamed/moved to the result file in teh project directory
2016-03-18 11:27:02 +01:00
Bernd Machenschalk a0a0dd2ac5 wrapper: fix do_zip_outputs(): resolve the zipfilename before checking for existence 2016-03-18 11:27:01 +01:00
Bernd Machenschalk 79168e1254 wrapper: resolve "boinc_resolve(...)" phrases in command-line 2016-03-18 11:27:01 +01:00
funkydude 71831ee639 Expand usage of HTTPS and fix a few URLs 2016-03-08 20:04:28 +00:00
Rom Walton 301b191b70 VBOX: Ugh, fix another typo.
I'm beginning to not like my new keyboard and mouse.
2016-02-10 15:58:41 -05:00
Rom Walton 79184c6103 VBOX: Fix a typo 2016-02-10 15:56:33 -05:00
Rom Walton c61e3090ea VBOX: Add some text about detecting the heartbeat configuration parameters 2016-02-10 15:03:39 -05:00
Rom Walton 01503278af VBOX: Look for the heartbeat file in the shared directory. 2016-02-10 14:58:39 -05:00
Rom Walton 46cac65e83 VBOX: Introduce the notion of a heartbeat file.
Basically the VM periodically 'touches' the file to let the wrapper know that it is still alive.  If the wrapper does not detect a change to the mod time of the file at the specified interval it assumes the worst and aborts the job.

Requested by CMS.
2016-02-07 17:06:52 -05:00
marius 8f7df2a7f0 VBOX: fixed error code not being reported 2016-02-04 02:50:57 +01:00
Charlie Fenton 22a921d89e Example App (uppercase): Fix recursive header error in Mac Xcode project 2016-02-03 01:23:03 -08:00