Explorar el Código

Merge pull request #1249 from kubecost/sean/use-provider-variables

use provider constants
Sean Holcomb hace 3 años
padre
commit
21edaa8a1f

+ 2 - 1
pkg/cloud/awsprovider.go

@@ -6,6 +6,7 @@ import (
 	"context"
 	"encoding/csv"
 	"fmt"
+	"github.com/kubecost/opencost/pkg/kubecost"
 	"io"
 	"io/ioutil"
 	"net/http"
@@ -1304,7 +1305,7 @@ func (awsProvider *AWS) ClusterInfo() (map[string]string, error) {
 	makeStructure := func(clusterName string) (map[string]string, error) {
 		m := make(map[string]string)
 		m["name"] = clusterName
-		m["provider"] = "AWS"
+		m["provider"] = kubecost.AWSProvider
 		m["account"] = c.AthenaProjectID // this value requires configuration but is unavailable else where
 		m["region"] = awsProvider.clusterRegion
 		m["id"] = env.GetClusterID()

+ 2 - 1
pkg/cloud/gcpprovider.go

@@ -3,6 +3,7 @@ package cloud
 import (
 	"context"
 	"fmt"
+	"github.com/kubecost/opencost/pkg/kubecost"
 	"io"
 	"io/ioutil"
 	"math"
@@ -326,7 +327,7 @@ func (gcp *GCP) ClusterInfo() (map[string]string, error) {
 
 	m := make(map[string]string)
 	m["name"] = attribute
-	m["provider"] = "GCP"
+	m["provider"] = kubecost.GCPProvider
 	m["project"] = gcp.clusterProjectId
 	m["region"] = gcp.clusterRegion
 	m["provisioner"] = gcp.clusterProvisioner

+ 9 - 8
pkg/cloud/provider.go

@@ -4,6 +4,7 @@ import (
 	"database/sql"
 	"errors"
 	"fmt"
+	"github.com/kubecost/opencost/pkg/kubecost"
 	"io"
 	"regexp"
 	"strconv"
@@ -435,7 +436,7 @@ func NewProvider(cache clustercache.ClusterCache, apiKey string, config *config.
 	cp := getClusterProperties(nodes[0])
 
 	switch cp.provider {
-	case "CSV":
+	case kubecost.CSVProvider:
 		log.Infof("Using CSV Provider with CSV at %s", env.GetCSVPath())
 		return &CSVProvider{
 			CSVLocation: env.GetCSVPath(),
@@ -444,7 +445,7 @@ func NewProvider(cache clustercache.ClusterCache, apiKey string, config *config.
 				Config:    NewProviderConfig(config, cp.configFileName),
 			},
 		}, nil
-	case "GCP":
+	case kubecost.GCPProvider:
 		log.Info("metadata reports we are in GCE")
 		if apiKey == "" {
 			return nil, errors.New("Supply a GCP Key to start getting data")
@@ -456,7 +457,7 @@ func NewProvider(cache clustercache.ClusterCache, apiKey string, config *config.
 			clusterRegion:    cp.region,
 			clusterProjectId: cp.projectID,
 		}, nil
-	case "AWS":
+	case kubecost.AWSProvider:
 		log.Info("Found ProviderID starting with \"aws\", using AWS Provider")
 		return &AWS{
 			Clientset:            cache,
@@ -465,7 +466,7 @@ func NewProvider(cache clustercache.ClusterCache, apiKey string, config *config.
 			clusterAccountId:     cp.accountID,
 			serviceAccountChecks: NewServiceAccountChecks(),
 		}, nil
-	case "AZURE":
+	case kubecost.AzureProvider:
 		log.Info("Found ProviderID starting with \"azure\", using Azure Provider")
 		return &Azure{
 			Clientset:            cache,
@@ -502,19 +503,19 @@ func getClusterProperties(node *v1.Node) clusterProperties {
 		projectID:      "",
 	}
 	if metadata.OnGCE() {
-		cp.provider = "GCP"
+		cp.provider = kubecost.GCPProvider
 		cp.configFileName = "gcp.json"
 		cp.projectID = parseGCPProjectID(providerID)
 	} else if strings.HasPrefix(providerID, "aws") {
-		cp.provider = "AWS"
+		cp.provider = kubecost.AWSProvider
 		cp.configFileName = "aws.json"
 	} else if strings.HasPrefix(providerID, "azure") {
-		cp.provider = "AZURE"
+		cp.provider = kubecost.AzureProvider
 		cp.configFileName = "azure.json"
 		cp.accountID = parseAzureSubscriptionID(providerID)
 	}
 	if env.IsUseCSVProvider() {
-		cp.provider = "CSV"
+		cp.provider = kubecost.CSVProvider
 	}
 
 	return cp

+ 2 - 2
pkg/kubecost/asset_test.go

@@ -570,10 +570,10 @@ func TestNode_MarshalJSON(t *testing.T) {
 }
 
 func TestClusterManagement_Add(t *testing.T) {
-	cm1 := NewClusterManagement("gcp", "cluster1", windows[0])
+	cm1 := NewClusterManagement(GCPProvider, "cluster1", windows[0])
 	cm1.Cost = 9.0
 
-	cm2 := NewClusterManagement("gcp", "cluster1", windows[0])
+	cm2 := NewClusterManagement(GCPProvider, "cluster1", windows[0])
 	cm2.Cost = 4.0
 
 	cm3 := cm1.Add(cm2)

+ 2 - 2
pkg/kubecost/asset_unmarshal_test.go

@@ -122,7 +122,7 @@ func TestCloud_Unmarshal(t *testing.T) {
 
 func TestClusterManagement_Unmarshal(t *testing.T) {
 
-	cm1 := NewClusterManagement("gcp", "cluster1", unmarshalWindow)
+	cm1 := NewClusterManagement(GCPProvider, "cluster1", unmarshalWindow)
 	cm1.Cost = 9.0
 
 	bytes, _ := json.Marshal(cm1)
@@ -465,7 +465,7 @@ func TestAssetset_Unmarshal(t *testing.T) {
 
 	any := NewAsset(*unmarshalWindow.start, *unmarshalWindow.end, unmarshalWindow)
 	cloud := NewCloud("Compute", "provider1", *unmarshalWindow.start, *unmarshalWindow.end, unmarshalWindow)
-	cm := NewClusterManagement("gcp", "cluster1", unmarshalWindow)
+	cm := NewClusterManagement(GCPProvider, "cluster1", unmarshalWindow)
 	disk := NewDisk("disk1", "cluster1", "disk1", *unmarshalWindow.start, *unmarshalWindow.end, unmarshalWindow)
 	network := NewNetwork("network1", "cluster1", "provider1", *unmarshalWindow.start, *unmarshalWindow.end, unmarshalWindow)
 	node := NewNode("node1", "cluster1", "provider1", *unmarshalWindow.start, *unmarshalWindow.end, unmarshalWindow)

+ 3 - 0
pkg/kubecost/assetprops.go

@@ -99,6 +99,9 @@ const GCPProvider = "GCP"
 // AzureProvider describes the provider Azure
 const AzureProvider = "Azure"
 
+// CSVProvider describes the provider a CSV
+const CSVProvider = "CSV"
+
 // NilProvider describes unknown provider
 const NilProvider = "-"
 

+ 1 - 1
pkg/kubecost/kubecost_codecs_test.go

@@ -338,7 +338,7 @@ func TestClusterManagement_BinaryEncoding(t *testing.T) {
 	var bs []byte
 	var err error
 
-	a0 = NewClusterManagement("aws", "cluster1", window)
+	a0 = NewClusterManagement(AWSProvider, "cluster1", window)
 	a0.Cost = 4.003
 	a0.SetAdjustment(-3.23)
 

+ 2 - 2
pkg/kubecost/mock.go

@@ -663,10 +663,10 @@ func GenerateMockAssetSet(start time.Time) *AssetSet {
 	disk4.Cost = 1.5
 	disk4.ByteHours = 100 * gb * hours
 
-	cm1 := NewClusterManagement("gcp", "cluster1", window.Clone())
+	cm1 := NewClusterManagement(GCPProvider, "cluster1", window.Clone())
 	cm1.Cost = 3.0
 
-	cm2 := NewClusterManagement("gcp", "cluster2", window.Clone())
+	cm2 := NewClusterManagement(GCPProvider, "cluster2", window.Clone())
 	cm2.Cost = 0.0
 
 	return NewAssetSet(