Bug 1881351

Summary: KCM and KS don't gracefully terminate
Product: OpenShift Container Platform Reporter: Tomáš Nožička <tnozicka>
Component: kube-controller-managerAssignee: Tomáš Nožička <tnozicka>
Status: CLOSED ERRATA QA Contact: zhou ying <yinzhou>
Severity: high Docs Contact:
Priority: high    
Version: 4.5CC: aos-bugs, deads, maszulik, mfojtik, yinzhou
Target Milestone: ---   
Target Release: 4.5.z   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-11-10 14:53:52 UTC Type: Bug
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: 1877791, 1877793    
Bug Blocks:    

Description Tomáš Nožička 2020-09-22 08:51:43 UTC
KCM and KS need to gracefully terminate so the next replica can take over during a rollout. Graceful termination is important for giving up the lease, so another replica can become the leader without waiting for the lease to expire.

KCM is especially important to be available as much as we can because it runs the endpoints controller which has to notice pods going down / rolling out and update service ASAP to stop sending traffic there.

Comment 1 Maciej Szulik 2020-10-01 14:07:57 UTC
The PR is already in the queue.

Comment 2 Tomáš Nožička 2020-10-22 17:20:09 UTC
PR is awaiting QA pre-verification https://github.com/openshift/origin/pull/25536#issuecomment-714639556

Comment 3 zhou ying 2020-10-23 08:56:24 UTC
Checked with 4.5.0-0.ci.test-2020-10-23-075611-ci-ln-j1qrj4k, the KS will renew lead within 10s .

I1023 08:51:01.440871       1 server.go:253] Requested to terminate. Exiting.
I1023 08:51:04.103558       1 leaderelection.go:252] successfully acquired lease openshift-kube-scheduler/kube-scheduler

I1023 08:55:35.733465       1 server.go:253] Requested to terminate. Exiting.
I1023 08:55:37.539562       1 leaderelection.go:252] successfully acquired lease openshift-kube-scheduler/kube-scheduler

Comment 4 zhou ying 2020-10-23 09:07:18 UTC
Checked with 4.5.0-0.ci.test-2020-10-23-075611-ci-ln-j1qrj4k, the KCM will renew lead within 10s .

steps followed to verify the bug:
===================================
1) check KCM leader
2) move kube-controller-manager-config.yaml from /etc/kubernetes/manifests to some other directory
3) check logs of all kcm pods

Node on which file was moved you will see a message as below and with in 10 seconds you should see another replica becoming kcm leader.

I1023 09:00:38.120509       1 controllermanager.go:301] Requested to terminate. Exiting.
I1023 09:00:42.292918       1 leaderelection.go:252] successfully acquired lease kube-system/kube-controller-manager


I1023 09:04:15.560848       1 controllermanager.go:301] Requested to terminate. Exiting.
I1023 09:04:16.609500       1 leaderelection.go:252] successfully acquired lease kube-system/kube-controller-manager

Comment 8 errata-xmlrpc 2020-11-10 14:53:52 UTC
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 (OpenShift Container Platform 4.5.18 bug fix 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/RHBA-2020:4425