@@ -71,12 +71,12 @@ func TestGetResourceRequest(t *testing.T) {
71
71
expectedError error
72
72
}{
73
73
{
74
- pod : getPod ("foo" , "9" , "" , "" , "" ),
74
+ pod : getPod ("foo" , podResources { cpuRequest : "9" } ),
75
75
res : v1 .ResourceCPU ,
76
76
expectedValue : 9000 ,
77
77
},
78
78
{
79
- pod : getPod ("foo" , "" , "" , " 90Mi", "" ),
79
+ pod : getPod ("foo" , podResources { memoryRequest : " 90Mi"} ),
80
80
res : v1 .ResourceMemory ,
81
81
expectedValue : 94371840 ,
82
82
},
@@ -101,31 +101,31 @@ func TestExtractResourceValue(t *testing.T) {
101
101
Resource : "limits.cpu" ,
102
102
},
103
103
cName : "foo" ,
104
- pod : getPod ("foo" , "" , "9" , "" , "" ),
104
+ pod : getPod ("foo" , podResources { cpuLimit : "9" } ),
105
105
expectedValue : "9" ,
106
106
},
107
107
{
108
108
fs : & v1.ResourceFieldSelector {
109
109
Resource : "requests.cpu" ,
110
110
},
111
111
cName : "foo" ,
112
- pod : getPod ("foo" , "" , "" , "" , "" ),
112
+ pod : getPod ("foo" , podResources {} ),
113
113
expectedValue : "0" ,
114
114
},
115
115
{
116
116
fs : & v1.ResourceFieldSelector {
117
117
Resource : "requests.cpu" ,
118
118
},
119
119
cName : "foo" ,
120
- pod : getPod ("foo" , "8" , "" , "" , "" ),
120
+ pod : getPod ("foo" , podResources { cpuRequest : "8" } ),
121
121
expectedValue : "8" ,
122
122
},
123
123
{
124
124
fs : & v1.ResourceFieldSelector {
125
125
Resource : "requests.cpu" ,
126
126
},
127
127
cName : "foo" ,
128
- pod : getPod ("foo" , "100m" , "" , "" , "" ),
128
+ pod : getPod ("foo" , podResources { cpuRequest : "100m" } ),
129
129
expectedValue : "1" ,
130
130
},
131
131
{
@@ -134,15 +134,15 @@ func TestExtractResourceValue(t *testing.T) {
134
134
Divisor : resource .MustParse ("100m" ),
135
135
},
136
136
cName : "foo" ,
137
- pod : getPod ("foo" , "1200m" , "" , "" , "" ),
137
+ pod : getPod ("foo" , podResources { cpuRequest : "1200m" } ),
138
138
expectedValue : "12" ,
139
139
},
140
140
{
141
141
fs : & v1.ResourceFieldSelector {
142
142
Resource : "requests.memory" ,
143
143
},
144
144
cName : "foo" ,
145
- pod : getPod ("foo" , "" , "" , " 100Mi", "" ),
145
+ pod : getPod ("foo" , podResources { memoryRequest : " 100Mi"} ),
146
146
expectedValue : "104857600" ,
147
147
},
148
148
{
@@ -151,47 +151,47 @@ func TestExtractResourceValue(t *testing.T) {
151
151
Divisor : resource .MustParse ("1Mi" ),
152
152
},
153
153
cName : "foo" ,
154
- pod : getPod ("foo" , "" , "" , " 100Mi" , "1Gi" ),
154
+ pod : getPod ("foo" , podResources { memoryRequest : " 100Mi" , memoryLimit : "1Gi" } ),
155
155
expectedValue : "100" ,
156
156
},
157
157
{
158
158
fs : & v1.ResourceFieldSelector {
159
159
Resource : "limits.memory" ,
160
160
},
161
161
cName : "foo" ,
162
- pod : getPod ("foo" , "" , "" , " 10Mi" , "100Mi" ),
162
+ pod : getPod ("foo" , podResources { memoryRequest : " 10Mi" , memoryLimit : "100Mi" } ),
163
163
expectedValue : "104857600" ,
164
164
},
165
165
{
166
166
fs : & v1.ResourceFieldSelector {
167
167
Resource : "limits.cpu" ,
168
168
},
169
169
cName : "init-foo" ,
170
- pod : getPod ("foo" , "" , "9" , "" , "" ),
170
+ pod : getPod ("foo" , podResources { cpuLimit : "9" } ),
171
171
expectedValue : "9" ,
172
172
},
173
173
{
174
174
fs : & v1.ResourceFieldSelector {
175
175
Resource : "requests.cpu" ,
176
176
},
177
177
cName : "init-foo" ,
178
- pod : getPod ("foo" , "" , "" , "" , "" ),
178
+ pod : getPod ("foo" , podResources {} ),
179
179
expectedValue : "0" ,
180
180
},
181
181
{
182
182
fs : & v1.ResourceFieldSelector {
183
183
Resource : "requests.cpu" ,
184
184
},
185
185
cName : "init-foo" ,
186
- pod : getPod ("foo" , "8" , "" , "" , "" ),
186
+ pod : getPod ("foo" , podResources { cpuRequest : "8" } ),
187
187
expectedValue : "8" ,
188
188
},
189
189
{
190
190
fs : & v1.ResourceFieldSelector {
191
191
Resource : "requests.cpu" ,
192
192
},
193
193
cName : "init-foo" ,
194
- pod : getPod ("foo" , "100m" , "" , "" , "" ),
194
+ pod : getPod ("foo" , podResources { cpuRequest : "100m" } ),
195
195
expectedValue : "1" ,
196
196
},
197
197
{
@@ -200,15 +200,15 @@ func TestExtractResourceValue(t *testing.T) {
200
200
Divisor : resource .MustParse ("100m" ),
201
201
},
202
202
cName : "init-foo" ,
203
- pod : getPod ("foo" , "1200m" , "" , "" , "" ),
203
+ pod : getPod ("foo" , podResources { cpuRequest : "1200m" } ),
204
204
expectedValue : "12" ,
205
205
},
206
206
{
207
207
fs : & v1.ResourceFieldSelector {
208
208
Resource : "requests.memory" ,
209
209
},
210
210
cName : "init-foo" ,
211
- pod : getPod ("foo" , "" , "" , " 100Mi", "" ),
211
+ pod : getPod ("foo" , podResources { memoryRequest : " 100Mi"} ),
212
212
expectedValue : "104857600" ,
213
213
},
214
214
{
@@ -217,15 +217,16 @@ func TestExtractResourceValue(t *testing.T) {
217
217
Divisor : resource .MustParse ("1Mi" ),
218
218
},
219
219
cName : "init-foo" ,
220
- pod : getPod ("foo" , "" , "" , " 100Mi" , "1Gi" ),
220
+ pod : getPod ("foo" , podResources { memoryRequest : " 100Mi" , memoryLimit : "1Gi" } ),
221
221
expectedValue : "100" ,
222
222
},
223
223
{
224
224
fs : & v1.ResourceFieldSelector {
225
225
Resource : "limits.memory" ,
226
226
},
227
- cName : "init-foo" ,
228
- pod : getPod ("foo" , "" , "" , "10Mi" , "100Mi" ),
227
+ cName : "init-foo" ,
228
+ pod : getPod ("foo" , podResources {memoryRequest : "10Mi" , memoryLimit : "100Mi" }),
229
+
229
230
expectedValue : "104857600" ,
230
231
},
231
232
}
@@ -241,35 +242,39 @@ func TestExtractResourceValue(t *testing.T) {
241
242
}
242
243
}
243
244
244
- func getPod (cname , cpuRequest , cpuLimit , memoryRequest , memoryLimit string ) * v1.Pod {
245
- resources := v1.ResourceRequirements {
245
+ type podResources struct {
246
+ cpuRequest , cpuLimit , memoryRequest , memoryLimit , cpuOverhead , memoryOverhead string
247
+ }
248
+
249
+ func getPod (cname string , resources podResources ) * v1.Pod {
250
+ r := v1.ResourceRequirements {
246
251
Limits : make (v1.ResourceList ),
247
252
Requests : make (v1.ResourceList ),
248
253
}
249
- if cpuLimit != "" {
250
- resources .Limits [v1 .ResourceCPU ] = resource .MustParse (cpuLimit )
254
+ if resources . cpuLimit != "" {
255
+ r .Limits [v1 .ResourceCPU ] = resource .MustParse (resources . cpuLimit )
251
256
}
252
- if memoryLimit != "" {
253
- resources .Limits [v1 .ResourceMemory ] = resource .MustParse (memoryLimit )
257
+ if resources . memoryLimit != "" {
258
+ r .Limits [v1 .ResourceMemory ] = resource .MustParse (resources . memoryLimit )
254
259
}
255
- if cpuRequest != "" {
256
- resources .Requests [v1 .ResourceCPU ] = resource .MustParse (cpuRequest )
260
+ if resources . cpuRequest != "" {
261
+ r .Requests [v1 .ResourceCPU ] = resource .MustParse (resources . cpuRequest )
257
262
}
258
- if memoryRequest != "" {
259
- resources .Requests [v1 .ResourceMemory ] = resource .MustParse (memoryRequest )
263
+ if resources . memoryRequest != "" {
264
+ r .Requests [v1 .ResourceMemory ] = resource .MustParse (resources . memoryRequest )
260
265
}
261
266
return & v1.Pod {
262
267
Spec : v1.PodSpec {
263
268
Containers : []v1.Container {
264
269
{
265
270
Name : cname ,
266
- Resources : resources ,
271
+ Resources : r ,
267
272
},
268
273
},
269
274
InitContainers : []v1.Container {
270
275
{
271
276
Name : "init-" + cname ,
272
- Resources : resources ,
277
+ Resources : r ,
273
278
},
274
279
},
275
280
},
0 commit comments