microsoft / CromwellOnAzure

Microsoft Genomics implementation of the Broad Institute's Cromwell workflow engine on Azure
MIT License
134 stars 55 forks source link

Add support for GCP specific runtime attributes #305

Open olesya13 opened 3 years ago

olesya13 commented 3 years ago

Below is a list of the attributes we've seen in GCP specific wdl scripts so far, and changes we have to make:

  1. GCP attribute - _disks: "local-disk ~{disksize} HDD" GCP description - volumes that will be mounted to the VM for your job Azure attribute - _disk: "~{disksize} GB"
  2. GCP attribute - preemptible: 3 GCP description -  maximum number of times Cromwell should request a preemptible machine for this task before defaulting back to a non-preemptible one Azure attribute - preemptible: true
    maxRetries: 3
    Comment - on Azure preemptible has type bool, and we add maxRetries to keep retry functionality, but we still do not have the same functionality as Google has - if workflow fails after 3 retries on low-pri VM there will be no switch to dedicated VM. Is it possible to replicate GCP functionality?
  3. GCP attribute - zones: "us-central1-c us-central1-b" GCP description - ordered list of zone preference  Azure attribute - n/a (not supported) Comment - zones is in tesResources properties in TES API, do we want to support it?
  4. GCP attribute - bootDiskSizeGb: "15" GCP description - the disk where the docker image itself is booted. Its primary purpose is to ensure that larger docker images can fit on the boot disk. Azure attribute - n/a (not supported)

The first two attributes (disks and preemptible) are very important. When these two are supported we won't need to modify wdl scripts.

BMurri commented 3 years ago

Feature request: Attach the disk of specified size to Batch VM looks very much like 1. above.

olesya13 commented 3 years ago

@BMurri it's more like a part of item 1. We discussed it with @MattMcL4475 yesterday, and we think we can split work into 2 stages:

  1. Add support for disks and preemptible similar to changes we do for Azure. For example, CoA will accept original GCP wdl scripts, get disk size from disks attribute and assign the value to requiredDiskSizeInGB. The goal is to run original GCP wdl scripts on Azure with no modification.
  2. Support disk mount (issue linked above) and switch to dedicated.

Support for zones and bootDiskSizeGb is still an open question.

olesya13 commented 2 years ago

Subtasks

439

440

447

448

529

ngambani commented 9 months ago

@olesya13 @BMurri this looks like a long pending issue open since 2021, are we actively working on this or can this be closed?

BMurri commented 9 months ago

@ngambani There's one remaining part (#305) and that is waiting on Cromwell to add the TES 1.1 support for PREEMPTED before we can complete this. I recall that issue on their side being opened, but I don't recall any identifier for it.