Procedures

Intended audience: Anyone who is administering Rucio.

Deployment

USDF Rucio deployment is done through the slaclab/rubin-rucio-deploy repository. This project requires a Kubernetes cluster with permissions to run operators as needed. Once you have access to your Kubernetes cluster and access to Vault secrets, Rucio can be deployed for a given overlay depending on the cluster (found in overlays/{dev,prod}) using the Makefile found there with:

make apply

The deployment uses the official Rucio images (rucio/containers), besides the hermes daemon. Rucio manifests are mainly created from the official Rucio Helm charts (rucio/helm-charts).

Deployment is through the Makefile and overlays in slaclab/rubin-rucio-deploy

Maintenance

When there is a new Rucio version release that the cluster should be upgraded to, there are a few steps that must be done.

Database

Rucio’s database schema is changed only for major versions (i.e. 37.0.0 –> 38.0.0). In this case, the database schema must be upgraded in order for the deployment to function properly. Rucio has built-in checks to ensure the correct database schema version.

Rucio Transfer Monitoring Dashboard

Backup

Postgres database backups are done through the CNPG operator. Backups are done periodcially and are uploaded to the SLAC S3 storage. This is configured by the database administrator.

Backups of the Rucio Database are configured.

Cold Startup

  1. Ensure you have access to the Kubernetes cluster and Vault secrets.

  2. Enter the desired overlay.

  3. Apply manifests

make apply

Cold Shutdown

To cleanly shutdown the Rucio application, simply run:

make destroy

This will delete all secrets, deployments, pods, services, etc from the cluster.

Reproduce Service