Skip to content

Commit 4be0f98

Browse files
committed
Unify logging in the backup controller
Use single logger across the controller and only add context if needed. Signed-off-by: Ales Raszka <[email protected]>
1 parent b0f56b3 commit 4be0f98

File tree

1 file changed

+17
-26
lines changed

1 file changed

+17
-26
lines changed

controllers/backupcronjob/backupcronjob_controller.go

Lines changed: 17 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -179,8 +179,7 @@ func (r *BackupCronJobReconciler) isBackupEnabled(config *controllerv1alpha1.Dev
179179
}
180180

181181
// startCron starts the cron scheduler with the backup job according to the provided configuration.
182-
func (r *BackupCronJobReconciler) startCron(ctx context.Context, dwOperatorConfig *controllerv1alpha1.DevWorkspaceOperatorConfig, logger logr.Logger) {
183-
log := logger.WithName("backup cron")
182+
func (r *BackupCronJobReconciler) startCron(ctx context.Context, dwOperatorConfig *controllerv1alpha1.DevWorkspaceOperatorConfig, log logr.Logger) {
184183
log.Info("Starting backup cron scheduler")
185184

186185
// remove existing cronjob tasks
@@ -195,13 +194,11 @@ func (r *BackupCronJobReconciler) startCron(ctx context.Context, dwOperatorConfi
195194
backUpConfig := dwOperatorConfig.Config.Workspace.BackupCronJob
196195
log.Info("Adding cronjob task", "schedule", backUpConfig.Schedule)
197196
_, err := r.cron.AddFunc(backUpConfig.Schedule, func() {
198-
taskLog := logger.WithName("cronTask")
199-
200-
taskLog.Info("Starting DevWorkspace backup job")
201-
if err := r.executeBackupSync(ctx, dwOperatorConfig, logger); err != nil {
202-
taskLog.Error(err, "Failed to execute backup job for DevWorkspaces")
197+
log.Info("Starting DevWorkspace backup job")
198+
if err := r.executeBackupSync(ctx, dwOperatorConfig, log); err != nil {
199+
log.Error(err, "Failed to execute backup job for DevWorkspaces")
203200
}
204-
taskLog.Info("DevWorkspace backup job finished")
201+
log.Info("DevWorkspace backup job finished")
205202
})
206203
if err != nil {
207204
log.Error(err, "Failed to add cronjob function")
@@ -213,8 +210,7 @@ func (r *BackupCronJobReconciler) startCron(ctx context.Context, dwOperatorConfi
213210
}
214211

215212
// stopCron stops the cron scheduler and removes all existing cronjob tasks.
216-
func (r *BackupCronJobReconciler) stopCron(logger logr.Logger) {
217-
log := logger.WithName("backup cron")
213+
func (r *BackupCronJobReconciler) stopCron(log logr.Logger) {
218214
log.Info("Stopping cron scheduler")
219215

220216
// remove existing cronjob tasks
@@ -231,11 +227,10 @@ func (r *BackupCronJobReconciler) stopCron(logger logr.Logger) {
231227

232228
// executeBackupSync executes the backup job for all DevWorkspaces in the cluster that
233229
// have been stopped in the last N minutes.
234-
func (r *BackupCronJobReconciler) executeBackupSync(ctx context.Context, dwOperatorConfig *controllerv1alpha1.DevWorkspaceOperatorConfig, logger logr.Logger) error {
235-
log := logger.WithName("executeBackupSync")
230+
func (r *BackupCronJobReconciler) executeBackupSync(ctx context.Context, dwOperatorConfig *controllerv1alpha1.DevWorkspaceOperatorConfig, log logr.Logger) error {
236231
log.Info("Executing backup sync for all DevWorkspaces")
237232

238-
registyAuthSecret, err := r.getRegistryAuthSecret(ctx, dwOperatorConfig, logger)
233+
registyAuthSecret, err := r.getRegistryAuthSecret(ctx, dwOperatorConfig, log)
239234
if err != nil {
240235
log.Error(err, "Failed to get registry auth secret for backup job")
241236
return err
@@ -251,7 +246,7 @@ func (r *BackupCronJobReconciler) executeBackupSync(ctx context.Context, dwOpera
251246
lastBackupTime = dwOperatorConfig.Status.LastBackupTime
252247
}
253248
for _, dw := range devWorkspaces.Items {
254-
if !r.wasStoppedSinceLastBackup(&dw, lastBackupTime, logger) {
249+
if !r.wasStoppedSinceLastBackup(&dw, lastBackupTime, log) {
255250
log.Info("Skipping backup for DevWorkspace that wasn't stopped recently", "namespace", dw.Namespace, "name", dw.Name)
256251
continue
257252
}
@@ -264,7 +259,7 @@ func (r *BackupCronJobReconciler) executeBackupSync(ctx context.Context, dwOpera
264259
continue
265260
}
266261

267-
if err := r.createBackupJob(&dw, ctx, dwOperatorConfig, registyAuthSecret, logger); err != nil {
262+
if err := r.createBackupJob(&dw, ctx, dwOperatorConfig, registyAuthSecret, log); err != nil {
268263
log.Error(err, "Failed to create backup Job for DevWorkspace", "id", dwID)
269264
continue
270265
}
@@ -285,8 +280,7 @@ func (r *BackupCronJobReconciler) executeBackupSync(ctx context.Context, dwOpera
285280
return nil
286281
}
287282

288-
func (r *BackupCronJobReconciler) getRegistryAuthSecret(ctx context.Context, dwOperatorConfig *controllerv1alpha1.DevWorkspaceOperatorConfig, logger logr.Logger) (*corev1.Secret, error) {
289-
log := logger.WithName("getRegistryAuthSecret")
283+
func (r *BackupCronJobReconciler) getRegistryAuthSecret(ctx context.Context, dwOperatorConfig *controllerv1alpha1.DevWorkspaceOperatorConfig, log logr.Logger) (*corev1.Secret, error) {
290284
registryAuthSecret := &corev1.Secret{}
291285
if dwOperatorConfig.Config.Workspace.BackupCronJob.RegistryAuthSecret != "" {
292286
err := r.NonCachingClient.Get(ctx, client.ObjectKey{
@@ -304,8 +298,7 @@ func (r *BackupCronJobReconciler) getRegistryAuthSecret(ctx context.Context, dwO
304298
}
305299

306300
// wasStoppedSinceLastBackup checks if the DevWorkspace was stopped since the last backup time.
307-
func (r *BackupCronJobReconciler) wasStoppedSinceLastBackup(workspace *dw.DevWorkspace, lastBackupTime *metav1.Time, logger logr.Logger) bool {
308-
log := logger.WithName("wasStoppedSinceLastBackup")
301+
func (r *BackupCronJobReconciler) wasStoppedSinceLastBackup(workspace *dw.DevWorkspace, lastBackupTime *metav1.Time, log logr.Logger) bool {
309302
if workspace.Status.Phase != dw.DevWorkspaceStatusStopped {
310303
return false
311304
}
@@ -338,14 +331,13 @@ func (r *BackupCronJobReconciler) createBackupJob(
338331
ctx context.Context,
339332
dwOperatorConfig *controllerv1alpha1.DevWorkspaceOperatorConfig,
340333
registyAuthSecret *corev1.Secret,
341-
logger logr.Logger,
334+
log logr.Logger,
342335
) error {
343-
log := logger.WithName("createBackupJob")
344336
dwID := workspace.Status.DevWorkspaceId
345337
backUpConfig := dwOperatorConfig.Config.Workspace.BackupCronJob
346338

347339
// Find a PVC with the name "claim-devworkspace" or based on the name from the operator config
348-
pvcName, workspacePath, err := r.getWorkspacePVCName(workspace, dwOperatorConfig, ctx, logger)
340+
pvcName, workspacePath, err := r.getWorkspacePVCName(workspace, dwOperatorConfig, ctx, log)
349341
if err != nil {
350342
log.Error(err, "Failed to get workspace PVC name", "devworkspace", workspace.Name)
351343
return err
@@ -437,7 +429,7 @@ func (r *BackupCronJobReconciler) createBackupJob(
437429
},
438430
}
439431
if registyAuthSecret != nil {
440-
secret, err := r.copySecret(workspace, ctx, registyAuthSecret, logger)
432+
secret, err := r.copySecret(workspace, ctx, registyAuthSecret, log)
441433
if err != nil {
442434
return err
443435
}
@@ -473,7 +465,7 @@ func (r *BackupCronJobReconciler) createBackupJob(
473465
}
474466

475467
// getWorkspacePVCName determines the PVC name and workspace path based on the storage provisioner used.
476-
func (r *BackupCronJobReconciler) getWorkspacePVCName(workspace *dw.DevWorkspace, dwOperatorConfig *controllerv1alpha1.DevWorkspaceOperatorConfig, ctx context.Context, logger logr.Logger) (string, string, error) {
468+
func (r *BackupCronJobReconciler) getWorkspacePVCName(workspace *dw.DevWorkspace, dwOperatorConfig *controllerv1alpha1.DevWorkspaceOperatorConfig, ctx context.Context, log logr.Logger) (string, string, error) {
477469
config, err := wkspConfig.ResolveConfigForWorkspace(workspace, r.Client)
478470

479471
workspaceWithConfig := &common.DevWorkspaceWithConfig{}
@@ -498,8 +490,7 @@ func (r *BackupCronJobReconciler) getWorkspacePVCName(workspace *dw.DevWorkspace
498490
return "", "", nil
499491
}
500492

501-
func (r *BackupCronJobReconciler) copySecret(workspace *dw.DevWorkspace, ctx context.Context, sourceSecret *corev1.Secret, logger logr.Logger) (namespaceSecret *corev1.Secret, err error) {
502-
log := logger.WithName("copySecret")
493+
func (r *BackupCronJobReconciler) copySecret(workspace *dw.DevWorkspace, ctx context.Context, sourceSecret *corev1.Secret, log logr.Logger) (namespaceSecret *corev1.Secret, err error) {
503494
existingNamespaceSecret := &corev1.Secret{}
504495
err = r.NonCachingClient.Get(ctx, client.ObjectKey{
505496
Name: constants.DevWorkspaceBackupAuthSecretName,

0 commit comments

Comments
 (0)