Skip to content

PVC being modified to infeasible VAC should have modifyvolume AND modifyvolumeerror conditions #483

@AndrewSirenko

Description

@AndrewSirenko

When external-resizer modifycontroller fails to modify volume due to Infeasible error code, there is only one ModifyingVolume condition on PVC.

status:
  conditions:
  - lastProbeTime: null
    lastTransitionTime: "2025-03-05T23:48:40Z"
    message: 'ModifyVolume failed with errorrpc error: code = InvalidArgument desc
      = Could not modify volume (invalid argument) "vol-0c60d30f3e8a4a6e5": invalid
      argument: operation error EC2: ModifyVolume, https response error StatusCode:
      400, RequestID: 3231bc61-3b34-4ab6-adaa-04dea58545e9, api error UnknownVolumeType:
      Unsupported volume type ''io3'' for volume creation. . Waiting for retry.'
    status: "True"
    type: ModifyingVolume
  modifyVolumeStatus:
    status: Infeasible
    targetVolumeAttributesClassName: io3-class

@carlory @sunnylovestiramisu and I decided in Kubernetes slack that we should have two conditions, ModifyingVolume and ModifyVolumeError. For example:

conditions:
- lastProbeTime: null
  lastTransitionTime: “2025-02-14T05:07:43Z”
  message: ‘ModifyVolume failed with errorrpc error: code = InvalidArgument desc
    = Invalid parameters: parameters contain unknown parameter: xxInvalidParameterKey.
    Waiting for retry.’
  status: “True”
  type: ModifyingVolumeError
- lastProbeTime: null
  lastTransitionTime: “2025-02-14T05:07:43Z”
  status: “True”
  type: ModifyingVolume
modifyVolumeStatus:
  status: Infeasible
  targetVolumeAttributesClassName: volume-modify-5828-e2e-vac-invalidbnx8b

We should confirm there are unit tests for this case as well. (And consider a csi-mock k/k e2e test?)

Reproduced with external-resizer v1.13.1 (and EBS CSI Driver)

Metadata

Metadata

Assignees

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