@@ -22,6 +22,8 @@ import (
22
22
"os"
23
23
"testing"
24
24
25
+ "github.com/kubewharf/katalyst-core/pkg/config/agent/qrm/statedirectory"
26
+
25
27
"github.com/stretchr/testify/assert"
26
28
"github.com/stretchr/testify/require"
27
29
pluginapi "k8s.io/kubelet/pkg/apis/resourceplugin/v1alpha1"
@@ -50,7 +52,10 @@ func TestNewCanonicalHintOptimizer(t *testing.T) {
50
52
require .NoError (t , err )
51
53
defer os .RemoveAll (tmpDir )
52
54
53
- stateImpl , err := state .NewCheckpointState (tmpDir , "test" , "test" , cpuTopology , false , state .GenerateMachineStateFromPodEntries , metrics.DummyMetrics {}, false )
55
+ stateDirectoryConfig := & statedirectory.StateDirectoryConfiguration {
56
+ StateFileDirectory : tmpDir ,
57
+ }
58
+ stateImpl , err := state .NewCheckpointState (stateDirectoryConfig , "test" , "test" , cpuTopology , false , state .GenerateMachineStateFromPodEntries , metrics.DummyMetrics {})
54
59
require .NoError (t , err )
55
60
56
61
options := policy.HintOptimizerFactoryOptions {
@@ -77,6 +82,9 @@ func TestCanonicalHintOptimizer_OptimizeHints(t *testing.T) {
77
82
tmpDir , _ := ioutil .TempDir ("" , "test-canonical-hint-optimizer" )
78
83
defer os .RemoveAll (tmpDir )
79
84
85
+ stateDirectoryConfig := & statedirectory.StateDirectoryConfiguration {
86
+ StateFileDirectory : tmpDir ,
87
+ }
80
88
type fields struct {
81
89
state state.State
82
90
reservedCPUs machine.CPUSet
@@ -142,7 +150,7 @@ func TestCanonicalHintOptimizer_OptimizeHints(t *testing.T) {
142
150
1 : & state.NUMANodeState {DefaultCPUSet : machine .NewCPUSet (5 , 6 , 7 , 8 ), PodEntries : make (state.PodEntries )},
143
151
}
144
152
cpuTopology , _ := machine .GenerateDummyCPUTopology (16 , 1 , 2 ) // 2 NUMA node
145
- st , _ := state .NewCheckpointState (tmpDir , "policy_packing" , "test" , cpuTopology , false , state .GenerateMachineStateFromPodEntries , metrics.DummyMetrics {}, false )
153
+ st , _ := state .NewCheckpointState (stateDirectoryConfig , "policy_packing" , "test" , cpuTopology , false , state .GenerateMachineStateFromPodEntries , metrics.DummyMetrics {})
146
154
st .SetMachineState (ms , false )
147
155
return st
148
156
}(),
@@ -180,7 +188,7 @@ func TestCanonicalHintOptimizer_OptimizeHints(t *testing.T) {
180
188
1 : & state.NUMANodeState {DefaultCPUSet : machine .NewCPUSet (5 , 6 , 7 , 8 ), PodEntries : make (state.PodEntries )}, // 4 CPUs
181
189
}
182
190
cpuTopology , _ := machine .GenerateDummyCPUTopology (16 , 1 , 2 ) // 2 NUMA node
183
- st , _ := state .NewCheckpointState (tmpDir , "policy_packing_one_NUMA_insufficient" , "test" , cpuTopology , false , state .GenerateMachineStateFromPodEntries , metrics.DummyMetrics {}, false )
191
+ st , _ := state .NewCheckpointState (stateDirectoryConfig , "policy_packing_one_NUMA_insufficient" , "test" , cpuTopology , false , state .GenerateMachineStateFromPodEntries , metrics.DummyMetrics {})
184
192
st .SetMachineState (ms , false )
185
193
return st
186
194
}(),
@@ -217,7 +225,7 @@ func TestCanonicalHintOptimizer_OptimizeHints(t *testing.T) {
217
225
1 : & state.NUMANodeState {DefaultCPUSet : machine .NewCPUSet (5 , 6 , 7 , 8 ), PodEntries : make (state.PodEntries )}, // 4 CPUs, 3 left
218
226
}
219
227
cpuTopology , _ := machine .GenerateDummyCPUTopology (16 , 1 , 2 ) // 2 NUMA node
220
- st , _ := state .NewCheckpointState (tmpDir , "policy_spreading" , "test" , cpuTopology , false , state .GenerateMachineStateFromPodEntries , metrics.DummyMetrics {}, false )
228
+ st , _ := state .NewCheckpointState (stateDirectoryConfig , "policy_spreading" , "test" , cpuTopology , false , state .GenerateMachineStateFromPodEntries , metrics.DummyMetrics {})
221
229
st .SetMachineState (ms , false )
222
230
return st
223
231
}(),
@@ -255,7 +263,7 @@ func TestCanonicalHintOptimizer_OptimizeHints(t *testing.T) {
255
263
1 : & state.NUMANodeState {DefaultCPUSet : machine .NewCPUSet (5 , 6 , 7 , 8 ), PodEntries : make (state.PodEntries )}, // 4 CPUs, available ratio 1.0
256
264
}
257
265
cpuTopology , _ := machine .GenerateDummyCPUTopology (16 , 1 , 2 ) // 2 NUMA node
258
- st , _ := state .NewCheckpointState (tmpDir , "policy_dynamic_packing_all_above_threshold" , "test" , cpuTopology , false , state .GenerateMachineStateFromPodEntries , metrics.DummyMetrics {}, false )
266
+ st , _ := state .NewCheckpointState (stateDirectoryConfig , "policy_dynamic_packing_all_above_threshold" , "test" , cpuTopology , false , state .GenerateMachineStateFromPodEntries , metrics.DummyMetrics {})
259
267
st .SetMachineState (ms , false )
260
268
return st
261
269
}(),
@@ -329,7 +337,7 @@ func TestCanonicalHintOptimizer_OptimizeHints(t *testing.T) {
329
337
},
330
338
}
331
339
cpuTopology , _ := machine .GenerateDummyCPUTopology (16 , 1 , 2 ) // 2 NUMA node
332
- st , _ := state .NewCheckpointState (tmpDir , "policy_dynamic_packing_one_below_threshold" , "test" , cpuTopology , false , state .GenerateMachineStateFromPodEntries , metrics.DummyMetrics {}, false )
340
+ st , _ := state .NewCheckpointState (stateDirectoryConfig , "policy_dynamic_packing_one_below_threshold" , "test" , cpuTopology , false , state .GenerateMachineStateFromPodEntries , metrics.DummyMetrics {})
333
341
st .SetMachineState (ms , false )
334
342
return st
335
343
}(),
@@ -403,7 +411,7 @@ func TestCanonicalHintOptimizer_OptimizeHints(t *testing.T) {
403
411
},
404
412
}
405
413
cpuTopology , _ := machine .GenerateDummyCPUTopology (16 , 1 , 2 ) // 2 NUMA node
406
- st , _ := state .NewCheckpointState (tmpDir , "policy_dynamic_packing_all_below_threshold_fallback_to_spreading" , "test" , cpuTopology , false , state .GenerateMachineStateFromPodEntries , metrics.DummyMetrics {}, false )
414
+ st , _ := state .NewCheckpointState (stateDirectoryConfig , "policy_dynamic_packing_all_below_threshold_fallback_to_spreading" , "test" , cpuTopology , false , state .GenerateMachineStateFromPodEntries , metrics.DummyMetrics {})
407
415
st .SetMachineState (ms , false )
408
416
return st
409
417
}(),
@@ -444,7 +452,7 @@ func TestCanonicalHintOptimizer_OptimizeHints(t *testing.T) {
444
452
1 : & state.NUMANodeState {DefaultCPUSet : machine .NewCPUSet (5 , 6 , 7 , 8 ), PodEntries : make (state.PodEntries )}, // 4 CPUs, 3 left
445
453
}
446
454
cpuTopology , _ := machine .GenerateDummyCPUTopology (16 , 1 , 2 ) // 2 NUMA node
447
- st , _ := state .NewCheckpointState (tmpDir , "unknown_policy_fallback_to_spreading" , "test" , cpuTopology , false , state .GenerateMachineStateFromPodEntries , metrics.DummyMetrics {}, false )
455
+ st , _ := state .NewCheckpointState (stateDirectoryConfig , "unknown_policy_fallback_to_spreading" , "test" , cpuTopology , false , state .GenerateMachineStateFromPodEntries , metrics.DummyMetrics {})
448
456
st .SetMachineState (ms , false )
449
457
return st
450
458
}(),
@@ -481,7 +489,7 @@ func TestCanonicalHintOptimizer_OptimizeHints(t *testing.T) {
481
489
1 : & state.NUMANodeState {DefaultCPUSet : machine .NewCPUSet (5 ), PodEntries : make (state.PodEntries )}, // 1 CPU
482
490
}
483
491
cpuTopology , _ := machine .GenerateDummyCPUTopology (16 , 1 , 2 ) // 2 NUMA node
484
- st , _ := state .NewCheckpointState (tmpDir , "no_available_NUMA_nodes_after_filtering" , "test" , cpuTopology , false , state .GenerateMachineStateFromPodEntries , metrics.DummyMetrics {}, false )
492
+ st , _ := state .NewCheckpointState (stateDirectoryConfig , "no_available_NUMA_nodes_after_filtering" , "test" , cpuTopology , false , state .GenerateMachineStateFromPodEntries , metrics.DummyMetrics {})
485
493
st .SetMachineState (ms , false )
486
494
return st
487
495
}(),
@@ -516,7 +524,7 @@ func TestCanonicalHintOptimizer_OptimizeHints(t *testing.T) {
516
524
2 : & state.NUMANodeState {DefaultCPUSet : machine .NewCPUSet (10 ), PodEntries : make (state.PodEntries )}, // 1 left
517
525
}
518
526
cpuTopology , _ := machine .GenerateDummyCPUTopology (12 , 1 , 3 ) // 3 NUMA node
519
- st , _ := state .NewCheckpointState (tmpDir , "policy_packing_multiple_preferred_due_to_same_minLeft" , "test" , cpuTopology , false , state .GenerateMachineStateFromPodEntries , metrics.DummyMetrics {}, false )
527
+ st , _ := state .NewCheckpointState (stateDirectoryConfig , "policy_packing_multiple_preferred_due_to_same_minLeft" , "test" , cpuTopology , false , state .GenerateMachineStateFromPodEntries , metrics.DummyMetrics {})
520
528
st .SetMachineState (ms , false )
521
529
return st
522
530
}(),
@@ -555,7 +563,7 @@ func TestCanonicalHintOptimizer_OptimizeHints(t *testing.T) {
555
563
2 : & state.NUMANodeState {DefaultCPUSet : machine .NewCPUSet (10 ), PodEntries : make (state.PodEntries )}, // 1 left
556
564
}
557
565
cpuTopology , _ := machine .GenerateDummyCPUTopology (16 , 1 , 2 ) // 2 NUMA node
558
- st , _ := state .NewCheckpointState (tmpDir , "policy_spreading_multiple_preferred_due_to_same_maxLeft" , "test" , cpuTopology , false , state .GenerateMachineStateFromPodEntries , metrics.DummyMetrics {}, false )
566
+ st , _ := state .NewCheckpointState (stateDirectoryConfig , "policy_spreading_multiple_preferred_due_to_same_maxLeft" , "test" , cpuTopology , false , state .GenerateMachineStateFromPodEntries , metrics.DummyMetrics {})
559
567
st .SetMachineState (ms , false )
560
568
return st
561
569
}(),
@@ -595,7 +603,7 @@ func TestCanonicalHintOptimizer_OptimizeHints(t *testing.T) {
595
603
1 : & state.NUMANodeState {DefaultCPUSet : machine .NewCPUSet (5 , 6 , 7 , 8 ), PodEntries : make (state.PodEntries )},
596
604
}
597
605
cpuTopology , _ := machine .GenerateDummyCPUTopology (16 , 1 , 2 ) // 2 NUMA node
598
- st , _ := state .NewCheckpointState (tmpDir , "dynamic_packing_reserved_CPUs_affect_availability" , "test" , cpuTopology , false , state .GenerateMachineStateFromPodEntries , metrics.DummyMetrics {}, false )
606
+ st , _ := state .NewCheckpointState (stateDirectoryConfig , "dynamic_packing_reserved_CPUs_affect_availability" , "test" , cpuTopology , false , state .GenerateMachineStateFromPodEntries , metrics.DummyMetrics {})
599
607
st .SetMachineState (ms , false )
600
608
return st
601
609
}(),
@@ -660,7 +668,7 @@ func TestCanonicalHintOptimizer_OptimizeHints(t *testing.T) {
660
668
},
661
669
}
662
670
cpuTopology , _ := machine .GenerateDummyCPUTopology (16 , 1 , 2 ) // 2 NUMA node
663
- st , _ := state .NewCheckpointState (tmpDir , "dynamic_packing_one_NUMA_filtered_out_due_to_threshold_reserved_CPUs_considered" , "test" , cpuTopology , false , state .GenerateMachineStateFromPodEntries , metrics.DummyMetrics {}, false )
671
+ st , _ := state .NewCheckpointState (stateDirectoryConfig , "dynamic_packing_one_NUMA_filtered_out_due_to_threshold_reserved_CPUs_considered" , "test" , cpuTopology , false , state .GenerateMachineStateFromPodEntries , metrics.DummyMetrics {})
664
672
st .SetMachineState (ms , false )
665
673
return st
666
674
}(),
@@ -702,7 +710,7 @@ func TestCanonicalHintOptimizer_OptimizeHints(t *testing.T) {
702
710
1 : & state.NUMANodeState {DefaultCPUSet : machine .NewCPUSet (3 , 4 ), PodEntries : make (state.PodEntries )},
703
711
}
704
712
cpuTopology , _ := machine .GenerateDummyCPUTopology (16 , 1 , 2 ) // 2 NUMA node
705
- st , _ := state .NewCheckpointState (tmpDir , "dynamic_packing_allocatableCPUQuantity_is_zero_for_a_NUMA" , "test" , cpuTopology , false , state .GenerateMachineStateFromPodEntries , metrics.DummyMetrics {}, false )
713
+ st , _ := state .NewCheckpointState (stateDirectoryConfig , "dynamic_packing_allocatableCPUQuantity_is_zero_for_a_NUMA" , "test" , cpuTopology , false , state .GenerateMachineStateFromPodEntries , metrics.DummyMetrics {})
706
714
st .SetMachineState (ms , false )
707
715
return st
708
716
}(),
0 commit comments