[ 
https://issues.apache.org/jira/browse/YUNIKORN-2864?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Peter Bacsko resolved YUNIKORN-2864.
------------------------------------
    Fix Version/s: 1.7.0
       Resolution: Fixed

Merged to master, thanks [~kaichiaboy] for the contribution.

> Add e2e tests for InPlacePodVerticalScaling feature
> ---------------------------------------------------
>
>                 Key: YUNIKORN-2864
>                 URL: https://issues.apache.org/jira/browse/YUNIKORN-2864
>             Project: Apache YuniKorn
>          Issue Type: Sub-task
>          Components: shim - kubernetes
>            Reporter: Craig Condit
>            Assignee: Kaichia Chen
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.7.0
>
>
> Build e2e tests to verify YuniKorn behavior when the 
> InPlacePodVerticalScaling feature flag is enabled. This is possible in K8s 
> 1.32 and later. Tests should be skipped on K8s 1.31 or earlier, or if the 
> feature flag is not enabled.
> Proposal:
> We should create a new suite for the tests. As part of the suite 
> initialization, we should create a small pod, and attempt to resize it (see 
> https://kubernetes.io/docs/tasks/configure-pod-container/resize-container-resources/
>  for an example of how to do this. Basically, a PATCH request needs to be 
> sent to the subresource /resize of the pod on the Kubernetes REST API).
> The initial pod should simply ask for something like 100m CPU, and attempt to 
> resize down to 50m. If that fails (for any reason) skip the rest of the 
> suite, as pod resizing is unavailable in the current cluster.
> If the pre-check succeeds, then continue with the suite. At a minimum we 
> should validate:
> * Pod resize up:
> *# Schedule a pod with 100m CPU
> *# Validate that YuniKorn schedules the pod. Verify that the pod's resource 
> utilization in the YuniKorn REST API is 100m CPU
> *# Patch the pod's /resize sub-resource with CPU: 200m
> *# Wait for the pod.Status.ContainerStatuses[0].Resources.Requests to contain 
> the updated value (with timeout)
> *# Wait for YuniKorn REST API to report 200m CPU used for the pod (with 
> timeout)
> * Pod resize down:
> *# Schedule a pod with 200m CPU
> *# Validate that YuniKorn schedules the pod. Verify that the pod's resource 
> utilization in the YuniKorn REST API is 200m CPU
> *# Patch the pod's /resize sub-resource with CPU: 100m
> *# Wait for the pod.Status.ContainerStatuses[0].Resources.Requests to contain 
> the updated value (with timeout)
> *# Wait for YuniKorn REST API to report 100m CPU used for the pod (with 
> timeout)
> * Pod resize failure:
> *# Schedule a pod with 100m CPU
> *# Validate that YuniKorn schedules the pod. Verify that the pod's resource 
> utilization in the YuniKorn REST API is 100m CPU
> *# Patch the pod's /resize sub-resource with CPU: 100000
> *# Wait for pod.Status.Resize to be equal to "Infeasible" (with timeout)
> *#* Note: This will probably need to change to look for a Pod condition after 
> 1.33, as pod.Status.Resize will be deprecated
> *# Wait for YuniKorn REST API to report 100m CPU used for the pod (with 
> timeout)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@yunikorn.apache.org
For additional commands, e-mail: issues-h...@yunikorn.apache.org

Reply via email to