Uploaded image for project: 'OpenShift Virtualization'
  1. OpenShift Virtualization
  2. CNV-48183

[tracker] EBS io2 - can't create a DV/PVC with requested size smaller than 4Gi

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • CNV v4.19.0
    • CNV v4.17.0
    • Storage Ecosystem
    • None
    • 5
    • False
    • Hide

      None

      Show
      None
    • False
    • None
    • ---
    • ---
    • CNV Storage 266
    • Important
    • None

      Description of problem:

      Can't create an io2 volume when the requested size is smaller than 4Gi

      mperetz@redhat.com found that it's a documented limitation of io2: https://aws.amazon.com/ebs/volume-types/#product-faqs#ebs-volume-types#ssd-based-volumes

      API Name: io2
      Volume Size: 4 GB – 64 TB

      Version-Release number of selected component (if applicable):

      Saw in 4.17 (but it's not CNV / OCP related)

      How reproducible:

      Always

      Steps to Reproduce:

      1. Create a DV/PVC and a first consumer pod
      
      $ cat simple-pvc.yaml 
      apiVersion: v1
      kind: PersistentVolumeClaim
      metadata:
        name: simple-pvc
      spec:
        storageClassName: io2-csi
        accessModes:
          - ReadWriteOnce
        resources:
          requests:
            storage: 1Gi
      
      
      $  cat first-consumer.yaml 
      apiVersion: v1
      kind: Pod
      metadata:
        name: test-pod
      spec:
        containers:
          -
            command:
              - sleep
              - "3600000"
            image: "quay.io/fedora/fedora:38"
            imagePullPolicy: IfNotPresent
            name: test-pod
            volumeMounts:
            - mountPath: /foo
              name: data-vol
        volumes:
          -
            name: data-vol
            persistentVolumeClaim:
              claimName: simple-pvc
      
      
      2. See the PVC describe:
      
      $ oc describe pvc simple-pvc
      Name:          simple-pvc
      Namespace:     default
      StorageClass:  io2-csi
      Status:        Pending
      Volume:        
      Labels:        <none>
      Annotations:   volume.beta.kubernetes.io/storage-provisioner: ebs.csi.aws.com
                     volume.kubernetes.io/selected-node: ip-10-0-30-245.us-east-2.compute.internal
                     volume.kubernetes.io/storage-provisioner: ebs.csi.aws.com
      Finalizers:    [kubernetes.io/pvc-protection]
      Capacity:      
      Access Modes:  
      VolumeMode:    Filesystem
      Used By:       test-pod
      Events:
        Type     Reason                Age                         From                                                                                                 Message
        ----     ------                ----                        ----                                                                                                 -------
        Warning  ProvisioningFailed    2m51s                       ebs.csi.aws.com_aws-ebs-csi-driver-controller-7cd74b9994-x9kqp_470affa4-ba6e-4219-b2b9-76f83c07fb2b  failed to provision volume with StorageClass "io2-csi": rpc error: code = Internal desc = Could not create volume "pvc-7f726ea6-6b67-43cc-9f82-766d5b25c35c": could not create volume in EC2: operation error EC2: CreateVolume, https response error StatusCode: 400, RequestID: 48d34e2f-476a-41c4-a89d-c501aff23c92, api error InvalidParameterValue: The volume size is invalid for io2 volumes: 1 GiB. io2 volumes must be at least 4 GiB in size. Please specify a volume size above the minimum limit.
      

      Actual results:

      PVC is Pending, PV not created 

      Expected results:

      PVC is Bound, PV size rounded up (to 4Gi is this case)

      Additional info:

       

              rh-ee-alromero Alvaro Romero
              jpeimer@redhat.com Jenia Peimer
              Ahmad Hafi Ahmad Hafi
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: