|
|
@@ -29,14 +29,14 @@ func TestMergeTypeMaps(t *testing.T) {
|
|
|
{
|
|
|
name: "map2 empty",
|
|
|
map1: map[nodeIdentifierNoProviderID]string{
|
|
|
- nodeIdentifierNoProviderID{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
}: "type1",
|
|
|
},
|
|
|
map2: map[nodeIdentifierNoProviderID]string{},
|
|
|
expected: map[nodeIdentifierNoProviderID]string{
|
|
|
- nodeIdentifierNoProviderID{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
}: "type1",
|
|
|
@@ -46,13 +46,13 @@ func TestMergeTypeMaps(t *testing.T) {
|
|
|
name: "map1 empty",
|
|
|
map1: map[nodeIdentifierNoProviderID]string{},
|
|
|
map2: map[nodeIdentifierNoProviderID]string{
|
|
|
- nodeIdentifierNoProviderID{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
}: "type1",
|
|
|
},
|
|
|
expected: map[nodeIdentifierNoProviderID]string{
|
|
|
- nodeIdentifierNoProviderID{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
}: "type1",
|
|
|
@@ -61,31 +61,31 @@ func TestMergeTypeMaps(t *testing.T) {
|
|
|
{
|
|
|
name: "no overlap",
|
|
|
map1: map[nodeIdentifierNoProviderID]string{
|
|
|
- nodeIdentifierNoProviderID{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
}: "type1",
|
|
|
},
|
|
|
map2: map[nodeIdentifierNoProviderID]string{
|
|
|
- nodeIdentifierNoProviderID{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node2",
|
|
|
}: "type2",
|
|
|
- nodeIdentifierNoProviderID{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node4",
|
|
|
}: "type4",
|
|
|
},
|
|
|
expected: map[nodeIdentifierNoProviderID]string{
|
|
|
- nodeIdentifierNoProviderID{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
}: "type1",
|
|
|
- nodeIdentifierNoProviderID{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node2",
|
|
|
}: "type2",
|
|
|
- nodeIdentifierNoProviderID{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node4",
|
|
|
}: "type4",
|
|
|
@@ -94,27 +94,27 @@ func TestMergeTypeMaps(t *testing.T) {
|
|
|
{
|
|
|
name: "with overlap",
|
|
|
map1: map[nodeIdentifierNoProviderID]string{
|
|
|
- nodeIdentifierNoProviderID{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
}: "type1",
|
|
|
},
|
|
|
map2: map[nodeIdentifierNoProviderID]string{
|
|
|
- nodeIdentifierNoProviderID{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node2",
|
|
|
}: "type2",
|
|
|
- nodeIdentifierNoProviderID{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
}: "type4",
|
|
|
},
|
|
|
expected: map[nodeIdentifierNoProviderID]string{
|
|
|
- nodeIdentifierNoProviderID{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
}: "type1",
|
|
|
- nodeIdentifierNoProviderID{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node2",
|
|
|
}: "type2",
|
|
|
@@ -158,24 +158,24 @@ func TestBuildNodeMap(t *testing.T) {
|
|
|
{
|
|
|
name: "just cpu cost",
|
|
|
cpuCostMap: map[NodeIdentifier]float64{
|
|
|
- NodeIdentifier{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
ProviderID: "prov_node1",
|
|
|
}: 0.048,
|
|
|
},
|
|
|
clusterAndNameToType: map[nodeIdentifierNoProviderID]string{
|
|
|
- nodeIdentifierNoProviderID{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
}: "type1",
|
|
|
},
|
|
|
expected: map[NodeIdentifier]*Node{
|
|
|
- NodeIdentifier{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
ProviderID: "prov_node1",
|
|
|
- }: &Node{
|
|
|
+ }: {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
ProviderID: "prov_node1",
|
|
|
@@ -189,22 +189,22 @@ func TestBuildNodeMap(t *testing.T) {
|
|
|
{
|
|
|
name: "just cpu cost with empty provider ID",
|
|
|
cpuCostMap: map[NodeIdentifier]float64{
|
|
|
- NodeIdentifier{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
}: 0.048,
|
|
|
},
|
|
|
clusterAndNameToType: map[nodeIdentifierNoProviderID]string{
|
|
|
- nodeIdentifierNoProviderID{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
}: "type1",
|
|
|
},
|
|
|
expected: map[NodeIdentifier]*Node{
|
|
|
- NodeIdentifier{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
- }: &Node{
|
|
|
+ }: {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
NodeType: "type1",
|
|
|
@@ -217,29 +217,29 @@ func TestBuildNodeMap(t *testing.T) {
|
|
|
{
|
|
|
name: "cpu cost with overlapping node names",
|
|
|
cpuCostMap: map[NodeIdentifier]float64{
|
|
|
- NodeIdentifier{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
ProviderID: "prov_node1_A",
|
|
|
}: 0.048,
|
|
|
- NodeIdentifier{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
ProviderID: "prov_node1_B",
|
|
|
}: 0.087,
|
|
|
},
|
|
|
clusterAndNameToType: map[nodeIdentifierNoProviderID]string{
|
|
|
- nodeIdentifierNoProviderID{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
}: "type1",
|
|
|
},
|
|
|
expected: map[NodeIdentifier]*Node{
|
|
|
- NodeIdentifier{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
ProviderID: "prov_node1_A",
|
|
|
- }: &Node{
|
|
|
+ }: {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
ProviderID: "prov_node1_A",
|
|
|
@@ -248,11 +248,11 @@ func TestBuildNodeMap(t *testing.T) {
|
|
|
CPUBreakdown: &ClusterCostsBreakdown{},
|
|
|
RAMBreakdown: &ClusterCostsBreakdown{},
|
|
|
},
|
|
|
- NodeIdentifier{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
ProviderID: "prov_node1_B",
|
|
|
- }: &Node{
|
|
|
+ }: {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
ProviderID: "prov_node1_B",
|
|
|
@@ -266,207 +266,207 @@ func TestBuildNodeMap(t *testing.T) {
|
|
|
{
|
|
|
name: "all fields + overlapping node names",
|
|
|
cpuCostMap: map[NodeIdentifier]float64{
|
|
|
- NodeIdentifier{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
ProviderID: "prov_node1_A",
|
|
|
}: 0.048,
|
|
|
- NodeIdentifier{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
ProviderID: "prov_node1_B",
|
|
|
}: 0.087,
|
|
|
- NodeIdentifier{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node2",
|
|
|
ProviderID: "prov_node2_A",
|
|
|
}: 0.033,
|
|
|
},
|
|
|
ramCostMap: map[NodeIdentifier]float64{
|
|
|
- NodeIdentifier{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
ProviderID: "prov_node1_A",
|
|
|
}: 0.09,
|
|
|
- NodeIdentifier{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
ProviderID: "prov_node1_B",
|
|
|
}: 0.3,
|
|
|
- NodeIdentifier{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node2",
|
|
|
ProviderID: "prov_node2_A",
|
|
|
}: 0.024,
|
|
|
},
|
|
|
gpuCostMap: map[NodeIdentifier]float64{
|
|
|
- NodeIdentifier{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
ProviderID: "prov_node1_A",
|
|
|
}: 0.8,
|
|
|
- NodeIdentifier{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
ProviderID: "prov_node1_B",
|
|
|
}: 1.4,
|
|
|
- NodeIdentifier{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node2",
|
|
|
ProviderID: "prov_node2_A",
|
|
|
}: 3.1,
|
|
|
},
|
|
|
gpuCountMap: map[NodeIdentifier]float64{
|
|
|
- NodeIdentifier{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
ProviderID: "prov_node1_A",
|
|
|
}: 1.0,
|
|
|
- NodeIdentifier{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
ProviderID: "prov_node1_B",
|
|
|
}: 1.0,
|
|
|
- NodeIdentifier{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node2",
|
|
|
ProviderID: "prov_node2_A",
|
|
|
}: 2.0,
|
|
|
},
|
|
|
cpuCoresMap: map[nodeIdentifierNoProviderID]float64{
|
|
|
- nodeIdentifierNoProviderID{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
}: 2.0,
|
|
|
- nodeIdentifierNoProviderID{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node2",
|
|
|
}: 5.0,
|
|
|
},
|
|
|
ramBytesMap: map[nodeIdentifierNoProviderID]float64{
|
|
|
- nodeIdentifierNoProviderID{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
}: 2048.0,
|
|
|
- nodeIdentifierNoProviderID{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node2",
|
|
|
}: 6303.0,
|
|
|
},
|
|
|
ramUserPctMap: map[nodeIdentifierNoProviderID]float64{
|
|
|
- nodeIdentifierNoProviderID{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
}: 30.0,
|
|
|
- nodeIdentifierNoProviderID{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node2",
|
|
|
}: 42.6,
|
|
|
},
|
|
|
ramSystemPctMap: map[nodeIdentifierNoProviderID]float64{
|
|
|
- nodeIdentifierNoProviderID{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
}: 15.0,
|
|
|
- nodeIdentifierNoProviderID{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node2",
|
|
|
}: 20.1,
|
|
|
},
|
|
|
cpuBreakdownMap: map[nodeIdentifierNoProviderID]*ClusterCostsBreakdown{
|
|
|
- nodeIdentifierNoProviderID{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
- }: &ClusterCostsBreakdown{
|
|
|
+ }: {
|
|
|
System: 20.2,
|
|
|
User: 68.0,
|
|
|
},
|
|
|
- nodeIdentifierNoProviderID{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node2",
|
|
|
- }: &ClusterCostsBreakdown{
|
|
|
+ }: {
|
|
|
System: 28.9,
|
|
|
User: 34.0,
|
|
|
},
|
|
|
},
|
|
|
activeDataMap: map[NodeIdentifier]activeData{
|
|
|
- NodeIdentifier{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
ProviderID: "prov_node1_A",
|
|
|
- }: activeData{
|
|
|
+ }: {
|
|
|
start: time.Date(2020, 6, 16, 3, 45, 28, 0, time.UTC),
|
|
|
end: time.Date(2020, 6, 16, 9, 20, 39, 0, time.UTC),
|
|
|
minutes: 5*60 + 35 + (11.0 / 60.0),
|
|
|
},
|
|
|
- NodeIdentifier{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
ProviderID: "prov_node1_B",
|
|
|
- }: activeData{
|
|
|
+ }: {
|
|
|
start: time.Date(2020, 6, 16, 3, 45, 28, 0, time.UTC),
|
|
|
end: time.Date(2020, 6, 16, 9, 21, 39, 0, time.UTC),
|
|
|
minutes: 5*60 + 36 + (11.0 / 60.0),
|
|
|
},
|
|
|
- NodeIdentifier{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node2",
|
|
|
ProviderID: "prov_node2_A",
|
|
|
- }: activeData{
|
|
|
+ }: {
|
|
|
start: time.Date(2020, 6, 16, 3, 45, 28, 0, time.UTC),
|
|
|
end: time.Date(2020, 6, 16, 9, 10, 39, 0, time.UTC),
|
|
|
minutes: 5*60 + 25 + (11.0 / 60.0),
|
|
|
},
|
|
|
},
|
|
|
preemptibleMap: map[NodeIdentifier]bool{
|
|
|
- NodeIdentifier{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
ProviderID: "prov_node1_A",
|
|
|
}: true,
|
|
|
- NodeIdentifier{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
ProviderID: "prov_node1_B",
|
|
|
}: false,
|
|
|
- NodeIdentifier{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node2",
|
|
|
ProviderID: "prov_node2_A",
|
|
|
}: false,
|
|
|
},
|
|
|
labelsMap: map[nodeIdentifierNoProviderID]map[string]string{
|
|
|
- nodeIdentifierNoProviderID{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
- }: map[string]string{
|
|
|
+ }: {
|
|
|
"labelname1_A": "labelvalue1_A",
|
|
|
"labelname1_B": "labelvalue1_B",
|
|
|
},
|
|
|
- nodeIdentifierNoProviderID{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node2",
|
|
|
- }: map[string]string{
|
|
|
+ }: {
|
|
|
"labelname2_A": "labelvalue2_A",
|
|
|
"labelname2_B": "labelvalue2_B",
|
|
|
},
|
|
|
},
|
|
|
clusterAndNameToType: map[nodeIdentifierNoProviderID]string{
|
|
|
- nodeIdentifierNoProviderID{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
}: "type1",
|
|
|
- nodeIdentifierNoProviderID{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node2",
|
|
|
}: "type2",
|
|
|
},
|
|
|
expected: map[NodeIdentifier]*Node{
|
|
|
- NodeIdentifier{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
ProviderID: "prov_node1_A",
|
|
|
- }: &Node{
|
|
|
+ }: {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
ProviderID: "prov_node1_A",
|
|
|
@@ -494,11 +494,11 @@ func TestBuildNodeMap(t *testing.T) {
|
|
|
"labelname1_B": "labelvalue1_B",
|
|
|
},
|
|
|
},
|
|
|
- NodeIdentifier{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
ProviderID: "prov_node1_B",
|
|
|
- }: &Node{
|
|
|
+ }: {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
ProviderID: "prov_node1_B",
|
|
|
@@ -526,11 +526,11 @@ func TestBuildNodeMap(t *testing.T) {
|
|
|
"labelname1_B": "labelvalue1_B",
|
|
|
},
|
|
|
},
|
|
|
- NodeIdentifier{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node2",
|
|
|
ProviderID: "prov_node2_A",
|
|
|
- }: &Node{
|
|
|
+ }: {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node2",
|
|
|
ProviderID: "prov_node2_A",
|
|
|
@@ -563,30 +563,30 @@ func TestBuildNodeMap(t *testing.T) {
|
|
|
{
|
|
|
name: "e2-micro cpu cost adjustment",
|
|
|
cpuCostMap: map[NodeIdentifier]float64{
|
|
|
- NodeIdentifier{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
ProviderID: "prov_node1",
|
|
|
}: 0.048,
|
|
|
},
|
|
|
cpuCoresMap: map[nodeIdentifierNoProviderID]float64{
|
|
|
- nodeIdentifierNoProviderID{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
}: 6.0, // GKE lies about number of cores
|
|
|
},
|
|
|
clusterAndNameToType: map[nodeIdentifierNoProviderID]string{
|
|
|
- nodeIdentifierNoProviderID{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
}: "e2-micro", // for this node type
|
|
|
},
|
|
|
expected: map[NodeIdentifier]*Node{
|
|
|
- NodeIdentifier{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
ProviderID: "prov_node1",
|
|
|
- }: &Node{
|
|
|
+ }: {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
ProviderID: "prov_node1",
|
|
|
@@ -601,30 +601,30 @@ func TestBuildNodeMap(t *testing.T) {
|
|
|
{
|
|
|
name: "e2-small cpu cost adjustment",
|
|
|
cpuCostMap: map[NodeIdentifier]float64{
|
|
|
- NodeIdentifier{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
ProviderID: "prov_node1",
|
|
|
}: 0.048,
|
|
|
},
|
|
|
cpuCoresMap: map[nodeIdentifierNoProviderID]float64{
|
|
|
- nodeIdentifierNoProviderID{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
}: 6.0, // GKE lies about number of cores
|
|
|
},
|
|
|
clusterAndNameToType: map[nodeIdentifierNoProviderID]string{
|
|
|
- nodeIdentifierNoProviderID{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
}: "e2-small", // for this node type
|
|
|
},
|
|
|
expected: map[NodeIdentifier]*Node{
|
|
|
- NodeIdentifier{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
ProviderID: "prov_node1",
|
|
|
- }: &Node{
|
|
|
+ }: {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
ProviderID: "prov_node1",
|
|
|
@@ -639,30 +639,30 @@ func TestBuildNodeMap(t *testing.T) {
|
|
|
{
|
|
|
name: "e2-medium cpu cost adjustment",
|
|
|
cpuCostMap: map[NodeIdentifier]float64{
|
|
|
- NodeIdentifier{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
ProviderID: "prov_node1",
|
|
|
}: 0.048,
|
|
|
},
|
|
|
cpuCoresMap: map[nodeIdentifierNoProviderID]float64{
|
|
|
- nodeIdentifierNoProviderID{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
}: 6.0, // GKE lies about number of cores
|
|
|
},
|
|
|
clusterAndNameToType: map[nodeIdentifierNoProviderID]string{
|
|
|
- nodeIdentifierNoProviderID{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
}: "e2-medium", // for this node type
|
|
|
},
|
|
|
expected: map[NodeIdentifier]*Node{
|
|
|
- NodeIdentifier{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
ProviderID: "prov_node1",
|
|
|
- }: &Node{
|
|
|
+ }: {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
ProviderID: "prov_node1",
|
|
|
@@ -720,7 +720,7 @@ func TestBuildGPUCostMap(t *testing.T) {
|
|
|
"provider_id": "provider1",
|
|
|
},
|
|
|
Values: []*util.Vector{
|
|
|
- &util.Vector{
|
|
|
+ {
|
|
|
Timestamp: 0,
|
|
|
Value: 0,
|
|
|
},
|
|
|
@@ -728,14 +728,14 @@ func TestBuildGPUCostMap(t *testing.T) {
|
|
|
},
|
|
|
},
|
|
|
countMap: map[NodeIdentifier]float64{
|
|
|
- NodeIdentifier{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
ProviderID: "provider1",
|
|
|
}: 0,
|
|
|
},
|
|
|
expected: map[NodeIdentifier]float64{
|
|
|
- NodeIdentifier{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
ProviderID: "provider1",
|
|
|
@@ -753,7 +753,7 @@ func TestBuildGPUCostMap(t *testing.T) {
|
|
|
"provider_id": "provider1",
|
|
|
},
|
|
|
Values: []*util.Vector{
|
|
|
- &util.Vector{
|
|
|
+ {
|
|
|
Timestamp: 0,
|
|
|
Value: 2,
|
|
|
},
|
|
|
@@ -761,14 +761,14 @@ func TestBuildGPUCostMap(t *testing.T) {
|
|
|
},
|
|
|
},
|
|
|
countMap: map[NodeIdentifier]float64{
|
|
|
- NodeIdentifier{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
ProviderID: "provider1",
|
|
|
}: 0,
|
|
|
},
|
|
|
expected: map[NodeIdentifier]float64{
|
|
|
- NodeIdentifier{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
ProviderID: "provider1",
|
|
|
@@ -786,7 +786,7 @@ func TestBuildGPUCostMap(t *testing.T) {
|
|
|
"provider_id": "provider1",
|
|
|
},
|
|
|
Values: []*util.Vector{
|
|
|
- &util.Vector{
|
|
|
+ {
|
|
|
Timestamp: 0,
|
|
|
Value: 2,
|
|
|
},
|
|
|
@@ -795,7 +795,7 @@ func TestBuildGPUCostMap(t *testing.T) {
|
|
|
},
|
|
|
countMap: map[NodeIdentifier]float64{},
|
|
|
expected: map[NodeIdentifier]float64{
|
|
|
- NodeIdentifier{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
ProviderID: "provider1",
|
|
|
@@ -808,7 +808,7 @@ func TestBuildGPUCostMap(t *testing.T) {
|
|
|
{},
|
|
|
},
|
|
|
countMap: map[NodeIdentifier]float64{
|
|
|
- NodeIdentifier{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
ProviderID: "provider1",
|
|
|
@@ -827,7 +827,7 @@ func TestBuildGPUCostMap(t *testing.T) {
|
|
|
"provider_id": "provider1",
|
|
|
},
|
|
|
Values: []*util.Vector{
|
|
|
- &util.Vector{
|
|
|
+ {
|
|
|
Timestamp: 0,
|
|
|
Value: 2,
|
|
|
},
|
|
|
@@ -835,14 +835,14 @@ func TestBuildGPUCostMap(t *testing.T) {
|
|
|
},
|
|
|
},
|
|
|
countMap: map[NodeIdentifier]float64{
|
|
|
- NodeIdentifier{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
ProviderID: "provider1",
|
|
|
}: 2,
|
|
|
},
|
|
|
expected: map[NodeIdentifier]float64{
|
|
|
- NodeIdentifier{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
ProviderID: "provider1",
|
|
|
@@ -876,7 +876,7 @@ func TestAssetCustompricing(t *testing.T) {
|
|
|
"provider_id": "provider1",
|
|
|
},
|
|
|
Values: []*util.Vector{
|
|
|
- &util.Vector{
|
|
|
+ {
|
|
|
Timestamp: 0,
|
|
|
Value: 0.5,
|
|
|
},
|
|
|
@@ -892,7 +892,7 @@ func TestAssetCustompricing(t *testing.T) {
|
|
|
"provider_id": "provider1",
|
|
|
},
|
|
|
Values: []*util.Vector{
|
|
|
- &util.Vector{
|
|
|
+ {
|
|
|
Timestamp: 0,
|
|
|
Value: 1.0,
|
|
|
},
|
|
|
@@ -908,7 +908,7 @@ func TestAssetCustompricing(t *testing.T) {
|
|
|
"provider_id": "provider1",
|
|
|
},
|
|
|
Values: []*util.Vector{
|
|
|
- &util.Vector{
|
|
|
+ {
|
|
|
Timestamp: 0,
|
|
|
Value: 1073741824.0,
|
|
|
},
|
|
|
@@ -924,11 +924,11 @@ func TestAssetCustompricing(t *testing.T) {
|
|
|
"provider_id": "provider1",
|
|
|
},
|
|
|
Values: []*util.Vector{
|
|
|
- &util.Vector{
|
|
|
+ {
|
|
|
Timestamp: 0,
|
|
|
Value: 1.0,
|
|
|
},
|
|
|
- &util.Vector{
|
|
|
+ {
|
|
|
Timestamp: 3600.0,
|
|
|
Value: 1.0,
|
|
|
},
|
|
|
@@ -944,11 +944,11 @@ func TestAssetCustompricing(t *testing.T) {
|
|
|
"namespace": "ns1",
|
|
|
},
|
|
|
Values: []*util.Vector{
|
|
|
- &util.Vector{
|
|
|
+ {
|
|
|
Timestamp: 0,
|
|
|
Value: 1.0,
|
|
|
},
|
|
|
- &util.Vector{
|
|
|
+ {
|
|
|
Timestamp: 3600.0,
|
|
|
Value: 1.0,
|
|
|
},
|
|
|
@@ -964,11 +964,11 @@ func TestAssetCustompricing(t *testing.T) {
|
|
|
"namespace": "ns1",
|
|
|
},
|
|
|
Values: []*util.Vector{
|
|
|
- &util.Vector{
|
|
|
+ {
|
|
|
Timestamp: 0,
|
|
|
Value: 1.0,
|
|
|
},
|
|
|
- &util.Vector{
|
|
|
+ {
|
|
|
Timestamp: 3600.0,
|
|
|
Value: 1.0,
|
|
|
},
|
|
|
@@ -985,7 +985,7 @@ func TestAssetCustompricing(t *testing.T) {
|
|
|
"namespace": "ns1",
|
|
|
},
|
|
|
Values: []*util.Vector{
|
|
|
- &util.Vector{
|
|
|
+ {
|
|
|
Timestamp: 0,
|
|
|
Value: 1.0,
|
|
|
},
|
|
|
@@ -994,7 +994,7 @@ func TestAssetCustompricing(t *testing.T) {
|
|
|
}
|
|
|
|
|
|
gpuCountMap := map[NodeIdentifier]float64{
|
|
|
- NodeIdentifier{
|
|
|
+ {
|
|
|
Cluster: "cluster1",
|
|
|
Name: "node1",
|
|
|
ProviderID: "provider1",
|