What happened?
When running external-resizer with the VolumeAttributesClass feature gate set to true, the controller attempts to watch VolumeAttributesClass resources.
On clusters where this API is not available (e.g., OCP 4.19 / Kubernetes 1.32, where VAC is still beta and must be manually enabled), the resizer pod logs errors repeatedly:
Failed to watch *v1beta1.VolumeAttributesClass: failed to list *v1beta1.VolumeAttributesClass: the server could not find the requested resource" logger="UnhandledError"
This is confusing to operators and can be mistaken as a functional failure.
What you expected to happen?
How to reproduce it (as minimally and precisely as possible)
-
Deploy external-resizer with:
VolumeAttributesClass=true
-
Run on a cluster where VolumeAttributesClass is not enabled:
oc api-resources | grep volumeattributesclasses
# no output
-
Observe repeated error logs from the resizer pod.
Anything else we need to know?
-
Workaround:
- Ignore the error if VAC is not required, OR
- Enable the
VolumeAttributesClass API via feature gate.
Environment
- external-resizer version:
v1.14.0
- Kubernetes version: v1.32
- Platform: OCP 4.19
- Feature gate:
VolumeAttributesClass=true