diff --git a/apis/apps/v1/types.go b/apis/apps/v1/types.go index 8bf470af44e..a997da70367 100644 --- a/apis/apps/v1/types.go +++ b/apis/apps/v1/types.go @@ -778,6 +778,8 @@ type InstanceTemplate struct { // then the instance names generated under this InstanceTemplate would be // $(cluster.name)-$(component.name)-$(template.name)-0、$(cluster.name)-$(component.name)-$(template.name)-1 and // $(cluster.name)-$(component.name)-$(template.name)-7 + // + // +optional Ordinals Ordinals `json:"ordinals,omitempty"` // Specifies a map of key-value pairs to be merged into the Pod's existing annotations. diff --git a/apis/operations/v1alpha1/opsrequest_validation.go b/apis/operations/v1alpha1/opsrequest_validation.go index 2a48b0a302c..ce051bebea5 100644 --- a/apis/operations/v1alpha1/opsrequest_validation.go +++ b/apis/operations/v1alpha1/opsrequest_validation.go @@ -747,7 +747,7 @@ func (r *OpsRequest) getSCNameByPvcAndCheckStorageSize(ctx context.Context, } var pvc *corev1.PersistentVolumeClaim for _, pvcItem := range pvcList.Items { - if targetInsTPLName == pvcItem.Labels[constant.KBAppComponentInstanceTemplateLabelKey] { + if targetInsTPLName == pvcItem.Labels[constant.KBAppInstanceTemplateLabelKey] { pvc = &pvcItem break } diff --git a/apis/workloads/v1/instanceset_types.go b/apis/workloads/v1/instanceset_types.go index a34ea6bf916..86c3db769ad 100644 --- a/apis/workloads/v1/instanceset_types.go +++ b/apis/workloads/v1/instanceset_types.go @@ -38,9 +38,9 @@ const ( // +kubebuilder:subresource:scale:specpath=.spec.replicas,statuspath=.status.replicas // +kubebuilder:storageversion // +kubebuilder:resource:categories={kubeblocks},shortName=its -// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.readyReplicas",description="ready replicas." // +kubebuilder:printcolumn:name="DESIRED",type="string",JSONPath=".spec.replicas",description="desired replicas." // +kubebuilder:printcolumn:name="UP-TO-DATE",type="string",JSONPath=".status.updatedReplicas",description="updated replicas." +// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.readyReplicas",description="ready replicas." // +kubebuilder:printcolumn:name="AVAILABLE",type="string",JSONPath=".status.availableReplicas",description="available replicas, which are ready for at least minReadySeconds." // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" @@ -266,11 +266,14 @@ type InstanceSetStatus struct { Replicas int32 `json:"replicas"` // Ordinals is the ordinals used by the instances of the InstanceSet except the template instances. + // // +optional Ordinals []int32 `json:"ordinals,omitempty"` // readyReplicas is the number of instances created for this InstanceSet with a Ready Condition. - ReadyReplicas int32 `json:"readyReplicas,omitempty"` + // + // +optional + ReadyReplicas int32 `json:"readyReplicas"` // currentReplicas is the number of instances created by the InstanceSet controller from the InstanceSet version // indicated by CurrentRevisions. diff --git a/config/crd/bases/workloads.kubeblocks.io_instancesets.yaml b/config/crd/bases/workloads.kubeblocks.io_instancesets.yaml index fc216e70927..6a8c4e51335 100644 --- a/config/crd/bases/workloads.kubeblocks.io_instancesets.yaml +++ b/config/crd/bases/workloads.kubeblocks.io_instancesets.yaml @@ -20,10 +20,6 @@ spec: scope: Namespaced versions: - additionalPrinterColumns: - - description: ready replicas. - jsonPath: .status.readyReplicas - name: READY - type: string - description: desired replicas. jsonPath: .spec.replicas name: DESIRED @@ -32,6 +28,10 @@ spec: jsonPath: .status.updatedReplicas name: UP-TO-DATE type: string + - description: ready replicas. + jsonPath: .status.readyReplicas + name: READY + type: string - description: available replicas, which are ready for at least minReadySeconds. jsonPath: .status.availableReplicas name: AVAILABLE diff --git a/controllers/apps/cluster/transformer_cluster_component.go b/controllers/apps/cluster/transformer_cluster_component.go index a40cffc7d1b..16f1855f87d 100644 --- a/controllers/apps/cluster/transformer_cluster_component.go +++ b/controllers/apps/cluster/transformer_cluster_component.go @@ -277,6 +277,7 @@ func copyAndMergeComponent(oldCompObj, newCompObj *appsv1.Component) *appsv1.Com compObjCopy.Spec.SchedulingPolicy = compProto.Spec.SchedulingPolicy compObjCopy.Spec.TLSConfig = compProto.Spec.TLSConfig compObjCopy.Spec.Instances = compProto.Spec.Instances + compObjCopy.Spec.FlatInstanceOrdinal = compProto.Spec.FlatInstanceOrdinal compObjCopy.Spec.OfflineInstances = compProto.Spec.OfflineInstances compObjCopy.Spec.RuntimeClassName = compProto.Spec.RuntimeClassName compObjCopy.Spec.DisableExporter = compProto.Spec.DisableExporter diff --git a/controllers/apps/component/transformer_component_workload.go b/controllers/apps/component/transformer_component_workload.go index 3b0185ae2ad..54232a98286 100644 --- a/controllers/apps/component/transformer_component_workload.go +++ b/controllers/apps/component/transformer_component_workload.go @@ -349,6 +349,7 @@ func copyAndMergeITS(oldITS, newITS *workloads.InstanceSet) *workloads.InstanceS itsObjCopy.Spec.MembershipReconfiguration = itsProto.Spec.MembershipReconfiguration itsObjCopy.Spec.TemplateVars = itsProto.Spec.TemplateVars itsObjCopy.Spec.Instances = itsProto.Spec.Instances + itsObjCopy.Spec.FlatInstanceOrdinal = itsProto.Spec.FlatInstanceOrdinal itsObjCopy.Spec.OfflineInstances = itsProto.Spec.OfflineInstances itsObjCopy.Spec.MinReadySeconds = itsProto.Spec.MinReadySeconds itsObjCopy.Spec.VolumeClaimTemplates = itsProto.Spec.VolumeClaimTemplates diff --git a/controllers/apps/shardingdefinition_controller.go b/controllers/apps/shardingdefinition_controller.go index 440efffdc3d..35c710dc6f9 100644 --- a/controllers/apps/shardingdefinition_controller.go +++ b/controllers/apps/shardingdefinition_controller.go @@ -85,7 +85,6 @@ func (r *ShardingDefinitionReconciler) Reconcile(ctx context.Context, req ctrl.R } if err := r.validate(r.Client, reqCtx, shardingDef); err != nil { - fmt.Printf("error: %v\n", err) if err1 := r.unavailable(reqCtx, shardingDef, err); err1 != nil { return intctrlutil.CheckedRequeueWithError(err1, reqCtx.Log, "") } diff --git a/deploy/helm/crds/workloads.kubeblocks.io_instancesets.yaml b/deploy/helm/crds/workloads.kubeblocks.io_instancesets.yaml index fc216e70927..6a8c4e51335 100644 --- a/deploy/helm/crds/workloads.kubeblocks.io_instancesets.yaml +++ b/deploy/helm/crds/workloads.kubeblocks.io_instancesets.yaml @@ -20,10 +20,6 @@ spec: scope: Namespaced versions: - additionalPrinterColumns: - - description: ready replicas. - jsonPath: .status.readyReplicas - name: READY - type: string - description: desired replicas. jsonPath: .spec.replicas name: DESIRED @@ -32,6 +28,10 @@ spec: jsonPath: .status.updatedReplicas name: UP-TO-DATE type: string + - description: ready replicas. + jsonPath: .status.readyReplicas + name: READY + type: string - description: available replicas, which are ready for at least minReadySeconds. jsonPath: .status.availableReplicas name: AVAILABLE diff --git a/docs/developer_docs/api-reference/cluster.md b/docs/developer_docs/api-reference/cluster.md index c544192ec2e..590eb92af4b 100644 --- a/docs/developer_docs/api-reference/cluster.md +++ b/docs/developer_docs/api-reference/cluster.md @@ -7964,6 +7964,7 @@ Ordinals
Specifies the desired Ordinals of this InstanceTemplate. The Ordinals used to specify the ordinal of the instance (pod) names to be generated under this InstanceTemplate. If Ordinals are defined, their number must be equal to or more than the corresponding replicas.
@@ -30538,6 +30539,7 @@ int32readyReplicas is the number of instances created for this InstanceSet with a Ready Condition.