8585 },
8686 },
8787 }
88+ lessThanMilliEstimator = LinearEstimator {
89+ Resources : []Resource {
90+ {
91+ Base : resource .MustParse ("0.3" ),
92+ ExtraPerNode : resource .MustParse ("0.5m" ),
93+ Name : "cpu" ,
94+ },
95+ },
96+ }
8897 emptyEstimator = LinearEstimator {
8998 Resources : []Resource {},
9099 }
@@ -109,6 +118,16 @@ var (
109118 },
110119 ScaleFactor : 1.5 ,
111120 }
121+ exponentialLessThanMilliEstimator = ExponentialEstimator {
122+ Resources : []Resource {
123+ {
124+ Base : resource .MustParse ("0.3" ),
125+ ExtraPerNode : resource .MustParse ("0.5m" ),
126+ Name : "cpu" ,
127+ },
128+ },
129+ ScaleFactor : 1.5 ,
130+ }
112131
113132 baseResources = api.ResourceList {
114133 "cpu" : resource .MustParse ("0.3" ),
@@ -145,6 +164,12 @@ var (
145164 "cpu" : resource .MustParse ("3.3" ),
146165 "memory" : resource .MustParse ("33Mi" ),
147166 }
167+ threeNodeLessThanMilliResources = api.ResourceList {
168+ "cpu" : resource .MustParse ("0.3015" ),
169+ }
170+ threeNodeLessThanMilliExpResources = api.ResourceList {
171+ "cpu" : resource .MustParse ("0.308" ),
172+ }
148173 noResources = api.ResourceList {}
149174
150175 sixteenNodeResources = api.ResourceList {
@@ -191,6 +216,7 @@ func TestEstimateResources(t *testing.T) {
191216 {noMemoryEstimator , 3 , threeNodeNoMemoryResources , threeNodeNoMemoryResources },
192217 {noStorageEstimator , 0 , noStorageBaseResources , noStorageBaseResources },
193218 {noStorageEstimator , 3 , threeNodeNoStorageResources , threeNodeNoStorageResources },
219+ {lessThanMilliEstimator , 3 , threeNodeLessThanMilliResources , threeNodeLessThanMilliResources },
194220 {emptyEstimator , 0 , noResources , noResources },
195221 {emptyEstimator , 3 , noResources , noResources },
196222 {exponentialEstimator , 0 , sixteenNodeResources , sixteenNodeResources },
@@ -200,6 +226,7 @@ func TestEstimateResources(t *testing.T) {
200226 {exponentialEstimator , 17 , twentyFourNodeResources , twentyFourNodeResources },
201227 {exponentialEstimator , 20 , twentyFourNodeResources , twentyFourNodeResources },
202228 {exponentialEstimator , 24 , twentyFourNodeResources , twentyFourNodeResources },
229+ {exponentialLessThanMilliEstimator , 3 , threeNodeLessThanMilliExpResources , threeNodeLessThanMilliExpResources },
203230 }
204231
205232 for _ , tc := range testCases {
0 commit comments