AjayTripathy 6 лет назад
Родитель
Сommit
55b6c31efc
1 измененных файлов с 49 добавлено и 47 удалено
  1. 49 47
      cloud/azureprovider.go

+ 49 - 47
cloud/azureprovider.go

@@ -342,68 +342,70 @@ func (az *Azure) DownloadPricingData() error {
 	baseCPUPrice := c.CPU
 
 	for _, v := range *result.Meters {
-		region, err := toRegionID(*v.MeterRegion, regions)
-		if err != nil {
-			continue
-		}
-
-		meterName := *v.MeterName
-		sc := *v.MeterSubCategory
+		if !strings.Contains(*v.MeterSubCategory, "Windows") {
 
-		// not available now
-		if strings.Contains(sc, "Promo") {
-			continue
-		}
+			region, err := toRegionID(*v.MeterRegion, regions)
+			if err != nil {
+				continue
+			}
 
-		usageType := ""
-		if !strings.Contains(meterName, "Low Priority") {
-			usageType = "ondemand"
-		} else {
-			usageType = "preemptible"
-		}
+			meterName := *v.MeterName
+			sc := *v.MeterSubCategory
 
-		var instanceTypes []string
-		name := strings.TrimSuffix(meterName, " Low Priority")
-		instanceType := strings.Split(name, "/")
-		for _, it := range instanceType {
-			instanceTypes = append(instanceTypes, strings.Replace(it, " ", "_", 1))
-		}
+			// not available now
+			if strings.Contains(sc, "Promo") {
+				continue
+			}
 
-		instanceTypes = transformMachineType(sc, instanceTypes)
-		if strings.Contains(name, "Expired") {
-			instanceTypes = []string{}
-		}
+			usageType := ""
+			if !strings.Contains(meterName, "Low Priority") {
+				usageType = "ondemand"
+			} else {
+				usageType = "preemptible"
+			}
 
-		var priceInUsd float64
+			var instanceTypes []string
+			name := strings.TrimSuffix(meterName, " Low Priority")
+			instanceType := strings.Split(name, "/")
+			for _, it := range instanceType {
+				instanceTypes = append(instanceTypes, strings.Replace(it, " ", "_", 1))
+			}
 
-		if len(v.MeterRates) < 1 {
-			klog.V(1).Infof("missing rate info %+v", map[string]interface{}{"MeterSubCategory": *v.MeterSubCategory, "region": region})
-			continue
-		}
-		for _, rate := range v.MeterRates {
-			priceInUsd += *rate
-		}
-		priceStr := fmt.Sprintf("%f", priceInUsd)
-		for _, instanceType := range instanceTypes {
-			klog.V(1).Infof("region: %s \n", region)
-			key := fmt.Sprintf("%s,%s,%s", region, instanceType, usageType)
-			allPrices[key] = &Node{
-				Cost:         priceStr,
-				BaseCPUPrice: baseCPUPrice,
+			instanceTypes = transformMachineType(sc, instanceTypes)
+			if strings.Contains(name, "Expired") {
+				instanceTypes = []string{}
 			}
 
-			mts := getMachineTypeVariants(instanceType)
-			for _, mt := range mts {
-				key := fmt.Sprintf("%s,%s,%s", region, mt, usageType)
+			var priceInUsd float64
+
+			if len(v.MeterRates) < 1 {
+				klog.V(1).Infof("missing rate info %+v", map[string]interface{}{"MeterSubCategory": *v.MeterSubCategory, "region": region})
+				continue
+			}
+			for _, rate := range v.MeterRates {
+				priceInUsd += *rate
+			}
+			priceStr := fmt.Sprintf("%f", priceInUsd)
+			for _, instanceType := range instanceTypes {
+				klog.V(1).Infof("region: %s \n", region)
+				key := fmt.Sprintf("%s,%s,%s", region, instanceType, usageType)
 				allPrices[key] = &Node{
 					Cost:         priceStr,
 					BaseCPUPrice: baseCPUPrice,
 				}
-			}
 
+				mts := getMachineTypeVariants(instanceType)
+				for _, mt := range mts {
+					key := fmt.Sprintf("%s,%s,%s", region, mt, usageType)
+					allPrices[key] = &Node{
+						Cost:         priceStr,
+						BaseCPUPrice: baseCPUPrice,
+					}
+				}
+
+			}
 		}
 	}
-
 	az.allPrices = allPrices
 	return nil
 }