From 2d8740bbcfb300588064e5a51bbfc1f3ef702efe Mon Sep 17 00:00:00 2001 From: Reed Schalo Date: Mon, 21 Oct 2024 12:29:31 -0700 Subject: [PATCH 1/3] fix: check for nil pointer dereference --- pkg/controllers/disruption/multinodeconsolidation.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkg/controllers/disruption/multinodeconsolidation.go b/pkg/controllers/disruption/multinodeconsolidation.go index e033aa176b..3f94dc823b 100644 --- a/pkg/controllers/disruption/multinodeconsolidation.go +++ b/pkg/controllers/disruption/multinodeconsolidation.go @@ -209,6 +209,9 @@ func filterOutSameType(newNodeClaim *scheduling.NodeClaim, consolidate []*Candid } // swallow the error since we don't allow min values to impact reschedulability in multi node claim newNodeClaim, err := newNodeClaim.RemoveInstanceTypeOptionsByPriceAndMinValues(newNodeClaim.Requirements, maxPrice) + if lo.IsNil(newNodeClaim) { + return []*cloudprovider.InstanceType{}, nil + } return newNodeClaim.InstanceTypeOptions, err } From 6a93ddd6363115a57c55a44e2e3b764e92330a72 Mon Sep 17 00:00:00 2001 From: Reed Schalo Date: Mon, 21 Oct 2024 13:27:51 -0700 Subject: [PATCH 2/3] update if check --- pkg/controllers/disruption/multinodeconsolidation.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkg/controllers/disruption/multinodeconsolidation.go b/pkg/controllers/disruption/multinodeconsolidation.go index 3f94dc823b..8de8482e69 100644 --- a/pkg/controllers/disruption/multinodeconsolidation.go +++ b/pkg/controllers/disruption/multinodeconsolidation.go @@ -209,10 +209,10 @@ func filterOutSameType(newNodeClaim *scheduling.NodeClaim, consolidate []*Candid } // swallow the error since we don't allow min values to impact reschedulability in multi node claim newNodeClaim, err := newNodeClaim.RemoveInstanceTypeOptionsByPriceAndMinValues(newNodeClaim.Requirements, maxPrice) - if lo.IsNil(newNodeClaim) { - return []*cloudprovider.InstanceType{}, nil + if err != nil { + return []*cloudprovider.InstanceType{}, err } - return newNodeClaim.InstanceTypeOptions, err + return newNodeClaim.InstanceTypeOptions, nil } func (m *MultiNodeConsolidation) Reason() v1.DisruptionReason { From 653d7f9d2ce706101848e0f0bd02b05eb92a1307 Mon Sep 17 00:00:00 2001 From: Reed Schalo Date: Mon, 21 Oct 2024 13:46:44 -0700 Subject: [PATCH 3/3] add nil --- pkg/controllers/disruption/multinodeconsolidation.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/controllers/disruption/multinodeconsolidation.go b/pkg/controllers/disruption/multinodeconsolidation.go index 8de8482e69..2e2039c1a0 100644 --- a/pkg/controllers/disruption/multinodeconsolidation.go +++ b/pkg/controllers/disruption/multinodeconsolidation.go @@ -210,7 +210,7 @@ func filterOutSameType(newNodeClaim *scheduling.NodeClaim, consolidate []*Candid // swallow the error since we don't allow min values to impact reschedulability in multi node claim newNodeClaim, err := newNodeClaim.RemoveInstanceTypeOptionsByPriceAndMinValues(newNodeClaim.Requirements, maxPrice) if err != nil { - return []*cloudprovider.InstanceType{}, err + return nil, err } return newNodeClaim.InstanceTypeOptions, nil }