Introduction
============
The SCIGNE platform `_ offers a high-throughput
computing (HTC) service based on technologies developed for computing
grids. Data exchanges between the various computing centres that make
up these grids are carried out using specific protocols (HTTPS and
XROOTD).
This document details the use of the GFAL2 tool to interact with
these protocols to manage your data from between your workstation and
the SCIGNE platform.
HTC storage system
==================
Several storage systems (dCache, Storm, etc) are used by the computing
grid sites. In order to ensure that the systems are interoperable,
they communicate using identical protocols.
The SCIGNE platform uses the dCache system to make HTC storage
available. Although several protocols are available (HTTPS, XROOTD),
this documentation focuses on the use of HTTPS.
The dCache storage system consists of a front-end server and a set of
file servers. The front-end server centralises file access requests.
The file servers physically store the files. Files are accessed by
querying the front-end server using the commands detailed in this
document.
Access to data is controlled by a certificate. It is therefore
necessary to have a valid *proxy* when using this type of storage.
Data management with dCache
===========================
This section describes how to manage data stored on a
dCache server.
Foreword
--------
The following URL is used throughout this section. It will be
abbreviated to ``${BASE_URL}``:
.. code-block:: console
$ export BASE_URL="https://sbgdcache.in2p3.fr/vo.scigne.fr"
Client installation
-------------------
Currently, packages are only available for the RedHat distribution and
its derivatives. The packages are available in the `EPEL repository `_.
Once this repository is available on your system, the ``gfal2`` tools
can be quickly installed with :
.. code-block:: console
$ dnf install gfal2-util gfal2-all
Reading the contents of a directory
-----------------------------------
The ``gfal-ls`` command lists the contents of a directory. The result
of this command is similar to that of the ``ls`` command. The example
below illustrates how this command works:
.. code-block:: console
$ gfal-ls ${BASE_URL}
EOST
IBMC
IBMP
ICS
ICUBE
IPHC
.. code-block:: console
$ gfal-ls -l ${BASE_URL}
drwxrwxrwx 0 0 0 0 Aug 22 07:42 EOST
drwxrwxrwx 0 0 0 0 Aug 22 07:42 IBMC
drwxrwxrwx 0 0 0 0 Aug 22 07:42 IBMP
drwxrwxrwx 0 0 0 0 Aug 22 07:42 ICS
drwxrwxrwx 0 0 0 0 Aug 22 07:42 ICUBE
drwxrwxrwx 0 0 0 0 Aug 22 07:43 IPHC
**Note:** As the contents of this directory change over time, the result
displayed by the previous commands differs from the examples above.
Creation a directory
--------------------
The ``gfal-mkdir`` command permits to create a directory:
.. code-block:: console
$ gfal-mkdir ${BASE_URL}/lab/user/data
Note that the value */lab/user/data* is given as an example and must
be adapted to your specific use case. By convention:
* **lab** is the acronym of the laboratory in uppercase ;
* **user** is the concatenation of the first letter of the first name
and the surname.
Copying a file
--------------
The ``gfal-copy`` command is used to copy data from or to the dCache
server:
.. code-block:: console
$ gfal-copy file://${PWD}/my_dataset.tgz ${BASE_URL}/lab/user/data/my_dataset.tgz
Copying file://${PWD}/my_dataset.tgz [DONE] after 2s
Deleting a file
---------------
The ``gfal-rm`` command permits to delete a file on the dCache server:
.. code-block:: console
$ gfal-rm ${BASE_URL}/lab/user/data/my_dataset.tar.gz
https://sbgdcache.in2p3.fr/vo.scigne.fr/lab/user/my_dataset.tgz DELETED
Deleting a directory
--------------------
The ``gfal-rm -r`` command is used to delete a directory (and its
contents):
.. code-block:: console
$ gfal-rm -r ${BASE_URL}/lab/user/data
Additional documentation
========================
Ces liens proposent des références complémentaires pour approfondir la
gestion des données sur la plateforme SCIGNE :
- `documentation sur les commandes gfal2 `_
;
- `documentation sur dCache `_ ;