1
0
mirror of https://github.com/rancher/rke.git synced 2025-08-15 05:24:32 +00:00

Return correct error if maxUnavailable hit for control

This commit is contained in:
rajashree 2020-02-24 17:56:02 -08:00
parent 6664be5e3b
commit fd1e1289de

View File

@ -94,15 +94,17 @@ func UpgradeControlPlaneNodes(ctx context.Context, kubeClient *kubernetes.Client
return err return err
} }
var maxUnavailableHit bool var maxUnavailableHit bool
var nodeNotReady string
for _, node := range nodes { for _, node := range nodes {
// in case any previously added nodes or till now unprocessed nodes become unreachable during upgrade // in case any previously added nodes or till now unprocessed nodes become unreachable during upgrade
if !k8s.IsNodeReady(node) && currentHostsPool[node.Labels[k8s.HostnameLabel]] { if !k8s.IsNodeReady(node) && currentHostsPool[node.Labels[k8s.HostnameLabel]] {
maxUnavailableHit = true maxUnavailableHit = true
nodeNotReady = node.Labels[k8s.HostnameLabel]
break break
} }
} }
if maxUnavailableHit { if maxUnavailableHit {
return err return fmt.Errorf("maxUnavailable limit hit for controlplane since node %v is in NotReady state", nodeNotReady)
} }
controlPlaneUpgradable, err := isControlPlaneHostUpgradable(ctx, host, cpNodePlanMap[host.Address].Processes) controlPlaneUpgradable, err := isControlPlaneHostUpgradable(ctx, host, cpNodePlanMap[host.Address].Processes)