Housekeeping

The choice of installation directory is up to you. One possibility would be to organize the independent components parallel to each other:

    $ ls -l /opt/grid/
    drwxr-xr-x    cocoon-2.1.11/   # for server-side xslt
    drwxr-xr-x    httpi-1.6.2/     # for client-side xslt
    drwxr-xr-x    xml-qstat/       # our application

The cocoon/ directory is a standard Apache Cocoon installation. It is only required when server-side XSLT transformations are desired. The httpi/ directory contains a tiny, fast and secure pure-Perl webserver known as HTTPi. It is only required when client-side XSLT transformations are desired or when other customized data sources (XML or otherwise) may be desired.

Package Overview

Inside xml-qstat/

    $ ls -l xml-qstat/
    drwxr-xr-x    httpi-modules/
    drwxr-xr-x    icons/
    drwxr-xr-x    init-scripts/
    drwxr-xr-x    java/
    -rw-r-xr-x    make-httpi.sh
    -rw-r--r--    make-xmlqstat-jar.sh
    drwxr-xr-x    scripts/
    drwxr-xr-x    web-app/
httpi-modules/

customized modules for HTTPi. Only needed for the HTTPi client-side installation.

icons/

silk icons that are not currently used in the rendered views. They are split off to permit a more compact final installation if required.

init-scripts/

helper scripts for automatically running or daemonizing programs such as the application servers (cocoon and/or HTTPi) and the XML caching scripts.

java/

the CommandGenerator code (cocoon only)

./make-httpi.sh

script for configuring and installing the HTTPi-xmlqstat webserver

./make-xmlqstat-jar.sh

script for compiling the CommandGenerator (cocoon only)

scripts/

currently contains 2 Perl scripts and a shell script.

The ”sge-xml-cacher.pl” script is a Perl daemon script that runs constantly and periodically refreshes the cached Grid Engine XML status data. This cached data is what the XSLT uses to generate various views and interfaces. The default setting for this daemon is to refresh Grid Data every 30 seconds (this value is user configurable). The Perl daemon is used so that the webserver does not call “qstat -f -xml” every time a user hits the web page. The caching mechanism greatly reduces the load on the SGE qmaster and the webserver.

The second Perl script, ”create-threshold-config.pl” is an optional helper script that can query Grid Engine to learn the configured load alarm thresholds for each queue. Since Grid Engine only reports current load values (and not the configured alarm thresholds) this helper script can create a secondary configuration file that is used in the XSLT to generate customized graphical “load ratio” reports within the web interface. This will only need to be done once after new queues have be added or removed from the cluster.

The ”qstat.sh” shell script is used by the cocoon webapp to query the Grid Engine qmaster directly. It should be left in this location where cocoon can find it. It does not need to be in the PATH.

web-app/

this is where this application lives. It is organized into the following sub-directories:

$ ls -l web-app/
drwxr-xr-x   config/
drwxr-xr-x   css/
drwxr-xr-x   javascript/
-rw-r--r--   sitemap.xmap
drwxr-xr-x   xml/
drwxr-xr-x   xsl/
config/

contains XML configuration files for the xml-qstat application and the logo image.

css/

contains CSS stylesheets used for separation of content from presentation.

css/screen/

contains icons and graphic elements.

javascript/

contains javascript used for presentation and display preference formatting.

sitemap.xmap

a Cocoon configuration file that tells the application server how to handle, route and process various transformation requests.

xml/

the raw XML source for documentation and help files.

xsl/

the XSLT stylesheets that guide the transformation of Grid Engine XML into various output forms.

Generally speaking, the user will only need to edit files in the config/ directory. In contrast to previous versions, editing the sitemap.xmap file to make configuration changes for Cocoon should be unnecessary.