Storage Manager

From Grid5000
Revision as of 16:57, 28 August 2018 by Amerlin (talk | contribs) (API Specification:)

Jump to: navigation, search

How does it work

An user can share its home with other node on Grid'5000. Each time you start a job, an access for all the assigned nodes is automatically created. You may want to use this tutorial if you want to allow additional addresses to access your home.

Note.png Note

Only the home owner can interact with his accesses, so you need to be authenticated. It's done automatically on the froentend.

Create access

Accesses creation is done by sending POST to the API. Let's assume we want to share the nancy home of user jpicard to IP addresses and

We need a termination condition, it can be a specific date or a job termination.

If we want to use a specific time (for example 2018-12-25 19:38), we send the following request to the Storage API:

 curl -X POST '' -H "Content-Type: application/json" -d '{"ipv4": ["", ""], "termination" : {"until":"2018-12-25 19:38"}}'

If we want to use a job termination, for example the job 4548 of grenoble:

 curl -X POST '' -H "Content-Type: application/json" -d '{"ipv4": ["", ""], "termination" : {"job": 4548, "site": "grenoble"}}
Warning.png Warning

The access is create immediately and until the termination of the job, even if the job has not yet started.

List access

To list all access, you should do:


You get a list of accesses

   "G5k-home_jpicard_j_1666466-nancy_1": {
     "ipv4": [
     "termination": {
       "job": 1666466,
       "site": "nancy"
   "G5k-home_jpicard_u_1535456240_1": {
     "ipv4": [
     "termination": {
       "until": 1535456240,

You can also ask for a specific access by providing its identifier, for instance :


After that, you should be able to mount the home where you want:

Terminal.png node:

Note.png Note

debian9-x64-std,debian9-x64-big and debian9-x64-nfs use autofs for the /home of the local NFS server. So cd /home/jpicard/ will automount the home of jpicard if you have the right

Delete an access

Accesses deletion is done by sending DELETE to the API. To delete an access you specify it's identifier, for instance:

curl -X DELETE

API Specification:

GET /stable/sites/site/storage/home/username/access

fetch a list of access.

GET /stable/sites/site/storage/home/username/access/access_id

fetch information of a specific access

DELETE /stable/sites/site/storage/home/username/access/access_id

delete a specific access

DELETE /stable/sites/site/storage/home/username/access/?job=job_id&site=job_site

delete all access link to job job_id of site job_site

POST /stable/sites/site/storage/home/username/access

Create new access. The payload must be in JSON format, and contains the following mandatory properties:

Parameter Type Description & Examples
ipv4 Mandatory Array of ipv4 allowed to access NFS
termination Mandatory Termination condition can be of two types "Until" or "Job". The form is a structure/hash.

Until termination takes a date as an until parameter. The access will be deleted after the specify date. eg:

  {"until" : "2018-12-25 19:38"}

Job terminations takes two parameters, job and site, which are respectively the id and the site of a Grid'5000 job. When the job end, the export is deleted. eg:

  {"job": "4548, "site":"nancy"}