Grid5000:Grid5000-code: Difference between revisions

From Grid5000
Jump to navigation Jump to search
(New page: == Grid5000-code == Grid5000-code is a repository of user-contributed scripts and tools that aim at improving the daily life of Grid'5000 users, by making the platform easier to use. The...)
 
Line 1: Line 1:
== Grid5000-code ==
= Grid5000-code =


Grid5000-code is a repository of user-contributed scripts and tools that
Grid5000-code is a repository of user-contributed scripts and tools that
Line 5: Line 5:
platform easier to use.
platform easier to use.


The scripts are distributed automatically on all Grid'5000 frontends, in
The scripts are distributed automatically on all Grid'5000 frontends, in <code class='file'>/grid5000/code</code>.
/grid5000/code.
The scripts are divided in two categories:
The scripts are divided in two categories:
* public scripts: located in the 'bin' subdirectory, that is also part of the default $PATH. Those scripts are considered "good enough" for everybody to try and use them.
* public scripts: located in the <code class='file'>bin/</code> subdirectory, that is also part of the default <code class='replace'>$PATH</code>. Those scripts are considered ''good enough'' for everybody to try and use them.
* 'tentative' scripts, located in the 'staging' subdirectory. While you might find very interesting scripts in this directory, there is no guarantee about the quality of this software.
* 'tentative' scripts, located in the <code class='file'>staging/</code> subdirectory. While you might find very interesting scripts in this directory, there is no guarantee about the quality of this software.


For more information about the various scripts, see bin/README and
For more information about the various scripts, see <code class='file'>bin/README</code> and <code class='file'>staging/README</code>.
staging/README.


Everybody is strongly encouraged to contribute new scripts and improve
Everybody is strongly encouraged to contribute new scripts and improve existing scripts.
existing scripts. The scripts are hosted in the grid5000-code SVN
The scripts are hosted in the grid5000-code SVN repository on <code class='host'>gforge.inria.fr</code>.
repository on gforge.inria.fr.
See http://gforge.inria.fr/projects/grid5000-code/ for more info.
See http://gforge.inria.fr/projects/grid5000-code/ for more info.
Note that the technical team doesn't provide support for those tools.
Note that the technical team doesn't provide support for those tools.


=== Contact ===
== Contact ==
Lucas Nussbaum and Cyril Constantin
grid5000-code-devel@lists.gforge.inria.fr (no subscription required to post)


You can subscribe at
Mailing-list: <code>grid5000-code-devel@lists.gforge.inria.fr</code> (no subscription required to post)
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/grid5000-code-devel


=== FAQ ===
You can subscribe at http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/grid5000-code-devel


==== When are the scripts replicated to Grid'5000? ====
== FAQ ==


The scripts in staging/ are automatically replicated to Grid'5000
=== When are the scripts replicated to Grid'5000? ===
frontends every few hours.
The scripts in bin/ are replicated to Grid'5000 on an on-demand basis,
when a release is decided. Discussions on this topic happen on
grid5000-code-devel@lists.gforge.inria.fr


==== How do I get write-access to the SVN repository? ====
The scripts in <code class='file'>staging/</code> are automatically replicated to Grid'5000 frontends every few hours.
 
The scripts in <code class='file'>bin/</code> are replicated to Grid'5000 on an on-demand basis, when a release is decided.
 
Discussions on this topic happen on <code>grid5000-code-devel@lists.gforge.inria.fr</code>.
 
=== How do I get write-access to the SVN repository? ===
 
Join the grid5000-code project at http://gforge.inria.fr/projects/grid5000-code/


Join the grid5000-code project at
http://gforge.inria.fr/projects/grid5000-code/
Follow the instructions on http://gforge.inria.fr/scm/?group_id=1425
Follow the instructions on http://gforge.inria.fr/scm/?group_id=1425


==== How do I contribute a new script? ====
=== How do I contribute a new script? ===


Commit it to the staging/ directory. Follow a sane naming convention,
Commit it to the <code class='file'>staging/</code> directory. Follow a sane naming convention,
and include in the script:
and include in the script:
* a summary of what the script does
* a summary of what the script does
Line 51: Line 47:
* a copyright and license statement (you might want to copy it from other scripts, like bin/katapult)
* a copyright and license statement (you might want to copy it from other scripts, like bin/katapult)


==== What about licensing and copyright? ====
=== What about licensing and copyright? ===


Each script can have its own copyright and license. However, it is
Each script can have its own copyright and license. However, it is
Line 61: Line 57:
General Public License, version 2, or any later version.
General Public License, version 2, or any later version.


==== How do I improve an existing script? ====
=== How do I improve an existing script? ===


Normal behaviour rules apply: you should contact the script's author,
Normal behaviour rules apply: you should contact the script's author,
Line 68: Line 64:
can temporarily "fork" the original script, by renaming it.
can temporarily "fork" the original script, by renaming it.


==== How do I move the script from staging/ to bin/? ====
=== How do I move the script from staging/ to bin/? ===


Contact the mailing list (grid5000-code-devel@lists.gforge.inria.fr)
Contact the mailing list (<code>grid5000-code-devel@lists.gforge.inria.fr</code>)
and ask for an informal review. Please make sure that your script is
and ask for an informal review. Please make sure that your script is
in a good state before starting the process. In particular, make sure
in a good state before starting the process. In particular, make sure
Line 77: Line 73:
option, for example) for everybody to be able to use it.
option, for example) for everybody to be able to use it.


