From 544cca975f3b76b5cdb1565eb8910bfa0d9bd73c Mon Sep 17 00:00:00 2001 From: Sargun Dhillon Date: Fri, 6 Nov 2020 17:05:30 -0800 Subject: [PATCH] Fix error handling behaviour in nodeutil Golang Lint v1.32.2 detects this case: node/nodeutil/client.go:28:12: ineffectual assignment to `err` (ineffassign) config, err = rest.InClusterConfig() ^ node/nodeutil/client.go:30:12: ineffectual assignment to `err` (ineffassign) config, err = clientcmd.NewNonInteractiveDeferredLoadingClientConfig( ^ --- node/nodeutil/client.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/node/nodeutil/client.go b/node/nodeutil/client.go index 8f406b660..70d746dfe 100644 --- a/node/nodeutil/client.go +++ b/node/nodeutil/client.go @@ -24,13 +24,16 @@ func ClientsetFromEnv(kubeConfigPath string) (*kubernetes.Clientset, error) { ) if kubeConfigPath != "" { - if _, err := os.Stat(kubeConfigPath); err != nil { - config, err = rest.InClusterConfig() - } else { + _, err = os.Stat(kubeConfigPath) + if err == nil { config, err = clientcmd.NewNonInteractiveDeferredLoadingClientConfig( &clientcmd.ClientConfigLoadingRules{ExplicitPath: kubeConfigPath}, &clientcmd.ConfigOverrides{}, ).ClientConfig() + } else if os.IsNotExist(err) { + config, err = rest.InClusterConfig() + } else { + return nil, err } } else { config, err = rest.InClusterConfig()