wilfred-s commented on a change in pull request #281:
URL: 
https://github.com/apache/incubator-yunikorn-k8shim/pull/281#discussion_r686495224



##########
File path: pkg/common/resource.go
##########
@@ -72,9 +72,32 @@ func GetPodResource(pod *v1.Pod) (resource *si.Resource) {
                containerResource := getResource(resourceList)
                podResource = Add(podResource, containerResource)
        }
+
+       // vcore, mem compare between initcontainer and containers and replace
+       // For each resource, podResourceRequest = max(sum(Containers 
requirement), InitContainers requirement)
+       if pod.Spec.InitContainers != nil {
+               isNeedMoreResourceAndSet(pod, podResource)
+       }
+
        return podResource
 }
 
+func isNeedMoreResourceAndSet(pod *v1.Pod, containersResources *si.Resource) {
+       for _, c := range pod.Spec.InitContainers {
+               resourceList := c.Resources.Requests
+               ICResource := getResource(resourceList)
+               for resourceName, ICRequest := range ICResource.Resources {
+                       containersRequests, exist := 
containersResources.Resources[resourceName]

Review comment:
       Does this mean we skip a request that is not defined on the container 
resources? That does not look right. 
   cont = 1GB, 1cpu
   init cont = 2GB, 1GPU
   the result should be 2GB, 1cpu, 1GPU a merge of all requests.

##########
File path: pkg/common/resource.go
##########
@@ -72,9 +72,32 @@ func GetPodResource(pod *v1.Pod) (resource *si.Resource) {
                containerResource := getResource(resourceList)
                podResource = Add(podResource, containerResource)
        }
+
+       // vcore, mem compare between initcontainer and containers and replace
+       // For each resource, podResourceRequest = max(sum(Containers 
requirement), InitContainers requirement)
+       if pod.Spec.InitContainers != nil {
+               isNeedMoreResourceAndSet(pod, podResource)
+       }
+
        return podResource
 }
 
+func isNeedMoreResourceAndSet(pod *v1.Pod, containersResources *si.Resource) {

Review comment:
       Can we rename this function? something like `checkInitContainerRequest()`




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to