Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Consonance is an orchestration tool for running Common Workflow Language tools.
It allows you to schedule a set of 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.
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