Просмотр исходного кода

Merge branch 'develop' into bolt/dependency-refactor

Matt Bolt 6 лет назад
Родитель
Сommit
63b8450398
2 измененных файлов с 12 добавлено и 6 удалено
  1. 4 4
      pkg/costmodel/cluster.go
  2. 8 2
      pkg/costmodel/costmodel.go

+ 4 - 4
pkg/costmodel/cluster.go

@@ -159,22 +159,22 @@ func ComputeClusterCosts(client prometheus.Client, provider cloud.Provider, wind
 
 	const fmtQueryTotalGPU = `sum(
 		sum_over_time(node_gpu_hourly_cost[%s:1m]%s) / 60
-	) by (node, cluster_id)`
+	) by (cluster_id)`
 
 	const fmtQueryTotalCPU = `sum(
 		sum(sum_over_time(kube_node_status_capacity_cpu_cores[%s:1m]%s)) by (node, cluster_id) *
 		avg(avg_over_time(node_cpu_hourly_cost[%s:1m]%s)) by (node, cluster_id) / 60
-	)`
+	) by (cluster_id)`
 
 	const fmtQueryTotalRAM = `sum(
 		sum(sum_over_time(kube_node_status_capacity_memory_bytes[%s:1m]%s) / 1024 / 1024 / 1024) by (node, cluster_id) *
 		avg(avg_over_time(node_ram_hourly_cost[%s:1m]%s)) by (node, cluster_id) / 60
-	)`
+	) by (cluster_id)`
 
 	const fmtQueryTotalStorage = `sum(
 		sum(sum_over_time(kube_persistentvolume_capacity_bytes[%s:1m]%s)) by (persistentvolume, cluster_id) / 1024 / 1024 / 1024 *
 		avg(avg_over_time(pv_hourly_cost[%s:1m]%s)) by (persistentvolume, cluster_id) / 60
-	)%s`
+	) by (cluster_id) %s`
 
 	queryTotalLocalStorage := provider.GetLocalStorageQuery(window, offset, false)
 	if queryTotalLocalStorage != "" {

+ 8 - 2
pkg/costmodel/costmodel.go

@@ -1301,7 +1301,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 {
@@ -1440,7 +1443,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)