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

NPE in validation blocks conversion type migraiton

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Critical Critical
    • 2.10.4
    • 2.10.3
    • Controller
    • None

      Description of problem:

      When running only conversion mode, for example with NetApp shift. The controller gets stuck on validation and breaks the migration flow.

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

       

      How reproducible:

      Always / N%
      

      Steps to Reproduce:

      1. Set Plan type to conversion
      

      Actual results:

      {"level":"error","ts":"2026-01-16 08:17:34.483","msg":"Observed a panic","controller":"plan","object":{"name":"mtv-shift","namespace":"default"},"namespace":"default","name":"mtv-shift","reconcileID":"1048a470-4bb3-4d8e-8ab6-46dcafc5d50d","panic":"runtime error: invalid memory address or nil pointer dereference","panicGoValue":"\"invalid memory address or nil pointer dereference\"","stacktrace":"goroutine 167 [running]:\nk8s.io/apimachinery/pkg/util/runtime.logPanic({0x3e28de8, 0xc00381c510}, {0x321d640, 0x5bd7fb0})\n\t/app/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:107 +0xbc\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Reconcile.func1()\n\t/app/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:108 +0x112\npanic({0x321d640?, 0x5bd7fb0?})\n\t/usr/lib/golang/src/runtime/panic.go:792 +0x132\ngithub.com/kubev2v/forklift/pkg/controller/plan.(*Reconciler).planUsesVSphereXcopyPopulator(0x38e7560?, 0xc00150e008)\n\t/app/pkg/controller/plan/ssh.go:91 +0x29\ngithub.com/kubev2v/forklift/pkg/controller/plan.(*Reconciler).validateSSHReadiness(0xc002a5c5c0?, 0xc00150e008)\n\t/app/pkg/controller/plan/ssh.go:31 +0x85\ngithub.com/kubev2v/forklift/pkg/controller/plan.(*Reconciler).validate(0xc002a5c5c0, 0xc00150e008)\n\t/app/pkg/controller/plan/validation.go:221 +0x3f4\ngithub.com/kubev2v/forklift/pkg/controller/plan.Reconciler.Reconcile({{{0x3e16150, 0xc000401e40}, {0x3e40360, 0xc00014e7e0}, {0x3e317b0, 0xc000992360}}, {0x7fbe6a55d1c8, 0xc00014ea20}}, {0x3e28de8, 0xc00381c510}, ...)\n\t/app/pkg/controller/plan/controller.go:225 +0x6a5\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Reconcile(0xc00381c480?, {0x3e28de8?, 0xc00381c510?}, {{{0xc00274d2f0?, 0x0?}, {0xc00274d2e6?, 0x0?}}})\n\t/app/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:119 +0xbf\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).reconcileHandler(0x3e5f260, {0x3e28e20, 0xc000033090}, {{{0xc00274d2f0, 0x7}, {0xc00274d2e6, 0x9}}}, 0x0)\n\t/app/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:334 +0x378\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).processNextWorkItem(0x3e5f260, {0x3e28e20, 0xc000033090})\n\t/app/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:294 +0x21b\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Start.func2.2()\n\t/app/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:255 +0x85\ncreated by sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Start.func2 in goroutine 86\n\t/app/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:251 +0x6b5\n","stacktrace":"github.com/kubev2v/forklift/pkg/controller/plan.(*Reconciler).planUsesVSphereXcopyPopulator\n\t/app/pkg/controller/plan/ssh.go:91\ngithub.com/kubev2v/forklift/pkg/controller/plan.(*Reconciler).validateSSHReadiness\n\t/app/pkg/controller/plan/ssh.go:31\ngithub.com/kubev2v/forklift/pkg/controller/plan.(*Reconciler).validate\n\t/app/pkg/controller/plan/validation.go:221\ngithub.com/kubev2v/forklift/pkg/controller/plan.Reconciler.Reconcile\n\t/app/pkg/controller/plan/controller.go:225\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Reconcile\n\t/app/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:119\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).reconcileHandler\n\t/app/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:334\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).processNextWorkItem\n\t/app/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:294\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Start.func2.2\n\t/app/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:255"}

      Expected results:

       

      Additional info:

       

              mnecas@redhat.com Martin Necas
              mnecas@redhat.com Martin Necas
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated: