skus query fix

This commit is contained in:
TangBin
2019-03-20 16:28:51 +08:00
parent 648875e7b7
commit bd9c8ca780
+15 -2
View File
@@ -426,6 +426,16 @@ func intervalMem(n int) (int, int) {
return interval(n, 1024)
}
func normalizeProvider(provider string) string {
for _, p := range CLOUD_PROVIDERS {
if strings.ToLower(p) == strings.ToLower(provider) {
return p
}
}
return provider
}
func providerFilter(q *sqlchemy.SQuery, provider string, public_cloud bool) *sqlchemy.SQuery {
if provider == "all" {
// provider 参数为all时。表示查询所有instance type.
@@ -509,7 +519,10 @@ func (self *SServerSkuManager) GetPropertyInstanceSpecs(ctx context.Context, use
if _, exists := cpu_mems_mb[k]; !exists {
cpu_mems_mb[k] = []int{nm}
} else {
cpu_mems_mb[k] = append(cpu_mems_mb[k], nm)
idx := len(cpu_mems_mb[k]) - 1
if cpu_mems_mb[k][idx] != nm {
cpu_mems_mb[k] = append(cpu_mems_mb[k], nm)
}
}
}
@@ -653,7 +666,7 @@ func (self *SServerSku) GetZoneExternalId() (string, error) {
}
func (manager *SServerSkuManager) ListItemFilter(ctx context.Context, q *sqlchemy.SQuery, userCred mcclient.TokenCredential, query jsonutils.JSONObject) (*sqlchemy.SQuery, error) {
provider := jsonutils.GetAnyString(query, []string{"provider"})
provider := normalizeProvider(jsonutils.GetAnyString(query, []string{"provider"}))
public_cloud, _ := query.Bool("public_cloud")
queryDict := query.(*jsonutils.JSONDict)
// 手动处理provider查询