do not return error, when the ds is not found

Signed-off-by: Xianglin Gao <xianglin.gxl@alibaba-inc.com>
This commit is contained in:
Xianglin Gao 2019-07-31 15:16:35 +08:00
parent ad899665ea
commit 1b6ec47a04

View File

@ -23,6 +23,7 @@ import (
"github.com/pkg/errors" "github.com/pkg/errors"
apps "k8s.io/api/apps/v1" apps "k8s.io/api/apps/v1"
v1 "k8s.io/api/core/v1" v1 "k8s.io/api/core/v1"
apierrors "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
clientset "k8s.io/client-go/kubernetes" clientset "k8s.io/client-go/kubernetes"
kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
@ -85,7 +86,9 @@ func (d *DaemonSetPrepuller) WaitFunc(component string) {
// DeleteFunc deletes the DaemonSet used for making the image available on every relevant node // DeleteFunc deletes the DaemonSet used for making the image available on every relevant node
func (d *DaemonSetPrepuller) DeleteFunc(component string) error { func (d *DaemonSetPrepuller) DeleteFunc(component string) error {
dsName := addPrepullPrefix(component) dsName := addPrepullPrefix(component)
if err := apiclient.DeleteDaemonSetForeground(d.client, metav1.NamespaceSystem, dsName); err != nil { // TODO: The IsNotFound() check is required in cases where the DaemonSet is missing.
// Investigate why this happens: https://github.com/kubernetes/kubeadm/issues/1700
if err := apiclient.DeleteDaemonSetForeground(d.client, metav1.NamespaceSystem, dsName); err != nil && !apierrors.IsNotFound(err) {
return errors.Wrapf(err, "unable to cleanup the DaemonSet used for prepulling %s", component) return errors.Wrapf(err, "unable to cleanup the DaemonSet used for prepulling %s", component)
} }
fmt.Printf("[upgrade/prepull] Prepulled image for component %s.\n", component) fmt.Printf("[upgrade/prepull] Prepulled image for component %s.\n", component)