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

cinder-csi-plugin does not have options for leader election #702

Closed
bgagnon opened this issue Jul 18, 2019 · 24 comments · Fixed by #1638
Closed

cinder-csi-plugin does not have options for leader election #702

bgagnon opened this issue Jul 18, 2019 · 24 comments · Fixed by #1638
Assignees
Labels
kind/feature Categorizes issue or PR as related to a new feature.

Comments

@bgagnon
Copy link

bgagnon commented Jul 18, 2019

Of all the containers in the pod template of the csi-cinder-controllerplugin StatefulSet, docker.io/k8scloudprovider/cinder-csi-plugin is the only one that does not appear to have options for leader election.

Isn't this a requirement to run in HA with a multi-replica Deployment?

@jichenjc
Copy link
Contributor

jichenjc commented Aug 1, 2019

/assign
I am not expert, but I can take a look, if I will not able to fix it, I will unassign myself :)

@adisky
Copy link
Contributor

adisky commented Aug 7, 2019

/kind feature

@k8s-ci-robot k8s-ci-robot added the kind/feature Categorizes issue or PR as related to a new feature. label Aug 7, 2019
@jichenjc
Copy link
Contributor

jichenjc commented Sep 5, 2019

ok, I mostly figured this out, will submit a PR soon..

@jichenjc
Copy link
Contributor

jichenjc commented Sep 9, 2019

@adisky it shows to me that we are using RPC server here, while some other containers like external-provisioner is using controller, my search shows the leader election only applied to controller, so do we have any comments on whether we still can use leader election here?

@bgagnon
Copy link
Author

bgagnon commented Sep 17, 2019

@jichenjc if leader election is not necessary for this particular container, then the StatefulSet with replicas=1 should be replaced with a Deployment with appropriate leader election flags on the containers that support it.

The comments in the docs suggest that the StatefulSet is being used precisely to avoid having more than one pod at all times... this led me to believe that leader election is not yet supported.

@jichenjc
Copy link
Contributor

ok, I will take another look at this and paste some comments if I have . thanks for the info~ @bgagnon

@jichenjc
Copy link
Contributor

just for record, I think using CSI-lib https://github.com/kubernetes-csi/csi-lib-utils will be a good choice to include leader election stuff as manila CSI did, then in turn encounter some issue and need fix kubernetes-csi/csi-lib-utils#32 first

@fejta-bot
Copy link

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.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Dec 24, 2019
@bgagnon
Copy link
Author

bgagnon commented Jan 8, 2020

@jichenjc any updates on this issue?

@davidovich
Copy link

/remove-lifecycle stale

@k8s-ci-robot k8s-ci-robot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jan 9, 2020
@jichenjc jichenjc removed their assignment Jan 10, 2020
@jichenjc
Copy link
Contributor

sorry, busy in other stuffs recently, I unassign myself and will continue to work on it later if someone is not going to work on it

@fejta-bot
Copy link

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.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Apr 9, 2020
@ramineni
Copy link
Contributor

ramineni commented Apr 9, 2020

/remove-lifecycle stale

@k8s-ci-robot k8s-ci-robot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Apr 9, 2020
@fejta-bot
Copy link

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.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jul 8, 2020
@ramineni
Copy link
Contributor

ramineni commented Jul 9, 2020

/remove-lifecycle stale

@k8s-ci-robot k8s-ci-robot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jul 9, 2020
@ramineni
Copy link
Contributor

/assign

@fejta-bot
Copy link

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.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Nov 23, 2020
@ramineni
Copy link
Contributor

/remove-lifecycle stale

@k8s-ci-robot k8s-ci-robot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Nov 23, 2020
@fejta-bot
Copy link

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.

Send feedback to sig-contributor-experience at kubernetes/community.
/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Feb 21, 2021
@ramineni
Copy link
Contributor

ramineni commented Mar 8, 2021

/remove-lifecycle stale

@k8s-ci-robot k8s-ci-robot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Mar 8, 2021
@fejta-bot
Copy link

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.

Send feedback to sig-contributor-experience at kubernetes/community.
/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jun 6, 2021
@fejta-bot
Copy link

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.

Send feedback to sig-contributor-experience at kubernetes/community.
/lifecycle rotten

@k8s-ci-robot k8s-ci-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 Jul 6, 2021
@ramineni
Copy link
Contributor

ramineni commented Jul 6, 2021

/remove-lifecycle rotten

@k8s-ci-robot k8s-ci-robot removed the lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. label Jul 6, 2021
@m-yosefpor
Copy link
Contributor

I don't understand why do we need to add leader election flag to driver. Leader election (lease) in case of csi are only for controllers to avoid race condition when watching/updating resources on api server. However csi driver act only as a gRPC server and which serves requests by other csi controllers (the ones that already support leader election). Only the one controller which is leader calls its side-car driver.

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.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants