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

Allow workspaces use any volume type #2272

Closed
dbazhal opened this issue Mar 24, 2020 · 16 comments
Closed

Allow workspaces use any volume type #2272

dbazhal opened this issue Mar 24, 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

@dbazhal
Copy link

dbazhal commented Mar 24, 2020

Expected Behavior

I expect to be able to set up workspaces on any volume kind, not only pvc/emptydir/cm/secret.
Workspace spec body is very similar to VolumeV1Core(https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.11/#volume-v1-core), so it seems natural to expect that workspace can use any kind of volume.

Actual Behavior

When I try to use cheapest volumes in kubernetes(flexVolume), I get an error:

Message

binding "custom" is invalid: expected exactly one, got neither: workspace.configmap, workspace.emptydir, workspace.persistentvolumeclaim, workspace.secret

Steps to Reproduce the Problem

apiVersion: tekton.dev/v1beta1
kind: TaskRun
metadata:
  name: test1
spec:
  workspaces:
    - name: custom
      flexVolume:
        driver: ceph.rook.io/rook
        fsType: ceph
        options:
          fsName: myfs # name of the filesystem specified in the filesystem CRD.
          clusterNamespace: rook-ceph # namespace where the Rook cluster is deployed
      subPath: my-subdir

Additional Info

  • Kubernetes version: 1.11
  • Tekton Pipeline version: 0.11.0
@vdemeester
Copy link
Member

/kind feature

/cc @sbwsg

@tekton-robot tekton-robot added the kind/feature Categorizes issue or PR as related to a new feature. label Mar 24, 2020
@bobcatfish
Copy link
Collaborator

Hey @dbazhal ! Thanks for opening this! When we created workspaces we kept going back and forth on whether or not to allow all volume types - finally we settled on limiting it but we'll happily add any volume types you need. If flexVolume the only type you know you need or are there others?

@dbazhal
Copy link
Author

dbazhal commented Apr 1, 2020

Hi @bobcatfish
For us currently flex volumes would be number one priority.
We want to use pipeline workspaces for preserving context between tasks.
But we have no storage. So we've tried simplest storage for our case - rook, and it happens that rook supports ManyReadWrite volumes only on cephfs.
But we're on openshift origin(okd) 3.11, that means we can't update to kubernetes higher than 1.11 in short term.
And that means we can't use required volumes with pvc's.

@dbazhal
Copy link
Author

dbazhal commented Apr 1, 2020

For tekton pipelines as product I don't think it would be really big feature to add support only for flexVolumes.
So I think, if it is not too complicated, allowing any volume kind would be most valuable feature.
But if it is complicated, we'd be glad to see support just for flexVolumes

@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

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

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/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. labels Aug 13, 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.

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

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

@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 reopened this Aug 17, 2020
@tekton-robot tekton-robot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Aug 17, 2020
@skaegi
Copy link
Contributor

skaegi commented Sep 30, 2020

In this case you could create a flexvolume PV/PVC first and then bind to it in the PipelineRun. You might alternately use a volumeClaimTemplate to do the creation dynamically if supported.

@dbazhal
Copy link
Author

dbazhal commented Sep 30, 2020

yeah, we do exactly like that. so pipeline for each service starts with "create-pvc" task run, then continues with "run-task-or-pipeline-with-pvc-bound-workspace" task runs. that is kinda uncomfortable :D

@ghost ghost mentioned this issue Oct 22, 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 Dec 29, 2020
@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 Jan 28, 2021
@tekton-robot
Copy link
Collaborator

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen with a justification.
Mark the issue as fresh with /remove-lifecycle rotten with a justification.
If this issue should be exempted, mark the issue as frozen with /lifecycle frozen with a justification.

/close

Send feedback to tektoncd/plumbing.

@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 with a justification.
Mark the issue as fresh with /remove-lifecycle rotten with a justification.
If this issue should be exempted, mark the issue as frozen with /lifecycle frozen with a justification.

/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.

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

5 participants