Don't allow deletion of in-progress backups

Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
This commit is contained in:
Andy Goldstein
2018-04-06 13:08:39 -04:00
parent 644a75e3c1
commit 3f2e222ae4
7 changed files with 165 additions and 2 deletions
+6
View File
@@ -66,6 +66,7 @@ type backupController struct {
clock clock.Clock
logger logrus.FieldLogger
pluginManager plugin.Manager
backupTracker BackupTracker
}
func NewBackupController(
@@ -77,6 +78,7 @@ func NewBackupController(
pvProviderExists bool,
logger logrus.FieldLogger,
pluginManager plugin.Manager,
backupTracker BackupTracker,
) Interface {
c := &backupController{
backupper: backupper,
@@ -90,6 +92,7 @@ func NewBackupController(
clock: &clock.RealClock{},
logger: logger,
pluginManager: pluginManager,
backupTracker: backupTracker,
}
c.syncHandler = c.processBackup
@@ -261,6 +264,9 @@ func (controller *backupController) processBackup(key string) error {
return nil
}
controller.backupTracker.Add(backup.Namespace, backup.Name)
defer controller.backupTracker.Delete(backup.Namespace, backup.Name)
logContext.Debug("Running backup")
// execution & upload of backup
if err := controller.runBackup(backup, controller.bucket); err != nil {