kontena / pharos-host-upgrades

Kube DaemonSet for host OS upgrades
Apache License 2.0
41 stars 1 forks source link

Kube node status conditions #12

Closed SpComb closed 6 years ago

SpComb commented 6 years ago

Update the kube node status HostUpgrades condition based on upgrade errors.

Conditions:
  Type             Status  LastHeartbeatTime                 LastTransitionTime                Reason                       Message
  ----             ------  -----------------                 ------------------                ------                       -------
  OutOfDisk        False   Wed, 23 May 2018 13:56:16 +0000   Wed, 23 May 2018 08:11:28 +0000   KubeletHasSufficientDisk     kubelet has sufficient disk space available
  MemoryPressure   False   Wed, 23 May 2018 13:56:16 +0000   Wed, 23 May 2018 08:11:28 +0000   KubeletHasSufficientMemory   kubelet has sufficient memory available
  DiskPressure     False   Wed, 23 May 2018 13:56:16 +0000   Wed, 23 May 2018 08:11:28 +0000   KubeletHasNoDiskPressure     kubelet has no disk pressure
  PIDPressure      False   Wed, 23 May 2018 13:56:16 +0000   Wed, 23 May 2018 08:11:28 +0000   KubeletHasSufficientPID      kubelet has sufficient PID available
  Ready            True    Wed, 23 May 2018 13:56:16 +0000   Wed, 23 May 2018 08:11:28 +0000   KubeletReady                 kubelet is posting ready status. AppArmor enabled
  HostUpgrades     True    Wed, 23 May 2018 13:56:05 +0000   Wed, 23 May 2018 13:56:05 +0000   HostUpgradeSuccess           
SpComb commented 6 years ago

Testing with some other process holding the APT lock:

$ kubectl get nodes/ubuntu-xenial -o json | jq '.status.conditions[] | select(.type == "HostUpgrades")'
{
  "lastHeartbeatTime": "2018-05-23T13:54:02Z",
  "lastTransitionTime": "2018-05-23T13:54:02Z",
  "message": "exec host-upgrades([/usr/bin/unattended-upgrade -v]): Job failed",
  "reason": "HostUpgradeError",
  "status": "False",
  "type": "HostUpgrades"
}