Selaa lähdekoodia

use reduced StorageClass struct

Signed-off-by: r2k1 <yokree@gmail.com>
r2k1 2 vuotta sitten
vanhempi
sitoutus
b7fdb11d47

+ 2 - 2
pkg/cloud/aws/provider.go

@@ -895,8 +895,8 @@ func (aws *AWS) DownloadPricingData() error {
 		if params != nil {
 			params["provisioner"] = storageClass.Provisioner
 		}
-		storageClassMap[storageClass.ObjectMeta.Name] = params
-		if storageClass.GetAnnotations()["storageclass.kubernetes.io/is-default-class"] == "true" || storageClass.GetAnnotations()["storageclass.beta.kubernetes.io/is-default-class"] == "true" {
+		storageClassMap[storageClass.Name] = params
+		if storageClass.Annotations["storageclass.kubernetes.io/is-default-class"] == "true" || storageClass.Annotations["storageclass.beta.kubernetes.io/is-default-class"] == "true" {
 			storageClassMap["default"] = params
 			storageClassMap[""] = params
 		}

+ 2 - 2
pkg/cloud/gcp/provider.go

@@ -1095,8 +1095,8 @@ func (gcp *GCP) DownloadPricingData() error {
 	storageClassMap := make(map[string]map[string]string)
 	for _, storageClass := range storageClasses {
 		params := storageClass.Parameters
-		storageClassMap[storageClass.ObjectMeta.Name] = params
-		if storageClass.GetAnnotations()["storageclass.kubernetes.io/is-default-class"] == "true" || storageClass.GetAnnotations()["storageclass.beta.kubernetes.io/is-default-class"] == "true" {
+		storageClassMap[storageClass.Name] = params
+		if storageClass.Annotations["storageclass.kubernetes.io/is-default-class"] == "true" || storageClass.Annotations["storageclass.beta.kubernetes.io/is-default-class"] == "true" {
 			storageClassMap["default"] = params
 			storageClassMap[""] = params
 		}

+ 20 - 4
pkg/clustercache/clustercache.go

@@ -222,6 +222,22 @@ func transformPersistentVolumeClaim(input *v1.PersistentVolumeClaim) *Persistent
 	}
 }
 
+type StorageClass struct {
+	Name        string
+	Annotations map[string]string
+	Parameters  map[string]string
+	Provisioner string
+}
+
+func transformStorageClass(input *stv1.StorageClass) *StorageClass {
+	return &StorageClass{
+		Name:        input.Name,
+		Annotations: input.Annotations,
+		Parameters:  input.Parameters,
+		Provisioner: input.Provisioner,
+	}
+}
+
 // ClusterCache defines an contract for an object which caches components within a cluster, ensuring
 // up to date resources using watchers
 type ClusterCache interface {
@@ -259,7 +275,7 @@ type ClusterCache interface {
 	GetAllPersistentVolumeClaims() []*PersistentVolumeClaim
 
 	// GetAllStorageClasses returns all the cached storage classes
-	GetAllStorageClasses() []*stv1.StorageClass
+	GetAllStorageClasses() []*StorageClass
 
 	// GetAllJobs returns all the cached jobs
 	GetAllJobs() []*batchv1.Job
@@ -465,11 +481,11 @@ func (kcc *KubernetesClusterCache) GetAllPersistentVolumeClaims() []*PersistentV
 	return pvcs
 }
 
-func (kcc *KubernetesClusterCache) GetAllStorageClasses() []*stv1.StorageClass {
-	var storageClasses []*stv1.StorageClass
+func (kcc *KubernetesClusterCache) GetAllStorageClasses() []*StorageClass {
+	var storageClasses []*StorageClass
 	items := kcc.storageClassWatch.GetAll()
 	for _, stc := range items {
-		storageClasses = append(storageClasses, stc.(*stv1.StorageClass))
+		storageClasses = append(storageClasses, transformStorageClass(stc.(*stv1.StorageClass)))
 	}
 	return storageClasses
 }

+ 2 - 2
pkg/costmodel/costmodel.go

@@ -904,8 +904,8 @@ func addPVData(cache clustercache.ClusterCache, pvClaimMapping map[string]*Persi
 	storageClassMap := make(map[string]map[string]string)
 	for _, storageClass := range storageClasses {
 		params := storageClass.Parameters
-		storageClassMap[storageClass.ObjectMeta.Name] = params
-		if storageClass.GetAnnotations()["storageclass.kubernetes.io/is-default-class"] == "true" || storageClass.GetAnnotations()["storageclass.beta.kubernetes.io/is-default-class"] == "true" {
+		storageClassMap[storageClass.Name] = params
+		if storageClass.Annotations["storageclass.kubernetes.io/is-default-class"] == "true" || storageClass.Annotations["storageclass.beta.kubernetes.io/is-default-class"] == "true" {
 			storageClassMap["default"] = params
 			storageClassMap[""] = params
 		}

+ 2 - 2
pkg/costmodel/metrics.go

@@ -650,8 +650,8 @@ func (cmme *CostModelMetricsEmitter) Start() bool {
 			storageClassMap := make(map[string]map[string]string)
 			for _, storageClass := range storageClasses {
 				params := storageClass.Parameters
-				storageClassMap[storageClass.ObjectMeta.Name] = params
-				if storageClass.GetAnnotations()["storageclass.kubernetes.io/is-default-class"] == "true" || storageClass.GetAnnotations()["storageclass.beta.kubernetes.io/is-default-class"] == "true" {
+				storageClassMap[storageClass.Name] = params
+				if storageClass.Annotations["storageclass.kubernetes.io/is-default-class"] == "true" || storageClass.Annotations["storageclass.beta.kubernetes.io/is-default-class"] == "true" {
 					storageClassMap["default"] = params
 					storageClassMap[""] = params
 				}