==== How do I make a file executable?  ====
=== How do I make a file executable?  ===


svn propset svn:executable on thescript
Execute the following command on the script:
svn propset svn:executable <code class='replace'><script></code>

Revision as of 11:41, 6 August 2010

Grid5000-code

Grid5000-code is a repository of user-contributed scripts and tools that aim at improving the daily life of Grid'5000 users, by making the platform easier to use.

The scripts are distributed automatically on all Grid'5000 frontends, in /grid5000/code. The scripts are divided in two categories:

  • public scripts: located in the bin/ subdirectory, that is also part of the default $PATH. Those scripts are considered good enough for everybody to try and use them.
  • 'tentative' scripts, located in the staging/ subdirectory. While you might find very interesting scripts in this directory, there is no guarantee about the quality of this software.

For more information about the various scripts, see bin/README and staging/README.

Everybody is strongly encouraged to contribute new scripts and improve existing scripts. The scripts are hosted in the grid5000-code SVN repository on gforge.inria.fr. See http://gforge.inria.fr/projects/grid5000-code/ for more info. Note that the technical team doesn't provide support for those tools.

Contact

Mailing-list: grid5000-code-devel@lists.gforge.inria.fr (no subscription required to post)

You can subscribe at http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/grid5000-code-devel

FAQ

When are the scripts replicated to Grid'5000?

The scripts in staging/ are automatically replicated to Grid'5000 frontends every few hours.

The scripts in bin/ are replicated to Grid'5000 on an on-demand basis, when a release is decided.

Discussions on this topic happen on grid5000-code-devel@lists.gforge.inria.fr.

How do I get write-access to the SVN repository?

Join the grid5000-code project at http://gforge.inria.fr/projects/grid5000-code/

Follow the instructions on http://gforge.inria.fr/scm/?group_id=1425

How do I contribute a new script?

Commit it to the staging/ directory. Follow a sane naming convention, and include in the script:

  • a summary of what the script does
  • contact information (with email address, institution information)
  • a copyright and license statement (you might want to copy it from other scripts, like bin/katapult)

What about licensing and copyright?

Each script can have its own copyright and license. However, it is strongly recommended that you choose a common Free Software license for your script.

If no licensing information is provided on a script committed to SVN, It is assumed that the script is distributed under the terms of the GNU General Public License, version 2, or any later version.

How do I improve an existing script?

Normal behaviour rules apply: you should contact the script's author, and ask him if he/she is interested in integrating your changes, or ask for the permission to commit them yourself. In the meantime, you can temporarily "fork" the original script, by renaming it.

How do I move the script from staging/ to bin/?

Contact the mailing list (grid5000-code-devel@lists.gforge.inria.fr) and ask for an informal review. Please make sure that your script is in a good state before starting the process. In particular, make sure that its behaviour towards the platform is sane (do not DOS OAR, for example), and that it provides enough documentation (through a --help option, for example) for everybody to be able to use it.

How do I make a file executable?

Execute the following command on the script:

svn propset svn:executable <script>