-
Notifications
You must be signed in to change notification settings - Fork 38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
More granular supported_filesystem_protocols
in service info
#44
Comments
All http for Basel |
@briandoconnor should we remove the |
Revisiting this.... I propose something along the lines of the following: add the The WES service doesn't need to describe the full mechanics as to how and where it uses the supported schemes, but it should offer a guarantee that run requests that include allowable combinations of those schemes will succeed (or at least not cause an error). ServiceInfo:
type: object
properties:
supported_schemes:
$ref: '#/definitions/SupportedSchemes'
...
SupportedSchemes:
type: object
properties:
workflow_url:
description: >-
The URL schemes (protocols) supported by this service to access or
retrieve the main descriptor/document for a workflow. These are most
likely to be 'https' (GitHub) or 'file' (in cases when the
'workflow_attachment' is used to upload descriptors), but others
are possible.
type: array
items:
type: string
workflow_param:
description: >-
The URL schemes (protocols) supported by this service to access or
retrieve objects specified in the workflow parameters. Currently
these may include common protocols using the terms 'http', 'https',
'sftp', 's3', 'gs', 'file', or 'synapse', but others are possible
and the terms beyond these core protocols are currently not fixed.
Note that the 'drs' scheme indicates that this service can use the
Data Repository Service (DRS) API to resolve a DRS URI to one of
several different URL types, includinding (but not limited to) the
examples above.
type: array
items:
type: string
workflow_logs:
description: >-
The URL schemes (protocols) used by this service to store and
provide access to workflow log files (e.g., stdout, stderr). These
may include common protocols using the terms 'http', 'https',
'sftp', 's3', 'gs', but others are possible. Will work on a PR soon, but happy to get other thoughts on this. |
+1 @jaeddy A WES service may report that they are not able to access |
Currently this is just an array:
However, the WES server might (is likely to?) support different protocols than the environment where individual tasks are executed. For example, the Broad Cromwell WES we used for the Toronto Testbed Demo was set up on an EC2 instance and could receive workflow contents (descriptors, parameters) via http; however, tasks were run via PAPI and thus required inputs/outputs as GS bucket URLs. For v1.0 of the spec, we're also proposing to store workflow and task logs at accessible (to the client) URLs, and so some protocol hint might be useful for those as well.
I'm thinking we could change this property to an object with keys indicating supported protocols for workflows, tasks, and logs, respectively:
This might still be an oversimplification (e.g., if a WES endpoint supports multiple task execution backends, then each might support a different fs protocol...) — but it would at least provide an initial barrier to prevent a client from submitting incompatible jobs.
The text was updated successfully, but these errors were encountered: