From 00f78e2b7285e0ca134c7fe788a194aa6a05adb8 Mon Sep 17 00:00:00 2001 From: tangbin Date: Thu, 20 Jun 2019 09:05:01 +0800 Subject: [PATCH 1/2] add init local sku data --- pkg/compute/models/skus.go | 76 ++++++++++++++++++++++++++++- pkg/scheduler/manager/task_queue.go | 4 +- 2 files changed, 77 insertions(+), 3 deletions(-) diff --git a/pkg/compute/models/skus.go b/pkg/compute/models/skus.go index 1dc6ca40ab..ea65669f38 100644 --- a/pkg/compute/models/skus.go +++ b/pkg/compute/models/skus.go @@ -1172,8 +1172,82 @@ func (manager *SServerSkuManager) FetchAllAvailableSkuIdByZoneId(zoneId string) } func (manager *SServerSkuManager) InitializeData() error { + count, err := manager.Query().IsNullOrEmpty("zone_id").CountWithError() + if err == nil { + if count == 0 { + type Item struct { + CPU int + MemMB int + } + + items := []Item{ + {1, 1 * 1024}, + {1, 2 * 1024}, + {1, 4 * 1024}, + {1, 8 * 1024}, + {2, 2 * 1024}, + {2, 4 * 1024}, + {2, 8 * 1024}, + {2, 12 * 1024}, + {2, 16 * 1024}, + {4, 4 * 1024}, + {4, 8 * 1024}, + {4, 12 * 1024}, + {4, 16 * 1024}, + {4, 24 * 1024}, + {4, 32 * 1024}, + {8, 8 * 1024}, + {8, 12 * 1024}, + {8, 16 * 1024}, + {8, 24 * 1024}, + {8, 32 * 1024}, + {8, 64 * 1024}, + {12, 12 * 1024}, + {12, 16 * 1024}, + {12, 24 * 1024}, + {12, 32 * 1024}, + {12, 64 * 1024}, + {16, 16 * 1024}, + {16, 24 * 1024}, + {16, 32 * 1024}, + {16, 48 * 1024}, + {16, 64 * 1024}, + {24, 24 * 1024}, + {24, 32 * 1024}, + {24, 48 * 1024}, + {24, 64 * 1024}, + {24, 128 * 1024}, + {32, 32 * 1024}, + {32, 48 * 1024}, + {32, 64 * 1024}, + {32, 128 * 1024}, + } + + for i := range items { + item := items[i] + sku := &SServerSku{} + sku.CloudregionId = api.DEFAULT_REGION_ID + sku.CpuCoreCount = item.CPU + sku.MemorySizeMB = item.MemMB + sku.InstanceTypeCategory = api.SkuCategoryGeneralPurpose + sku.LocalCategory = api.SkuCategoryGeneralPurpose + sku.InstanceTypeFamily = api.InstanceFamilies[api.SkuCategoryGeneralPurpose] + name, _ := genInstanceType(sku.InstanceTypeFamily, int64(item.CPU), int64(item.MemMB)) + sku.Name = name + sku.PrepaidStatus = api.SkuStatusAvailable + sku.PostpaidStatus = api.SkuStatusAvailable + err := manager.TableSpec().Insert(sku) + if err != nil { + log.Errorf("ServerSkuManager Initialize local sku %s", err) + } + } + } + } else { + log.Errorf("ServerSkuManager InitializeData %s", err) + } + privateSkus := make([]SServerSku, 0) - err := manager.Query().IsNullOrEmpty("local_category").IsNullOrEmpty("zone_id").All(&privateSkus) + err = manager.Query().IsNullOrEmpty("local_category").IsNullOrEmpty("zone_id").All(&privateSkus) if err != nil { return err } diff --git a/pkg/scheduler/manager/task_queue.go b/pkg/scheduler/manager/task_queue.go index df21b6848c..96f632c65f 100644 --- a/pkg/scheduler/manager/task_queue.go +++ b/pkg/scheduler/manager/task_queue.go @@ -215,8 +215,8 @@ type TaskManager struct { func NewTaskManager(stopCh <-chan struct{}) *TaskManager { return &TaskManager{ taskExecutorQueueManager: NewTaskExecutorQueueManager(stopCh), - stopCh: stopCh, - lock: sync.Mutex{}, + stopCh: stopCh, + lock: sync.Mutex{}, } } From d448079557e482e0e687f8fc6878cfbc4154e219 Mon Sep 17 00:00:00 2001 From: TangBin Date: Thu, 20 Jun 2019 11:32:43 +0800 Subject: [PATCH 2/2] init skus data filter by region --- pkg/compute/models/skus.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkg/compute/models/skus.go b/pkg/compute/models/skus.go index ea65669f38..f14d3b8565 100644 --- a/pkg/compute/models/skus.go +++ b/pkg/compute/models/skus.go @@ -1172,7 +1172,7 @@ func (manager *SServerSkuManager) FetchAllAvailableSkuIdByZoneId(zoneId string) } func (manager *SServerSkuManager) InitializeData() error { - count, err := manager.Query().IsNullOrEmpty("zone_id").CountWithError() + count, err := manager.Query().Equals("cloudregion_id", api.DEFAULT_REGION_ID).IsNullOrEmpty("zone_id").CountWithError() if err == nil { if count == 0 { type Item struct { @@ -1229,6 +1229,7 @@ func (manager *SServerSkuManager) InitializeData() error { sku.CloudregionId = api.DEFAULT_REGION_ID sku.CpuCoreCount = item.CPU sku.MemorySizeMB = item.MemMB + sku.IsEmulated = false sku.InstanceTypeCategory = api.SkuCategoryGeneralPurpose sku.LocalCategory = api.SkuCategoryGeneralPurpose sku.InstanceTypeFamily = api.InstanceFamilies[api.SkuCategoryGeneralPurpose]