Adding a new Rucio RSE
Create a new entry for a (deterministic) RSE:
rucio-admin rse add <RSE_IDENTIFIER>
Point the RSE to an instance of FTS:
rucio-admin rse set-attribute --rse <RSE_IDENTIFIER> --key fts --value https://path/to/fts
Set the
istape
field tofalse
:
rucio-admin rse set-attribute --rse <RSE_IDENTIFIER> --key istape --value False
Configure OIDC support
rucio-admin rse set-attribute --rse <RSE_IDENTIFIER> --key oidc_support --value True
Allow the root user unlimited access:
rucio-admin account set-limits root <RSE_IDENTIFIER> "infinity"
Allow any other service user unlimited access, e.g.
rucio-admin account set-limits service_skaosrc_rtm <RSE_IDENTIFIER> "infinity"
Configure one or more protocols, e.g. for https on 443:
rucio-admin rse add-protocol --hostname ...ac.uk --scheme https --prefix '/path/to/storage/area' --port 443 --imp 'rucio.rse.protocols.gfal.Default' --domain-json '{"lan": {"read": 1, "write": 1, "delete": 1}, "wan": {"read": 1, "write": 1, "delete": 1, "third_party_copy_read": 1, "third_party_copy_write": 1}}' <RSE_IDENTIFIER>If adding more than one, set the third-party copy priority accordingly. Also, if adding root protocol, the corresponding prefix requires an additional slash (/) at the beginning.
Add links to other RSEs (these are directional):
rucio-admin rse add-distance --ranking 1 <RSE_IDENTIFIER> <OTHER_RSE_IDENTIFIER> rucio-admin rse add-distance --ranking 1 <OTHER_RSE_IDENTIFIER> <RSE_IDENTIFIER> rucio-admin rse add-distance --distance 1 <RSE_IDENTIFIER> <OTHER_RSE_IDENTIFIER> rucio-admin rse add-distance --distance 1 <OTHER_RSE_IDENTIFIER> <RSE_IDENTIFIER>You may need to verify that
agis_distance
andranking
columns are filled in the distances table, otherwise you will end up with “no path” errors in the conveyor daemon:From inside the Rucio database container:
psql -U rucioRun the following to check:
SELECT r1.rse, r2.rse, ranking, agis_distance FROM rucio.distances LEFT JOIN rses r1 ON r1.id=src_rse_id LEFT JOIN rses r2 ON r2.id=dest_rse_id WHERE ranking<>1 OR agis_distance<>1;If
agis_distance
andranking
values are not set, update them as required. If actual distances are not used, this may simply be a case of setting these values to 1, i.e.update rucio.distances set agis_distance=1 update rucio.distances set ranking=1