From 8fa5868f04bc41e0608ec1507b9973739ef77473 Mon Sep 17 00:00:00 2001 From: liyang Date: Mon, 24 Jul 2023 14:34:36 +0800 Subject: [PATCH] refactor: greptimedbcluster replicas default value (#111) --- apis/v1alpha1/defaulting.go | 3 +++ apis/v1alpha1/defaulting_test.go | 9 +++------ apis/v1alpha1/greptimedbcluster_types.go | 4 ++-- config/crd/bases/greptime.io_greptimedbclusters.yaml | 12 +++--------- manifests/greptimedb-operator-crd.yaml | 12 +++--------- manifests/greptimedb-operator-deployment.yaml | 12 +++--------- 6 files changed, 17 insertions(+), 35 deletions(-) diff --git a/apis/v1alpha1/defaulting.go b/apis/v1alpha1/defaulting.go index 01114b39..da6827d3 100644 --- a/apis/v1alpha1/defaulting.go +++ b/apis/v1alpha1/defaulting.go @@ -98,6 +98,7 @@ func (in *GreptimeDBCluster) SetDefaults() error { if in.Spec.Frontend != nil { defaultGreptimeDBClusterSpec.Frontend = &FrontendSpec{ ComponentSpec: ComponentSpec{ + Replicas: 1, Template: &PodTemplateSpec{}, }, Service: ServiceSpec{ @@ -109,6 +110,7 @@ func (in *GreptimeDBCluster) SetDefaults() error { if in.Spec.Meta != nil { defaultGreptimeDBClusterSpec.Meta = &MetaSpec{ ComponentSpec: ComponentSpec{ + Replicas: 1, Template: &PodTemplateSpec{}, }, ServicePort: int32(defaultMetaServicePort), @@ -118,6 +120,7 @@ func (in *GreptimeDBCluster) SetDefaults() error { if in.Spec.Datanode != nil { defaultGreptimeDBClusterSpec.Datanode = &DatanodeSpec{ ComponentSpec: ComponentSpec{ + Replicas: 3, Template: &PodTemplateSpec{}, }, Storage: StorageSpec{ diff --git a/apis/v1alpha1/defaulting_test.go b/apis/v1alpha1/defaulting_test.go index 862d1a84..0d5eb089 100644 --- a/apis/v1alpha1/defaulting_test.go +++ b/apis/v1alpha1/defaulting_test.go @@ -206,7 +206,6 @@ func TestSetDefaults(t *testing.T) { }, Frontend: &FrontendSpec{ ComponentSpec: ComponentSpec{ - Replicas: 3, Template: &PodTemplateSpec{ MainContainer: &MainContainerSpec{ Image: "greptime/frontend:latest", @@ -220,7 +219,6 @@ func TestSetDefaults(t *testing.T) { }, Meta: &MetaSpec{ ComponentSpec: ComponentSpec{ - Replicas: 3, Template: &PodTemplateSpec{ MainContainer: &MainContainerSpec{ Image: "greptime/meta:latest", @@ -237,7 +235,6 @@ func TestSetDefaults(t *testing.T) { }, Datanode: &DatanodeSpec{ ComponentSpec: ComponentSpec{ - Replicas: 1, Template: &PodTemplateSpec{ MainContainer: &MainContainerSpec{ Image: "greptime/greptimedb:latest", @@ -275,7 +272,7 @@ func TestSetDefaults(t *testing.T) { }, Frontend: &FrontendSpec{ ComponentSpec: ComponentSpec{ - Replicas: 3, + Replicas: 1, Template: &PodTemplateSpec{ MainContainer: &MainContainerSpec{ Image: "greptime/frontend:latest", @@ -310,7 +307,7 @@ func TestSetDefaults(t *testing.T) { }, Meta: &MetaSpec{ ComponentSpec: ComponentSpec{ - Replicas: 3, + Replicas: 1, Template: &PodTemplateSpec{ MainContainer: &MainContainerSpec{ Image: "greptime/meta:latest", @@ -346,7 +343,7 @@ func TestSetDefaults(t *testing.T) { }, Datanode: &DatanodeSpec{ ComponentSpec: ComponentSpec{ - Replicas: 1, + Replicas: 3, Template: &PodTemplateSpec{ MainContainer: &MainContainerSpec{ Image: "greptime/greptimedb:latest", diff --git a/apis/v1alpha1/greptimedbcluster_types.go b/apis/v1alpha1/greptimedbcluster_types.go index d13b27fa..0b1a8040 100644 --- a/apis/v1alpha1/greptimedbcluster_types.go +++ b/apis/v1alpha1/greptimedbcluster_types.go @@ -274,8 +274,8 @@ type PodTemplateSpec struct { // ComponentSpec is the common specification for all components(frontend/meta/datanode). type ComponentSpec struct { // The number of replicas of the components. - // +required - // +kubebuilder:validation:Minimum=1 + // +kubebuilder:validation:Minimum=0 + // +optional Replicas int32 `json:"replicas"` // The content of the configuration file of the component in TOML format. diff --git a/config/crd/bases/greptime.io_greptimedbclusters.yaml b/config/crd/bases/greptime.io_greptimedbclusters.yaml index 9c257c82..06fc47b5 100644 --- a/config/crd/bases/greptime.io_greptimedbclusters.yaml +++ b/config/crd/bases/greptime.io_greptimedbclusters.yaml @@ -2691,7 +2691,7 @@ spec: type: string replicas: format: int32 - minimum: 1 + minimum: 0 type: integer storage: properties: @@ -5348,8 +5348,6 @@ spec: type: object type: array type: object - required: - - replicas type: object enableInfluxDBProtocol: type: boolean @@ -5359,7 +5357,7 @@ spec: type: string replicas: format: int32 - minimum: 1 + minimum: 0 type: integer service: properties: @@ -8018,8 +8016,6 @@ spec: secretName: type: string type: object - required: - - replicas type: object grpcServicePort: format: int32 @@ -8044,7 +8040,7 @@ spec: type: array replicas: format: int32 - minimum: 1 + minimum: 0 type: integer servicePort: format: int32 @@ -10686,8 +10682,6 @@ spec: type: object type: array type: object - required: - - replicas type: object mysqlServicePort: format: int32 diff --git a/manifests/greptimedb-operator-crd.yaml b/manifests/greptimedb-operator-crd.yaml index cdab280a..6e4ab36c 100644 --- a/manifests/greptimedb-operator-crd.yaml +++ b/manifests/greptimedb-operator-crd.yaml @@ -2690,7 +2690,7 @@ spec: type: string replicas: format: int32 - minimum: 1 + minimum: 0 type: integer storage: properties: @@ -5347,8 +5347,6 @@ spec: type: object type: array type: object - required: - - replicas type: object enableInfluxDBProtocol: type: boolean @@ -5358,7 +5356,7 @@ spec: type: string replicas: format: int32 - minimum: 1 + minimum: 0 type: integer service: properties: @@ -8017,8 +8015,6 @@ spec: secretName: type: string type: object - required: - - replicas type: object grpcServicePort: format: int32 @@ -8043,7 +8039,7 @@ spec: type: array replicas: format: int32 - minimum: 1 + minimum: 0 type: integer servicePort: format: int32 @@ -10685,8 +10681,6 @@ spec: type: object type: array type: object - required: - - replicas type: object mysqlServicePort: format: int32 diff --git a/manifests/greptimedb-operator-deployment.yaml b/manifests/greptimedb-operator-deployment.yaml index 091931d9..08a7db22 100644 --- a/manifests/greptimedb-operator-deployment.yaml +++ b/manifests/greptimedb-operator-deployment.yaml @@ -2697,7 +2697,7 @@ spec: type: string replicas: format: int32 - minimum: 1 + minimum: 0 type: integer storage: properties: @@ -5354,8 +5354,6 @@ spec: type: object type: array type: object - required: - - replicas type: object enableInfluxDBProtocol: type: boolean @@ -5365,7 +5363,7 @@ spec: type: string replicas: format: int32 - minimum: 1 + minimum: 0 type: integer service: properties: @@ -8024,8 +8022,6 @@ spec: secretName: type: string type: object - required: - - replicas type: object grpcServicePort: format: int32 @@ -8050,7 +8046,7 @@ spec: type: array replicas: format: int32 - minimum: 1 + minimum: 0 type: integer servicePort: format: int32 @@ -10692,8 +10688,6 @@ spec: type: object type: array type: object - required: - - replicas type: object mysqlServicePort: format: int32