mirror of
https://github.com/mariadb-operator/mariadb-operator.git
synced 2025-08-19 16:24:15 +00:00
Refactor suspend
This commit is contained in:
@ -114,15 +114,6 @@ func (r *MariaDBReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ct
|
||||
if err := r.Get(ctx, req.NamespacedName, &mariadb); err != nil {
|
||||
return ctrl.Result{}, client.IgnoreNotFound(err)
|
||||
}
|
||||
|
||||
if mariadb.IsSuspended() {
|
||||
log.FromContext(ctx).V(1).Info("MariaDB is suspended. Skipping...")
|
||||
return ctrl.Result{}, r.patchStatus(ctx, &mariadb, func(status *mariadbv1alpha1.MariaDBStatus) error {
|
||||
condition.SetReadyWithMariaDB(&mariadb.Status, nil, &mariadb)
|
||||
return nil
|
||||
})
|
||||
}
|
||||
|
||||
phases := []reconcilePhaseMariaDB{
|
||||
{
|
||||
Name: "Spec",
|
||||
@ -132,6 +123,10 @@ func (r *MariaDBReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ct
|
||||
Name: "Status",
|
||||
Reconcile: r.reconcileStatus,
|
||||
},
|
||||
{
|
||||
Name: "Suspend",
|
||||
Reconcile: r.reconcileSuspend,
|
||||
},
|
||||
{
|
||||
Name: "Secret",
|
||||
Reconcile: r.reconcileSecret,
|
||||
@ -788,6 +783,14 @@ func (r *MariaDBReconciler) setSpecDefaults(ctx context.Context, mariadb *mariad
|
||||
})
|
||||
}
|
||||
|
||||
func (r *MariaDBReconciler) reconcileSuspend(ctx context.Context, mariadb *mariadbv1alpha1.MariaDB) (ctrl.Result, error) {
|
||||
if mariadb.IsSuspended() {
|
||||
log.FromContext(ctx).V(1).Info("MariaDB is suspended. Skipping...")
|
||||
return ctrl.Result{RequeueAfter: 10 * time.Second}, nil
|
||||
}
|
||||
return ctrl.Result{}, nil
|
||||
}
|
||||
|
||||
func (r *MariaDBReconciler) reconcileConnection(ctx context.Context, mariadb *mariadbv1alpha1.MariaDB) (ctrl.Result, error) {
|
||||
if !mariadb.IsInitialDataEnabled() {
|
||||
return ctrl.Result{}, nil
|
||||
|
@ -49,6 +49,10 @@ func (r *MariaDBReconciler) reconcileStatus(ctx context.Context, mdb *mariadbv1a
|
||||
}
|
||||
|
||||
return ctrl.Result{}, r.patchStatus(ctx, mdb, func(status *mariadbv1alpha1.MariaDBStatus) error {
|
||||
if mdb.IsSuspended() {
|
||||
condition.SetReadySuspended(status)
|
||||
return nil
|
||||
}
|
||||
status.Replicas = sts.Status.ReadyReplicas
|
||||
defaultPrimary(mdb)
|
||||
setMaxScalePrimary(mdb, mxsPrimaryPodIndex)
|
||||
|
@ -73,17 +73,6 @@ func SetReadyWithStatefulSet(c Conditioner, sts *appsv1.StatefulSet) {
|
||||
}
|
||||
|
||||
func SetReadyWithMariaDB(c Conditioner, sts *appsv1.StatefulSet, mdb *mariadbv1alpha1.MariaDB) {
|
||||
|
||||
if mdb.IsSuspended() {
|
||||
c.SetCondition(metav1.Condition{
|
||||
Type: mariadbv1alpha1.ConditionTypeReady,
|
||||
Status: metav1.ConditionFalse,
|
||||
Reason: mariadbv1alpha1.ConditionReasonSuspended,
|
||||
Message: "Suspended",
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
if mdb.IsUpdating() {
|
||||
c.SetCondition(metav1.Condition{
|
||||
Type: mariadbv1alpha1.ConditionTypeReady,
|
||||
@ -209,3 +198,12 @@ func SetReadyStorageResized(c Conditioner) {
|
||||
Message: "Storage resized",
|
||||
})
|
||||
}
|
||||
|
||||
func SetReadySuspended(c Conditioner) {
|
||||
c.SetCondition(metav1.Condition{
|
||||
Type: mariadbv1alpha1.ConditionTypeReady,
|
||||
Status: metav1.ConditionFalse,
|
||||
Reason: mariadbv1alpha1.ConditionReasonSuspended,
|
||||
Message: "Suspended",
|
||||
})
|
||||
}
|
||||
|
Reference in New Issue
Block a user