Uploaded image for project: 'Migration Toolkit for Virtualization'
  1. Migration Toolkit for Virtualization
  2. MTV-3507

Failed to migrate VM from ESXi8 ipv6 host

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • 2.10.0
    • Controller
    • Quality / Stability / Reliability
    • False
    • Hide

      None

      Show
      None
    • True

      Description of problem:

      Try to migrate a VM from ESXi 8 ipv6 host to OCP ipv6 cluster, the plan failed in conversion phase with error below, the v2v command line need to use the ESXi ipv6 address but not ipv4 address

       Building command:virt-v2v[-v -x -o kubevirt -os /var/tmp/v2v -i libvirt -ic esx://root@10.73.73.11?no_verify=1 -ip /etc/secret/secretKey --hostname WIN-ODL13H9OOO6 --root first -it vddk -io vddk-libdir=/opt/vmware-vix-disklib-distrib -io vddk-thumbprint=D5:C8:AC:99:85:23:45:C8:FF:7B:C3:B2:40:FF:48:38:31:FC:B8:57 -- mtv-win2022]Building command:/usr/local/bin/virt-v2v-monitor[]virt-v2v monitoring: Setting up prometheus endpoint :2112/metrics
      ......
      2025-09-28 06:11:21.652+0000: 10: info : hostname: plan-cold-win2022-7-2c2p4
      2025-09-28 06:11:21.652+0000: 10: warning : esxConnectOpen:803 : Ignoring unexpected path '' for non-vpx scheme 'esx'
      virt-v2v: error: exception: libvirt: VIR_ERR_INTERNAL_ERROR: VIR_FROM_ESX: internal error: IP address lookup for host '10.73.73.11' failed: Name or service not known

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

      MTV 2.10.0-12(IIB: forklift-fbc-prod-v420:on-pr-9b44168a11bbe06db5adb7668f64592beb05fb67) with CNV 4.20.0

      How reproducible:

      Always

      Steps to Reproduce:

      1) Create the ipv6 ESXi host provider

      #cat provider-49.yaml 
      apiVersion: forklift.konveyor.io/v1beta1
      kind: Provider
      metadata:
        name: v8-host-49
        namespace: openshift-mtv
      spec:
        secret:
          name: v8-host-secret-49
          namespace: openshift-mtv
        settings:
          sdkEndpoint: esxi
          vddkInitImage: quay.io/libvirt_v2v_cnv/vddk:8.0.1
        type: vsphere
        url: https://[2620:52:0:4948:3673:5aff:fe9a:dd78]/sdk
      
      #oc apply -f provider.yaml
      
      Get the provider uid: 
      # oc get provider v8-host-49 -o yaml|grep uid
        uid: 66678be9-9215-4af7-97a9-47e89b001732
      
      Edit the secret file to use your provider uid
      # cat secret-49.yaml 
      apiVersion: v1
      kind: Secret
      metadata:
        name: v8-host-secret-49
        namespace: openshift-mtv
        ownerReferences:
        - apiVersion: forklift.konveyor.io/v1beta1
          kind: Provider
          name: v8-host-49
          uid: 66678be9-9215-4af7-97a9-47e89b001732
        labels:
          createdForProviderType: vsphere
          createdForResourceType: providers
      type: Opaque
      stringData:
        user: root
        password: 123qweP
        insecureSkipVerify: "true"
        url: https://[2620:52:0:4948:3673:5aff:fe9a:dd78]/sdk
      
      Create the secret:
      #oc apply -f secret-49.yaml
      
      Check the provider status:
      #oc get provider
      NAME         TYPE        STATUS   READY   CONNECTED   INVENTORY   URL                                                AGE
      host         openshift   Ready    True    True        True                                                           5d1h
      v8-host-49   vsphere     Ready    True    True        True        https://[2620:52:0:4948:3673:5aff:fe9a:dd78]/sdk   5d

      2) Create networkmap

      #cat networkmap.yaml 
      apiVersion: forklift.konveyor.io/v1beta1
      kind: NetworkMap
      metadata:
        name: networkmap-v8-host
        namespace: openshift-mtv
      spec:
        map:
        - destination:
            type: pod
          source:
            id: HaNetwork-VM Network
            name: VM Network
            type: vsphere
        provider:
          destination:
            apiVersion: forklift.konveyor.io/v1beta1
            kind: Provider
            name: host
            namespace: openshift-mtv
          source:
            apiVersion: forklift.konveyor.io/v1beta1
            kind: Provider
            name: v8-host-49
            namespace: openshift-mtv
      
      #oc apply -f networkmap.yaml
      #oc get networkmap
      NAME                 READY   AGE
      networkmap-v8-host   True    3d1h

      3) Create storagemap

      #cat storagemap.yaml 
      apiVersion: forklift.konveyor.io/v1beta1
      kind: StorageMap
      metadata:
        name: storagemap-v8-host
        namespace: openshift-mtv
      spec:
        map:
        - destination:
            storageClass: ocs-storagecluster-ceph-rbd
          source:
            id: fb8c75a7c18b3a03aec97554e8f20991
        provider:
          destination:
            apiVersion: forklift.konveyor.io/v1beta1
            kind: Provider
            name: host
            namespace: openshift-mtv
          source:
            apiVersion: forklift.konveyor.io/v1beta1
            kind: Provider
            name: v8-host-49 
            namespace: openshift-mtv
      #oc apply -f storagemap.yaml
      
      #oc get storagemap
      NAME                 READY   AGE
      storagemap-v8-host   True    3d1h

      4) Create plan and Migration with attached plan.yam, and migration.yaml

      #oc get plan
      NAME                READY   EXECUTING   SUCCEEDED   FAILED   AGE
      plan-cold-win2022   True                            True     29h
      
      #oc get migration
      NAME                READY   RUNNING   SUCCEEDED   FAILED   AGE
      migration-win2022   True                          True     27h

      5) The Migration failed, check the error as below, more details in attached file: plan-cold-win2022.yaml

      #oc get plan plan-cold-win2022 -o yaml
      ......
            error:
              phase: ConvertGuest
              reasons:
              - Guest conversion failed. See pod logs for details.
            id: "7"
            luks: {}
            name: mtv-win2022
            phase: Completed

      6) Check the converion pod log with error, more details in attached file: conversion-pod-log-plan-cold-win2022-7-2c2p4.log

      Building command:virt-v2v[-v -x -o kubevirt -os /var/tmp/v2v -i libvirt -ic esx://root@10.73.73.11?no_verify=1 -ip /etc/secret/secretKey --hostname WIN-ODL13H9OOO6 --root first -it vddk -io vddk-libdir=/opt/vmware-vix-disklib-distrib -io vddk-thumbprint=D5:C8:AC:99:85:23:45:C8:FF:7B:C3:B2:40:FF:48:38:31:FC:B8:57 -- mtv-win2022]Building command:/usr/local/bin/virt-v2v-monitor[]virt-v2v monitoring: Setting up prometheus endpoint :2112/metrics
      ......
      2025-09-28 06:11:21.652+0000: 10: info : hostname: plan-cold-win2022-7-2c2p4
      2025-09-28 06:11:21.652+0000: 10: warning : esxConnectOpen:803 : Ignoring unexpected path '' for non-vpx scheme 'esx'
      virt-v2v: error: exception: libvirt: VIR_ERR_INTERNAL_ERROR: VIR_FROM_ESX: internal error: IP address lookup for host '10.73.73.11' failed: Name or service not known

      Actual results:

      In step 5,6: The migration plan failed, it try to connect ESXi host with ipv4 address in conversion pod

      Expected results:

      In step 5,6: Plan executed successfully, connect ESXi host with ipv6 address in conversion pod

      Additional info:

       

        1. plan.yaml
          0.7 kB
          Chenli Hu
        2. migration.yaml
          0.2 kB
          Chenli Hu
        3. conversion-pod-log-plan-cold-win2022-7-2c2p4.log
          1 kB
          Chenli Hu
        4. plan-cold-win2022.yaml
          6 kB
          Chenli Hu
        5. conversion-pod-yaml-plan-cold-win2022-1-7-wtxgk
          9 kB
          Chenli Hu

              rh-ee-ehazan Elad Hazan
              chhu@redhat.com Chenli Hu
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated: