Bug 1829768

Summary: Connection failure to ovirt API will panic
Product: OpenShift Container Platform Reporter: Roy Golan <rgolan>
Component: Cloud ComputeAssignee: Roy Golan <rgolan>
Cloud Compute sub component: oVirt Provider QA Contact: Lukas Svaty <lsvaty>
Status: CLOSED DUPLICATE Docs Contact:
Severity: high    
Priority: high CC: jzmeskal, lsvaty, sbonazzo
Version: 4.4   
Target Milestone: ---   
Target Release: 4.4.z   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: OCPRHV-62-4.5 Environment:
Last Closed: 2020-06-09 11:48:44 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1828836, 1830486    
Bug Blocks:    

Description Roy Golan 2020-04-30 09:57:15 UTC
+++ This bug was initially created as a clone of Bug #1828836 +++

Description of problem:

Mishandling an error of in oVirt API client will panic the container.

This was fixed in ovirt/go-ovirt, just need to bump the vendor version

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


How reproducible:
100%

Steps to Reproduce:
1. Spin the the container when the connection can't be open.
2. See the container panics



Actual results:
Panic and process exit

Expected results:
return the error

Additional info:
E0427 18:15:45.293408       1 runtime.go:78] Observed a panic: "invalid memory address or nil pointer dereference" (runtime error: invalid memory address or nil pointer dereference)
goroutine 306 [running]:
k8s.io/apimachinery/pkg/util/runtime.logPanic(0x1c55860, 0x2fb6a60)
	/go/cluster-api-provider-ovirt/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:74 +0xa3
k8s.io/apimachinery/pkg/util/runtime.HandleCrash(0x0, 0x0, 0x0)
	/go/cluster-api-provider-ovirt/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:48 +0x82
panic(0x1c55860, 0x2fb6a60)
	/usr/local/go/src/runtime/panic.go:679 +0x1b2
github.com/ovirt/go-ovirt.(*Connection).testToken(0xc000112a00, 0x0, 0x0, 0x0)
	/go/cluster-api-provider-ovirt/vendor/github.com/ovirt/go-ovirt/connection.go:96 +0x238
github.com/ovirt/go-ovirt.(*Connection).Test(0xc000112a00, 0x0, 0x0)
	/go/cluster-api-provider-ovirt/vendor/github.com/ovirt/go-ovirt/connection.go:75 +0x2f
github.com/openshift/cluster-api-provider-ovirt/pkg/cloud/ovirt/machine.(*OvirtActuator).getConnection(0xc0000c34a0, 0xc0008823e0, 0x15, 0xc0009452e0, 0x11, 0xc0001bb430, 0x40bda6, 0xc0001bb3d0)
	/go/cluster-api-provider-ovirt/pkg/cloud/ovirt/machine/actuator.go:66 +0xfb
github.com/openshift/cluster-api-provider-ovirt/pkg/cloud/ovirt/machine.(*OvirtActuator).Exists(0xc0000c34a0, 0x2172480, 0xc000040070, 0x0, 0xc0003eb080, 0x1, 0x0, 0x213f500)
	/go/cluster-api-provider-ovirt/pkg/cloud/ovirt/machine/actuator.go:155 +0x1fe
github.com/openshift/cluster-api/pkg/controller/machine.(*ReconcileMachine).Reconcile(0xc0003aee80, 0xc00046a920, 0x15, 0xc00046a900, 0x16, 0xc0001bbcd8, 0xc00010c900, 0xc00010c658, 0x2149420)
	/go/cluster-api-provider-ovirt/vendor/github.com/openshift/cluster-api/pkg/controller/machine/controller.go:277 +0x766
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler(0xc0000c35e0, 0x1ccca00, 0xc0005444a0, 0x0)
	/go/cluster-api-provider-ovirt/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:216 +0x162
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem(0xc0000c35e0, 0x430200)
	/go/cluster-api-provider-ovirt/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:192 +0xcb
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).worker(0xc0000c35e0)
	/go/cluster-api-provider-ovirt/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:171 +0x2b
k8s.io/apimachinery/pkg/util/wait.JitterUntil.func1(0xc00015da80)
	/go/cluster-api-provider-ovirt/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:152 +0x5e
k8s.io/apimachinery/pkg/util/wait.JitterUntil(0xc00015da80, 0x3b9aca00, 0x0, 0x1, 0xc00009a180)
	/go/cluster-api-provider-ovirt/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:153 +0xf8
k8s.io/apimachinery/pkg/util/wait.Until(0xc00015da80, 0x3b9aca00, 0xc00009a180)
	/go/cluster-api-provider-ovirt/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:88 +0x4d
created by sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start
	/go/cluster-api-provider-ovirt/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:157 +0x32e
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
	panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x40 pc=0x10fe068]

Comment 2 Sandro Bonazzola 2020-06-09 11:48:44 UTC

*** This bug has been marked as a duplicate of bug 1830486 ***