Story #9397

Updated by Peter Amstutz over 3 years ago

This is needed to support the CWL InitialWorkDirRequirement which is needed for -full CWL compliance- Crunch1 feature parity.

Design:

# We want to support entries in "mounts" which are targeted inside the output directory.
# In crunchrun.go SetupMounts(), sort the keys in "runner.Container.Mounts" so that they are processed in order. This is so that the volume bind for the output directory is listed before any binds for files within the output directory
# The inconsistency between the crunch-run and the spec noted in #note-10 needs to be fixed to follow the spec
# In crunchrun.go CaptureOutput(), after getting @manifestText@, go through runner.Container.Mounts and search for mounts that begin with runner.Container.OutputPath.
# For each file or directory that was mounted inside the output directory, add it to @manifestText@.

The last one may be the most complicated part of the ticket just due to the fact that there is much less infrastructure for manipulating collections in Go than compared to the Python SDK.

Back