@@ -101,16 +101,60 @@ func TestNodesSimilarVariousRequirementsAndPods(t *testing.T) {
101101
102102func TestNodesSimilarVariousMemoryRequirements (t * testing.T ) {
103103 comparator := CreateGenericNodeInfoComparator ([]string {})
104- n1 := BuildTestNode ("node1" , 1000 , MaxMemoryDifferenceInKiloBytes )
104+ n1 := BuildTestNode ("node1" , 1000 , 1000 )
105105
106106 // Different memory capacity within tolerance
107- n2 := BuildTestNode ("node2" , 1000 , MaxMemoryDifferenceInKiloBytes )
108- n2 .Status .Capacity [apiv1 .ResourceMemory ] = * resource .NewQuantity (2 * MaxMemoryDifferenceInKiloBytes , resource .DecimalSI )
107+ n2 := BuildTestNode ("node2" , 1000 , 1000 )
108+ n2 .Status .Capacity [apiv1 .ResourceMemory ] = * resource .NewQuantity (1000 - ( 1000 * MaxCapacityMemoryDifferenceRatio ) + 1 , resource .DecimalSI )
109109 checkNodesSimilar (t , n1 , n2 , comparator , true )
110110
111111 // Different memory capacity exceeds tolerance
112- n3 := BuildTestNode ("node3" , 1000 , MaxMemoryDifferenceInKiloBytes )
113- n3 .Status .Capacity [apiv1 .ResourceMemory ] = * resource .NewQuantity (2 * MaxMemoryDifferenceInKiloBytes + 1 , resource .DecimalSI )
112+ n3 := BuildTestNode ("node3" , 1000 , 1000 )
113+ n3 .Status .Capacity [apiv1 .ResourceMemory ] = * resource .NewQuantity (1000 - (1000 * MaxCapacityMemoryDifferenceRatio )- 1 , resource .DecimalSI )
114+ checkNodesSimilar (t , n1 , n3 , comparator , false )
115+ }
116+
117+ func TestNodesSimilarVariousLargeMemoryRequirementsM5XLarge (t * testing.T ) {
118+ comparator := CreateGenericNodeInfoComparator ([]string {})
119+
120+ // Use realistic memory capacity (taken from real nodes)
121+ // 15944120 KB ~= 16GiB (m5.xLarge)
122+ q1 := resource .MustParse ("16116152Ki" )
123+ q2 := resource .MustParse ("15944120Ki" )
124+
125+ n1 := BuildTestNode ("node1" , 1000 , q1 .Value ())
126+
127+ // Different memory capacity within tolerance
128+ // Value taken from another m5.xLarge in a different zone
129+ n2 := BuildTestNode ("node2" , 1000 , q2 .Value ())
130+ checkNodesSimilar (t , n1 , n2 , comparator , true )
131+
132+ // Different memory capacity exceeds tolerance
133+ // Value of q1 * 1.02
134+ q3 := resource .MustParse ("16438475Ki" )
135+ n3 := BuildTestNode ("node3" , 1000 , q3 .Value ())
136+ checkNodesSimilar (t , n1 , n3 , comparator , false )
137+ }
138+
139+ func TestNodesSimilarVariousLargeMemoryRequirementsM516XLarge (t * testing.T ) {
140+ comparator := CreateGenericNodeInfoComparator ([]string {})
141+
142+ // Use realistic memory capacity (taken from real nodes)
143+ // 257217528 KB ~= 256GiB (m5.16xLarge)
144+ q1 := resource .MustParse ("259970052Ki" )
145+ q2 := resource .MustParse ("257217528Ki" )
146+
147+ n1 := BuildTestNode ("node1" , 1000 , q1 .Value ())
148+
149+ // Different memory capacity within tolerance
150+ // Value taken from another m5.xLarge in a different zone
151+ n2 := BuildTestNode ("node2" , 1000 , q2 .Value ())
152+ checkNodesSimilar (t , n1 , n2 , comparator , true )
153+
154+ // Different memory capacity exceeds tolerance
155+ // Value of q1 * 1.02
156+ q3 := resource .MustParse ("265169453Ki" )
157+ n3 := BuildTestNode ("node3" , 1000 , q3 .Value ())
114158 checkNodesSimilar (t , n1 , n3 , comparator , false )
115159}
116160
0 commit comments