Skip to content

Commit 0330902

Browse files
committed
fakemetricsclient: use Create with gvr to populate nodes/pods metricses instead
1 parent edefa1d commit 0330902

File tree

6 files changed

+30
-16
lines changed

6 files changed

+30
-16
lines changed

pkg/descheduler/descheduler_test.go

+9-5
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010
policy "k8s.io/api/policy/v1"
1111
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1212
"k8s.io/apimachinery/pkg/runtime"
13+
"k8s.io/apimachinery/pkg/runtime/schema"
1314
apiversion "k8s.io/apimachinery/pkg/version"
1415
fakediscovery "k8s.io/client-go/discovery/fake"
1516
"k8s.io/client-go/informers"
@@ -33,6 +34,11 @@ import (
3334
"sigs.k8s.io/descheduler/test"
3435
)
3536

37+
var (
38+
nodesgvr = schema.GroupVersionResource{Group: "metrics.k8s.io", Version: "v1beta1", Resource: "nodes"}
39+
podsgvr = schema.GroupVersionResource{Group: "metrics.k8s.io", Version: "v1beta1", Resource: "pods"}
40+
)
41+
3642
func initPluginRegistry() {
3743
pluginregistry.PluginRegistry = pluginregistry.NewRegistry()
3844
pluginregistry.Register(removeduplicates.PluginName, removeduplicates.New, &removeduplicates.RemoveDuplicates{}, &removeduplicates.RemoveDuplicatesArgs{}, removeduplicates.ValidateRemoveDuplicatesArgs, removeduplicates.SetDefaults_RemoveDuplicatesArgs, pluginregistry.PluginRegistry)
@@ -617,16 +623,14 @@ func TestLoadAwareDescheduling(t *testing.T) {
617623
test.BuildPodMetrics("p5", 400, 0),
618624
}
619625

620-
var metricsObjs []runtime.Object
626+
metricsClientset := fakemetricsclient.NewSimpleClientset()
621627
for _, nodemetrics := range nodemetricses {
622-
metricsObjs = append(metricsObjs, nodemetrics)
628+
metricsClientset.Tracker().Create(nodesgvr, nodemetrics, "")
623629
}
624630
for _, podmetrics := range podmetricses {
625-
metricsObjs = append(metricsObjs, podmetrics)
631+
metricsClientset.Tracker().Create(podsgvr, podmetrics, podmetrics.Namespace)
626632
}
627633

628-
metricsClientset := fakemetricsclient.NewSimpleClientset(metricsObjs...)
629-
630634
policy := lowNodeUtilizationPolicy(
631635
api.ResourceThresholds{
632636
v1.ResourceCPU: 30,

pkg/descheduler/metricscollector/metricscollector_test.go

+5-2
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ func checkCpuNodeUsage(t *testing.T, usage map[v1.ResourceName]*resource.Quantit
3737
}
3838

3939
func TestMetricsCollector(t *testing.T) {
40-
gvr := schema.GroupVersionResource{Group: "metrics.k8s.io", Version: "v1beta1", Resource: "nodemetricses"}
40+
gvr := schema.GroupVersionResource{Group: "metrics.k8s.io", Version: "v1beta1", Resource: "nodes"}
4141

4242
n1 := test.BuildTestNode("n1", 2000, 3000, 10, nil)
4343
n2 := test.BuildTestNode("n2", 2000, 3000, 10, nil)
@@ -48,7 +48,10 @@ func TestMetricsCollector(t *testing.T) {
4848
n3metrics := test.BuildNodeMetrics("n3", 300, 1714978816)
4949

5050
clientset := fakeclientset.NewSimpleClientset(n1, n2, n3)
51-
metricsClientset := fakemetricsclient.NewSimpleClientset(n1metrics, n2metrics, n3metrics)
51+
metricsClientset := fakemetricsclient.NewSimpleClientset()
52+
metricsClientset.Tracker().Create(gvr, n1metrics, "")
53+
metricsClientset.Tracker().Create(gvr, n2metrics, "")
54+
metricsClientset.Tracker().Create(gvr, n3metrics, "")
5255

5356
t.Logf("Set initial node cpu usage to 1400")
5457
collector := NewMetricsCollector(clientset, metricsClientset)

pkg/framework/plugins/nodeutilization/lownodeutilization_test.go

+5-4
Original file line numberDiff line numberDiff line change
@@ -1137,16 +1137,17 @@ func TestLowNodeUtilization(t *testing.T) {
11371137
for _, pod := range tc.pods {
11381138
objs = append(objs, pod)
11391139
}
1140-
var metricsObjs []runtime.Object
1140+
1141+
metricsClientset := fakemetricsclient.NewSimpleClientset()
11411142
for _, nodemetrics := range tc.nodemetricses {
1142-
metricsObjs = append(metricsObjs, nodemetrics)
1143+
metricsClientset.Tracker().Create(nodesgvr, nodemetrics, "")
11431144
}
11441145
for _, podmetrics := range tc.podmetricses {
1145-
metricsObjs = append(metricsObjs, podmetrics)
1146+
metricsClientset.Tracker().Create(podsgvr, podmetrics, podmetrics.Namespace)
11461147
}
11471148

11481149
fakeClient := fake.NewSimpleClientset(objs...)
1149-
metricsClientset := fakemetricsclient.NewSimpleClientset(metricsObjs...)
1150+
11501151
collector := metricscollector.NewMetricsCollector(fakeClient, metricsClientset)
11511152
err := collector.Collect(ctx)
11521153
if err != nil {

pkg/framework/plugins/nodeutilization/usageclients_test.go

+9-3
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,10 @@ import (
3535
"sigs.k8s.io/descheduler/test"
3636
)
3737

38-
var gvr = schema.GroupVersionResource{Group: "metrics.k8s.io", Version: "v1beta1", Resource: "nodemetricses"}
38+
var (
39+
nodesgvr = schema.GroupVersionResource{Group: "metrics.k8s.io", Version: "v1beta1", Resource: "nodes"}
40+
podsgvr = schema.GroupVersionResource{Group: "metrics.k8s.io", Version: "v1beta1", Resource: "pods"}
41+
)
3942

4043
func updateMetricsAndCheckNodeUtilization(
4144
t *testing.T,
@@ -50,7 +53,7 @@ func updateMetricsAndCheckNodeUtilization(
5053
) {
5154
t.Logf("Set current node cpu usage to %v", newValue)
5255
nodemetrics.Usage[v1.ResourceCPU] = *resource.NewMilliQuantity(newValue, resource.DecimalSI)
53-
metricsClientset.Tracker().Update(gvr, nodemetrics, "")
56+
metricsClientset.Tracker().Update(nodesgvr, nodemetrics, "")
5457
err := collector.Collect(ctx)
5558
if err != nil {
5659
t.Fatalf("failed to capture metrics: %v", err)
@@ -92,7 +95,10 @@ func TestActualUsageClient(t *testing.T) {
9295
n3metrics := test.BuildNodeMetrics("n3", 300, 1714978816)
9396

9497
clientset := fakeclientset.NewSimpleClientset(n1, n2, n3, p1, p21, p22, p3)
95-
metricsClientset := fakemetricsclient.NewSimpleClientset(n1metrics, n2metrics, n3metrics)
98+
metricsClientset := fakemetricsclient.NewSimpleClientset()
99+
metricsClientset.Tracker().Create(nodesgvr, n1metrics, "")
100+
metricsClientset.Tracker().Create(nodesgvr, n2metrics, "")
101+
metricsClientset.Tracker().Create(nodesgvr, n3metrics, "")
96102

97103
ctx := context.TODO()
98104

vendor/k8s.io/metrics/pkg/client/clientset/versioned/typed/metrics/v1beta1/fake/fake_nodemetrics.go

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/k8s.io/metrics/pkg/client/clientset/versioned/typed/metrics/v1beta1/fake/fake_podmetrics.go

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)