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
If multiple default StorageClasses exist, pvc request fails #34549
Comments
@saad-ali - any thoughts on this? Do we want to not allow this to happen? |
@kubernetes/sig-storage-misc, shall we update our admission controller to prevent two classes to be marked as default at the same time? |
Sounds reasonable to me |
This is something of scope creep on the admission controller - now it
handles PVCs and StorageClasses. If we do this, make sure to handle Update
properly. This seems to be a backdoor way to get around the "no cross
object validation" pseudo-rule.
@lavalamp any other precedents around "only one" situations?
…On Tue, Jan 10, 2017 at 9:44 AM, Michelle Au ***@***.***> wrote:
Sounds reasonable to me
—
You are receiving this because you are on a team that was mentioned.
Reply to this email directly, view it on GitHub
<#34549 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AFVgVHBUUpcqG0x_I0jcQVJjJL5NzN7Tks5rQ8NrgaJpZM4KTy-A>
.
|
@smarterclayton is working on a proposal to move admission controllers out of process, which we talked about a lot during today's API Machinery SIG. If you really want to provide a guarantee like this, you need some sort of locking mechanism around the check. The naive implementation where the admission controller lists all storageclasses and checks for uniqueness is actually quite broken (I'll leave this as an exercise for the reader), possibly worse than not doing the check at all because other components won't realize they have to handle the case where two get in. I would consider making the controller implementing this thing responsible for demoting one class if it finds two defaults. This is the model that we use for Kubelet to reject a pod if it actually doesn't fit. I'm personally more of a fan of this approach because it means the cluster state is eventually correct. If the only defense against invalid state is an admission control check, then a bug there is potentially disastrous since the system can't self-heal. Of course if there's no bugs then it's probably not a problem... |
My only concern about making it out of process is that it's not as easy to notify the user that they made a mistake. By automatically demoting classes, then the user may not realize that their volume is not using their intended default class since the provisioning will succeed with a different default class. |
yeah, I'd rather continue to error, I think
…On Wed, Jan 18, 2017 at 2:24 PM, Michelle Au ***@***.***> wrote:
My only concern about making it out of process is that it's not as easy to
notify the user that they made a mistake. By automatically demoting
classes, then the user may not realize that their volume is not using their
intended default class since the provisioning will succeed with a different
default class.
—
You are receiving this because you are on a team that was mentioned.
Reply to this email directly, view it on GitHub
<#34549 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AFVgVPJW9_YL9bh8MqOY9Dlvtf_gwJAbks5rTpEQgaJpZM4KTy-A>
.
|
/sig storage |
Issues go stale after 90d of inactivity. Prevent issues from auto-closing with an If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or |
Stale issues rot after 30d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or |
Rotten issues close after 30d of inactivity. Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
/reopen |
@ashishranjan738: You can't reopen an issue/PR unless you authored it or you are a collaborator. In response to this:
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. |
/reopen |
@j-griffith: Reopened this issue. In response to this:
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. |
Rotten issues close after 30d of inactivity. Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
@fejta-bot: Closing this issue. In response to this:
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. |
/remove-lifecycle rotten |
/reopen |
@screeley44: This issue is currently awaiting triage. If a SIG or subproject determines this is a relevant issue, they will accept it by applying the The 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. |
The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale |
/remove-lifecycle stale |
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle rotten |
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /close |
@k8s-triage-robot: Closing this issue. In response to this:
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. |
The bug still exists need to re-open it. /reopen |
@altitude1326: You can't reopen an issue/PR unless you authored it or you are a collaborator. In response to this:
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. |
@msau42 can you do somthing for reopen and treat this bug please ? |
the problem is still here |
/reopen |
@lavalamp: Reopened this issue. In response to this:
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. |
This should be fixed by #110559 |
Still happen! |
in 1.26? |
Due to them being annotated as |
This should be fixed now by the RetroActive Default Storage Class feature. |
/close |
@xing-yang: Closing this issue. In response to this:
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. |
Do we want to stop the creation of a StorageClass with the "is-default" annotation, if one already exists on the cluster?
If I create multiple "default" storage classes
and then try to submit a PVC, I get this error
@kubernetes/sig-storage
The text was updated successfully, but these errors were encountered: