PIC rucio client transfer package
Project description
Pic rucio client
Introduction
The PIC Rucio client is a python package developed with the purpose of automating the transfers from an origin storage endpoint (e.g. Magic observatory) to a destination one (e.g. PIC).
The package contains the pic_rucio
executable that can be run
as a cron to discover new files, trigger their transfer and update their status.
Requirements
- python >= 3.6
- python-gfal2: WARNING The installation of this package through pip may not be straightforward
- rucio_clients
Installation
From the root folder, in an environment with python and pip installed.
pip install .
Documentation
Configuration
TBD
Workflow
- File discovery through DB or CSV (WIP)
- ES status check
- Metadata construction
- Origin RSE replica registry
- Destination RSE replication rule creation
- Outdated replica rule creation to purge replicas in the origin RSE (To be fixed)
Magic implementation
The implementation of the PIC Rucio Client for Magic contains some tricks that are crucial for its correct fuctioning
- Configuration
- lfn2pfn algorithm:
identity
, the pfn is the lfn - schema: allow additional characters (
/
,+
, etc) in the DID name to allow storing paths in thename
- scope:
pnfs
- lfn2pfn algorithm:
- RSEs:
- Origin:
ORM-NON-DET
, non-deterministic GridFTP RSE at Roque de los Muchachos Observatory. - Destination:
MAGIC-PRD
, deterministic GridFTP RSE pointing todoor05.pic.es
at PIC, withprefix=//
- Origin:
- DIDs
- Files: the name contains the full path to PIC storage without
the leading
pnfs
added because it is the scope, e.g.:pic.es/data/magic/Data/SuperStar/v1/4C+27.50/2024_09_12/20240912_05116784_S_4C+27.50-W0.40+180.root
.{scope}/{name}
is the real path at PIC. - Datasets:
- Run (e.g. 5116790), should contain the files in a run. All the ones I inspected are empty.
- Outdated replication dataset (e.g. pnfs:outdated_replication_dataset-3cef6bc5-1d8c-493d-aaad-2868b18a2f5e) The intention of this was to trigger the deletion of the replicas at ORM after successfully transferred, but this mechanism doesn't seem to be working.
- Containers:
- %Y_%M_%d: observation date, empty
- Source name: empty
- Files: the name contains the full path to PIC storage without
the leading
Check the Magic example in the development environment
Development
installation
The same but will be installed in editable mode and some additional packages needed for development will be included.
pip install -e .[dev]
pre-commit hooks
Some pre-commit hooks are included to enforce best practices. See the pre-commit documentation
Install hooks: pre-commit install
Run hooks manually: pre-commit run --all-files
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file pic_rucio-2024.10.3.71620-py3-none-any.whl
.
File metadata
- Download URL: pic_rucio-2024.10.3.71620-py3-none-any.whl
- Upload date:
- Size: 31.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3bd1d6e07c5ed4f780b90c2aa1ee953d25fa406ede13fa71be944bf51d463753 |
|
MD5 | c3f6ad704d982daf7e5568d2d599d172 |
|
BLAKE2b-256 | 76a1feae0652e408f5e02d3e81dbc970c225ec77ac798347388df7309e6e16b6 |