Skip to content

Commit 6ff1063

Browse files
inelpandzicgithub-actions[bot]hors
authored
K8SPSMD-1015: Log backup operations (#1505)
* Enhance backup logging. * Update pkg/apis/psmdb/v1/psmdb_types.go Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Fix * Improve logs. --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Viacheslav Sarzhan <slava.sarzhan@percona.com>
1 parent 8536422 commit 6ff1063

File tree

6 files changed

+22
-4
lines changed

6 files changed

+22
-4
lines changed

pkg/apis/psmdb/v1/psmdb_types.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package v1
22

33
import (
4+
"context"
45
"fmt"
56
"os"
67
"strconv"
@@ -20,6 +21,7 @@ import (
2021
"k8s.io/apimachinery/pkg/util/sets"
2122
k8sversion "k8s.io/apimachinery/pkg/version"
2223
"sigs.k8s.io/controller-runtime/pkg/client/apiutil"
24+
logf "sigs.k8s.io/controller-runtime/pkg/log"
2325

2426
"github.com/percona/percona-backup-mongodb/pbm/compress"
2527
"github.com/percona/percona-backup-mongodb/pbm/defs"
@@ -968,7 +970,9 @@ func (cr *PerconaServerMongoDB) MongosNamespacedName() types.NamespacedName {
968970
return types.NamespacedName{Name: cr.Name + "-" + "mongos", Namespace: cr.Namespace}
969971
}
970972

971-
func (cr *PerconaServerMongoDB) CanBackup() error {
973+
func (cr *PerconaServerMongoDB) CanBackup(ctx context.Context) error {
974+
logf.FromContext(ctx).V(1).Info("checking if backup is allowed", "backup", cr.Name)
975+
972976
if cr.Spec.Unmanaged {
973977
return errors.Errorf("backups are not allowed on unmanaged clusters")
974978
}

pkg/controller/perconaservermongodbbackup/backup.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,9 @@ func (r *ReconcilePerconaServerMongoDBBackup) newBackup(ctx context.Context, clu
4343

4444
// Start requests backup on PBM
4545
func (b *Backup) Start(ctx context.Context, k8sclient client.Client, cluster *api.PerconaServerMongoDB, cr *api.PerconaServerMongoDBBackup) (api.PerconaServerMongoDBBackupStatus, error) {
46+
log := logf.FromContext(ctx)
47+
log.Info("Starting backup", "backup", cr.Name, "storage", cr.Spec.StorageName)
48+
4649
var status api.PerconaServerMongoDBBackupStatus
4750

4851
stg, ok := b.spec.Storages[cr.Spec.StorageName]
@@ -63,15 +66,17 @@ func (b *Backup) Start(ctx context.Context, k8sclient client.Client, cluster *ap
6366
compLevel = &l
6467
}
6568

66-
err = b.pbm.SendCmd(ctx, ctrl.Cmd{
69+
cmd := ctrl.Cmd{
6770
Cmd: ctrl.CmdBackup,
6871
Backup: &ctrl.BackupCmd{
6972
Name: name,
7073
Type: cr.Spec.Type,
7174
Compression: cr.Spec.Compression,
7275
CompressionLevel: compLevel,
7376
},
74-
})
77+
}
78+
log.Info("Sending backup command", "backupCmd", cmd)
79+
err = b.pbm.SendCmd(ctx, cmd)
7580
if err != nil {
7681
return status, err
7782
}

pkg/controller/perconaservermongodbbackup/perconaservermongodbbackup_controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,7 @@ func (r *ReconcilePerconaServerMongoDBBackup) reconcile(
211211
return status, errors.New("cluster not found")
212212
}
213213

214-
if err := cluster.CanBackup(); err != nil {
214+
if err := cluster.CanBackup(ctx); err != nil {
215215
return status, errors.Wrap(err, "failed to run backup")
216216
}
217217

pkg/controller/perconaservermongodbrestore/logical.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,9 @@ func reEnablePITR(ctx context.Context, pbm backup.PBM, backup psmdbv1.BackupSpec
160160
}
161161

162162
func runRestore(ctx context.Context, backup string, pbmc backup.PBM, pitr *psmdbv1.PITRestoreSpec) (string, error) {
163+
log := logf.FromContext(ctx)
164+
log.Info("Starting logical restore", "backup", backup)
165+
163166
e := pbmc.Logger().NewEvent(string(ctrl.CmdResync), "", "", primitive.Timestamp{})
164167
err := pbmc.ResyncStorage(ctx, e)
165168
if err != nil {
@@ -211,6 +214,7 @@ func runRestore(ctx context.Context, backup string, pbmc backup.PBM, pitr *psmdb
211214
}
212215
}
213216

217+
log.Info("Sending restore command", "restoreCmd", cmd.Restore)
214218
if err = pbmc.SendCmd(ctx, cmd); err != nil {
215219
return "", errors.Wrap(err, "send restore cmd")
216220
}

pkg/psmdb/backup/backup.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ func NewRestoreJob(cr *api.PerconaServerMongoDBRestore) Job {
4747
// in given cluster and namespace
4848
func HasActiveJobs(ctx context.Context, newPBMFunc NewPBMFunc, cl client.Client, cluster *api.PerconaServerMongoDB, current Job, allowLock ...LockHeaderPredicate) (bool, error) {
4949
l := log.FromContext(ctx)
50+
l.V(1).Info("Checking for active jobs", "currentJob", current)
5051

5152
bcps := &api.PerconaServerMongoDBBackupList{}
5253
err := cl.List(ctx,

pkg/psmdb/backup/pbm.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import (
1616
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1717
"k8s.io/apimachinery/pkg/types"
1818
client "sigs.k8s.io/controller-runtime/pkg/client"
19+
logf "sigs.k8s.io/controller-runtime/pkg/log"
1920

2021
"github.com/percona/percona-backup-mongodb/pbm/backup"
2122
"github.com/percona/percona-backup-mongodb/pbm/config"
@@ -320,6 +321,9 @@ func (b *pbmC) Conn() *mongo.Client {
320321
// SetConfig sets the pbm config with storage defined in the cluster CR
321322
// by given storageName
322323
func (b *pbmC) SetConfig(ctx context.Context, k8sclient client.Client, cluster *api.PerconaServerMongoDB, stg api.BackupStorageSpec) error {
324+
log := logf.FromContext(ctx)
325+
log.Info("Setting PBM config", "backup", cluster.Name)
326+
323327
conf, err := GetPBMConfig(ctx, k8sclient, cluster, stg)
324328
if err != nil {
325329
return errors.Wrap(err, "get PBM config")

0 commit comments

Comments
 (0)