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

[OCP] Forklift-controller crashes when creating a plan with 2-NICs VM

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done-Errata
    • Icon: Undefined Undefined
    • 2.5.1
    • 2.5.0
    • None
    • None

      When an OCP to OCP plan that has a VM with 2 NICs is created, the plan will be on Unknown status, the forklift-controller will crash with error:

       

      panic: runtime error: index out of range [1] with length 1
      
      goroutine 686 [running]:
      github.com/konveyor/forklift-controller/pkg/controller/plan/adapter/ocp.(*Validator).NetworksMapped(0xc003c37480, {{0xc0037aa780, 0x24}, {0xc00005f460, 0x1a}, {0xc000d94640, 0xe}, {0x0, 0x0}})
      	/remote-source/app/pkg/controller/plan/adapter/ocp/validator.go:165 +0x4fb
      github.com/konveyor/forklift-controller/pkg/controller/plan.(*Reconciler).validateVM(0xc0017ff320?, 0xc002e94c00)
      	/remote-source/app/pkg/controller/plan/validation.go:415 +0xa42
      github.com/konveyor/forklift-controller/pkg/controller/plan.(*Reconciler).validate(0xc0017ff320, 0xc002e94c00)
      	/remote-source/app/pkg/controller/plan/validation.go:123 +0x2a5
      github.com/konveyor/forklift-controller/pkg/controller/plan.Reconciler.Reconcile({{{0x2f92df0, 0xc000661c00}, {0x2f9ebe0, 0xc0000ba5f0}, 0xc000657a70}}, {0x4a7066?, 0x0?}, {{{0xc000d945c0, 0xd}, {0xc000d945a0, ...}}})
      	/remote-source/app/pkg/controller/plan/controller.go:220 +0x5dd
      sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile(0xc0002f3720, {0x2f94db8, 0xc0017ff260}, {{{0xc000d945c0?, 0x2942a80?}, {0xc000d945a0?, 0xc000706280?}}})
      	/remote-source/app/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:114 +0x22c
      sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler(0xc0002f3720, {0x2f94d10, 0xc000661f00}, {0x27c4440?, 0xc000e0a420?})
      	/remote-source/app/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:311 +0x2f2
      sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem(0xc0002f3720, {0x2f94d10, 0xc000661f00})
      	/remote-source/app/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:266 +0x1d9
      sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2()
      	/remote-source/app/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:227 +0x85
      created by sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2
      	/remote-source/app/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:223 +0x307 

       

      Versions:

      MTV 2.5.0 iib:567396

      CNV kubevirt-hyperconverged-operator.v4.14.0

      Steps:

      1. Create a VM with 2NICs(Pod network, NAD) on the local OCP which installed with MTV

      2. Create an OCP to OCP plan

      • select the local cluster as the source provider, the remote cluster as the target provider.
      • select the VM created in step1

      Actual results:

      1.The plan is on Unknown status

      2.The forklift-controller pod is crashed with the above error

      Expected results:

      1.The plan could reach to Ready status, and run successfully.

      2.The forklift-controller pod shouldn't crash in any case.

      Additional info:

      When the plan is removed, the forklift-controller pod could return back to normal.

              bzlotnik@redhat.com Benny Zlotnik
              rhn-support-qiyuan Qin Yuan
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: