From 9ca8553396c51f40f1613aef53139f9074e573fe Mon Sep 17 00:00:00 2001 From: ioito Date: Fri, 26 May 2023 15:05:41 +0800 Subject: [PATCH] fix(region): node pool instance min count --- pkg/compute/models/kube_node_pools.go | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/pkg/compute/models/kube_node_pools.go b/pkg/compute/models/kube_node_pools.go index 0a1e0132d0..c185eb066d 100644 --- a/pkg/compute/models/kube_node_pools.go +++ b/pkg/compute/models/kube_node_pools.go @@ -63,9 +63,9 @@ type SKubeNodePool struct { NetworkIds *api.SKubeNetworkIds `list:"user" update:"user" create:"required"` InstanceTypes *api.SInstanceTypes `list:"user" update:"user" create:"required"` - MinInstanceCount int `nullable:"false" list:"user" create:"optional" default:"2"` + MinInstanceCount int `nullable:"false" list:"user" create:"optional" default:"0"` MaxInstanceCount int `nullable:"false" list:"user" create:"optional" default:"2"` - DesiredInstanceCount int `nullable:"false" list:"user" create:"optional" default:"2"` + DesiredInstanceCount int `nullable:"false" list:"user" create:"optional" default:"0"` RootDiskSizeGb int `nullable:"false" list:"user" create:"optional" default:"100"` @@ -333,6 +333,15 @@ func (manager *SKubeNodePoolManager) ValidateCreateData(ctx context.Context, use } } + if input.DesiredInstanceCount > 0 { + if input.MinInstanceCount > input.DesiredInstanceCount { + return nil, httperrors.NewOutOfRangeError("min_instance_count must less or equal to desired_instance_count") + } + if input.MaxInstanceCount < input.DesiredInstanceCount { + return nil, httperrors.NewOutOfRangeError("max_instance_count must greater than or equal to desired_instance_count") + } + } + region, err := cluster.GetRegion() if err != nil { return nil, err