X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/aedb012c8f4c6c08820df412019440954e398048..fea486f94bb5cc8f51d9563eafc172b6ba2aec57:/sdk/cwl/arvados_cwl/arv-cwl-schema.yml diff --git a/sdk/cwl/arvados_cwl/arv-cwl-schema.yml b/sdk/cwl/arvados_cwl/arv-cwl-schema.yml index 44b1b06a1a..4e48216f32 100644 --- a/sdk/cwl/arvados_cwl/arv-cwl-schema.yml +++ b/sdk/cwl/arvados_cwl/arv-cwl-schema.yml @@ -1,7 +1,32 @@ $base: "http://arvados.org/cwl#" +$namespaces: + cwl: "https://w3id.org/cwl/cwl#" + cwltool: "http://commonwl.org/cwltool#" $graph: +- $import: https://w3id.org/cwl/CommonWorkflowLanguage.yml + +- name: cwltool:LoadListingRequirement + type: record + extends: cwl:ProcessRequirement + inVocab: false + fields: + class: + type: string + doc: "Always 'LoadListingRequirement'" + jsonldPredicate: + "_id": "@type" + "_type": "@vocab" + loadListing: + type: + - "null" + - type: enum + name: LoadListingEnum + symbols: [no_listing, shallow_listing, deep_listing] + - name: RunInSingleContainer type: record + extends: cwl:ProcessRequirement + inVocab: false doc: | Indicates that a subworkflow should run in a single container and not be scheduled as separate steps. @@ -13,8 +38,33 @@ $graph: _id: "@type" _type: "@vocab" +- name: OutputDirType + type: enum + symbols: + - local_output_dir + - keep_output_dir + doc: + - | + local_output_dir: Use regular file system local to the compute node. + There must be sufficient local scratch space to store entire output; + specify this with `outdirMin` of `ResourceRequirement`. Files are + batch uploaded to Keep when the process completes. Most compatible, but + upload step can be time consuming for very large files. + - | + keep_output_dir: Use writable Keep mount. Files are streamed to Keep as + they are written. Does not consume local scratch space, but does consume + RAM for output buffers (up to 192 MiB per file simultaneously open for + writing.) Best suited to processes which produce sequential output of + large files (non-sequential writes may produced fragmented file + manifests). Supports regular files and directories, does not support + special files such as symlinks, hard links, named pipes, named sockets, + or device nodes. + + - name: RuntimeConstraints type: record + extends: cwl:ProcessRequirement + inVocab: false doc: | Set Arvados-specific runtime hints. fields: @@ -31,9 +81,28 @@ $graph: MiB. Increase this to reduce cache thrashing in situations such as accessing multiple large (64+ MiB) files at the same time, or performing random access on a large file. + - name: outputDirType + type: OutputDirType? + doc: | + Preferred backing store for output staging. If not specified, the + system may choose which one to use. + +- name: PartitionRequirement + type: record + extends: cwl:ProcessRequirement + inVocab: false + doc: | + Select preferred compute partitions on which to run jobs. + fields: + - name: partition + type: + - string + - string[] - name: APIRequirement type: record + extends: cwl:ProcessRequirement + inVocab: false doc: | Indicates that process wants to access to the Arvados API. Will be granted limited network access and have ARVADOS_API_HOST and ARVADOS_API_TOKEN set