Skip to content

Commit dc65389

Browse files
committed
fix: use NamespacedName instead of ObjectReference
1 parent b11861f commit dc65389

7 files changed

Lines changed: 21 additions & 23 deletions

File tree

internal/scheduling/lib/weigher.go

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ import (
99
"fmt"
1010

1111
"github.com/cobaltcore-dev/cortex/api/v1alpha1"
12-
corev1 "k8s.io/api/core/v1"
1312
"k8s.io/apimachinery/pkg/api/meta"
13+
"k8s.io/apimachinery/pkg/types"
1414
"sigs.k8s.io/controller-runtime/pkg/client"
1515
)
1616

@@ -42,16 +42,13 @@ func (s *BaseWeigher[RequestType, Opts]) Validate(ctx context.Context, params v1
4242
}
4343

4444
// Check if all knowledges are ready, and if not, return an error indicating why not.
45-
func (d *BaseFilterWeigherPipelineStep[RequestType, Opts]) CheckKnowledges(ctx context.Context, kns ...corev1.ObjectReference) error {
45+
func (d *BaseFilterWeigherPipelineStep[RequestType, Opts]) CheckKnowledges(ctx context.Context, kns ...types.NamespacedName) error {
4646
if d.Client == nil {
4747
return errors.New("kubernetes client not initialized")
4848
}
4949
for _, objRef := range kns {
5050
knowledge := &v1alpha1.Knowledge{}
51-
if err := d.Client.Get(ctx, client.ObjectKey{
52-
Name: objRef.Name,
53-
Namespace: objRef.Namespace,
54-
}, knowledge); err != nil {
51+
if err := d.Client.Get(ctx, objRef, knowledge); err != nil {
5552
return fmt.Errorf("failed to get knowledge %s: %w", objRef.Name, err)
5653
}
5754
// Check if the knowledge status conditions indicate an error.

internal/scheduling/lib/weigher_test.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ import (
99
"testing"
1010

1111
"github.com/cobaltcore-dev/cortex/api/v1alpha1"
12-
corev1 "k8s.io/api/core/v1"
1312
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1413
"k8s.io/apimachinery/pkg/runtime"
14+
"k8s.io/apimachinery/pkg/types"
1515
"sigs.k8s.io/controller-runtime/pkg/client"
1616
"sigs.k8s.io/controller-runtime/pkg/client/fake"
1717
)
@@ -107,7 +107,7 @@ func TestBaseFilterWeigherPipelineStep_CheckKnowledges(t *testing.T) {
107107
tests := []struct {
108108
name string
109109
knowledges []v1alpha1.Knowledge
110-
refs []corev1.ObjectReference
110+
refs []types.NamespacedName
111111
expectError bool
112112
errorMsg string
113113
}{
@@ -130,15 +130,15 @@ func TestBaseFilterWeigherPipelineStep_CheckKnowledges(t *testing.T) {
130130
},
131131
},
132132
},
133-
refs: []corev1.ObjectReference{
133+
refs: []types.NamespacedName{
134134
{Name: "knowledge1", Namespace: "default"},
135135
},
136136
expectError: false,
137137
},
138138
{
139139
name: "knowledge not found",
140140
knowledges: []v1alpha1.Knowledge{},
141-
refs: []corev1.ObjectReference{
141+
refs: []types.NamespacedName{
142142
{Name: "missing-knowledge", Namespace: "default"},
143143
},
144144
expectError: true,
@@ -163,7 +163,7 @@ func TestBaseFilterWeigherPipelineStep_CheckKnowledges(t *testing.T) {
163163
},
164164
},
165165
},
166-
refs: []corev1.ObjectReference{
166+
refs: []types.NamespacedName{
167167
{Name: "knowledge1", Namespace: "default"},
168168
},
169169
expectError: true,
@@ -188,7 +188,7 @@ func TestBaseFilterWeigherPipelineStep_CheckKnowledges(t *testing.T) {
188188
},
189189
},
190190
},
191-
refs: []corev1.ObjectReference{
191+
refs: []types.NamespacedName{
192192
{Name: "knowledge1", Namespace: "default"},
193193
},
194194
expectError: true,
@@ -197,7 +197,7 @@ func TestBaseFilterWeigherPipelineStep_CheckKnowledges(t *testing.T) {
197197
{
198198
name: "empty knowledge list",
199199
knowledges: []v1alpha1.Knowledge{},
200-
refs: []corev1.ObjectReference{},
200+
refs: []types.NamespacedName{},
201201
expectError: false,
202202
},
203203
}
@@ -236,7 +236,7 @@ func TestBaseFilterWeigherPipelineStep_CheckKnowledges_NilClient(t *testing.T) {
236236
Client: nil,
237237
}
238238

239-
err := step.CheckKnowledges(t.Context(), corev1.ObjectReference{Name: "test", Namespace: "default"})
239+
err := step.CheckKnowledges(t.Context(), types.NamespacedName{Name: "test", Namespace: "default"})
240240

241241
if err == nil {
242242
t.Error("expected error for nil client but got nil")

internal/scheduling/manila/plugins/weighers/netapp_cpu_usage_balancing.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import (
1212
"github.com/cobaltcore-dev/cortex/api/v1alpha1"
1313
"github.com/cobaltcore-dev/cortex/internal/knowledge/extractor/plugins/storage"
1414
"github.com/cobaltcore-dev/cortex/internal/scheduling/lib"
15-
corev1 "k8s.io/api/core/v1"
15+
"k8s.io/apimachinery/pkg/types"
1616
"sigs.k8s.io/controller-runtime/pkg/client"
1717
)
1818

@@ -54,7 +54,7 @@ func (s *NetappCPUUsageBalancingStep) Init(ctx context.Context, client client.Cl
5454
if err := s.BaseWeigher.Init(ctx, client, weigher); err != nil {
5555
return err
5656
}
57-
if err := s.CheckKnowledges(ctx, corev1.ObjectReference{Name: "netapp-storage-pool-cpu-usage-manila"}); err != nil {
57+
if err := s.CheckKnowledges(ctx, types.NamespacedName{Name: "netapp-storage-pool-cpu-usage-manila"}); err != nil {
5858
return err
5959
}
6060
return nil

internal/scheduling/nova/plugins/weighers/vmware_anti_affinity_noisy_projects.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import (
1212
"github.com/cobaltcore-dev/cortex/api/v1alpha1"
1313
"github.com/cobaltcore-dev/cortex/internal/knowledge/extractor/plugins/compute"
1414
"github.com/cobaltcore-dev/cortex/internal/scheduling/lib"
15-
corev1 "k8s.io/api/core/v1"
15+
"k8s.io/apimachinery/pkg/types"
1616
"sigs.k8s.io/controller-runtime/pkg/client"
1717
)
1818

@@ -45,7 +45,7 @@ func (s *VMwareAntiAffinityNoisyProjectsStep) Init(ctx context.Context, client c
4545
if err := s.BaseWeigher.Init(ctx, client, weigher); err != nil {
4646
return err
4747
}
48-
if err := s.CheckKnowledges(ctx, corev1.ObjectReference{Name: "vmware-project-noisiness"}); err != nil {
48+
if err := s.CheckKnowledges(ctx, types.NamespacedName{Name: "vmware-project-noisiness"}); err != nil {
4949
return err
5050
}
5151
return nil

internal/scheduling/nova/plugins/weighers/vmware_avoid_long_term_contended_hosts.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import (
1212
"github.com/cobaltcore-dev/cortex/api/v1alpha1"
1313
"github.com/cobaltcore-dev/cortex/internal/knowledge/extractor/plugins/compute"
1414
"github.com/cobaltcore-dev/cortex/internal/scheduling/lib"
15-
corev1 "k8s.io/api/core/v1"
15+
"k8s.io/apimachinery/pkg/types"
1616
"sigs.k8s.io/controller-runtime/pkg/client"
1717
)
1818

@@ -54,7 +54,7 @@ func (s *VMwareAvoidLongTermContendedHostsStep) Init(ctx context.Context, client
5454
if err := s.BaseWeigher.Init(ctx, client, weigher); err != nil {
5555
return err
5656
}
57-
if err := s.CheckKnowledges(ctx, corev1.ObjectReference{Name: "vmware-long-term-contended-hosts"}); err != nil {
57+
if err := s.CheckKnowledges(ctx, types.NamespacedName{Name: "vmware-long-term-contended-hosts"}); err != nil {
5858
return err
5959
}
6060
return nil

internal/scheduling/nova/plugins/weighers/vmware_avoid_short_term_contended_hosts.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import (
1212
"github.com/cobaltcore-dev/cortex/api/v1alpha1"
1313
"github.com/cobaltcore-dev/cortex/internal/knowledge/extractor/plugins/compute"
1414
"github.com/cobaltcore-dev/cortex/internal/scheduling/lib"
15-
corev1 "k8s.io/api/core/v1"
15+
"k8s.io/apimachinery/pkg/types"
1616
"sigs.k8s.io/controller-runtime/pkg/client"
1717
)
1818

@@ -54,7 +54,7 @@ func (s *VMwareAvoidShortTermContendedHostsStep) Init(ctx context.Context, clien
5454
if err := s.BaseWeigher.Init(ctx, client, weigher); err != nil {
5555
return err
5656
}
57-
if err := s.CheckKnowledges(ctx, corev1.ObjectReference{Name: "vmware-short-term-contended-hosts"}); err != nil {
57+
if err := s.CheckKnowledges(ctx, types.NamespacedName{Name: "vmware-short-term-contended-hosts"}); err != nil {
5858
return err
5959
}
6060
return nil

internal/scheduling/nova/plugins/weighers/vmware_binpack.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import (
1616
"github.com/cobaltcore-dev/cortex/internal/scheduling/lib"
1717
corev1 "k8s.io/api/core/v1"
1818
"k8s.io/apimachinery/pkg/api/resource"
19+
"k8s.io/apimachinery/pkg/types"
1920
"sigs.k8s.io/controller-runtime/pkg/client"
2021
)
2122

@@ -77,7 +78,7 @@ func (s *VMwareBinpackStep) Init(ctx context.Context, client client.Client, weig
7778
return err
7879
}
7980
if err := s.CheckKnowledges(ctx,
80-
corev1.ObjectReference{Name: "host-utilization"},
81+
types.NamespacedName{Name: "host-utilization"},
8182
); err != nil {
8283
return err
8384
}

0 commit comments

Comments
 (0)