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

VMExport volume link missing if PVC names is longer than 64 chars

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • None
    • CNV v4.20.3
    • CNV Virtualization
    • None
    • Quality / Stability / Reliability
    • 0.42
    • False
    • Hide

      None

      Show
      None
    • False
    • None
    • Moderate
    • None

      Description of problem:

      Moving a VM across OpenShift clusters fails if the PVC name is long (>64 chargs). The VMExport on the source does not expose the links of PVCs with long names.
      
      This can make it fails to export disks with very long names and/or that have been restored from snapshot, like restore-xyz ones which are usually long.

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

      4.20.3

      How reproducible:

      Always

      Steps to Reproduce:

      1. Create these 5 PVCs, with names from 62 to 66 chars in length.

      apiVersion: v1
      kind: PersistentVolumeClaim
      metadata:
        name: this-string-has-62-characters-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
        namespace: default
      spec:
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: 10Gi
        storageClassName: lvms-ssd
        volumeMode: Block
      ---
      apiVersion: v1
      kind: PersistentVolumeClaim
      metadata:
        name: this-string-has-63-characters-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
        namespace: default
      spec:
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: 10Gi
        storageClassName: lvms-ssd
        volumeMode: Block
      ---
      apiVersion: v1
      kind: PersistentVolumeClaim
      metadata:
        name: this-string-has-64-characters-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
        namespace: default
      spec:
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: 10Gi
        storageClassName: lvms-ssd
        volumeMode: Block
      ---
      apiVersion: v1
      kind: PersistentVolumeClaim
      metadata:
        name: this-string-has-65-characters-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
        namespace: default
      spec:
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: 10Gi
        storageClassName: lvms-ssd
        volumeMode: Block
      ---
      apiVersion: v1
      kind: PersistentVolumeClaim
      metadata:
        name: this-string-has-66-characters-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
        namespace: default
      spec:
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: 10Gi
        storageClassName: lvms-ssd
        volumeMode: Block

      2. Attach them to a VM

      3. Create a VM Export

      Actual results:

      Only the PVCs with names up to 64 chars are exported. 65 and 66 are missing.
      
      # oc get vmexport rhel9-export -o yaml | yq '.status.links.external.volumes[].name'
      this-string-has-62-characters-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
      this-string-has-63-characters-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
      this-string-has-64-characters-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

      Expected results:

      All 5 PVCs linked.

      Additional info:

      Its just the linking on the VMExport that fails. The Pod is ready and exporting them.
      
      Its failing here:
      https://github.com/kubevirt/kubevirt/blob/dd7fcccabbe3b19c68616a950ab43c6b573d9248/pkg/storage/export/export/export.go#L262
      
      Controller logs:
      
      {"component":"virt-controller","level":"warning","msg":"Volume this-string-has-65-characters-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx not found in paths","pos":"links.go:108","timestamp":"2026-01-30T00:59:30.777231Z"}
      {"component":"virt-controller","level":"warning","msg":"Volume this-string-has-66-characters-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx not found in paths","pos":"links.go:108","timestamp":"2026-01-30T00:59:30.777241Z"}

              tnisan@redhat.com Tal Nisan
              rhn-support-gveitmic Germano Veit Michel
              Kedar Bidarkar Kedar Bidarkar
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: