Daemon rucio-transmogrifier

The Transmogrifier daemon is responsible for the creation of replication rules for DIDs matching a subscription.

usage: rucio-transmogrifier [-h] [--run-once] [--threads THREADS] [--bulk BULK] [--sleep-time SLEEP_TIME]

Named Arguments

--run-once

Runs one loop iteration

Default: False

--threads

Concurrency control: number of threads

Default: 1

--bulk

Bulk control: number of requests per cycle

Default: 1000

--sleep-time

Seconds to sleep between two cycles

Default: 60

Create a DID:

$ python
from rucio.core.did import add_did
from rucio.db.sqla.constants import DIDType
add_did(scope='mock', name='test', type=DIDType.DATASET, account='root', meta={'project': 'test_project'})

Create a subscription that matches the DID:

$ rucio-admin subscription add test '{"scope": ["mock"], "project": ["test_project"]}' '[{"copies": 1, "rse_expression": "MOCK", "activity": "User Subscriptions"}]' 'df'

Check if there are rules for the DID:

$ rucio list-rules mock:test
ID                                ACCOUNT    SCOPE:NAME    STATE[OK/REPL/STUCK]    RSE_EXPRESSION      COPIES  EXPIRES (UTC)    CREATED (UTC)
--------------------------------  ---------  ------------  ----------------------  ----------------  --------  ---------------  -------------------

Run the daemon:

$ rucio-transmogrifier --run-once

Check again if there are rules for the DID:

$ rucio list-rules mock:test
ID                                ACCOUNT    SCOPE:NAME    STATE[OK/REPL/STUCK]    RSE_EXPRESSION      COPIES  EXPIRES (UTC)    CREATED (UTC)
--------------------------------  ---------  ------------  ----------------------  ----------------  --------  ---------------  -------------------
e658f6f47f444326aad624dabef7b785  root       mock:test     OK[0/0/0]               MOCK                     1                   2018-12-03 14:01:19