Difference between revisions of "LGI Notes"

From PDP/Grid Wiki
Jump to navigationJump to search
(add CA section)
 
(6 intermediate revisions by the same user not shown)
Line 6: Line 6:
 
* Software components
 
* Software components
 
** [https://github.com/wvengen/LGI/wiki LGI wiki], [http://gliteui.wks.gorlaeus.net/LGI/ official LGI home]
 
** [https://github.com/wvengen/LGI/wiki LGI wiki], [http://gliteui.wks.gorlaeus.net/LGI/ official LGI home]
** [http://wiki.nikhef.nl/grid/LGI_Pilotjob_Framework lgipilot], a pilot-job framework based on LGI
+
** [http://wiki.nikhef.nl/grid/LGI_Pilotjob_Framework lgipilot], a pilot-job framework based on LGI ([https://github.com/wvengen/lgipilot code])
 
** [https://github.com/wvengen/LGIportal LGIportal], a PHP web portal for easy interaction with LGI
 
** [https://github.com/wvengen/LGIportal LGIportal], a PHP web portal for easy interaction with LGI
 
** [https://wiki.biggrid.nl/wiki/index.php/LGI/Rlgi Rlgi], easy access to LGI from the programming language R ([https://wiki.biggrid.nl/wiki/index.php/LGI/Rlgi read more])
 
** [https://wiki.biggrid.nl/wiki/index.php/LGI/Rlgi Rlgi], easy access to LGI from the programming language R ([https://wiki.biggrid.nl/wiki/index.php/LGI/Rlgi read more])
 +
** The BiG Grid [https://wiki.biggrid.nl/wiki/index.php/R_Portal R Portal] (hosted combination of the above)
 
** [http://boinc.gorlaeus.net/ClassicalBuilder.php ClassicalBuilder], a Java GUI interacting directly with LGI (external)
 
** [http://boinc.gorlaeus.net/ClassicalBuilder.php ClassicalBuilder], a Java GUI interacting directly with LGI (external)
** The BiG Grid [https://wiki.biggrid.nl/wiki/index.php/R_Portal R Portal] (hosted combination of the above)
 
 
* Presentations
 
* Presentations
 
** May 2012: Leiden Computational Chemistry group ([http://www.nikhef.nl/~wvengen/pubs/20120503-leiden.pdf slides])
 
** May 2012: Leiden Computational Chemistry group ([http://www.nikhef.nl/~wvengen/pubs/20120503-leiden.pdf slides])
Line 16: Line 16:
  
 
== Python Bindings ==
 
== Python Bindings ==
The official LGI distribution contains a single [https://github.com/wvengen/LGI/blob/master/python/LGI.py LGI class] for Python clients. This has been rewritten and expanded, including the ability to write Python resources, in the [https://github.com/wvengen/LGIportal/tree/master/lgi/inc/LGI LGIportal LGI module].
+
The official LGI distribution contains a single [https://github.com/wvengen/LGI/blob/master/python/LGI.py LGI class] for Python clients. This has been rewritten and expanded, including the ability to write Python resources, in the [https://github.com/wvengen/lgipilot/tree/master/src/LGI LGI module].
  
 
It would be useful to have a self-contained Python module, and upload it to the [http://pypi.python.org/ Python Package Index], which is the standard place for Python packages. And distribution packages can easily be made from those. Work has begun on this [http://www.nikhef.nl/~wvengen/misc/python-lgi-0.3.tar.gz Python package], but a few things are still needed:
 
It would be useful to have a self-contained Python module, and upload it to the [http://pypi.python.org/ Python Package Index], which is the standard place for Python packages. And distribution packages can easily be made from those. Work has begun on this [http://www.nikhef.nl/~wvengen/misc/python-lgi-0.3.tar.gz Python package], but a few things are still needed:
Line 22: Line 22:
 
* Check for changes in currently used Python modules in the [https://github.com/wvengen/lgipilot/tree/master/src/LGI LGIpilot tree].
 
* Check for changes in currently used Python modules in the [https://github.com/wvengen/lgipilot/tree/master/src/LGI LGIpilot tree].
 
* If possible without making normal use very clumsy, maintain backward compatibility with official distribution. Name and order of parameters comes to mind.
 
* If possible without making normal use very clumsy, maintain backward compatibility with official distribution. Name and order of parameters comes to mind.
* Synchronise the API for the Python and PHP implementations (Java?) (see [https://github.com/wvengen/LGI/wiki here]). The R package is significantly different that it does not need to be considered, neither the C++ implementation.
+
* Synchronise the API for the Python and [https://github.com/wvengen/LGIportal/tree/master/lgi/inc/LGI PHP] implementations (Java?) (see [https://github.com/wvengen/LGI/wiki here]). The R package is significantly different that it does not need to be considered, neither the C++ implementation.
  
 
== Client Configuration ==
 
== Client Configuration ==
Line 29: Line 29:
 
It would be useful to have all existing LGI clients to understand this single configuration file. There is a [https://github.com/wvengen/LGI/wiki/User-configuration description] of this file-format. Also the use of environment variables to use non-standard configuration file (directories) would be useful.
 
It would be useful to have all existing LGI clients to understand this single configuration file. There is a [https://github.com/wvengen/LGI/wiki/User-configuration description] of this file-format. Also the use of environment variables to use non-standard configuration file (directories) would be useful.
  
Currently only [https://github.com/wvengen/Rlgi Rlgi] supports this (in addition to reading configuration from a directory). There is an [https://github.com/wvengen/LGI/tree/topic_config LGI branch] for the command-line utilities. The C++ implementation now does: if the environment variable <tt>LGI_CONFIG</tt> is set, that is used as configuration (directory or file); otherwise <tt>~/.LGI</tt>, otherwise <tt>~/LGI.cfg</tt> (for easy download-and-go, e.g. on Windows). This would require some more thought. Perhaps it would be useful to try <tt>~/.LGI/LGI.cfg</tt> or <tt>~/.LGI.cfg</tt> as well.
+
Currently only [https://github.com/wvengen/Rlgi Rlgi] supports this (in addition to reading configuration from a directory). There is an [https://github.com/wvengen/LGI/tree/topic_config LGI branch] for the command-line utilities. The C++ implementation now does: if the environment variable <tt>LGI_CONFIG</tt> is set, that is used as configuration (directory or file); otherwise <tt>~/.LGI</tt>, otherwise <tt>~/LGI.cfg</tt> (for easy download-and-go, e.g. on Windows). This would require some more thought. We thought it would be useful to do it this way:
 +
* if the <tt>LGI_CONFIG</tt> environment variable is set, that is used as configuration, either as directory or file
 +
* otherwise, when exists, the file <tt>~/.LGI.cfg</tt> is read
 +
* otherwise, when exists, the directory <tt>~/.LGI</tt> is read
 +
* otherwise, when exists, the file <tt>~/LGI.cfg</tt> is read; so that a user can just download it and save it in an existing directory
  
 
== Automated Package Builds / LGI git mirror ==
 
== Automated Package Builds / LGI git mirror ==
Line 35: Line 39:
  
 
== Merging upstream Ganga changes into lgipilot ==
 
== Merging upstream Ganga changes into lgipilot ==
 +
TODO
 +
 +
== GPU resource ==
 +
TODO
 +
 +
== BiG Grid LGI Certificate Authority ==
 
TODO
 
TODO

Latest revision as of 09:39, 4 December 2012

At BiG Grid, we're working on the Leiden Grid Infrastructure. For our internal use, it was useful to have a common scratch space for open items and notes. That's here.

There is a mailing address for BiG Grid LGI, LGIportal and R-portal related questions at rportal-support@biggrid.nl (for questions from users of the infrastructure) and lgiportal-devel@biggrid.nl (for development-related discussion).

Links & Documents

Python Bindings

The official LGI distribution contains a single LGI class for Python clients. This has been rewritten and expanded, including the ability to write Python resources, in the LGI module.

It would be useful to have a self-contained Python module, and upload it to the Python Package Index, which is the standard place for Python packages. And distribution packages can easily be made from those. Work has begun on this Python package, but a few things are still needed:

  • Check for changes in currently used Python modules in the LGIpilot tree.
  • If possible without making normal use very clumsy, maintain backward compatibility with official distribution. Name and order of parameters comes to mind.
  • Synchronise the API for the Python and PHP implementations (Java?) (see here). The R package is significantly different that it does not need to be considered, neither the C++ implementation.

Client Configuration

LGI client configuration is generally done by putting files in ~/.LGI. LGIportal, however, has the ability to download a single file with all configuration and credentials, so that the user can just save the single file and use desktop tools to access the LGI project server.

It would be useful to have all existing LGI clients to understand this single configuration file. There is a description of this file-format. Also the use of environment variables to use non-standard configuration file (directories) would be useful.

Currently only Rlgi supports this (in addition to reading configuration from a directory). There is an LGI branch for the command-line utilities. The C++ implementation now does: if the environment variable LGI_CONFIG is set, that is used as configuration (directory or file); otherwise ~/.LGI, otherwise ~/LGI.cfg (for easy download-and-go, e.g. on Windows). This would require some more thought. We thought it would be useful to do it this way:

  • if the LGI_CONFIG environment variable is set, that is used as configuration, either as directory or file
  • otherwise, when exists, the file ~/.LGI.cfg is read
  • otherwise, when exists, the directory ~/.LGI is read
  • otherwise, when exists, the file ~/LGI.cfg is read; so that a user can just download it and save it in an existing directory

Automated Package Builds / LGI git mirror

TODO

Merging upstream Ganga changes into lgipilot

TODO

GPU resource

TODO

BiG Grid LGI Certificate Authority

TODO