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

[EPIC] Pipeline CRD results are stored to a Result Store via Result Store API #453

Closed
tejal29 opened this issue Jan 30, 2019 · 1 comment
Labels
Epic Issues that should be considered as Epics (aka multiple sub-tasks, …)

Comments

@tejal29
Copy link
Contributor

tejal29 commented Jan 30, 2019

Expected Behavior

Results for Tasks and Pipeline Runs are stored and available later.

Structured Result Stores are places to upload the results of each Knative Build.
A Knative Build can be a result of TaskRun. The TaskRun Controller will be responsible to upload, update and fetch the results for a Build to and from the Result Store.

Types of Results

In Pipeline CRD, results will be produced by a

  • TaskRun and
  • PipelineRun.

Structured Result Store API Requirements

Required Requirements
  • Upload to the result stores
  • A task should be able to upload to result store for every result produced during its execution
  • Download a specific Result.
    API should support downloading a specific Result.
  • Update a result in a result store.
  • For complex multi-task pipeline we would want to update the
    PipelineRunResult as TaskRuns complete. This will prevent Controllers from holding onto too much state for a Pipeline.

Additional Requirements

  • List results for a given TaskRun.
  • Structured Result Store API should be able to provide a list of results produced during a task run.
  • Download StepLog for a specific step in a Task Run.
  • Each Step in a TaskRun is container run. The KBuild container run logs should be mapped to each step. That way, we can effectively stream logs to the presentation layer.
    For this, we will have to work with BuildCrd group.
  • Support different types of Result.
  • PipelineCRD itself defines resources. Some of the resources like Image themselves can be results of Tasks. Other examples are Junit-test results, Binary Blob.
  • The API, can support querying different ResultType.

Actual Behavior

Right now, the logs and results for a pipeline and task runs are available in cluster as Pod Run State.
These get garbage collected as pods get deleted.
Result Store aims to provide persistence storage for all the logs and run state for pipeline and tasks.

@bobcatfish
Copy link
Collaborator

I think this issue has more info than #454 but we seem to have moved our work over to #454 so I'm going to close this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Epic Issues that should be considered as Epics (aka multiple sub-tasks, …)
Projects
None yet
Development

No branches or pull requests

2 participants