Feature #16316
Updated by Peter Amstutz about 2 years ago
Implement a version of "select_resources":https://github.com/common-workflow-language/cwltool/blob/72e4ffb7814ec846c12ec15df82a4243654fe053/cwltool/executors.py#L286 for Arvados.
You can get a dictionary of instance types with this:
@api.config()["InstanceTypes"]@
The select_resources method should, at minimum, accept a range of range of CPU core values (e.g. coresMin: 4, coresMax: 16) and then check the available InstanceTypes and assign the greatest core count available. For example, if the system is only configured with 2, 4, and 8 core nodes, it should assign 8 cores since it is in the range (4 - 16).
RAM and disk can also have a range. Just return the minimum value for now (this is the existing behavior).
Tell cwltool to use your @select_resources@ method by setting the object field @runtimeContext.select_resources@.