microsoft / CromwellOnAzure

Microsoft Genomics implementation of the Broad Institute's Cromwell workflow engine on Azure

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Deployer code improvements

BMurri opened this issue · comments

Describe the bug
There are multiple inconsistencies in "List" API usages (leading to inconsistent ability for the deployer to find the results it's looking for.
There are also multiple places where deployment cancellation due to failures can stall out, delaying the error reporting as well as permitting more parallel deployment activities to continue.

These two issues are found in both CoA and TES deployers.

Steps to Reproduce
Use an account with access to a lot of subscriptions with a lot of resources already deployed.

Expected behavior
Existing resources are found rather than not found, resulting in either duplicate resource creation (possibly leading to disconnects or failures later in connectivity) or failures in the deployment due to not finding the existing specified resource.

Code dependencies
Will this require code changes in:

  • CoA: yes (deployer code only)
  • TES: yes (deployer, CommonUtilities, TesApi.Web, TesApi.Test)
  • Build pipeline: no
  • Integration tests: no

Additional context
Code was written and is in the TES service that ameliorates the issues with list apis not always returning all the needed data using a consistent pattern that can be checked for and it eliminates having to learn all the different API styles for paged lists in the azure sdks. It should be made available to be used in both repositories (ideally by placing it in the CommonUtilities project).