@@ -127,6 +127,7 @@ func (r *PerconaServerMySQLReconciler) Reconcile(
127
127
}
128
128
129
129
if cr .ObjectMeta .DeletionTimestamp != nil {
130
+ log .Info ("CR marked for deletion, applying finalizers" , "name" , cr .Name )
130
131
if err := r .applyFinalizers (ctx , cr ); err != nil {
131
132
return ctrl.Result {}, errors .Wrap (err , "apply finalizers" )
132
133
}
@@ -231,17 +232,18 @@ func (r *PerconaServerMySQLReconciler) deleteMySQLPods(ctx context.Context, cr *
231
232
return errors .Wrap (err , "get cluster status" )
232
233
}
233
234
234
- log .Info ("Got primary" , "primary" , clusterStatus .DefaultReplicaSet .Primary )
235
+ log .Info ("Cluster primary detected " , "primary" , clusterStatus .DefaultReplicaSet .Primary )
235
236
236
237
if ! strings .HasPrefix (clusterStatus .DefaultReplicaSet .Primary , mysql .PodFQDN (cr , & firstPod )) {
237
238
log .Info ("Primary is not pod-0" , "primary" , clusterStatus .DefaultReplicaSet .Primary )
238
239
239
240
log .Info ("Ensuring pod-0 is the primary" )
240
- err := mysh .SetPrimaryInstanceWithExec (ctx , cr .InnoDBClusterName (), mysql .PodFQDN (cr , & firstPod ))
241
+ podFQDN := mysql .PodFQDN (cr , & firstPod )
242
+ err := mysh .SetPrimaryInstanceWithExec (ctx , cr .InnoDBClusterName (), podFQDN )
241
243
if err != nil {
242
244
return errors .Wrap (err , "set primary instance" )
243
245
}
244
-
246
+ log . Info ( "Setting primary instance" , "pod" , podFQDN )
245
247
return psrestore .ErrWaitingTermination
246
248
}
247
249
@@ -284,15 +286,16 @@ func (r *PerconaServerMySQLReconciler) deleteMySQLPods(ctx context.Context, cr *
284
286
}
285
287
286
288
if sts .Spec .Replicas == nil || * sts .Spec .Replicas != 1 {
289
+ log .Info ("Downscaling StatefulSet to 1 replica" , "sts" , sts .Name )
287
290
dscaleTo := int32 (1 )
288
291
sts .Spec .Replicas = & dscaleTo
289
292
err = r .Client .Update (ctx , sts )
290
293
if err != nil {
291
294
return errors .Wrap (err , "downscale StatefulSet" )
292
295
}
293
- log .Info ("Statefulset downscaled" , "sts" , sts )
296
+ log .Info ("StatefulSet downscaled" , "sts" , sts . Name )
294
297
}
295
-
298
+ log . Info ( "MySQL pod deletion finished. Waiting for termination" )
296
299
return psrestore .ErrWaitingTermination
297
300
}
298
301
@@ -317,6 +320,7 @@ func (r *PerconaServerMySQLReconciler) deleteCerts(ctx context.Context, cr *apiv
317
320
if err != nil {
318
321
return errors .Wrapf (err , "delete issuer %s" , issuerName )
319
322
}
323
+ log .Info ("Issuer deleted" , "name" , issuerName )
320
324
}
321
325
322
326
certs := []string {
@@ -338,6 +342,7 @@ func (r *PerconaServerMySQLReconciler) deleteCerts(ctx context.Context, cr *apiv
338
342
if err != nil {
339
343
return errors .Wrapf (err , "delete certificate %s" , certName )
340
344
}
345
+ log .Info ("Certificate deleted" , "name" , certName )
341
346
}
342
347
343
348
secretNames := []string {
@@ -359,15 +364,15 @@ func (r *PerconaServerMySQLReconciler) deleteCerts(ctx context.Context, cr *apiv
359
364
if err != nil {
360
365
return errors .Wrapf (err , "delete secret %s" , secretName )
361
366
}
367
+ log .Info ("Secret deleted" , "name" , secretName )
362
368
}
363
-
369
+ log . V ( 1 ). Info ( "Finished deletion of SSL-related resources" )
364
370
return nil
365
371
}
366
372
367
373
func (r * PerconaServerMySQLReconciler ) deleteMySQLPvc (ctx context.Context , cr * apiv1alpha1.PerconaServerMySQL ) error {
368
374
log := logf .FromContext (ctx )
369
-
370
- log .Info (fmt .Sprintf ("Applying %s finalizer" , naming .FinalizerDeleteMySQLPvc ))
375
+ log .Info ("Starting PVC and secret deletion for MySQL cluster" , "cluster" , cr .Name , "finilizer" , naming .FinalizerDeleteMySQLPvc )
371
376
372
377
exposer := mysql .Exposer (* cr )
373
378
@@ -560,6 +565,7 @@ func (r *PerconaServerMySQLReconciler) reconcileDatabase(ctx context.Context, cr
560
565
}
561
566
562
567
if cr .Spec .UpdateStrategy == apiv1alpha1 .SmartUpdateStatefulSetStrategyType {
568
+ log .Info ("Performing smart update for StatefulSet" )
563
569
return r .smartUpdate (ctx , sts , cr )
564
570
}
565
571
@@ -671,10 +677,12 @@ func (r *PerconaServerMySQLReconciler) reconcileMySQLAutoConfig(ctx context.Cont
671
677
672
678
// for single-node clusters, we need to set read_only=0 if orchestrator is disabled
673
679
if setWriteMode {
680
+ log .Info ("Single-node write mode detected, setting read_only=0" )
674
681
config = "\n super_read_only=0\n read_only=0"
675
682
}
676
683
677
684
if memory != nil {
685
+ log .V (1 ).Info ("Generating auto-tune config based on memory" , "memory" , memory .String ())
678
686
autotuneParams , err := mysql .GetAutoTuneParams (cr , memory )
679
687
if err != nil {
680
688
return err
@@ -800,6 +808,7 @@ func (r *PerconaServerMySQLReconciler) reconcileOrchestrator(ctx context.Context
800
808
}
801
809
802
810
func (r * PerconaServerMySQLReconciler ) reconcileOrchestratorServices (ctx context.Context , cr * apiv1alpha1.PerconaServerMySQL ) error {
811
+ log := logf .FromContext (ctx )
803
812
if err := k8s .EnsureService (ctx , r .Client , cr , orchestrator .Service (cr ), r .Scheme , true ); err != nil {
804
813
return errors .Wrap (err , "reconcile Service" )
805
814
}
@@ -808,7 +817,7 @@ func (r *PerconaServerMySQLReconciler) reconcileOrchestratorServices(ctx context
808
817
if err := r .reconcileServicePerPod (ctx , cr , & exposer ); err != nil {
809
818
return errors .Wrap (err , "reconcile service per pod" )
810
819
}
811
-
820
+ log . Info ( "Finished reconciling orchestrator services" )
812
821
return nil
813
822
}
814
823
@@ -945,7 +954,7 @@ func (r *PerconaServerMySQLReconciler) reconcileReplication(ctx context.Context,
945
954
return errors .Wrap (err , "get cluster primary" )
946
955
}
947
956
if primary .Alias == "" {
948
- log .Info ("mysql is not ready, orchestrator cluster primary alias is empty. skip" )
957
+ log .Info ("Mysql is not ready, orchestrator cluster primary alias is empty. skip" )
949
958
return nil
950
959
}
951
960
@@ -963,6 +972,7 @@ func (r *PerconaServerMySQLReconciler) reconcileReplication(ctx context.Context,
963
972
964
973
// In the case of a cluster downscale, we need to forget replicas that are not part of the cluster
965
974
if len (clusterInstances ) > int (cr .MySQLSpec ().Size ) {
975
+ log .Info ("Detected possible downscale, checking for replicas to forget" )
966
976
mysqlPods , err := k8s .PodsByLabels (ctx , r .Client , mysql .MatchLabels (cr ), cr .Namespace )
967
977
if err != nil {
968
978
return errors .Wrap (err , "get mysql pods" )
@@ -1008,7 +1018,7 @@ func (r *PerconaServerMySQLReconciler) reconcileBootstrapStatus(ctx context.Cont
1008
1018
log := logf .FromContext (ctx )
1009
1019
1010
1020
if cr .Status .MySQL .Ready == 0 || cr .Status .MySQL .Ready != cr .Spec .MySQL .Size {
1011
- log .V (1 ).Info ("Waiting for MySQL pods to be ready" )
1021
+ log .V (1 ).Info ("Waiting for all MySQL pods to be ready" , "ready" , cr . Status . MySQL . Ready , "expected" , cr . Spec . MySQL . Size )
1012
1022
return nil
1013
1023
}
1014
1024
@@ -1380,6 +1390,7 @@ func (r *PerconaServerMySQLReconciler) cleanupOutdated(ctx context.Context, cr *
1380
1390
}
1381
1391
1382
1392
func (r * PerconaServerMySQLReconciler ) getPrimaryFromOrchestrator (ctx context.Context , cr * apiv1alpha1.PerconaServerMySQL ) (* orchestrator.Instance , error ) {
1393
+ log := logf .FromContext (ctx )
1383
1394
pod , err := getReadyOrcPod (ctx , r .Client , cr )
1384
1395
if err != nil {
1385
1396
return nil , err
@@ -1391,6 +1402,7 @@ func (r *PerconaServerMySQLReconciler) getPrimaryFromOrchestrator(ctx context.Co
1391
1402
1392
1403
if primary .Key .Hostname == "" {
1393
1404
primary .Key .Hostname = fmt .Sprintf ("%s.%s.%s" , primary .Alias , mysql .ServiceName (cr ), cr .Namespace )
1405
+ log .V (1 ).Info ("Primary hostname was empty, constructed FQDN" , "hostname" , primary .Key .Hostname )
1394
1406
}
1395
1407
1396
1408
return primary , nil
0 commit comments