-
Bug
-
Resolution: Done-Errata
-
Critical
-
None
-
None
Description of problem:
Regrestion: Migrating a VM that has a direct LUN from RHV, the forklift-controller panics and restarts.
~~~
└─$ oc get pods -n openshift-mtv
NAME READY STATUS RESTARTS AGE
forklift-api-588f9bf86-9mhjx 1/1 Running 0 4d
forklift-controller-68768465b-l2qjt 2/2 Running 16 3d
forklift-operator-6759ff4794-wg72g 1/1 Running 0 4d
forklift-ui-plugin-58fc9b89ff-zc8sq 1/1 Running 0 4d
forklift-validation-7d69c4494f-bxnl9 1/1 Running 0 4d
forklift-volume-populator-controller-8656b94ff5-tgpbf 1/1 Running 0 4d
~~~
Version-Release number of selected component (if applicable):
MTV 2.6.1
How reproducible:
Always
Steps to Reproduce:
- In RHV create a VM that has a direct LUN
- Make the LUN available to Openshift nodes
- Power VM down
- Create migraton plan
- Migrate VM that has a direct LUN
Actual results:
From the forklift-conroller main logs:
~~~
2024-05-09T23:18:33.141018707Z {"level":"info","ts":"2024-05-09 23:18:33.140","logger":"plan|9p9t4","msg":"Migration [RUN]","plan":
{"name":"plan1","namespace":"default"},"migration":"default/plan1-jp2xr","vm":" id:fadf87a6-3725-4047-85f6-7c567f22389c name:'vmName'
","phase":"CreateVM"}
2024-05-09T23:18:33.154434590Z {"level":"info","ts":"2024-05-09 23:18:33.154","logger":"networkMap|qdcp4","msg":"Reconcile ended.","map":
,"reQ":0}
2024-05-09T23:18:33.780771337Z {"level":"info","ts":"2024-05-09 23:18:33.780","logger":"plan|9p9t4","msg":"could not find a local instance type preference for destination VM. trying cluster wide","plan":
,"migration":"default/plan1-
jp2xr","vm":" id:fadf87a6-3725-4047-85f6-7c567f22389c name:'vmName' "}
2024-05-09T23:18:33.844793621Z {"level":"info","ts":"2024-05-09 23:18:33.844","logger":"plan|9p9t4","msg":"Reconcile ended.","plan":
,"reQ":0}
2024-05-09T23:18:33.844793621Z {"level":"info","ts":"2024-05-09 23:18:33.844","msg":"Observed a panic in reconciler: runtime error: invalid memory address or nil pointer dereference","controller":"plan","object":
,"namespace":"default","name":"plan1","reconcileID":"5c36a98c-cdfd-4c7a-88ec-4cffa8a4cac1"}
2024-05-09T23:18:33.846986969Z panic: runtime error: invalid memory address or nil pointer dereference [recovered]
2024-05-09T23:18:33.846986969Z panic: runtime error: invalid memory address or nil pointer dereference
2024-05-09T23:18:33.846986969Z [signal SIGSEGV: segmentation violation code=0x1 addr=0x28 pc=0x2791c1a]
2024-05-09T23:18:33.846986969Z
2024-05-09T23:18:33.846986969Z goroutine 377 [running]:
2024-05-09T23:18:33.846986969Z sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile.func1()
2024-05-09T23:18:33.846986969Z /remote-source/app/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:116 +0x1fa
2024-05-09T23:18:33.846986969Z panic({0x2d8c4a0, 0x50924b0})
2024-05-09T23:18:33.846986969Z /usr/lib/golang/src/runtime/panic.go:884 +0x213
2024-05-09T23:18:33.846986969Z github.com/konveyor/forklift-controller/pkg/controller/plan/adapter/ovirt.(*Builder).mapDisks(0xc0037de760?, 0xc0025f6000, {0x518c218, 0x0, 0x0?}, 0xc0008be308)
2024-05-09T23:18:33.846986969Z /remote-source/app/pkg/controller/plan/adapter/ovirt/builder.go:452 +0x25a
2024-05-09T23:18:33.846986969Z github.com/konveyor/forklift-controller/pkg/controller/plan/adapter/ovirt.(*Builder).VirtualMachine(0xc0037de760, {
, {0xc0005149a0, 0xb}, {0x0, 0x0}, {0x0, 0x0}}, 0xc0008be308, ...)
2024-05-09T23:18:33.846986969Z /remote-source/app/pkg/controller/plan/adapter/ovirt/builder.go:269 +0x189
2024-05-09T23:18:33.846986969Z github.com/konveyor/forklift-controller/pkg/controller/plan.(*KubeVirt).virtualMachine(0xc0004e1438, 0xc000e9e600)
2024-05-09T23:18:33.847006932Z /remote-source/app/pkg/controller/plan/kubevirt.go:1259 +0xad7
2024-05-09T23:18:33.847006932Z github.com/konveyor/forklift-controller/pkg/controller/plan.(*KubeVirt).EnsureVM(0xc0004e1438, 0xc000e9e600)
2024-05-09T23:18:33.847006932Z /remote-source/app/pkg/controller/plan/kubevirt.go:385 +0x3a5
2024-05-09T23:18:33.847069358Z github.com/konveyor/forklift-controller/pkg/controller/plan.(*Migration).execute(0xc0004e1420, 0xc000e9e600)
2024-05-09T23:18:33.847069358Z /remote-source/app/pkg/controller/plan/migration.go:823 +0x14025
2024-05-09T23:18:33.847083722Z github.com/konveyor/forklift-controller/pkg/controller/plan.(*Migration).Run(0xc0004e1420)
2024-05-09T23:18:33.847083722Z /remote-source/app/pkg/controller/plan/migration.go:193 +0x2ab
2024-05-09T23:18:33.847083722Z github.com/konveyor/forklift-controller/pkg/controller/plan.(*Reconciler).execute(0xc002eecf90, 0xc000858c00)
2024-05-09T23:18:33.847083722Z /remote-source/app/pkg/controller/plan/controller.go:427 +0xa1c
2024-05-09T23:18:33.847083722Z github.com/konveyor/forklift-controller/pkg/controller/plan.Reconciler.Reconcile({0x37d8a00, 0xc0004f44c0}, {0x37e8da0, 0xc0001f4630}, {0x37e0350, 0xc0003aa440}, {0xc00081dac0?, 0xc0006efce8?}, {0xc000514876, 0x7}, ...)
2024-05-09T23:18:33.847103682Z /remote-source/app/pkg/controller/plan/controller.go:256 +0xa10
2024-05-09T23:18:33.847108327Z sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile(0x37ddc80?, {0x37da910?, 0xc002eecf60?}, {0xc000514876?, 0xb?}, {0xc000514870?, 0x0?})
2024-05-09T23:18:33.847121627Z /remote-source/app/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:119 +0xc8
2024-05-09T23:18:33.847126239Z sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler(0xc000486fa0, {0x37da868, 0xc000a07590}, {0x2fbe2a0?, 0xc00058f6e0?})
2024-05-09T23:18:33.847130609Z /remote-source/app/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:316 +0x3ca
2024-05-09T23:18:33.847135255Z sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem(0xc000486fa0, {0x37da868, 0xc000a07590})
2024-05-09T23:18:33.847139809Z /remote-source/app/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:266 +0x1d9
2024-05-09T23:18:33.847144328Z sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2()
2024-05-09T23:18:33.847144328Z /remote-source/app/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:227 +0x85
2024-05-09T23:18:33.847148740Z created by sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2
2024-05-09T23:18:33.847148740Z /remote-source/app/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:223 +0x587
~~~
Expected results:
To migrate with direct LUNs
Additional info:
As a workaround this does work in openshift-mtv 2.5.6
- links to
-
RHBA-2024:131618 MTV 2.6.2 Images