فهرست منبع

more sanitization

AjayTripathy 6 سال پیش
والد
کامیت
1fad7e1ffa
2فایلهای تغییر یافته به همراه13 افزوده شده و 3 حذف شده
  1. 5 1
      pkg/costmodel/costmodel.go
  2. 8 2
      pkg/costmodel/promparsers.go

+ 5 - 1
pkg/costmodel/costmodel.go

@@ -2476,7 +2476,11 @@ func getNamespaceLabels(cache clustercache.ClusterCache, clusterID string) (map[
 	nsToLabels := make(map[string]map[string]string)
 	nss := cache.GetAllNamespaces()
 	for _, ns := range nss {
-		nsToLabels[ns.Name+","+clusterID] = ns.Labels
+		labels := make(map[string]string)
+		for k, v := range ns.Labels {
+			labels[SanitizeLabelName(k)] = v
+		}
+		nsToLabels[ns.Name+","+clusterID] = labels
 	}
 	return nsToLabels, nil
 }

+ 8 - 2
pkg/costmodel/promparsers.go

@@ -314,9 +314,15 @@ func GetNamespaceLabelsMetrics(queryResult interface{}, defaultClusterID string)
 		}
 
 		nsKey := ns + "," + clusterID
-		toReturn[nsKey] = val.GetLabels()
+		if nsLabels, ok := toReturn[nsKey]; ok {
+			for k, v := range val.GetLabels() {
+				nsLabels[k] = v // override with more recently assigned if we changed labels within the window.
+			}
+		} else {
+			toReturn[nsKey] = val.GetLabels()
+		}
 	}
-
+	klog.Infof("NAMESPACE LABELS %v", toReturn)
 	return toReturn, nil
 }