Installing Rucio server

Prerequisites

Rucio server runs on Python 2.6, 2.7.

Platforms: Rucio should run on any Unix-like platform.

Python Dependencies

Rucio server needs the following python modules:

#cx_Oracle==5.1.2           # Oracle connector
# MySQL-python==1.2.5      # MySQL connector
# psycopg2==2.5.2          # PostgreSQL
SQLAlchemy==1.0.9 # db backend
alembic==0.8.3 # Lightweight database migration tool for SQLAlchemy
Mako==1.0.3 # Templating language

All Dependencies are automatically installed with pip.

Install via puppet

puppet is an open and widely configuration management and automation system, for managing the infrastructure.

  1. On the target node: start with a clean slate:

    $> rm -rf /opt/rucio
    
  2. On the puppet master: install with puppet

    do something like this in /etc/puppet/manifests/nodes.pp:

    node '<hostname>' inherits basenode
    {
      include 'rucio::lighttpd'
      include 'rucio::server-dev'
    }
    

then execute and wait:

$> puppet kick <hostname>
  1. back to the target node: configure:

    $> cd /opt/rucio/etc
    $> cp rucio.cfg.template rucio.cfg
    $> cd web
    $> cp lighttpd.conf.template lighttpd.conf
    
  2. startup lighttpd:

    $> cd /opt/rucio
    $> bin/venv_lighttpd.sh
    
  3. test:

    $> curl -vvv -X GET -H "Rucio-Account: ddmlab" -H "Rucio-Username: xxxxx" -H "Rucio-Password: xxxx" https://localhost/auth/userpass
    

you should get back an HTTP OK with a X-Rucio-Auth-Token in the HTTP header