+++ This bug was initially created as a clone of Bug #1814919 +++ Description of problem: Reference of vfGroup will be nil when numVfs is set to 0 in SR-IOV Node Policy. Version-Release number of selected component (if applicable): 4.4.rc-1 How reproducible: always Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info: E0318 13:34:51.746310 1 runtime.go:73] Observed a panic: "invalid memory address or nil pointer dereference" (runtime error: invalid memory address or nil pointer dereference) goroutine 1566 [running]: k8s.io/apimachinery/pkg/util/runtime.logPanic(0x150bc20, 0x2448700) /go/src/github.com/openshift/sriov-network-operator/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:69 +0x7b k8s.io/apimachinery/pkg/util/runtime.HandleCrash(0x0, 0x0, 0x0) /go/src/github.com/openshift/sriov-network-operator/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:51 +0x82 panic(0x150bc20, 0x2448700) /opt/rh/go-toolset-1.13/root/usr/lib/go-toolset-1.13-golang/src/runtime/panic.go:679 +0x1b2 github.com/openshift/sriov-network-operator/pkg/apis/sriovnetwork/v1.(*SriovNetworkNodePolicy).Apply(0xc0008b4a38, 0xc000c0ca80) /go/src/github.com/openshift/sriov-network-operator/pkg/apis/sriovnetwork/v1/helper.go:121 +0x52a github.com/openshift/sriov-network-operator/pkg/controller/sriovnetworknodepolicy.(*ReconcileSriovNetworkNodePolicy).syncSriovNetworkNodeState(0xc000a80bc0, 0xc0006e41c0, 0xc00035a3f0, 0xc000c0c780, 0xc0008b5328, 0xc000af0560, 0x6, 0x1904da0, 0xc0001a6dc0) /go/src/github.com/openshift/sriov-network-operator/pkg/controller/sriovnetworknodepolicy/sriovnetworknodepolicy_controller.go:334 +0x642 github.com/openshift/sriov-network-operator/pkg/controller/sriovnetworknodepolicy.(*ReconcileSriovNetworkNodePolicy).syncAllSriovNetworkNodeStates(0xc000a80bc0, 0xc0006e41c0, 0xc00035a3f0, 0xc00035a540, 0x0, 0xc000705480) /go/src/github.com/openshift/sriov-network-operator/pkg/controller/sriovnetworknodepolicy/sriovnetworknodepolicy_controller.go:269 +0x417 github.com/openshift/sriov-network-operator/pkg/controller/sriovnetworknodepolicy.(*ReconcileSriovNetworkNodePolicy).Reconcile(0xc000a80bc0, 0xc000048d60, 0x20, 0xc000be69f0, 0x7, 0xc00012bcd8, 0xc000552510, 0xc000e0c3f8, 0x1908fc0) /go/src/github.com/openshift/sriov-network-operator/pkg/controller/sriovnetworknodepolicy/sriovnetworknodepolicy_controller.go:189 +0xa2f sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler(0xc0001e34a0, 0x156d3a0, 0xc000a5a960, 0x0) /go/src/github.com/openshift/sriov-network-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:216 +0x162 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem(0xc0001e34a0, 0xc0010bb300) /go/src/github.com/openshift/sriov-network-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:192 +0xcb sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).worker(0xc0001e34a0) /go/src/github.com/openshift/sriov-network-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:171 +0x2b k8s.io/apimachinery/pkg/util/wait.JitterUntil.func1(0xc000705430) /go/src/github.com/openshift/sriov-network-operator/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:152 +0x5e k8s.io/apimachinery/pkg/util/wait.JitterUntil(0xc000705430, 0x3b9aca00, 0x0, 0x1, 0xc00015e6c0) /go/src/github.com/openshift/sriov-network-operator/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:153 +0xf8 k8s.io/apimachinery/pkg/util/wait.Until(0xc000705430, 0x3b9aca00, 0xc00015e6c0) /go/src/github.com/openshift/sriov-network-operator/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:88 +0x4d created by sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start /go/src/github.com/openshift/sriov-network-operator/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=0x0 pc=0xb9f52a] goroutine 1566 [running]: k8s.io/apimachinery/pkg/util/runtime.HandleCrash(0x0, 0x0, 0x0) /go/src/github.com/openshift/sriov-network-operator/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:58 +0x105 panic(0x150bc20, 0x2448700) /opt/rh/go-toolset-1.13/root/usr/lib/go-toolset-1.13-golang/src/runtime/panic.go:679 +0x1b2 github.com/openshift/sriov-network-operator/pkg/apis/sriovnetwork/v1.(*SriovNetworkNodePolicy).Apply(0xc0008b4a38, 0xc000c0ca80) /go/src/github.com/openshift/sriov-network-operator/pkg/apis/sriovnetwork/v1/helper.go:121 +0x52a github.com/openshift/sriov-network-operator/pkg/controller/sriovnetworknodepolicy.(*ReconcileSriovNetworkNodePolicy).syncSriovNetworkNodeState(0xc000a80bc0, 0xc0006e41c0, 0xc00035a3f0, 0xc000c0c780, 0xc0008b5328, 0xc000af0560, 0x6, 0x1904da0, 0xc0001a6dc0) /go/src/github.com/openshift/sriov-network-operator/pkg/controller/sriovnetworknodepolicy/sriovnetworknodepolicy_controller.go:334 +0x642 github.com/openshift/sriov-network-operator/pkg/controller/sriovnetworknodepolicy.(*ReconcileSriovNetworkNodePolicy).syncAllSriovNetworkNodeStates(0xc000a80bc0, 0xc0006e41c0, 0xc00035a3f0, 0xc00035a540, 0x0, 0xc000705480) /go/src/github.com/openshift/sriov-network-operator/pkg/controller/sriovnetworknodepolicy/sriovnetworknodepolicy_controller.go:269 +0x417 github.com/openshift/sriov-network-operator/pkg/controller/sriovnetworknodepolicy.(*ReconcileSriovNetworkNodePolicy).Reconcile(0xc000a80bc0, 0xc000048d60, 0x20, 0xc000be69f0, 0x7, 0xc00012bcd8, 0xc000552510, 0xc000e0c3f8, 0x1908fc0) /go/src/github.com/openshift/sriov-network-operator/pkg/controller/sriovnetworknodepolicy/sriovnetworknodepolicy_controller.go:189 +0xa2f sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler(0xc0001e34a0, 0x156d3a0, 0xc000a5a960, 0x0) /go/src/github.com/openshift/sriov-network-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:216 +0x162 sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem(0xc0001e34a0, 0xc0010bb300) /go/src/github.com/openshift/sriov-network-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:192 +0xcb sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).worker(0xc0001e34a0) /go/src/github.com/openshift/sriov-network-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:171 +0x2b k8s.io/apimachinery/pkg/util/wait.JitterUntil.func1(0xc000705430) /go/src/github.com/openshift/sriov-network-operator/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:152 +0x5e k8s.io/apimachinery/pkg/util/wait.JitterUntil(0xc000705430, 0x3b9aca00, 0x0, 0x1, 0xc00015e6c0) /go/src/github.com/openshift/sriov-network-operator/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:153 +0xf8 k8s.io/apimachinery/pkg/util/wait.Until(0xc000705430, 0x3b9aca00, 0xc00015e6c0) /go/src/github.com/openshift/sriov-network-operator/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:88 +0x4d created by sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start /go/src/github.com/openshift/sriov-network-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:157 +0x32e
*** Bug 1815319 has been marked as a duplicate of this bug. ***
Verified this bug on 4.4.0-202003300747 #oc create -f wrong-yaml/vfnum0 Error from server (numVfs(0) in CR without-netdevice is not allowed): error when creating "wrong-yaml/vfnum0": admission webhook "operator-webhook.sriovnetwork.openshift.io" denied the request: numVfs(0) in CR without-netdevice is not allowed
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2020:0581