Skip to content

Resizer logging with 'Failed to watch *v1beta1.VolumeAttributesClass when feature gate is enabled but API is unavailable' #519

@badrinathpathak

Description

@badrinathpathak

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?

  • If the VolumeAttributesClass API is not available in the cluster, resizer should:

    • Detect this via API discovery,
    • Log a clear one-time warning,
    • Skip watching VAC resources,
    • Continue normal resizing functionality.

How to reproduce it (as minimally and precisely as possible)

  1. Deploy external-resizer with:

    VolumeAttributesClass=true
  2. Run on a cluster where VolumeAttributesClass is not enabled:

    oc api-resources | grep volumeattributesclasses
    # no output
  3. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions