Commit Graph

24847 Commits

Author SHA1 Message Date
David Anderson aa8c53773b web: factor project prefs code into a separate file
I set out to make project-specific prefs use the same object framework
(PREF_BOOL, PREF_NUM etc.) as other prefs.
This turned out to be infeasible, so I settled for a code cleanup instead.

The reason it's infeasible is that the "other prefs" code
uses a SAX parser (xml_parser_create() etc.),
while the code for project-specific prefs uses the primitive
parse_element() and parse_next_element() functions in util_basic.inc.

If I'm going to change anything, I want to switch to a DOM parser
(e.g. simplexml) for both purposes.
2014-08-05 21:02:59 -07:00
Rom Walton c395efb161 Merge branch 'master' of ssh://isaac.ssl.berkeley.edu/boinc-v2 2014-08-04 17:36:23 -04:00
Rom Walton 4d915cb239 DOC: Update dev version to 7.4.12. 2014-08-04 17:35:57 -04:00
David Anderson cd5a87150b web: show generated time on top CPU and GPU pages 2014-08-04 14:21:13 -07:00
Joachim Fritzsch 5d8fc6ff40 Merge branch 'master' of ssh://boinc.berkeley.edu/boinc-v2 2014-08-03 10:05:20 +02:00
Joachim Fritzsch 701f55cf71 android: batch attach, add account manager as option to project list. 2014-08-03 10:04:38 +02:00
Joachim Fritzsch a63090369e andorid: social media integration, polished strings for invite feature. 2014-08-03 08:57:59 +02: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
Charlie Fenton 7a0afdba65 MGR: On MS Windows, adjust width of Advanced Preferences dialog to fit all tabs without scrolling. 2014-08-01 02:26:01 -07:00
Rom Walton 917bf6762c client: Remove the strerror() call from switcher_exec with regards to the task_debug output. For the things switcher does the exit code is not an errno value. 2014-07-31 20:46:44 -04:00
David Anderson daf5ddd580 client: fix bugs in task cleanup
There was at least one case where we weren't cleaning up
subsidiary processes (e.g. VMs) when a task's main process exited.

