Feature #8470

Updated by Tom Clegg almost 5 years ago

Currently, the API satisfies a Container Request by copying its attributes into a new Container.

However, a Container record is meant to specify a container unambiguously, while a Container Request describes a set of acceptable Containers (e.g., "between 1 and 2 GB of RAM") and uses identifiers like UUIDs and git branch names, which resolve to different values at different times.

New behavior:
* If @cr.container_image@ is not already a collection PDH, resolve it (as a docker tag or a collection UUID) to a PDH. Use the resulting PDH as the container_image for the new Container.
* If any entries in @cr.mounts@ specify collection UUIDs, look them up and specify them as PDH instead in the new Container.
* If any entries in runtime_constraints specify ranges (e.g., @"vcpus":[2,null]@ signifying "at least two cores"), use the minimum (@2@ in this case) as the value for the corresponding key in the new Container's runtime_constraints.