Skip to content

No log visibility into long-running recursive chown (SetVolumeOwnership) during NodeStageVolume for NFS volumes #2515

@jmclong

Description

@jmclong

Is your feature request related to a problem?/Why is this needed

Describe the solution you'd like in detail
For NFS-protocol volumes, NodeStageVolume applies fsGroup ownership by calling util.SetVolumeOwnership, which performs a recursive chown/chmod walk over the entire mount (pkg/blob/nodeserver.go:438-443). On large NFS exports this can run for hours.

While it runs, the blob-csi node driver pod emits essentially no progress output: no file counts, no periodic heartbeat, no per-volume completion log, and no incremental metric. Operators cannot tell whether the operation is progressing, stuck, or how far along it is - the node pod just appears to hang inside NodeStageVolume.

It would be helpful to have some periodic logging for this long operation to convey that progress is being done during log operation. kubelet does this already via NewVolumeOwnership but it is gated on AddProgressNotifier and requires a pod which we don't have access to in NodeStageVolume. We could add a non-nil pod and fake event recorded (mildly hacky) or wrap the operation in our own periodic logging method.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions