Changes between Version 4 and Version 5 of WikiStart


Ignore:
Timestamp:
Jan 23, 2012 9:23:31 PM (10 years ago)
Author:
dzollars
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WikiStart

    v4 v5  
    11= This is the US3 Grid Control Trac Wiki =
    22
    3 This is a Wiki, source code browser, issue tracking system to document the !UltraScan 3 Grid Control Program.
     3This is a Wiki, source code browser, issue tracking system to document the !UltraScan 3 Grid Control Program. The purpose of the Grid Control program is to manage communications between an individual LIMS instance that submitted a job for analysis and the appropriate computer resource (through GFAC or local).
    44
    55The source code for the !UltraScan3 Grid Control project is licensed under the [http://www.gnu.org/copyleft/gpl.html GNU General Public License] and allows you to freely copy, modify, and re-distribute all source code, provided you maintain the GPL license with any derivative work.
     
    1414
    1515 * [wiki:TracInformation Trac Information]
    16  * [wiki:Subversion Subversion Info For !Ultrascan3 Grid Control]
     16 * [wiki:Subversion Subversion Info For UltraScan3 Grid Control]
    1717
     18== Prerequisites ==
    1819
     20 * A working !UltraScan III system. Either download an installer appropriate for your system at [http://www.ultrascan3.uthscsa.edu/download.php] or download the [http://wiki.bcf.uthscsa.edu/ultrascan3/wiki/Subversion source code] and follow the [http://wiki.bcf.uthscsa.edu/ultrascan3/wiki/BuildInstructions build instructions].
     21 * A database/LIMS III system. Either request a new instance on our server for your institution at [http://uslims3.uthscsa.edu/uslims3_newlims/request_new_instance.php] or set up your own server using [http://wiki.bcf.uthscsa.edu/ultrascan3/wiki/US3DatabaseInstantiation these instructions].
     22
     23== Setting up Grid Control ==
     24
     25 * Check out the [wiki:Subversion grid control program]. Ideally one would set up a new non-root user for this purpose.
     26 * In the bin directory, copy the config template file to listen-config.php. Fill in all the appropriate information. Many of the variables contain the same information as in the LIMS config.php file, and these should match.
     27 * Open a port to listen for UDP messages.
     28 * Create the socket file and log file. UDP messages queue through the socket file before being picked up by grid control, and the log file is used to record anything out of the ordinary:
     29
     30{{{
     31mkfifo /path/to/us3-pipe
     32touch  /path/to/udp.log
     33}}}
     34
     35 * Start the listen system. This is what listens to the UDP port and dispatches any messages:
     36
     37{{{
     38/usr/bin/php /home/username/bin/listen.php
     39}}}
     40
     41 * If the listen system is running and you want to make changes, you need to stop two programs:
     42
     43{{{
     44listen.php
     45manage-us3-pipe.php
     46}}}
     47
     48 * You can send your own messages to the listen system for testing. The format of the message should be "db-requestID: message," where db is the name of the LIMS database, and requestID is the LIMS HPCAnalysisRequestID. Messages include "Starting," "Abort," and "Finished" to indicate changes in job status, but they can also include arbitrary text. Take care to include a colon (:) followed by a space. If your system is working messages should be placed in the queue_messages table and ultimately find their way into the appropriate LIMS database and the common data directory.
     49
     50{{{
     51/usr/bin/php gram.php db-requestID: message
     52}}}
     53
     54 * The Grid Control program itself is run as a cron script. It calls cleanup.php as needed.
     55
     56{{{
     57cd /home/user/bin/; /usr/bin/php /home/user/bin/gridctl.php
     58}}}
     59
     60 * Another program run as a cron script is the cluster status program. It updates the usage information on supported clusters so that the user can make a better decision about which cluster to select for the job:
     61
     62{{{
     63cd /home/user/bin/; /usr/bin/php /home/user/bin/cluster_status.php
     64}}}
     65
     66 * Finally, in production the common data directory will fill up with previously-run jobs. It is useful to keep this information for a period of time, but then to consider deleting directories more than a certain age. A cron script is useful for this too.
     67