Skip to content
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

Spec compliance for run/task logs #128

Open
uniqueg opened this issue Nov 1, 2019 · 1 comment
Open

Spec compliance for run/task logs #128

uniqueg opened this issue Nov 1, 2019 · 1 comment
Assignees
Labels
priority: high High priority status: in progress Currently being worked on type flag: required by specs Compliance with specs requires this change type: maintenance Related to general repository maintenance workload: days Likely takes days to resolve

Comments

@uniqueg
Copy link
Member

uniqueg commented Nov 1, 2019

Is your feature request related to a problem? Please describe.
Tthe WES v1.0.0 specs define a model Log with properties that should be included in the run and task logs of responses to GET /runs/{run_id}:

  Log:
    type: object
    properties:
      name:
        type: string
        description: The task or workflow name
      cmd:
        type: array
        items:
          type: string
        description: The command line that was executed
      start_time:
        type: string
        description: When the command started executing, in ISO 8601 format "%Y-%m-%dT%H:%M:%SZ"
      end_time:
        type: string
        description: When the command stopped executing (completed, failed, or cancelled), in ISO 8601 format "%Y-%m-%dT%H:%M:%SZ"
      stdout:
        type: string
        description: >-
          A URL to retrieve standard output logs of the workflow run or
          task.  This URL may change between status requests, or may
          not be available until the task or workflow has finished
          execution.  Should be available using the same credentials
          used to access the WES endpoint.
      stderr:
        type: string
        description: >-
          A URL to retrieve standard error logs of the workflow run or
          task.  This URL may change between status requests, or may
          not be available until the task or workflow has finished
          execution.  Should be available using the same credentials
          used to access the WES endpoint.
      exit_code:
        type: integer
        format: int32
        description: Exit code of the program
    description: Log and other info

The response model for GET /runs/{run_id} is defined as:

  RunLog:
    type: object
    properties:
      run_id:
        type: string
        description: workflow run ID
      request:
        $ref: '#/definitions/RunRequest'
        description: The original request message used to initiate this execution.
      state:
        $ref: '#/definitions/State'
        description: The state of the run e.g. RUNNING (see State)
      run_log:
        $ref: '#/definitions/Log'
        description: The logs, and other key info like timing and exit code, for the overall run of this workflow.
      task_logs:
        type: array
        items:
          $ref: '#/definitions/Log'
        description: The logs, and other key info like timing and exit code, for each step in the workflow run.
      outputs:
        type: object
        description: The outputs from the workflow run.

Currently, neither the run_log nor the task_logs properties adhere to the model in the specs.

Describe the solution you'd like
Implementation according to the specs should be fairly straight-forward. However, consider also #127 for stdout/stderr.

Describe alternatives you've considered
N/A

Additional context
N/A

@uniqueg uniqueg added priority: high High priority status: in progress Currently being worked on type flag: required by specs Compliance with specs requires this change type: maintenance Related to general repository maintenance workload: days Likely takes days to resolve labels Apr 20, 2020
@uniqueg uniqueg self-assigned this Apr 20, 2020
@uniqueg
Copy link
Member Author

uniqueg commented Apr 20, 2020

Started implementation together with #127

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
priority: high High priority status: in progress Currently being worked on type flag: required by specs Compliance with specs requires this change type: maintenance Related to general repository maintenance workload: days Likely takes days to resolve
Projects
None yet
Development

No branches or pull requests

1 participant