Commit Graph

41 Commits

Author SHA1 Message Date
David Anderson fa419731dd - scheduler RPC: add <override_file_present> element to
the <working_global_preferences> element in
    scheduler RPC request
    (tells the server that there's an override file).
- account manager RPC: add <working_global_preferences> element,
    including the override flag.
- web: add "no time limit" option for forum search
- web: increase show-user-post query limit to 10000


svn path=/trunk/boinc/; revision=24129
2011-09-06 04:34:29 +00:00
Charlie Fenton 97f5146f2a define GPU_TYPE_NVIDIA, GPU_TYPE_ATI, use everywhere instead of literal strings "NVIDIA" and "ATI" to ensure uniformity
svn path=/trunk/boinc/; revision=24090
2011-08-31 11:08:13 +00:00
David Anderson c5c5975b44 - Improve interface of XML_PARSER.
Add parsed_tag and is_tag to the class,
    so that parsing functions don't need to declare them
    and pass them around.
- Complete the task of using XML_PARSER as the argument
    to all parsing functions.
    (Internally, many of these functions still use the old XML parser;
    that's the next step.)


svn path=/trunk/boinc/; revision=23978
2011-08-10 17:11:08 +00:00
David Anderson cceea7f6d4 - client: rename MODE to RUN_MODE, and rename vars accordingly
svn path=/trunk/boinc/; revision=23974
2011-08-09 20:41:15 +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
David Anderson 6cd5fee780 - client: update to previous commit:
only change the authenticator if both old and new
    authenticators are weak
    (strong authenticators don't change).


svn path=/trunk/boinc/; revision=23481
2011-04-28 22:57:55 +00:00
David Anderson 8757e07f4f - client: change the handling of account manager replies:
Old:
        If the AM sends us a project we're already attached to,
        and the authenticator is different,
        print an error message and don't change anything.
    Problem:
        If the AM is using weak authenticators,
        and the user has changed their password,
        the weak authenticator changes.
        In this case the AM will send the new weak auth,
        the client will ignore it,
        and all subsequent scheduler RPCs will fail
        until the user removes/adds the project.
    Solution:
        If the AM sends us a new auth for a project, use it.
    Note:
        From the time the password is changed on the project
        to the next AM RPC,
        the client will have a bad weak auth and scheduler RPCs will fail.
        That's OK.

client/
    acct_mgr.cpp

svn path=/trunk/boinc/; revision=23479
2011-04-28 22:10:23 +00:00
David Anderson 863950ecc1 - client: show error messages from account managers correctly
- client/manager: if a job is missing a GPU, show details
	- client: win compile fix

svn path=/trunk/boinc/; revision=23430
2011-04-24 19:56:28 +00:00
David Anderson 3d3d902896 - account manager RPC: include TIME_STATS and NET_STATS in request message
svn path=/trunk/boinc/; revision=23429
2011-04-24 18:14:13 +00:00
David Anderson 3b906a191c - client: generalize the GPU framework so that
- new GPU types can be added easily
		- users can specify GPUs in cc_config.xml,
			referred to by app_info.xml,
			and they will be scheduled by BOINC
			and passed --device N options
			Note: the parsing of cc_config.xml is not done yet.
		- RPC protocols (account manager and scheduler)
			can now specify GPU types in separate elements
			rather than embedding them in tag names
			e.g. <no_rsc>NVIDIA</no_rsc> rather than <no_cuda/>
	- client: in account manager replies, parse elements of the form
		<no_rsc>NAME</no_rsc>
		indicating the GPUs of type NAME should not be used.
		This allows account managers to control GPU types
		not hardwired into the client.
		Note: <no_cuda/> and <no_ati/> will continue to be supported.
	- scheduler RPC reply: add
		<no_rsc_apps>NAME</no_rsc_apps>
		(NAME = GPU name)
		to indicate that the project has no jobs for the indicated GPU type.
		<no_cuda_apps> etc. are still supported 
	- client/lib: remove set_debts() GUI RPC
	- client/scheduler RPC
		remove <cuda_backoff> etc. (superceded by no_app)
		Exception: <ip_result> elements in sched request
		still have <ncudas> and <natis>.
		Fix this later.

	Implementation notes:
	- client/lib: change "CUDA" to "NVIDIA" in type/variable names, and in XML
		Continue to recognize "CUDA" for compatibility
	- host_info.coprocs no longer used within the client;
		use a global var (COPROCS coprocs) instead.
		COPROCS now has an array of COPROCs;
		GPUs types are identified by the array index.
		Index zero means CPU.
	- a bunch of other resource-specific structs (like RSC_WORK_FETCH)
		are now stored in arrays, with same indices as COPROCS
		(i.e. index 0 is CPU)
	- COPROCS still has COPROC_NVIDIA and COPROC_ATI structs to hold vendor-specific info
	- APP_VERSION now has a struct GPU_USAGE to describe its GPU usage

svn path=/trunk/boinc/; revision=23253
2011-03-25 03:44:09 +00:00
David Anderson b8a88713d8 - client: don't put CDATA around account manager opaque data
in request msg

svn path=/trunk/boinc/; revision=23210
2011-03-08 20:36:04 +00:00
David Anderson 44addd53d3 - client: send <?xml version="1.0" encoding="UTF-8" ?>
at start of scheduler and account manager requests.


svn path=/trunk/boinc/; revision=23090
2011-02-23 00:57:08 +00:00
David Anderson 01a1ec33c3 - client: add cpu_sched debug messages for anti-domino-effect
and anti-thrasing mechanisms
- wrapper: to kill an app, use SIGTERM instead of SIGKILL
    

svn path=/trunk/boinc/; revision=23082
2011-02-22 21:05:21 +00:00
David Anderson d4f00d4467 - client: if we're using an acct mgr,
and we're attached to a project manually (not via acct mgr)
    and the acct mgr tells us to detach from it, don't.

svn path=/trunk/boinc/; revision=22930
2011-01-20 00:36:45 +00:00
David Anderson 6784283211 - user web: fix bugs in server status page
- fix some indentation


svn path=/trunk/boinc/; revision=22890
2011-01-06 23:09:13 +00:00
David Anderson 2855bd3840 - client: fix typo that broke communication with account managers
- API: compile fix for Win

svn path=/trunk/boinc/; revision=22804
2010-12-02 19:38:25 +00:00
David Anderson 58dadd91a8 - client, acct manager protocol:
allow <no_cpu>, <no_cuda> and <no_ati> bools
    within <account> in reply message.
    They suppress work fetch for that resource type from that project.
- scheduler:
    check max_granted_credit after wu.rsc_fpops_bound,
    so that max_granted_credit will be enforced
    even if wu.rsc_fpops_bound is absurdly high
    Fixes #1034.  From Diggory Hardy.


svn path=/trunk/boinc/; revision=22793
2010-12-02 04:53:12 +00:00
David Anderson 556e319ca1 - API: use localtime_r() instead of localtime()
svn path=/trunk/boinc/; revision=22784
2010-12-01 18:04:18 +00:00
David Anderson e09a9ef73c - client: send host info in account manager request message
svn path=/trunk/boinc/; revision=22751
2010-11-27 20:15:48 +00:00
David Anderson 086758bf54 - client: use <foo>0|1</foo> instead of <foo/> or "" as XML boolean.
This distinguishes between "false" and "not defined"
    (did this in a few places, should do it everywhere)


svn path=/trunk/boinc/; revision=22750
2010-11-27 04:02:15 +00:00
David Anderson a129c0d8cd - client: do exponential backoff (from 10 min to 24 hours)
on account manager RPC failures,
    rather than always waiting 24 hours

svn path=/trunk/boinc/; revision=22747
2010-11-25 04:35:50 +00:00
David Anderson 0cbdb4978e - client: in account manager requests,
include the following per-project attributes:
    suspended_via_gui, dont_request_more_work, deatch_when_done, ended

svn path=/trunk/boinc/; revision=22712
2010-11-18 18:09:50 +00:00
David Anderson 8d9cf013c5 - client: account manager RPC:
Additions to request message:
        <not_started_dur>X</not_started_dur>
        <in_progress_dur>X</in_progress_dur>
        The estimated remaining duration of unstarted
        and in-progress tasks
    Additions to reply message, within <project>, optional:
        <suspend>0|1</suspend>
            suspend or resume project (overrides local state)
        <abort_not_started>0|1</abort_not_started>
            if set, abort unstarted jobs


svn path=/trunk/boinc/; revision=22698
2010-11-17 20:04:58 +00:00
David Anderson fcbb8a286e - client simulator: major remodel and upgrade.
Insteady of using its own XML input files,
    the simulator now takes a client_state.xml file as input.
    The simulator generates a synthetic workload based on the
    projects, apps, app versions, WUs, and result it finds there.

    This means that a user seeing aberrant behavior
    can just send their client_state.xml file
    and (hopefully) we can use the simulator to repro.

    The simulator now can model GPUs.

    As of this checkin, the simulator compiles but doesn't work.
    There should be no change in the actual client.


svn path=/trunk/boinc/; revision=22409
2010-09-24 20:02:42 +00:00
David Anderson ec151ec6a2 - finish the above
svn path=/trunk/boinc/; revision=22325
2010-09-08 20:20:02 +00:00
David Anderson f31e311dd2 - client: support notice feeds from account managers.
Implementation: create a base class PROJ_AM,
    from which both PROJECT and ACCT_MGR_INFO are derived,
    with basic stuff like name, URL, and RSS feed list

svn path=/trunk/boinc/; revision=22324
2010-09-08 18:06:56 +00:00
David Anderson 9510005e2f - client: the client shouldn't check for a physical connection
(contacting google.com and possibly alerting the user)
    for "background" HTTP ops.  These include:
    - periodic account manager requests
    - periodic notice RSS feed fetches
    - periodic fetch of project list
    - periodic fetch of current client version


svn path=/trunk/boinc/; revision=22037
2010-07-22 19:13:36 +00:00
David Anderson 1624a2a2f7 - client: don't attach to a project if the account manager
has set the "detach when done" flag.

svn path=/trunk/boinc/; revision=21789
2010-06-22 18:57:30 +00:00
David Anderson 0e4e823b4e - client: fix crashing bug when account manager returns
new project w/ "no more work" flag set

svn path=/trunk/boinc/; revision=21787
2010-06-22 17:50:25 +00:00
David Anderson 15047b1e4d - client: make all MSG_USER_ALERT messages (i.e., those shown as notices)
translatable (and change some MSG_USER_ALERT messages to MSG_INFO).

svn path=/trunk/boinc/; revision=21709
2010-06-08 23:37:44 +00:00
David Anderson f849faea5e - scheduler: bug fixes for jobs-in-progress limits
- client: msg tweak

svn path=/trunk/boinc/; revision=21692
2010-06-04 16:57:33 +00:00
Rom Walton 9cb3e6ffc7 - client & lib: bring header inclusion up-to-date for the CC to begin
hunting down a memory leak.
        
    client/
        <Various Files>
    lib/
        <Various Files>

svn path=/trunk/boinc/; revision=21457
2010-05-11 19:10:29 +00:00
David Anderson 1b5498e151 - client: allow zero resource shares from account managers
svn path=/trunk/boinc/; revision=21134
2010-04-07 16:20:49 +00:00
Rom Walton e14e1cad34 - Remove BOINC_RCSID tags from source files, we are doing branching and tagging
properly.
        
    <Various Files>

svn path=/trunk/boinc/; revision=20873
2010-03-12 16:51:57 +00:00
David Anderson f716dcf7ae - client: if a project has zero resource share,
treat it as a "backup project":
    fetch work from it only if there is an idle instance
    and no other projects have work.


svn path=/trunk/boinc/; revision=20286
2010-01-28 05:21:14 +00:00
David Anderson 735e2b0448 - internal change: rename MSG_USER_ERROR to MSG_USER_ALERT
svn path=/trunk/boinc/; revision=20027
2009-12-23 18:02:40 +00:00
David Anderson 62ece8f222 - client: intermediate checkin for RSS/notice stuff.
It's coming along.

svn path=/trunk/boinc/; revision=20006
2009-12-22 03:56:24 +00:00
David Anderson b29f920999 - Move URL-related code to a new file
- Remove stuff related to SOCKS version, since we only support 5

svn path=/trunk/boinc/; revision=19480
2009-11-05 18:02:51 +00:00
David Anderson 10f9e11ee6 - lib: created a new file for declaring "replacements"
for functions like strlcpy() etc.
    config.h is included here rather than in str_util.h


svn path=/trunk/boinc/; revision=18437
2009-06-16 20:54:44 +00:00
Rom Walton 674437a3bc - MGR: Introduce the cookie detection failure URL to the
acct_mgr_logon.xml file. If the cookies cannot be found provide
        a hyperlink control on the AcctountInfo page in the wizard
        which will point to a fallback URL the user can go to to
        find out what logon credentials to use.
        
    client/
        acct_mgr.cpp, .h
        gui_rpc_server_ops.cpp
    clientgui/
        AccountInfoPage.cpp, .h
        BOINCWizards.h
        WizardAttachProject.cpp, .h
    lib/
        gui_rpc_client.h
        gui_rpc_client_ops.cpp

svn path=/trunk/boinc/; revision=18400
2009-06-12 21:34:33 +00:00
David Anderson 98cfb8d3b0 - rename .C files to .cpp so that Doxygen will work
svn path=/trunk/boinc/; revision=16069
2008-09-26 18:20:24 +00:00