From 423a51b632af9b745924c3771d273e88c6d341fc Mon Sep 17 00:00:00 2001 From: Ke Zhang Date: Tue, 13 Sep 2016 18:00:46 +0800 Subject: [PATCH] Check kubeClient nil in Kubelet and bugfix --- pkg/kubelet/kubelet.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkg/kubelet/kubelet.go b/pkg/kubelet/kubelet.go index 6a19c3c2b12..093459b1b77 100644 --- a/pkg/kubelet/kubelet.go +++ b/pkg/kubelet/kubelet.go @@ -1533,10 +1533,14 @@ func (kl *Kubelet) makeEnvironmentVariables(pod *api.Pod, container *api.Contain key := envVar.ValueFrom.ConfigMapKeyRef.Key configMap, ok := configMaps[name] if !ok { + if kl.kubeClient == nil { + return result, fmt.Errorf("Couldn't get configMap %v/%v, no kubeClient defined", pod.Namespace, name) + } configMap, err = kl.kubeClient.Core().ConfigMaps(pod.Namespace).Get(name) if err != nil { return result, err } + configMaps[name] = configMap } runtimeVal, ok = configMap.Data[key] if !ok { @@ -1547,10 +1551,14 @@ func (kl *Kubelet) makeEnvironmentVariables(pod *api.Pod, container *api.Contain key := envVar.ValueFrom.SecretKeyRef.Key secret, ok := secrets[name] if !ok { + if kl.kubeClient == nil { + return result, fmt.Errorf("Couldn't get secret %v/%v, no kubeClient defined", pod.Namespace, name) + } secret, err = kl.kubeClient.Core().Secrets(pod.Namespace).Get(name) if err != nil { return result, err } + secrets[name] = secret } runtimeValBytes, ok := secret.Data[key] if !ok {