@@ -22,6 +22,8 @@ import (
2222 "os"
2323 "testing"
2424
25+ "github.com/kubewharf/katalyst-core/pkg/config/agent/qrm/statedirectory"
26+
2527 "github.com/stretchr/testify/assert"
2628 "github.com/stretchr/testify/require"
2729 pluginapi "k8s.io/kubelet/pkg/apis/resourceplugin/v1alpha1"
@@ -50,7 +52,10 @@ func TestNewCanonicalHintOptimizer(t *testing.T) {
5052 require .NoError (t , err )
5153 defer os .RemoveAll (tmpDir )
5254
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 {})
5459 require .NoError (t , err )
5560
5661 options := policy.HintOptimizerFactoryOptions {
@@ -77,6 +82,9 @@ func TestCanonicalHintOptimizer_OptimizeHints(t *testing.T) {
7782 tmpDir , _ := ioutil .TempDir ("" , "test-canonical-hint-optimizer" )
7883 defer os .RemoveAll (tmpDir )
7984
85+ stateDirectoryConfig := & statedirectory.StateDirectoryConfiguration {
86+ StateFileDirectory : tmpDir ,
87+ }
8088 type fields struct {
8189 state state.State
8290 reservedCPUs machine.CPUSet
@@ -142,7 +150,7 @@ func TestCanonicalHintOptimizer_OptimizeHints(t *testing.T) {
142150 1 : & state.NUMANodeState {DefaultCPUSet : machine .NewCPUSet (5 , 6 , 7 , 8 ), PodEntries : make (state.PodEntries )},
143151 }
144152 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 {})
146154 st .SetMachineState (ms , false )
147155 return st
148156 }(),
@@ -180,7 +188,7 @@ func TestCanonicalHintOptimizer_OptimizeHints(t *testing.T) {
180188 1 : & state.NUMANodeState {DefaultCPUSet : machine .NewCPUSet (5 , 6 , 7 , 8 ), PodEntries : make (state.PodEntries )}, // 4 CPUs
181189 }
182190 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 {})
184192 st .SetMachineState (ms , false )
185193 return st
186194 }(),
@@ -217,7 +225,7 @@ func TestCanonicalHintOptimizer_OptimizeHints(t *testing.T) {
217225 1 : & state.NUMANodeState {DefaultCPUSet : machine .NewCPUSet (5 , 6 , 7 , 8 ), PodEntries : make (state.PodEntries )}, // 4 CPUs, 3 left
218226 }
219227 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 {})
221229 st .SetMachineState (ms , false )
222230 return st
223231 }(),
@@ -255,7 +263,7 @@ func TestCanonicalHintOptimizer_OptimizeHints(t *testing.T) {
255263 1 : & state.NUMANodeState {DefaultCPUSet : machine .NewCPUSet (5 , 6 , 7 , 8 ), PodEntries : make (state.PodEntries )}, // 4 CPUs, available ratio 1.0
256264 }
257265 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 {})
259267 st .SetMachineState (ms , false )
260268 return st
261269 }(),
@@ -329,7 +337,7 @@ func TestCanonicalHintOptimizer_OptimizeHints(t *testing.T) {
329337 },
330338 }
331339 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 {})
333341 st .SetMachineState (ms , false )
334342 return st
335343 }(),
@@ -403,7 +411,7 @@ func TestCanonicalHintOptimizer_OptimizeHints(t *testing.T) {
403411 },
404412 }
405413 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 {})
407415 st .SetMachineState (ms , false )
408416 return st
409417 }(),
@@ -444,7 +452,7 @@ func TestCanonicalHintOptimizer_OptimizeHints(t *testing.T) {
444452 1 : & state.NUMANodeState {DefaultCPUSet : machine .NewCPUSet (5 , 6 , 7 , 8 ), PodEntries : make (state.PodEntries )}, // 4 CPUs, 3 left
445453 }
446454 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 {})
448456 st .SetMachineState (ms , false )
449457 return st
450458 }(),
@@ -481,7 +489,7 @@ func TestCanonicalHintOptimizer_OptimizeHints(t *testing.T) {
481489 1 : & state.NUMANodeState {DefaultCPUSet : machine .NewCPUSet (5 ), PodEntries : make (state.PodEntries )}, // 1 CPU
482490 }
483491 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 {})
485493 st .SetMachineState (ms , false )
486494 return st
487495 }(),
@@ -516,7 +524,7 @@ func TestCanonicalHintOptimizer_OptimizeHints(t *testing.T) {
516524 2 : & state.NUMANodeState {DefaultCPUSet : machine .NewCPUSet (10 ), PodEntries : make (state.PodEntries )}, // 1 left
517525 }
518526 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 {})
520528 st .SetMachineState (ms , false )
521529 return st
522530 }(),
@@ -555,7 +563,7 @@ func TestCanonicalHintOptimizer_OptimizeHints(t *testing.T) {
555563 2 : & state.NUMANodeState {DefaultCPUSet : machine .NewCPUSet (10 ), PodEntries : make (state.PodEntries )}, // 1 left
556564 }
557565 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 {})
559567 st .SetMachineState (ms , false )
560568 return st
561569 }(),
@@ -595,7 +603,7 @@ func TestCanonicalHintOptimizer_OptimizeHints(t *testing.T) {
595603 1 : & state.NUMANodeState {DefaultCPUSet : machine .NewCPUSet (5 , 6 , 7 , 8 ), PodEntries : make (state.PodEntries )},
596604 }
597605 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 {})
599607 st .SetMachineState (ms , false )
600608 return st
601609 }(),
@@ -660,7 +668,7 @@ func TestCanonicalHintOptimizer_OptimizeHints(t *testing.T) {
660668 },
661669 }
662670 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 {})
664672 st .SetMachineState (ms , false )
665673 return st
666674 }(),
@@ -702,7 +710,7 @@ func TestCanonicalHintOptimizer_OptimizeHints(t *testing.T) {
702710 1 : & state.NUMANodeState {DefaultCPUSet : machine .NewCPUSet (3 , 4 ), PodEntries : make (state.PodEntries )},
703711 }
704712 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 {})
706714 st .SetMachineState (ms , false )
707715 return st
708716 }(),
0 commit comments