From fb17836063a92438a71f7a6899ea20f3bc6e8584 Mon Sep 17 00:00:00 2001 From: rajashree Date: Tue, 16 Jun 2020 15:51:54 -0700 Subject: [PATCH] Check drainInput for nil to avoid panic --- services/node_util.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/services/node_util.go b/services/node_util.go index e1611f52..1a2c70fa 100644 --- a/services/node_util.go +++ b/services/node_util.go @@ -49,10 +49,14 @@ func cordonAndDrainNode(kubeClient *kubernetes.Clientset, host *hosts.Host, drai } func getDrainHelper(kubeClient *kubernetes.Clientset, upgradeStrategy v3.NodeUpgradeStrategy) drain.Helper { + var ignoreDaemonSets bool + if upgradeStrategy.DrainInput == nil || *upgradeStrategy.DrainInput.IgnoreDaemonSets { + ignoreDaemonSets = true + } drainHelper := drain.Helper{ Client: kubeClient, Force: upgradeStrategy.DrainInput.Force, - IgnoreAllDaemonSets: *upgradeStrategy.DrainInput.IgnoreDaemonSets, + IgnoreAllDaemonSets: ignoreDaemonSets, DeleteLocalData: upgradeStrategy.DrainInput.DeleteLocalData, GracePeriodSeconds: upgradeStrategy.DrainInput.GracePeriod, Timeout: time.Second * time.Duration(upgradeStrategy.DrainInput.Timeout),