-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Workspace is not starting, when k8s StorageClass has volumeBindingMode=WaitForFirstConsumer #12889
Comments
@sleshchenko, @skabashnyuk: do you know how much time fixup could take? |
@dmytro-ndp Like a couples of hours |
Here is implemented a workaround that provides an ability to disable waiting for PVCs manually with configuration property #13409. |
Now, there a bit more info about this issue I would like to share: Initially, we used not to wait for PVCs to be bound after creating but then we faced an issue on slow OpenShift cluster (more see #11848). So, we introduced waiting to PVCs and it costs like nothing on fast OpenShift installation and helps slow installations. Now, we faced an issue with Possible solutions we can move with:
@l0rd @slemeur I would like to hear your opinion about it, do you think the first way is good enough, or we invest time on the second solution before GA? |
IMHO, lets have |
I would go with And on CRW side (for 1.2 release) I think we should implement logic into operator which would inspect default StorageClass (operator has cluster-admin rights, so it should be able to see if For Che 7/CRW 2 it would be nice to have this implemented in Che Server, but I don't have any strong opinion on the proposed solution with the "artifical" pod. |
I think that setting Using an init container looks like overkill. And using the operator to detect the Volume Binding Mode doesn't look simple neither: theoretically the wsmaster and the workspace pods can be bound to PV with different volume binding modes (che.osio is an example we all know). Something that I don't understand is why we can't just infer that we are in |
I missed this event. Checking an event message is not reliable but I like this proposal and think it will improve Che Server behavior:+1: |
Now, Che Server may be configured not to wait for PVCs to be bound with configuration property and it unlocks Che on installations where But there is another issue[1] to improve PVC waiting process and additionally to checking of PVC status, listen to PVC related events with message [1] #13437 |
Where is CHE_INFRA_KUBERNETES_PVC_WAIT__BOUND set? I cannot find it in Configmap. |
@bryantson It should not be needed after #14239. |
Description
When default StorageClass is configured to have
volumeBindingMode
set toWaitForFirstConsumer
, workspaces do not start. I guess that's because che is waiting for PVC to be in "Bound" state before creating workspace (or mkdir) pod. But this is not happening with thisvolumeBindingMode
and the PVC is stuck in "Pending" state with message "waiting for first consumer to be created before binding" until the workspace startup fails.Reproduction Steps
WaitForFirstConsumer
volumeBindingMode (more info here)Workspace startup fails with message:
And error log in che-master:
OS and version:
This is reproducible with Codeready Workspaces on OCP 4 Beta and on latest Eclipse Che on pure kubernetes (minikube)
The text was updated successfully, but these errors were encountered: