Bug 2026110
Summary: | Altering the Schedule Profile configurations doesn't affect the placement of the pods | |||
---|---|---|---|---|
Product: | OpenShift Container Platform | Reporter: | Mike Dame <mdame> | |
Component: | kube-scheduler | Assignee: | Jan Chaloupka <jchaloup> | |
Status: | CLOSED ERRATA | QA Contact: | RamaKasturi <knarra> | |
Severity: | medium | Docs Contact: | ||
Priority: | medium | |||
Version: | 4.8 | CC: | aos-bugs, jchaloup, knarra, mfojtik, yhe | |
Target Milestone: | --- | |||
Target Release: | 4.8.z | |||
Hardware: | Unspecified | |||
OS: | Unspecified | |||
Whiteboard: | ||||
Fixed In Version: | Doc Type: | If docs needed, set a value | ||
Doc Text: | Story Points: | --- | ||
Clone Of: | 2026109 | |||
: | 2026111 (view as bug list) | Environment: | ||
Last Closed: | 2022-04-11 20:04:53 UTC | Type: | --- | |
Regression: | --- | Mount Type: | --- | |
Documentation: | --- | CRM: | ||
Verified Versions: | Category: | --- | ||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
Cloudforms Team: | --- | Target Upstream Version: | ||
Embargoed: | ||||
Bug Depends On: | 2026109 | |||
Bug Blocks: | 2026111 |
Comment 1
Michal Fojtik
2021-12-25 05:22:35 UTC
Waiting for the 4.9 bug verification. Verified with the build below and i see that pods gets placed on to a high utilized node. [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc get clusterversion NAME VERSION AVAILABLE PROGRESSING SINCE STATUS version 4.8.0-0.nightly-2022-03-18-025702 True False 60m Cluster version is 4.8.0-0.nightly-2022-03-18-025702 Below are the steps i have followed to verify the bug and tested this on a 5 & 7 node worker cluster so that i can see the diff clearly before and after altering the profile. 5 node worker cluster: =========================== [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc new-app httpd --name httpd --> Found image 28666a5 (8 days old) in image stream "openshift/httpd" under tag "2.4-el8" for "httpd" Apache httpd 2.4 ---------------- Apache httpd 2.4 available as container, is a powerful, efficient, and extensible web server. Apache supports a variety of features, many implemented as compiled modules which extend the core functionality. These can range from server-side programming language support to authentication schemes. Virtual hosting allows one Apache installation to serve many different Web sites. Tags: builder, httpd, httpd-24 --> Creating resources ... deployment.apps "httpd" created service "httpd" created --> Success Application is not exposed. You can expose services to the outside world by executing one or more of the commands below: 'oc expose service/httpd' Run 'oc status' to view your app. [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc new-app httpd --name httpd1 --> Found image 28666a5 (8 days old) in image stream "openshift/httpd" under tag "2.4-el8" for "httpd" Apache httpd 2.4 ---------------- Apache httpd 2.4 available as container, is a powerful, efficient, and extensible web server. Apache supports a variety of features, many implemented as compiled modules which extend the core functionality. These can range from server-side programming language support to authentication schemes. Virtual hosting allows one Apache installation to serve many different Web sites. Tags: builder, httpd, httpd-24 --> Creating resources ... deployment.apps "httpd1" created service "httpd1" created --> Success Application is not exposed. You can expose services to the outside world by executing one or more of the commands below: 'oc expose service/httpd1' Run 'oc status' to view your app. [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc new-app httpd --name httpd2 --> Found image 28666a5 (8 days old) in image stream "openshift/httpd" under tag "2.4-el8" for "httpd" Apache httpd 2.4 ---------------- Apache httpd 2.4 available as container, is a powerful, efficient, and extensible web server. Apache supports a variety of features, many implemented as compiled modules which extend the core functionality. These can range from server-side programming language support to authentication schemes. Virtual hosting allows one Apache installation to serve many different Web sites. Tags: builder, httpd, httpd-24 --> Creating resources ... deployment.apps "httpd2" created service "httpd2" created --> Success Application is not exposed. You can expose services to the outside world by executing one or more of the commands below: 'oc expose service/httpd2' Run 'oc status' to view your app. [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc scale --replicas=100 deployment httpd deployment.apps/httpd scaled [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc scale --replicas=100 deployment httpd1 deployment.apps/httpd1 scaled [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc scale --replicas=100 deployment httpd2 deployment.apps/httpd2 scaled [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc get pods -o wide | grep "Running" |wc -l 300 [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc get pods -o wide | grep ip-10-0-128-226.us-east-2.compute.internal | wc -l 57 [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc get pods -o wide | grep ip-10-0-136-107.us-east-2.compute.internal | wc -l 58 [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc get pods -o wide | grep ip-10-0-172-151.us-east-2.compute.internal | wc -l 58 [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc get pods -o wide | grep ip-10-0-190-131.us-east-2.compute.internal | wc -l 57 [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc get pods -o wide | grep ip-10-0-211-253.us-east-2.compute.internal | wc -l 70 config before altering the profile: ===================================== score: enabled: - name: NodeResourcesBalancedAllocation weight: 1 - name: ImageLocality weight: 1 - name: InterPodAffinity weight: 1 - name: NodeResourcesLeastAllocated weight: 1 - name: NodeAffinity weight: 1 - name: NodePreferAvoidPods weight: 10000 - name: PodTopologySpread weight: 2 - name: TaintToleration weight: 1 config file after the profile has been altered: ================================================== score: enabled: - name: ImageLocality weight: 1 - name: InterPodAffinity weight: 1 - name: NodeAffinity weight: 1 - name: NodePreferAvoidPods weight: 10000 - name: PodTopologySpread weight: 2 - name: TaintToleration weight: 1 - name: NodeResourcesMostAllocated weight: 5 schedulerName: default-scheduler [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc rollout restart deployment httpd httpd1 httpd2 deployment.apps/httpd restarted deployment.apps/httpd1 restarted deployment.apps/httpd2 restarted pod placement after first rollout: =========================================== [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc get pods -o wide | grep ip-10-0-128-226.us-east-2.compute.internal | wc -l 11 [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc get pods -o wide | grep ip-10-0-136-107.us-east-2.compute.internal | wc -l 103 [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc get pods -o wide | grep ip-10-0-172-151.us-east-2.compute.internal | wc -l 76 [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc get pods -o wide | grep ip-10-0-190-131.us-east-2.compute.internal | wc -l 21 [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc get pods -o wide | grep ip-10-0-211-253.us-east-2.compute.internal | wc -l 89 [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ pod placement after second rollout: ========================================= [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc get pods -o wide | grep ip-10-0-128-226.us-east-2.compute.internal | wc -l 0 [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc get pods -o wide | grep ip-10-0-136-107.us-east-2.compute.internal | wc -l 93 [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc get pods -o wide | grep ip-10-0-172-151.us-east-2.compute.internal | wc -l 103 [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc get pods -o wide | grep ip-10-0-190-131.us-east-2.compute.internal | wc -l 0 [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc get pods -o wide | grep ip-10-0-211-253.us-east-2.compute.internal | wc -l 104 cluster with 7worker nodes: ============================ [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc new-app httpd --name httpd --> Found image 28666a5 (8 days old) in image stream "openshift/httpd" under tag "2.4-el8" for "httpd" Apache httpd 2.4 ---------------- Apache httpd 2.4 available as container, is a powerful, efficient, and extensible web server. Apache supports a variety of features, many implemented as compiled modules which extend the core functionality. These can range from server-side programming language support to authentication schemes. Virtual hosting allows one Apache installation to serve many different Web sites. Tags: builder, httpd, httpd-24 --> Creating resources ... deployment.apps "httpd" created service "httpd" created --> Success Application is not exposed. You can expose services to the outside world by executing one or more of the commands below: 'oc expose service/httpd' Run 'oc status' to view your app. [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc new-app httpd --name httpd1 --> Found image 28666a5 (8 days old) in image stream "openshift/httpd" under tag "2.4-el8" for "httpd" Apache httpd 2.4 ---------------- Apache httpd 2.4 available as container, is a powerful, efficient, and extensible web server. Apache supports a variety of features, many implemented as compiled modules which extend the core functionality. These can range from server-side programming language support to authentication schemes. Virtual hosting allows one Apache installation to serve many different Web sites. Tags: builder, httpd, httpd-24 --> Creating resources ... deployment.apps "httpd1" created service "httpd1" created --> Success Application is not exposed. You can expose services to the outside world by executing one or more of the commands below: 'oc expose service/httpd1' Run 'oc status' to view your app. [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc new-app httpd --name httpd2 --> Found image 28666a5 (8 days old) in image stream "openshift/httpd" under tag "2.4-el8" for "httpd" Apache httpd 2.4 ---------------- Apache httpd 2.4 available as container, is a powerful, efficient, and extensible web server. Apache supports a variety of features, many implemented as compiled modules which extend the core functionality. These can range from server-side programming language support to authentication schemes. Virtual hosting allows one Apache installation to serve many different Web sites. Tags: builder, httpd, httpd-24 --> Creating resources ... deployment.apps "httpd2" created service "httpd2" created --> Success Application is not exposed. You can expose services to the outside world by executing one or more of the commands below: 'oc expose service/httpd2' Run 'oc status' to view your app. [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc scale --replicas=100 deployment httpd deployment.apps/httpd scaled [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc scale --replicas=100 deployment httpd1 deployment.apps/httpd1 scaled [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc scale --replicas=100 deployment httpd2 deployment.apps/httpd2 scaled [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc get pods -o wide | grep "Running" | wc -l 300 [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc get pods -o wide | grep ip-10-0-136-244.us-east-2.compute.internal | wc -l 40 [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc get pods -o wide | grep ip-10-0-140-202.us-east-2.compute.internal | wc -l 38 [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc get pods -o wide | grep ip-10-0-159-121.us-east-2.compute.internal | wc -l 36 [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc get pods -o wide | grep ip-10-0-165-196.us-east-2.compute.internal | wc -l 46 [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc get pods -o wide | grep ip-10-0-181-15.us-east-2.compute.internal | wc -l 46 [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc get pods -o wide | grep ip-10-0-199-63.us-east-2.compute.internal | wc -l 48 [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc get pods -o wide | grep ip-10-0-219-222.us-east-2.compute.internal | wc -l 46 [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ config file before altering the profile: ======================================= score: enabled: - name: NodeResourcesBalancedAllocation weight: 1 - name: ImageLocality weight: 1 - name: InterPodAffinity weight: 1 - name: NodeResourcesLeastAllocated weight: 1 - name: NodeAffinity weight: 1 - name: NodePreferAvoidPods weight: 10000 - name: PodTopologySpread weight: 2 - name: TaintToleration weight: 1 schedulerName: default-scheduler [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc rollout restart deployment httpd httpd1 httpd2 deployment.apps/httpd restarted deployment.apps/httpd1 restarted deployment.apps/httpd2 restarted pod placement after first rollout: ======================================= [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc get pods -o wide | grep ip-10-0-136-244.us-east-2.compute.internal | wc -l 115 [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc get pods -o wide | grep ip-10-0-140-202.us-east-2.compute.internal | wc -l 1 [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc get pods -o wide | grep ip-10-0-159-121.us-east-2.compute.internal | wc -l 3 [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc get pods -o wide | grep ip-10-0-165-196.us-east-2.compute.internal | wc -l 73 [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc get pods -o wide | grep ip-10-0-181-15.us-east-2.compute.internal | wc -l 6 [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc get pods -o wide | grep ip-10-0-199-63.us-east-2.compute.internal | wc -l 93 [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc get pods -o wide | grep ip-10-0-219-222.us-east-2.compute.internal | wc -l 9 pod placement after second rollout: ========================================== [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc get pods -o wide | grep ip-10-0-136-244.us-east-2.compute.internal | wc -l 94 [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc get pods -o wide | grep ip-10-0-140-202.us-east-2.compute.internal | wc -l 0 [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc get pods -o wide | grep ip-10-0-159-121.us-east-2.compute.internal | wc -l 0 [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc get pods -o wide | grep ip-10-0-165-196.us-east-2.compute.internal | wc -l 104 [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc get pods -o wide | grep ip-10-0-181-15.us-east-2.compute.internal | wc -l 0 [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc get pods -o wide | grep ip-10-0-199-63.us-east-2.compute.internal | wc -l 102 [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ ./oc get pods -o wide | grep ip-10-0-219-222.us-east-2.compute.internal | wc -l 0 [knarra@knarra openshift-client-linux-4.8.0-0.nightly-2022-03-18-025702]$ One observation that was made was after the second rollout the placement of the pods were much better, however after setting the profile to highNodeUtilization i do see the pod placements have changed, so based on that moving the bug to verified state. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (Important: OpenShift Container Platform 4.8.36 security update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2022:1154 |