From 0aec26653b5f57c48f35271e8cffeeaf4f3ac044 Mon Sep 17 00:00:00 2001 From: Alfonso Acosta Date: Wed, 24 May 2017 11:36:26 +0000 Subject: [PATCH] Guard against null DaemonSet store --- probe/kubernetes/client.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/probe/kubernetes/client.go b/probe/kubernetes/client.go index 5a5c95cc83..33110c7cc4 100644 --- a/probe/kubernetes/client.go +++ b/probe/kubernetes/client.go @@ -151,9 +151,9 @@ func NewClient(config ClientConfig) (Client, error) { // We list deployments here to check if this version of kubernetes is >= 1.2. // We would use NegotiateVersion, but Kubernetes 1.1 "supports" - // extensions/v1beta1, but not deployments or replicasets. + // extensions/v1beta1, but not deployments, replicasets or daemonsets. if _, err := ec.Deployments(api.NamespaceAll).List(api.ListOptions{}); err != nil { - log.Infof("Deployments and ReplicaSets are not supported by this Kubernetes version: %v", err) + log.Infof("Deployments, ReplicaSets and DaemonSets are not supported by this Kubernetes version: %v", err) } else { result.deploymentStore = &cache.StoreToDeploymentLister{Store: result.setupStore(ec, "deployments", &extensions.Deployment{}, nil)} result.replicaSetStore = &cache.StoreToReplicaSetLister{Store: result.setupStore(ec, "replicasets", &extensions.ReplicaSet{}, nil)} @@ -263,6 +263,9 @@ func (c *client) WalkReplicationControllers(f func(ReplicationController) error) // WalkDaemonSets calls f for each daemonset func (c *client) WalkDaemonSets(f func(DaemonSet) error) error { + if c.daemonSetStore == nil { + return nil + } list, err := c.daemonSetStore.List() if err != nil { return err