broadinstitute / cromwell

Scientific workflow engine designed for simplicity & scalability. Trivially transition between one off use cases to massive scale production environments
http://cromwell.readthedocs.io/
BSD 3-Clause "New" or "Revised" License
996 stars 361 forks source link

REST API access to stdout and stderr files #2928

Open antonkulaga opened 6 years ago

antonkulaga commented 6 years ago

Currently when I ask for metadata or for logs, I get something like:

{
  "calls": {
    "annotate_de_novo.transdecoder": [
      {
        "stderr": "/pipelines/cromwell_1/cromwell-executions/annotate_de_novo/e64a866e-d5c1-4779-8f9d-75457f22f43e/call-transdecoder/execution/stderr",
        "stdout": "/pipelines/cromwell_1/cromwell-executions/annotate_de_novo/e64a866e-d5c1-4779-8f9d-75457f22f43e/call-transdecoder/execution/stdout",
        "attempt": 1,
        "shardIndex": -1
      }
    ]
  },
  "id": "e64a866e-d5c1-4779-8f9d-75457f22f43e"
}

All the details about what really happened (stderr and stdout of the tools that failed) are not accessible via REST API and I have to ssh to the server to read those files. What can be useful is to have a way to get stdout/stderr content for each call with Cromwell REST API, that can save a lot of time on ssh-ing.

kbergin commented 6 years ago

This could potentially be useful for job manager as well, +1 to this

geoffjentry commented 5 years ago

I agree that this would be a very good idea. That said it is unlikely to happen in the near future.

@antonkulaga If this is something you've managed to work around, can you let us know what you did? The more we can spec this out the more likely it is to happen.

jb-adams commented 2 years ago

Any chance this has been worked on? I would also like to +1 this. I'm working on a setup in which it's not always possible to SSH into the VM where Cromwell is running, so the only option would be to get the logs over REST API.