2. Configuration

REANA Commons configuration.

reana_commons.config.CVMFS_REPOSITORIES = {'alice-ocdb.cern.ch': 'alice-ocdb', 'alice.cern.ch': 'alice', 'ams.cern.ch': 'ams', 'atlas-condb.cern.ch': 'atlas-condb', 'atlas-nightlies.cern.ch': 'atlas-nightlies', 'atlas.cern.ch': 'atlas', 'cms-ib.cern.ch': 'cms-ib', 'cms-opendata-conddb.cern.ch': 'cms-opendata-conddb', 'cms.cern.ch': 'cms', 'compass-condb.cern.ch': 'compass-condb', 'compass.cern.ch': 'compass', 'cvmfs-config.cern.ch': 'cvmfs-config', 'fcc.cern.ch': 'fcc', 'geant4.cern.ch': 'geant4', 'ilc.desy.de': 'ilc-desy', 'lhcb-condb.cern.ch': 'lhcb-condb', 'lhcb.cern.ch': 'lhcb', 'na61.cern.ch': 'na61', 'na62.cern.ch': 'na62', 'projects.cern.ch': 'projects', 'sft.cern.ch': 'sft', 'unpacked.cern.ch': 'unpacked'}

CVMFS repositories available for mounting.

reana_commons.config.INTERACTIVE_SESSION_TYPES = ['jupyter']

List of supported interactive systems.

reana_commons.config.K8S_CERN_EOS_AVAILABLE = None

Whether EOS is available in the current cluster or not.

This a configuration set by the system administrators through Helm values at cluster creation time.

reana_commons.config.K8S_CERN_EOS_MOUNT_CONFIGURATION = {'volume': {'hostPath': {'path': '/var/eos'}, 'name': 'eos'}, 'volumeMounts': {'mountPath': '/eos', 'mountPropagation': 'HostToContainer', 'name': 'eos'}}

Configuration to mount EOS in Kubernetes objects.

For more information see the official documentation at https://clouddocs.web.cern.ch/containers/tutorials/eos.html.

reana_commons.config.K8S_DEFAULT_NAMESPACE = 'default'

Kubernetes workflow runtime default namespace

reana_commons.config.K8S_REANA_SERVICE_ACCOUNT_NAME = None

REANA service account in the deployed Kubernetes cluster.

reana_commons.config.MQ_CONNECTION_STRING = 'amqp://test:1234@reana-message-broker//'

Message queue (RabbitMQ) connection string.

reana_commons.config.MQ_DEFAULT_EXCHANGE = ''

Message queue (RabbitMQ) exchange.

reana_commons.config.MQ_DEFAULT_FORMAT = 'json'

Default serializing format (to consume/produce).

reana_commons.config.MQ_DEFAULT_QUEUES = {'jobs-status': {'durable': False, 'exchange': '', 'routing_key': 'jobs-status'}, 'workflow-submission': {'durable': True, 'exchange': '', 'routing_key': 'workflow-submission'}}

Default message queues.

reana_commons.config.MQ_HOST = 'reana-message-broker'

Message queue (RabbitMQ) server host name.

reana_commons.config.MQ_PASS = '1234'

Message queue (RabbitMQ) password.

reana_commons.config.MQ_PORT = 5672

Message queue (RabbitMQ) service port.

reana_commons.config.MQ_PRODUCER_MAX_RETRIES = 3

Max retries to send a message.

reana_commons.config.MQ_USER = 'test'

Message queue (RabbitMQ) user name.

reana_commons.config.OPENAPI_SPECS = {'reana-job-controller': ('', 'reana_job_controller.json'), 'reana-server': ('', 'reana_server.json'), 'reana-workflow-controller': ('', 'reana_workflow_controller.json')}

REANA Workflow Controller address.

reana_commons.config.REANA_COMPONENT_NAMING_SCHEME = '{prefix}-{component_type}-{id}'

The naming scheme the components created by REANA should follow.

It is a Python format string which take as arguments: - prefix: the REANA_COMPONENT_PREFIX - component_type: one of REANA_COMPONENT_TYPES - id: unique identifier for the component, by default UUID4.

reana_commons.config.REANA_COMPONENT_PREFIX = 'reana'

REANA component naming prefix, i.e. my-prefix-job-controller.

Useful to find the correct fully qualified name of a infrastructure component and to correctly create new runtime pods.


Environment variable friendly REANA component prefix.

reana_commons.config.REANA_COMPONENT_TYPES = ['run-batch', 'run-session', 'run-job', 'secretsstore']

Type of REANA components.

Note: this list is used for validation of on demand created REANA components names, this is why it doesn’t contain REANA instrastructure components.

run-batch: An instance of reana-workflow-engine-_ run-session: An instance of an interactive session run-job: An instance of a workflow’s job secretsstore: An instance of a user secret store

reana_commons.config.REANA_CVMFS_PVC_TEMPLATE = {'metadata': {'name': ''}, 'spec': {'accessModes': ['ReadOnlyMany'], 'resources': {'requests': {'storage': '1G'}}, 'storageClassName': ''}}

CVMFS persistent volume claim template.

reana_commons.config.REANA_CVMFS_SC_TEMPLATE = {'metadata': {'name': ''}, 'parameters': {'repository': ''}, 'provisioner': 'cvmfs.csi.cern.ch'}

CVMFS storage claim template.

reana_commons.config.REANA_LOG_FORMAT = '%(asctime)s | %(name)s | %(threadName)s | %(levelname)s | %(message)s'

REANA components log format.

reana_commons.config.REANA_LOG_LEVEL = 20

Log verbosity level for REANA components.


Upper limit on concurrent REANA batch workflows running in the cluster.

reana_commons.config.REANA_SHARED_PVC_NAME = 'reana-shared-persistent-volume'

Name of the shared CEPHFS PVC which will be used by all REANA jobs.

reana_commons.config.REANA_STORAGE_BACKEND = 'local'

Storage backend deployed in current REANA cluster [‘local’|’cephfs’].

reana_commons.config.REANA_USER_SECRET_MOUNT_PATH = '/etc/reana/secrets'

Default mount path for user secrets which is mounted for job pod & workflow engines.

reana_commons.config.REANA_WORKFLOW_UMASK = 2

Umask used for workflow worksapce.

reana_commons.config.SHARED_VOLUME_PATH = '/var/reana'

Default shared volume path.

reana_commons.config.WORKFLOW_RUNTIME_USER_GID = 0

Default group id for running job controller/workflow engine apps & jobs.

reana_commons.config.WORKFLOW_RUNTIME_USER_NAME = 'reana'

Default OS user name for running job controller.

reana_commons.config.WORKFLOW_RUNTIME_USER_UID = 1000

Default user id for running job controller/workflow engine apps & jobs.