Skip to main content

REANA-Commons.

Project description

https://img.shields.io/pypi/pyversions/reana-commons.svg https://github.com/reanahub/reana-commons/workflows/CI/badge.svg https://readthedocs.org/projects/reana-commons/badge/?version=latest https://codecov.io/gh/reanahub/reana-commons/branch/master/graph/badge.svg https://badges.gitter.im/Join%20Chat.svg https://img.shields.io/github/license/reanahub/reana-commons.svg https://img.shields.io/badge/code%20style-black-000000.svg

About

REANA-Commons is a component of the REANA reusable and reproducible research data analysis platform. It provides common utilities and schemas shared by the REANA cluster components.

Features

  • common API clients for internal communication

  • centralised OpenAPI specifications for REANA components

  • AMQP connection management and communication

  • utility functions for cluster components

Usage

The detailed information on how to install and use REANA can be found in docs.reana.io.

Changes

Version 0.9.0 (UNRELEASED)

  • Adds support for Python 3.11.

  • Adds support for Rucio.

  • Adds REANA specification validation and loading logic from reana-client.

  • Adds support for networking/v1 API to Kubernetes Python client.

  • Adds new /api/launch endpoint that allows running workflows from remote sources.

  • Adds support for specifying slurm_partition and slurm_time for Slurm compute backend jobs.

  • Adds generation of Kerberos sidecar container’s configuration.

  • Adds specification of retention_days in reana.yaml JSON schema.

  • Adds support for Unicode characters inside email body.

  • Changes REANA specification loading functionality to allow specifying different working directories.

  • Changes the loading of Snakemake specifications to preserve the current working directory.

  • Changes reana.yaml specification to allow enabling Kerberos for the whole workflow.

  • Fixes job controller submission API to strip potential leading and trailing whitespaces in image names.

Version 0.8.5 (2022-02-23)

  • Adds retry_count parameter to WorkflowSubmissionPublisher.

Version 0.8.4 (2022-02-08)

  • Adds new configuration variable to toggle Kubernetes security context. (K8S_USE_SECURITY_CONTEXT)

  • Changes installation to revert Yadage dependency versions.

Version 0.8.3 (2022-02-04)

  • Changes installation to remove upper version pin on kombu.

Version 0.8.2 (2022-02-01)

  • Adds support for Python 3.10.

  • Adds workflow name validation utility.

  • Changes Snakemake loaded specification to include compute backends.

  • Changes OpenAPI specification with respect to return supported compute backends in info endpoint.

  • Fixes file system usage calculation on CephFS shares in get_disk_usage utility function.

Version 0.8.1 (2021-12-21)

  • Adds OpenAPI specification support for kubernetes_job_timeout handling.

  • Changes OpenAPI specification for cluster health status endpoint.

  • Changes Yadage dependencies to allow 0.21.x patchlevel-version updates.

  • Changes installation to require Python-3.6 or higher versions.

Version 0.8.0 (2021-11-22)

  • Adds get_disk_usage utility function to calculate disk usage for a directory.

  • Adds Yadage workflow specification loading utilities.

  • Adds workspace validation utilities.

  • Adds Snakemake workflow engine integration.

  • Adds custom objects API instance to k8s client.

  • Adds available worklow engines configuration.

  • Adds environment variable to define time between job controller connection checks.

  • Adds cluster health status endpoint.

  • Adds OpenAPI specifications with respect to user quotas.

  • Changes workflow-submission queue as a priority queue and allows to set the priority number on workflow submission.

  • Changes OpenAPI specifications with respect to turning workspaces endpoint into info.

  • Changes publisher logging level on error callback.

  • Removes support for Python 2.

Version 0.7.5 (2021-07-02)

  • Adds support for glob patterns when listing workflow files.

  • Adds support for specifying kubernetes_memory_limit for Kubernetes compute backend jobs.

Version 0.7.4 (2021-03-17)

  • Adds new functions to serialise/deserialise job commands between REANA components.

  • Changes reana_ready function location to REANA-Server.

Version 0.7.3 (2021-02-22)

  • Adds new configuration variable to toggle runtime user jobs clean up depending on their statuses. (REANA_RUNTIME_KUBERNETES_KEEP_ALIVE_JOBS_WITH_STATUSES)

  • Adds central class to instantiate workflow engines with more resilience. (workflow_engine.create_workflow_engine_command)

Version 0.7.2 (2021-02-02)

  • Adds support for Python 3.9.

  • Fixes minor code warnings.

  • Fixes a helper function that calculates directory hashes.

  • Changes OpenAPI specifications with respect to sign-up form.

  • Changes OpenAPI specifications with respect to email confirmation.

  • Changes CI system to include Python flake8 checker.

