-
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
Updates, HCA feedback #14
Conversation
with regards to changing Is there an example showing how "JSON you give a WDL executor is not typed, just strings", from here, it looks like JSON? If it is set to string, would then stringified JSON be compatible? |
Changing workflow_parameters from a structured record to a raw string with arbitrary format that has to be parsed is a step backwards in interoperability. This increases the friction involved in connecting a WES endpoint to other systems, as it imposes additional free text input/output format munging. And if the practical outcome is "everyone should use stringified JSON" then why make it a string field in the first place? |
Hi @thejmazz and @tetron! Thanks!!!! It looks like the input can be YAML or JSON, and so using an open string allows both cases. @briandoconnor @mckinsel any opinions regarding this field? I'll roll it back for now! |
Hey everybody, thanks for the draft and comments. I believe this suggestion started with my concern that valid values for I don't really feel too strongly about it, but I'm doubtful that there's much of an interoperability difference between an unconstrained string and unconstrained JSON. Also, I see this change from a struct to a string in the proto file, but the swagger json already has |
@mckinsel sounds like a version issue, this PR will add the generated swagger to help avoid this. Sorry! |
} | ||
|
||
// Enumeration of states for a given workflow request | ||
enum state { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is basically just recasting the TES state declaration ( https://github.com/ga4gh/task-execution-schemas/blob/master/task_execution.proto#L355 ) but with a different order for the values ( Initializing = 8; vs INITIALIZING = 2; ) and the string equivalents will be 'Initializing' vs 'INITIALIZING'.
|
||
// OPTIONAL | ||
// A key-value map of arbitrary metadata outside the scope of the workflow_params but useful to track with this workflow request | ||
map<string,string> key_values = 5; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same concept as the TES tags
( https://github.com/ga4gh/task-execution-schemas/blob/master/task_execution.proto#L66 ) but with a different name
// The filesystem protocols supported by this service, currently these may include common | ||
// protocols such as 'http', 'https', 'sftp', 's3', 'gs', 'file', 'synapse', or others as | ||
// supported by this service. | ||
repeated string supported_filesystem_protocols = 3; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should have a discussion about syncing this concept with the one used in TES: https://github.com/ga4gh/task-execution-schemas/blob/master/task_execution.proto#L527
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I created an issue #15
|
||
// To execute a workflow, send a workflow request including all the details needed to begin downloading | ||
// and executing a given workflow. | ||
message workflow_request { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Protobuf style guide suggests camel case for message names ( https://developers.google.com/protocol-buffers/docs/style )
key_values has been renamed to tags thanks @kellrott
Alter readme to reflect change and remove reference to git submodule
Hi Everyone! I removed the work in progress title and am hoping to merge this today! It's mostly cosmetic changes that remove some dead code, improve style, and align with other GA4GH efforts. The repository should be a little easier to work with now (fewer directions, requirements). |
Add requirements txt for installing cwltool Update swagger json to reflect changes
@tetron I like the idea of having a standardized input JSON regardless of underlying execution system. But for right now, given that both Cromwell and CWLtool use different JSON param formats it means anyone implementing WES will need to translate from WES to the execution-specific format. It seems like we should be able to, as a community, come up with a common JSON parameterization format for CWL and WDL. Do you think that's possible? If we had that, and it happened to be the same format as the WES param JSON that would be the best case scenario. |
@david4096 do you have this swagger hosted somewhere? Would be great to look at this API through that interface |
Some feedback @david4096 :
I think that's it. Need responses on these ASAP since we want to cut a release soon to have something stable to share with the larger Commons effort. I think you're really close though! Thanks David and everyone else that's worked hard to push this forward!! |
Thanks @briandoconnor I'll incorporate what I can from your comments and push the rest out to issues! |
The ServiceInfo endpoint returns default values for each settable parameter in WorkflowRequest.
Hi everyone! I updated the OpenAPI description here to include @briandoconnor's comments. Thanks! |
Cool @david4096 ! I'll take a look when I get home tonight and merge |
FYI I left the workflow_params as a struct, which is a |
Meant to clean up the repo and make some schema changes to accommodate recent feedback from Marcus at HCA.
Work in progress