17c1b8894d
Add a recovery service, started by systemd on a host boot, that waits for pod transitions to stabilize and then takes corrective action for the following set of conditions: - Delete to restart pods stuck in an Unknown or Init:Unknown state for the 'openstack' and 'monitor' namespaces. - Delete to restart Failed pods stuck in a NodeAffinity state that occur in any namespace. - Delete to restart the libvirt pod in the 'openstack' namespace when any of its conditions (Initialized, Ready, ContainersReady, PodScheduled) are not True. This will only recover pods specific to the host where the service is installed. This service is installed on all controller types. There is currently no evidence that we need this on dedicated worker nodes. Each of these conditions should to be evaluated after the next k8s component rebase to determine if any of these recovery action can be removed. Change-Id: I0e304d1a2b0425624881f3b2d9c77f6568844196 Closes-Bug: #1893977 Signed-off-by: Robert Church <robert.church@windriver.com>
15 lines
317 B
Desktop File
15 lines
317 B
Desktop File
[Unit]
|
|
Description=Kubernetes Pods Recovery Service
|
|
After=sw-patch.service
|
|
After=kubelet.service
|
|
Requires=kubelet.service
|
|
|
|
[Service]
|
|
Type=simple
|
|
ExecStart=/usr/local/sbin/k8s-pod-recovery start
|
|
ExecStop=/usr/local/sbin/k8s-pod-recovery stop
|
|
PIDFile=/var/run/k8s-pod-recovery.pid
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|