Grid5000:Grid5000-code

From Grid5000
Jump to: navigation, search


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 GitLab repository repository on gitlab.inria.fr. See https://gitlab.inria.fr/grid5000/grid5000-code/ for more info. Note that the technical team doesn't provide support for those tools.

A new version of grid5000-code is deployed on all sites when:

  1. a tag is pushed on the master branch of the repository AND
  2. a maintainer press the deploy button of the CI

Contact

Grid5000 users mailing-list: users@lists.grid5000.fr

External tools

Some tools are identified as being useful for Grid'5000 users, but are not provided through Grid'5000 code. Here is a list.

  • list empty for now

FAQ

When are the scripts replicated to Grid'5000?

The scripts are automatically replicated to Grid'5000 frontends when a tag is associated to a commit on the master branch of the repository and one of the project developpers manually launch the deployment pipeline.

Discussions on this topic happen on users@lists.grid5000.fr.

How do I get write-access to the grid5000-code repository?

Drop a mail to one of the maintainer of the grid5000-code project.

How do I contribute a new script?

In a branch, 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)

Then, submit a merge request.

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 behavior 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 (users@lists.grid5000.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 behavior 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.