Cromwell on Google Batch API - released May 19

Beth Sheets

As of May 19, 2025, Cromwell uses Google Batch as it default API. Users can optionally move back to the Lifesciences API using Workspace Settings. We are removing support for Lifesciences in Terra on June 23rd.

What we're solving

Our WDL execution engine, Cromwell, currently leverages the Cloud Life Sciences API when launching workflows in Terra. Google is replacing Cloud Life Sciences with a next-generation API named GCP Batch (learn more).  We have been updating Cromwell to work with the new API and are now testing it in Terra. 

Migrating to Batch keeps Cromwell and Terra current with the latest improvements from GCP. We will release Cromwell on Google Batch iteratively, leveraging feedback from our community on the most important use cases.

Current known changes to the user experience

  • To find the persistent disk size for a workflow job, use the gcloud CLI command below. You can find the {job_name} from Google's compute details page under "Job Name", and {workspace_google_project} from the cloud information section of the dashboard of your workspace.

    gcloud batch jobs describe projects/{workspace_google_project}/locations/us-central1/jobs/{job_name}
  • To find where your job VM ran, check "Allowed locations" at the bottom of the Job Details screen.
  • We are actively working on improving the troubleshooting journey, including easier to find and understand error messages.
  • Google Batch’s troubleshooting documentation is a great resource for interpreting error codes (e.g. Batch Error 50001 is a VM preemption). Note: These are analogous to the PAPI error codes that you may be familiar with.
  • For jobs run on Batch, clicking the compute details icon in Job Manager will now open the job details in the Google Batch Jobs UI in a new tab (compared to LifeSciences jobs, which opens a pop-up with the details in Job Manager itself).
  • Previously, we reported that WDLs that reference /cromwell_root are incompatible with Google Batch. We now provide a symlink so that WDLs with this logic will work with Cromwell on Batch.
  • Google Batch API only supports specifying a single region or multiple zones from same region for a job. If a WDL specifies multiple regions or zones from different regions in zones runtime attribute, the task would fail with below error. To resolve this, ensure that the WDL specifies either a single region or zones all belonging to same region.

    io.grpc.StatusRuntimeException: INVALID_ARGUMENT: allocation_policy field is invalid. all specified locations end up in more than one regions

If you would like to go back to Lifesciences API

1. Go to the workspace where you would like to turn on the Lifesciences API.

2. In the upper right-hand corner of the workspace, click Settings, and Workspace Settings will pop up.

3. Next to Run Workflows on GCP Batch slide the toggle to grey and click Save at the bottom right.

Screenshot 2025-03-27 at 3.31.29 PM.png

How to give us feedback

If you experience any issues or have feedback, please submit a support ticket by emailing support@terra.bio and including “Cromwell on Batch API” in the title.

Comments

1 comment

  • Comment author
    Michael Baumann

    Happy for this change, as it should enable additional, newer GPU types to be supported in Terra Workflows!

    0

Please sign in to leave a comment.