@@ -148,7 +148,9 @@ function reservation (pod) {
148148 return gpus
149149}
150150
151+ // check container resource requests against node_resources
151152function checkContainerResources ( namespace , workload , container ) {
153+ // selectively merge limits into requests
152154 const resources = { }
153155 for ( const k in container . resources ?. requests ?? [ ] ) {
154156 resources [ k ] = container . resources . requests [ k ]
@@ -164,7 +166,7 @@ function checkContainerResources(namespace, workload, container) {
164166 const cpus = k8srp . cpuParser ( resources [ 'cpu' ] ?? '0' )
165167 const mem = k8srp . memoryParser ( resources [ 'memory' ] ?? '0' )
166168
167- // Check that resources will fit on a node
169+ // warn if the resource requests cannot be satisfied by a Node
168170 if ( gpus > nodeResources [ 'nvidia.com/gpu' ] ) {
169171 console . log ( `WARNING: workload "${ namespace . metadata . name } /${ workload . metadata . name } " has a container requesting "${ gpus } GPUs"` )
170172 }
@@ -178,7 +180,7 @@ function checkContainerResources(namespace, workload, container) {
178180 console . log ( `WARNING: workload "${ namespace . metadata . name } /${ workload . metadata . name } " has a container requesting ${ resources [ 'memory' ] } memory` )
179181 }
180182
181- // Check that resource:GPU ratio is proportional
183+ // warn if the resource:GPU ratio is not proportional to Node resources
182184 if ( gdr > 0 && ( ( gpus == 0 ) || ( gpus / gdr < nodeResources [ 'nvidia.com/gpu' ] / nodeResources [ 'nvidia.com/roce_gdr' ] ) ) ) {
183185 console . log ( `WARNING: workload "${ namespace . metadata . name } /${ workload . metadata . name } " has a container requesting ${ gdr } roce_gdr but only ${ gpus } GPUs` )
184186 }
0 commit comments