Version 0.7.1 (2020-11-09)

  • Adds support for restarting yadage workflows (through accept_metadir operational option).

  • Allows htcondor_max_runtime and htcondor_accounting_group to be specified for HTC jobs.

  • Adds new field in REANA-Server OpenAPI spec to return server version.

  • Changes CI system from Travis to GitHub Actions.

Version 0.7.0 (2020-10-20)

  • Adds new utility to send emails.

  • Adds centralised validation utility for workflow operational options.

  • Adds new configuration variable to set the maximum number of running workflows. (REANA_MAX_CONCURRENT_BATCH_WORKFLOWS)

  • Adds new configuration variable to set prefix of REANA cluster component names. (REANA_COMPONENT_PREFIX)

  • Adds new configuration variable for the runtime pod node selector label. (REANA_RUNTIME_KUBERNETES_NODE_LABEL)

  • Adds new configuration variable to define the Kubernetes namespace in which REANA infrastructure components run. (REANA_INFRASTRUCTURE_KUBERNETES_NAMESPACE)

  • Adds new configuration variable to define the Kubernetes namespace in which REANA runtime components components run. (REANA_RUNTIME_KUBERNETES_NAMESPACE)

  • Adds possibility to specify unpacked container images for running jobs.

  • Adds support for initfiles operational option for the Yadage workflow engine.

  • Fixes memory leak in Bravado client instantiation.

  • Changes CephFS Persistent Volume Claim name. (REANA_SHARED_PVC_NAME)

  • Changes default logging level to INFO.

  • Changes default CVMFS volume list to include LHCb Gaudi related workflows.

  • Changes code formatting to respect black coding style.

  • Changes underlying requirements to use Kubernetes Python library version 11.

  • Changes underlying requirements to use latest CVMFS CSI driver version.

  • Changes documentation to single-page layout.

Version 0.6.1 (2020-05-25)

  • Upgrades Kubernetes Python client.

Version 0.6.0 (2019-12-19)

  • Adds new API for Gitlab integration.

  • Adds new Kubernetes client API for ingresses.

  • Adds new APIs for management of user secrets.

  • Adds EOS storage Kubernetes configuration.

  • Adds HTCondor and Slurm compute backends.

  • Adds support for streaming file uploads.

  • Allows unpacked CVMFS and CMS open data volumes.

  • Adds Serial workflow step name and compute backend.

  • Adds support for Python 3.8.

Version 0.5.0 (2019-04-16)

  • Centralises log level and log format configuration.

  • Adds new utility to inspect the disk usage on a given workspace. (get_workspace_disk_usage)

  • Introduces the module to share Celery tasks accross REANA components. (tasks.py)

  • Introduces common Celery task to determine whether REANA can execute new workflows depending on a set of conditions such as running job count. (reana_ready, check_predefined_conditions, check_running_job_count)

  • Allows the AMQP consumer to be configurable with multiple queues.

  • Introduces new queue for workflow submission. (workflow-submission)

  • Introduces new publisher for workflow submissions. (WorkflowSubmissionPublisher)

  • Centralises Kubernetes API client configuration and initialisation.

  • Adds Kubernetes specific configuration for CVMFS volumes as utils.

  • Introduces a new method, copy_openapi_specs, to automatically move validated OpenAPI specifications from components to REANA Commons openapi_specifications directory.

  • Centralises interactive session types.

  • Introduces central REANA errors through the errors.py module.

  • Skips SSL verification for all HTTPS requests performed with the BaseAPIClient.

Version 0.4.0 (2018-11-06)

  • Aggregates OpenAPI specifications of REANA components.

  • Improves AMQP re-connection handling. Switches from pika to kombu.

  • Enhances test suite and increases code coverage.

  • Changes license to MIT.

Version 0.3.1 (2018-09-04)

  • Adds parameter expansion and validation utilities for parametrised Serial workflows.

Version 0.3.0 (2018-08-10)

  • Initial public release.

  • Provides basic AMQP pub/sub methods for REANA components.

  • Utilities for caching used in different REANA components.

  • Click formatting helpers.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

reana-commons-0.9.0a14.tar.gz (73.5 kB view details)

Uploaded Source

File details

Details for the file reana-commons-0.9.0a14.tar.gz.

File metadata

  • Download URL: reana-commons-0.9.0a14.tar.gz
  • Upload date:
  • Size: 73.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.13

File hashes

Hashes for reana-commons-0.9.0a14.tar.gz
Algorithm Hash digest
SHA256 b5f51acc118338304526a1e3bed244678f5fe24d153e1ee2d817f5acb32fcb58
MD5 9336f30665d39e5305e9e66b2d5a43e9
BLAKE2b-256 d2443a958ab64650ca071222f4487326d972aa3a438a9ae8c4572ffcc44b9a08

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page