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

Add workspaces support for the config-artifact-pvc configmap #2330

Closed
ghost opened this issue Apr 5, 2020 · 16 comments
Closed

Add workspaces support for the config-artifact-pvc configmap #2330

ghost opened this issue Apr 5, 2020 · 16 comments
Labels
kind/feature Categorizes issue or PR as related to a new feature. lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed.

Comments

@ghost
Copy link

ghost commented Apr 5, 2020

Expected Behavior

PipelineResources currently use a PVC (or bucket) configured using the config-artifact-pvc configmap to quietly store data when it's shared between tasks. This uses an internal package called artifact_storage that silently mounts the PVC or syncs to a GCS bucket and uses that to transfer files from one task to the next. We'd like to replicate similar behaviour but have it available for the more general purpose workspaces implementation that pipelines now has.

This issue is for discussion of whether we want to support this same mechanism for controlling storage with Workspaces. The simplest, easiest UX might be for workspaces to just automatically support the configmap and "just work" when the user specifies a "legacyArtifactPVC" workspace, something like this:

# in a pipelinerun
spec:
  workspaces:
  - name: code-workspace
    legacyArtifactStorage: {}

Actual Behavior

Workspaces don't currently know about the config-artifact-pvc configmap and each workspace needs its volume to be completely specified as part of the Run it's bound in.

Additional Info

See the Workspaces volumeClaimTemplate issue for another approach to this problem. We may want both that and this, though this is also fair game for discussion here.

@vdemeester
Copy link
Member

/kind feature

@tekton-robot tekton-robot added the kind/feature Categorizes issue or PR as related to a new feature. label Apr 6, 2020
@jlpettersson
Copy link
Member

I am trying to understand / get a clear use case here.

PipelineResources currently use a PVC (or bucket) configured using the config-artifact-pvc configmap to quietly store data when it's shared between tasks.

Here it sounds like the use case is for handling cached dependencies/artifiacts. Or is the use case for using a workspace to pass files between tasks without a PVC?

This uses an internal package called artifact_storage that silently mounts the PVC or syncs to a GCS bucket and uses that to transfer files from one task to the next.

Here it sounds like a use case requiring both GCS bucket and a PVC. The use case could also be to use GCS bucket in the pipeline - have a task that syncs data from bucket to an existing workspace in the task/pipeline, and also a task for uploading data?

@ghost
Copy link
Author

ghost commented Apr 17, 2020

Ah, apologies, I see where the confusion comes from. The intended use case is passing files between Tasks in a Pipeline. PipelineResources have this existing behaviour: an output resource in Task A of a Pipeline can be "linked" to an input resource of Task B in the same Pipeline and the files of the PipelineResource will "magically" be copied between the Tasks when the PipelineRun executes. A PVC or a GCS bucket is used as the medium by which the files are transferred between the Tasks in the Pipeline. The configuration for the PVC or GCS bucket is stored in the config-artifact-pvc ConfigMap in the tekton-pipelines namespaces.

This issue exists to discuss whether we provide support in Workspaces for the existing config-artifact-pvc to help users transition from PipelineResources to Workspaces. The YAML for a workspace using this legacy copy system might look like this:

# in a pipelinerun
spec:
  workspaces:
  - name: code-workspace
    legacyArtifactStorage: {}

On seeing this workspace the reconciler could run the same code path as it would were it "linking" PipelineResources, and copy files through that medium.

@tekton-robot
Copy link
Collaborator

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.

/lifecycle stale

Send feedback to tektoncd/plumbing.

@tekton-robot
Copy link
Collaborator

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.
If this issue is safe to close now please do so with /close.

/lifecycle rotten

Send feedback to tektoncd/plumbing.

@tekton-robot
Copy link
Collaborator

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.

/close

Send feedback to tektoncd/plumbing.

@tekton-robot tekton-robot added lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. labels Aug 14, 2020
@tekton-robot
Copy link
Collaborator

@tekton-robot: Closing this issue.

In response to this:

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.

/close

Send feedback to tektoncd/plumbing.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@vdemeester
Copy link
Member

/remove-lifecycle rotten
/remove-lifecycle stale
/reopen

@tekton-robot tekton-robot reopened this Aug 17, 2020
@tekton-robot
Copy link
Collaborator

@vdemeester: Reopened this issue.

In response to this:

/remove-lifecycle rotten
/remove-lifecycle stale
/reopen

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@tekton-robot tekton-robot removed lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Aug 17, 2020
@tekton-robot
Copy link
Collaborator

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.

/lifecycle stale

Send feedback to tektoncd/plumbing.

@tekton-robot tekton-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Nov 15, 2020
@vdemeester
Copy link
Member

/remove-lifecycle stale

@tekton-robot tekton-robot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Nov 16, 2020
@tekton-robot
Copy link
Collaborator

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale with a justification.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close with a justification.
If this issue should be exempted, mark the issue as frozen with /lifecycle frozen with a justification.

/lifecycle stale

Send feedback to tektoncd/plumbing.

@tekton-robot tekton-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Feb 14, 2021
@tekton-robot
Copy link
Collaborator

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten with a justification.
Rotten issues close after an additional 30d of inactivity.
If this issue is safe to close now please do so with /close with a justification.
If this issue should be exempted, mark the issue as frozen with /lifecycle frozen with a justification.

/lifecycle rotten

Send feedback to tektoncd/plumbing.

@tekton-robot tekton-robot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Mar 16, 2021
@ghost
Copy link
Author

ghost commented Mar 16, 2021

I'm going to let this one rot. We've got several designs supporting inter-Task storage going on at the moment which don't rely on the legacy pipeline resources artifact configuration stuff.

@ghost
Copy link
Author

ghost commented Mar 16, 2021

/close

@tekton-robot
Copy link
Collaborator

@sbwsg: Closing this issue.

In response to this:

/close

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature. lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed.
Projects
None yet
Development

No branches or pull requests

3 participants