Explorar o código

Merge pull request #323 from kubecost/develop

Develop
Ajay Tripathy %!s(int64=6) %!d(string=hai) anos
pai
achega
be498a4055
Modificáronse 2 ficheiros con 20 adicións e 2 borrados
  1. 8 2
      costmodel/costmodel.go
  2. 12 0
      costmodel/router.go

+ 8 - 2
costmodel/costmodel.go

@@ -1300,7 +1300,10 @@ func getPodServices(cache clustercache.ClusterCache, podList []*v1.Pod, clusterI
 		if _, ok := podServicesMapping[key]; !ok {
 			podServicesMapping[key] = make(map[string][]string)
 		}
-		s := labels.Set(service.Spec.Selector).AsSelectorPreValidated()
+		s := labels.Nothing()
+		if service.Spec.Selector != nil && len(service.Spec.Selector) > 0 {
+			s = labels.Set(service.Spec.Selector).AsSelectorPreValidated()
+		}
 		for _, pod := range podList {
 			labelSet := labels.Set(pod.GetObjectMeta().GetLabels())
 			if s.Matches(labelSet) && pod.GetObjectMeta().GetNamespace() == namespace {
@@ -1439,7 +1442,10 @@ func getPodServicesWithMetrics(serviceLabels map[string]map[string]string, podLa
 		if _, ok := podServicesMapping[key]; !ok {
 			podServicesMapping[key] = make(map[string][]string)
 		}
-		s := labels.Set(servLabels).AsSelectorPreValidated()
+		s := labels.Nothing()
+		if servLabels != nil && len(servLabels) > 0 {
+			s = labels.Set(servLabels).AsSelectorPreValidated()
+		}
 
 		for podKey, pLabels := range podLabels {
 			pkey, err := NewKeyTuple(podKey)

+ 12 - 0
costmodel/router.go

@@ -579,6 +579,18 @@ func (p *Accesses) ClusterInfo(w http.ResponseWriter, r *http.Request, ps httpro
 	w.Header().Set("Access-Control-Allow-Origin", "*")
 
 	data, err := p.Cloud.ClusterInfo()
+
+	kc, ok := p.KubeClientSet.(*kubernetes.Clientset)
+	if ok && data != nil {
+		v, err := kc.ServerVersion()
+		if err != nil {
+			klog.Infof("Could not get k8s version info: %s", err.Error())
+		} else if v != nil {
+			data["version"] = v.Major + "." + v.Minor
+		}
+	} else {
+		klog.Infof("Could not get k8s version info: %s", err.Error())
+	}
 	w.Write(WrapData(data, err))
 
 }