1
0
mirror of https://github.com/rancher/rke.git synced 2025-09-16 23:20:56 +00:00

Warn not fatal if deleted host is not found

This commit is contained in:
moelsayed
2017-11-30 05:29:02 +02:00
parent e8a611f12a
commit 30eb95c671
2 changed files with 14 additions and 4 deletions

View File

@@ -9,6 +9,7 @@ import (
"github.com/rancher/rke/k8s"
"github.com/rancher/types/apis/cluster.cattle.io/v1"
"github.com/sirupsen/logrus"
apierrors "k8s.io/apimachinery/pkg/api/errors"
"k8s.io/client-go/kubernetes"
)
@@ -56,13 +57,19 @@ func (h *Host) CleanUp() error {
func DeleteNode(toDeleteHost *Host, kubeClient *kubernetes.Clientset) error {
logrus.Infof("[hosts] Cordoning host [%s]", toDeleteHost.Address)
err := k8s.CordonUncordon(kubeClient, toDeleteHost.HostnameOverride, true)
if err != nil {
if _, err := k8s.GetNode(kubeClient, toDeleteHost.HostnameOverride); err != nil {
if apierrors.IsNotFound(err) {
logrus.Warnf("[hosts] Can't find node by name [%s]", toDeleteHost.Address)
return nil
}
return err
}
if err := k8s.CordonUncordon(kubeClient, toDeleteHost.HostnameOverride, true); err != nil {
return err
}
logrus.Infof("[hosts] Deleting host [%s] from the cluster", toDeleteHost.Address)
err = k8s.DeleteNode(kubeClient, toDeleteHost.HostnameOverride)
if err != nil {
if err := k8s.DeleteNode(kubeClient, toDeleteHost.HostnameOverride); err != nil {
return err
}
logrus.Infof("[hosts] Successfully deleted host [%s] from the cluster", toDeleteHost.Address)

View File

@@ -18,6 +18,9 @@ func GetNodeList(k8sClient *kubernetes.Clientset) (*v1.NodeList, error) {
return k8sClient.CoreV1().Nodes().List(metav1.ListOptions{})
}
func GetNode(k8sClient *kubernetes.Clientset, nodeName string) (*v1.Node, error) {
return k8sClient.CoreV1().Nodes().Get(nodeName, metav1.GetOptions{})
}
func CordonUncordon(k8sClient *kubernetes.Clientset, nodeName string, cordoned bool) error {
updated := false
for retries := 0; retries <= 5; retries++ {