Hello everyone,
Regarding a PV's phases,
https://kubernetes.io/docs/concepts/storage/persistent-volumes/#phase documents the "Available", "Bound", "Released" and "Failed" values/cases.
However,
k8s.io/api/core/v1 enums 1 more phase, "Pending" (
https://github.com/kubernetes/kubernetes/blob/v1.28.0/staging/src/k8s.io/api/core/v1/types.go#L717C1-L718C49).
After searching the k/k repo code for the keyword "VolumePending" i get the following encounters:
https://github.com/search?q=repo%3Akubernetes%2Fkubernetes%20%22VolumePending%22&type=code.
Ignoring any Go test files, it seems that the "Pending" PV phase value is used as the default value on PV creation (pkg/apis/core/v1/defaults.go, pkg/registry/core/persistentvolume/strategy.go).
In my own experience so far, i have yet to meet a created PV on "Pending" phase, even when tried to explicitly watch for it (my experience involves dynamic provisioning only).
What i would like to know is what is the purpose/use of the "Pending" (
k8s.io/api/core/v1.VolumePending) phase value and why is it missing from the K8s docs?
Thank you,
George