Home

Brian O'Connor edited this page Jun 17, 2016 · 3 revisions

Consonance

Build Status Coverage Status

Consonance is an orchestration tool for running SeqWare workflows and Common Workflow Language tools.

It allows you to schedule a set of SeqWare ini files or CWL json job orders, spinning up the necessary VMs on AWS, Microsoft Azure, or OpenStack via the Youxia library for provisioning cloud-based VMs, and then tearing them down after all work is complete.

We are currently at work on Consonance 2.0 which supports CWL and allows users to submit a variety of jobs intended for a variety of instance types.

Consonance 1.0 is currently in maintenance mode and has also been integrated into a simplified workflow launcher Pancancer Workflow Launcher for AWS for external users and a more flexible but less well documented Pancancer Workflow Launcher for users internal to OICR.

Components

There are the following main components that are visible to the end-user. Each component usually contains just the unit tests for each component in isolation:

  • consonance-arch: contains the main consonance daemons that handle things like provisioning VMs, running jobs, etc.
  • consonance-client: contains the client classes that will form the basis for the command line client
  • consonance-webservice: containers the webservice which is built as a facade between the client and our daemons
  • consonance-reporting: contains reporting utilities for those running the daemons

There are the following support components:

  • consonance-common: contains classes common to both the client and server (just testing utilities)
  • consonance-server-common: contains classes common to the daemons and the webservice
  • swagger-java-client: contains classes auto-generated by swagger-codegen to support the client
  • consonance-integration-testing: contains integration tests that test the whole system