microsoft / ga4gh-tes

C# implementation of the GA4GH TES API; provides distributed batch task execution on Microsoft Azure

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[#627 expired SAS tokens] Call the runner directly from the task command-line

BMurri opened this issue · comments

Problem:
Before we had a runner binary, we had to do all sorts of things to manipulate the compute node and files on it to run the task's command-line and upload trace and metrics files, including scrubbing the compute nodes before the next task started, all to avert several issues with the way that azure batch handles resource files, container images, and tasks.

Now that we have the runner, which has already taken on the most major of those responsibilities, it is time to give it the rest of them and eliminate the batch script file (and thus the requirement we have on bash) entirely.

Solution:

  1. Remove src/TesApi.Web/scripts/clean-executor.sh, src/TesApi.Web/scripts/task-run.sh, & src/TesApi.Web/BatchNodeScriptBuilder.cs.
  2. Incorporate still-relevant activities from the eliminated code into the runner itself (making use of the task json as appropriate, if needed). That list is TBD, but should include uploading the metrics.txt and the stderr.txt & stdout.txt files from batch before exiting, even when failures have occurred.