Bernd: Thanks; I checked in these changes. However, I don't really understand them (e.g. the need for a <project_dir> element in config.xml). When you get a chance, can you please update the documentation on this?
http://boinc.berkeley.edu/trac/wiki/MultiHost#Runserverdaemonsandtasksonmultiplehosts -- David On 03-Dec-2012 4:20 AM, Bernd Machenschalk wrote: > Hi! > > I wonder whether any project has gotten a multi-server setup to work based on > the current code and documentation > (http://boinc.berkeley.edu/trac/wiki/MultiHost), and how. > > What I found is that the current stuff silently assumes that there is a (NFS) > shared project directory mounted on all project servers on the very same > physical path, which at least for us isn't the case. We do have a project > directory path that is common on all servers, but set up with symlinks. The > physical path varies (for good reasons), and the project directory (including > subdirectories like the pid directories) isn't shared (because some remote > servers are far away). > > In addition the hardcoded ssh command used in the start/stop/status script is > completely independent of the ssh configuration for the server status page > (SSP), which is at least confusing. > > The attached series of patches is meant to fix that: > > - the project path to use on all servers can now be configured as > <project_dir>. > For backwards compatibility the defaults in server_status.php and start are > chosen in a way that the old behavior is unchanged ("../.." in SSP, > os.getcwd() > in start). > > - the start scrip now uses the <ssh_exec> path for ssh if configured. The > default ssh in the start script is now '/usr/bin/ssh' (as already in the SSP) > > - the pid of a daemon is now looked up in the pid directory on the _remote_ > host > via ssh, thus not requiring a shared project directory. Actually determining > the > pid and runing ps to find out whether the daemon is running is done by a > script > (pshelper) executed on the remote host, requiring only one command to be > executed remotely via ssh. Still one ssh connection is required for every > daemon > on a remote host, which could be a significant slowdown. I'd rather handle all > daemons running on one host in a single connection, but I couldn't get this > finished now. If my current solution is to be used, pshelper must be put into > the bin/ directory of the project on the remote server (make_project should be > updated to do this). The 'ps' command used on remote hosts must be edited > there. > > - if a daemons is disabled, daemons_status() returns immediately without > looking > up the PID and checking whether the daemon is actually running (which wouldn't > change the return value anyway). > > - the ssh command that is executed on the remote host by the start script is > only printed when the start script is ran in verbose mode. In particular this > avoids unnecessary output and thus mails when ran by cron (start --cron). > > Best, > Bernd > > > > _______________________________________________ > boinc_dev mailing list > [email protected] > http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev > To unsubscribe, visit the above URL and > (near bottom of page) enter your email address. > _______________________________________________ boinc_dev mailing list [email protected] http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev To unsubscribe, visit the above URL and (near bottom of page) enter your email address.
