Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 2040647

Summary: [IBM vpc block csi driver] block volume expansion no need to expansion filesystem on the node
Product: OpenShift Container Platform Reporter: Chao Yang <chaoyang>
Component: StorageAssignee: OpenShift Storage Bugzilla Bot <ocp-storage-bot>
Storage sub component: Kubernetes External Components QA Contact: Chao Yang <chaoyang>
Status: CLOSED WONTFIX Docs Contact:
Severity: medium    
Priority: unspecified CC: aos-bugs, jdobson, jsafrane
Version: 4.10   
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-02-10 16:38:39 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Chao Yang 2022-01-14 11:04:03 UTC
Description of problem:
Block volume expansion no need to expansion filesystem on the node
Version-Release number of selected component (if applicable):
4.10.0-0.nightly-2022-01-11-065245

How reproducible:
Always

Steps to Reproduce:
1.Create storageclass
allowVolumeExpansion: true
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  creationTimestamp: "2022-01-14T03:09:17Z"
  name: demo-storageclass
  resourceVersion: "459819"
  uid: defa1b7b-dd0f-405e-900d-ef4154b84687
parameters:
  csi.storage.k8s.io/fstype: xfs
  profile: 10iops-tier
provisioner: vpc.block.csi.ibm.io
reclaimPolicy: Retain
volumeBindingMode: Immediate
2.Create pvc/pod

3.Expand the volume
4.oc describe pvc
Name:          my-pvc
Namespace:     resizeblock
StorageClass:  demo-storageclass
Status:        Bound
Volume:        pvc-aa58593f-fffb-4619-83e9-ece86a5364ba
Labels:        <none>
Annotations:   pv.kubernetes.io/bind-completed: yes
               pv.kubernetes.io/bound-by-controller: yes
               volume.beta.kubernetes.io/storage-provisioner: vpc.block.csi.ibm.io
Finalizers:    [kubernetes.io/pvc-protection]
Capacity:      14Gi
Access Modes:  RWO
VolumeMode:    Block
Used By:       pod-with-block
Events:
  Type     Reason                      Age                  From                                                                                                    Message
  ----     ------                      ----                 ----                                                                                                    -------
  Normal   Provisioning                170m                 vpc.block.csi.ibm.io_ibm-vpc-block-csi-controller-5dc949cf6-qchpq_b20a7a28-15a6-46ba-87b4-8d9aca9e19f0  External provisioner is provisioning volume for claim "resizeblock/my-pvc"
  Normal   ExternalProvisioning        170m (x3 over 170m)  persistentvolume-controller                                                                             waiting for a volume to be created, either by external provisioner "vpc.block.csi.ibm.io" or manually created by system administrator
  Normal   ProvisioningSucceeded       170m                 vpc.block.csi.ibm.io_ibm-vpc-block-csi-controller-5dc949cf6-qchpq_b20a7a28-15a6-46ba-87b4-8d9aca9e19f0  Successfully provisioned volume pvc-aa58593f-fffb-4619-83e9-ece86a5364ba
  Normal   Resizing                    167m                 external-resizer vpc.block.csi.ibm.io                                                                   External resizer is resizing volume pvc-aa58593f-fffb-4619-83e9-ece86a5364ba
  Warning  ExternalExpanding           167m                 volume_expand                                                                                           Ignoring the PVC: didn't find a plugin capable of expanding the volume; waiting for an external controller to process this PVC.
  Normal   FileSystemResizeRequired    166m                 external-resizer vpc.block.csi.ibm.io                                                                   Require file system resize of volume on node
  Normal   FileSystemResizeSuccessful  165m                 kubelet                                                                                                 MountVolume.NodeExpandVolume succeeded for volume "pvc-aa58593f-fffb-4619-83e9-ece86a5364ba"


Actual results:
  Normal   FileSystemResizeRequired    166m                 external-resizer vpc.block.csi.ibm.io                                                                   Require file system resize of volume on node

Expected results:
Filesystem resize is not required on block type pvc.

aws-ebs-csi-driver fixed:
https://github.com/kubernetes-sigs/aws-ebs-csi-driver/pull/916/files
nodeExpansionRequired := true
    // if this is a raw block device, no expansion should be necessary on the node
    cap := req.GetVolumeCapability()
    if cap != nil && cap.GetBlock() != nil {
        nodeExpansionRequired = false
    }


Master Log:

Node Log (of failed PODs):

PV Dump:

PVC Dump:

StorageClass Dump (if StorageClass used by PV/PVC):

Additional info:

Comment 2 Jonathan Dobson 2022-03-11 15:20:06 UTC
Derek filed a PR upstream, but CI is failing for some reason. This needs some follow-up.
https://github.com/kubernetes-sigs/ibm-vpc-block-csi-driver/pull/69

Comment 3 Jan Safranek 2022-03-11 16:21:48 UTC
I am going to reassign it to IBM.

First question, does your CSI driver to do anything on a node to resize a block volume? Usually, such volumes are resized by ControllerExpandVolume call and there is nothing to do on a node, but maybe your driver needs to rescan iSCSI to get the updated size of the device or something like that.

Secondly, can you help us with the PR? CI is not telling us what's wrong with it.

Comment 4 Arashad Ahamad 2022-03-15 12:30:11 UTC
@jsafrane

VPC does not support offline expansion it means that POD need to use pvc to expand pvc after using it once POD/application use PVC then its formatted hence resize fs is required from node server.

It looks to be similar to offline expansion which is not supported, duplicate of https://bugzilla.redhat.com/show_bug.cgi?id=2059593