Fix this by consolidating task cleanup (shared mem and subsidiary processes)
in ACTIVE_TASK::cleanup_task().
This gets called when a tasks' main process exits.
2014-07-31 15:42:56 -07:00
Rom Walton 7feae3ae7f tools: make sure update_versions actually puts the api_version into the xml_doc field. 2014-07-31 14:28:39 -04:00
Rom Walton c761050185 client: balance Windows/*nix use of coproc command line stuff. 2014-07-30 20:07:02 -04:00
Charlie Fenton 72639e0259 client: fix compiler warning on non-Windows systems introduced by commit 5517242. 2014-07-30 17:00:35 -07:00
Rom Walton 5517242dd0 client: fix build break 2014-07-30 17:25:22 -04:00
David Anderson befb90f0d4 client: don't pass --device to GPU apps w/ API version >= 7.5
This addresses a problem w/ Bitcoin Utopia,
whose coprocessor app (run via the wrapper) doesn't expect a --device arg,
and fails if it gets one.
The --device mechanism has been superceded by APP_INIT_DATA.gpu_device_num.
GPU apps built with the current API and later should not expect a --device arg.
2014-07-30 13:16:42 -07:00
Charlie Fenton 6ba233e230 MGR: In Advanced Preferences dialog, adjust sizes of text edit controls and size of the dialog depending on font size. 2014-07-30 03:42:25 -07:00
Rom Walton 2a82894d55 BUILD: Re-enable the alpha/beta flag for the master branch. 2014-07-29 20:03:04 -04:00
David Anderson d43f78f97a vboxwrapper: compile fix, and error-check kill_program().
Note: utility functions like kill_program() should return
BOINC error codes, not Unix codes
2014-07-29 13:19:07 -07:00
David Anderson 09832f4335 update_versions: remove unused code 2014-07-29 11:28:13 -07:00
David Anderson 44906a92b4 update_versions: msg tweak 2014-07-29 11:26:06 -07:00
David Anderson 119962bc0f client: minor code shuffle 2014-07-29 11:14:10 -07:00
David Anderson fc87332a82 lib: remove unused code 2014-07-29 11:13:51 -07:00
David Anderson cd64b384da update_versions: version.xml can specify API version
Normally update_version gets the API version from the executable,
by scanning for the string API_VERSION.
However, if the project compresses executables this won't work.
So let it be specified in version.xml.
2014-07-29 11:11:48 -07:00
Rom Walton 5e588c4ad1 BUILD: Update the build numbers fr wrapper (26011) and vboxwrapper (26096) 2014-07-28 18:15:32 -04:00
Rom Walton 8384336a74 client: if execv ever fails when attempting to launch switcher, exit as quickly as possible in the forked process.
Returning from the switcher_exec() may leave 2 boinc processes running until one crashes.
2014-07-28 13:28:51 -04:00
David Anderson 7fb13c0eaf scheduler: use config.maintenance_delay instead of 3600 for client backoff
Use a configurable delay (default 3600) instead of hardwired 3600 if
- can't open database
- feeder not running
- shmem size inconsistency
- can't open log file
- can't parse config file
- can't find key file
- can't attach shmem
2014-07-28 09:00:14 -07:00
David Anderson ef83e5c2fc change CERN project URL 2014-07-28 08:59:56 -07:00
David Anderson 60140836b6 API: don't return error if trickle-up message is empty 2014-07-28 08:58:02 -07:00
Charlie Fenton 5cec137320 client: Fix use of pipes to redirect sdtout/stderr output from switcher and tweak reporting failures as task_debug output with msg_printf(). 2014-07-28 03:17:24 -07:00
Charlie Fenton 4344c391ba client: fix error reporting from kill_app_process() on non-Windows platforms when not sandboxed. 2014-07-28 03:15:28 -07:00
Charlie Fenton 2ad03b38f1 lib: fix compile break. 2014-07-28 03:09:40 -07:00
Rom Walton 1ae2a15873 client: Fix what is logged when kill_by_switcher() fails. 2014-07-28 01:27:52 -04:00
Rom Walton ea5dd29f97 client: Append the stdout and stderr buffer in switcher_exec in case the output is more than 1k. 2014-07-27 17:49:01 -04:00
Rom Walton debac23fa3 client: Use pipes to redirect sdtout/stderr output from switcher, report any failures as task_debug output with msg_printf(). 2014-07-27 16:30:02 -04:00
Rom Walton 3689d15294 client: Add missing stub functions for Windows related to removing the SANDBOX ifdef. 2014-07-27 14:19:17 -04:00
Rom Walton 9b07d17821 client: Use strerror() in kill_app_processes() on Windows instead of boincerror(). 2014-07-27 14:15:15 -04:00
Rom Walton 7a9b572fb5 VBOX: If the VM doesn't gracefully shutdown, attempt to terminate it. 2014-07-27 14:11:32 -04:00
Rom Walton 934c10d8e5 lib: Normalize 'int kill_program()' around the error codes returned by errno. 2014-07-27 14:10:48 -04:00
Rom Walton 37fd62bd95 client/lib: Refactor kill code for Windows. Expose functionality for wrapper apps. 2014-07-27 13:47:01 -04:00
Rom Walton 09985b0b62 client: Remove unneeded SANDBOX ifdefs. Use g_use_sandbox instead. I left one in main.cpp since I do not know where check_security() is. 2014-07-27 13:19:11 -04:00
Rom Walton 329b5a6ab6 client: Avoid needless error messages about kill failing. Only call kill_by_switcher() if we are running in sandbox mode, otherwise call kill. 2014-07-27 12:54:07 -04:00
Charlie Fenton 6c76387a14 client: In switcher, return the actual error code from execv (usually -1) rather than errno, and let the invoking call retrieve errno if appropriate (modify commit f014b0d). 2014-07-27 01:33:49 -07:00
David Anderson 3d447b02b6 scheduler: fix FCGI build 2014-07-26 10:25:59 -07:00
David Anderson 49c49c6db8 client: write log messages for trickle-ups (if <trickle_debug> set) 2014-07-25 17:08:31 -07:00
David Anderson 0eb346167a client: fix bug in last commit 2014-07-25 16:04:29 -07:00
David Anderson 34e97a5048 client: add <project_max_concurrent> option for app_config.xml
Lets you limit the number of running jobs over the whole project.
Note: this is not taken into account in work fetch.
2014-07-25 15:49:12 -07:00
David Anderson b3392bb195 scheduler: fix bug in plan class spec logic 2014-07-25 15:04:04 -07:00
David Anderson 89b51ea43d scheduler: preliminary support for generic coprocessors
A "generic" coprocessor is one that's reported by the client,
but's not of a type that the scheduler knows about (NVIDIA, AMD, Intel).

With this commit the following works:
- On the client, define a <coproc> in your cc_config.xml
  with a custom name, say 'miner_asic'.
- define a plan class such as
  <plan_class>
    <name>foobar</name>
    <gpu_type>miner_asic</gpu_type>
    <cpu_frac>0.5</cpu_frac>
  <plan_class>
- App versions of this plan class will be sent only to hosts
  that report a coproc of type "miner_asic".
  The <app_version>s in the scheduler reply will include
  a <coproc> element with the given name and count=1.
  This will cause the client (at least the current client)
  to run only one of these jobs at a time,
  and to schedule the CPU appropriately.

Note: there's a lot missing from this;
- app version FLOPS will be those of a CPU app;
- jobs will be sent only if CPU work is requested
... and many other things.
Fixing these issues requires a significant re-architecture of the scheduler,
in particular getting rid of the PROC_TYPE_* constants
and the associated arrays,
which hard-wire the 3 fixed GPU types.
2014-07-25 12:40:35 -07:00
David Anderson e6b7da8278 admin web: allow changing plan class of app versions 2014-07-25 12:11:23 -07:00