Rucio Storage Endpoint (RSE) Names and Attributes
Introduction and motivation
Establishing clear and consistent naming conventions for Rucio Storage Endpoints (RSEs) will facilitate efficient data management, improved operational clarity, and easier collaboration across multiple sites and Nodes. It should aim to provide: * Clarity and Consistency: with unique (but not overly constrained) and unambiguous ways to name a site, avoiding confusion. * Ease of operational use: clear and simple naming, with ability to use automated tooling, where appropriate. * Scalability: Should allow for ease of scalability and extensibility with minimal changes necessary to existing infrastructure / standards.
Attributes are metadata properties assigned to Rucio Storage Elements (RSEs) that define various characteristics and configurations of the storage elements. While some are internal to rucio, for its functionality, user-defined fields can be specified to facilitate Data Management activities. Establishing a basic set of enhanced attributes will provide: * Interoperability across sites: facilitating the use of heterogenous storage across many distinct regions. * Ease of operational use: improved use of automated tooling and use of built-in rucio tools for management data placement based on higher-level requirements and needs. * Scalability: to allow to increase scale with current needs and to be easily extensible as future requirements are refined.
RSE Naming
RSEs shall adopt the following naming scheme:
{src-name}-{site-name}-{storage-class}[-{storage-label}]
src-name: The National SRC name (or SKAO), as defined in National SRC Naming Standards
site-name: a 1–10 character (A-Z0-9) label that defines the physical location of the storage element (SE), e.g. RAL, INFN
storage-class: one of the set of allowed keywords, which defines the type/usage of storage:
allowed values: {T0, T1, T2, NAT, TEST, INGEST}
site-label: an optional 1-10 character (A-Z0-9) label to distinguish different RSEs of same storageclass at a given SRC and site
Examples of RSEs that satisfy this scheme could be:
SKAO-STFC-T1
SKAO-MID-INGEST
UKSRC-RAL-T1
UKSRC-RAL-T2-DEV
CANSRC-XYZ-NAT-TAPE
Site Name
SEs also typically allow the setting of a site name within their configuration. For monitoring, grouping by site name may alo be useful. These shall be identified as (using the defintions above):
{src-name}-{site-name}
Additional Attributes
In addition to the default set of attributes that are attached to each RSE on creation, the following set of keys should also be created and the appropriate values added.
SRC: the SRC name
site : name of the site (matching the RSE name site)
storage-class: the storage class
country_code : ISO 3166-1 alpha-2 (2-letter code) defining the country (e.g. AU, CA, GB, … )
region_name : Top-level region (defined under UN M49) :
regions = [
"Africa",
"Asia",
"Europe",
"Oceania",
"Americas"
]
se_type: the SE software used (e.g. xrootd, storm, dcache)
storage_tier: T0, T1, T2, INGEST
storage_type: disk, tape
Compliance attributes
srcnet_version: Defines if an RSE is compliant with, or included for, a specific srcnet version (e.g. 0.1)
(due to some possible issues with filtering on decimals) propose to have also
is_v0p1 = True, False
Usage attributes
is_national: true, false in case of national only RSEs.
RSE Name schema
A very simple schema for the RSE name is given below
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"rse_name": {
"type": "string",
"description": "Composite RSE name consisting of SRC, Site, and StorageClass with optional site storage label",
"pattern": "^(((AUS|CAN|CN|FR|DE|IN|IT|JP|NL|PT|ZA|KR|ESP|SWE|CH|UK)SRC|SKAO)-[A-Z0-9]{1,10}-(T0|T1|T2|TEST|INGEST|NAT))(-[A-Z0-9]{1,10})?$"
}
},
"required": ["rse_name"],
"additionalProperties": false
}