fix(backup): Duplicated backups & restores (#1021)
This commit is contained in:
parent
e0f52b5bdf
commit
5ef6c730de
|
|
@ -180,12 +180,7 @@ func (bar *BackupAndRestore) Restore(jenkinsClient jenkinsclient.Jenkins) error
|
|||
if err != nil {
|
||||
return err
|
||||
}
|
||||
//TODO fix me because we're doing two saves unatomically
|
||||
jenkins.Spec.Restore.RecoveryOnce = 0
|
||||
err = bar.Client.Update(context.TODO(), jenkins)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
key := types.NamespacedName{
|
||||
Namespace: jenkins.Namespace,
|
||||
Name: jenkins.Name,
|
||||
|
|
@ -194,6 +189,12 @@ func (bar *BackupAndRestore) Restore(jenkinsClient jenkinsclient.Jenkins) error
|
|||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
jenkins.Spec.Restore.RecoveryOnce = 0
|
||||
err = bar.Client.Update(context.TODO(), jenkins)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
bar.Configuration.Jenkins = jenkins
|
||||
|
||||
jenkins.Status.RestoredBackup = backupNumber
|
||||
|
|
@ -223,6 +224,15 @@ func (bar *BackupAndRestore) Backup(setBackupDoneBeforePodDeletion bool) error {
|
|||
_, _, err := bar.Exec(podName, jenkins.Spec.Backup.ContainerName, command)
|
||||
|
||||
if err == nil {
|
||||
key := types.NamespacedName{
|
||||
Namespace: jenkins.Namespace,
|
||||
Name: jenkins.Name,
|
||||
}
|
||||
err = bar.Client.Get(context.TODO(), key, jenkins)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
bar.logger.V(log.VDebug).Info(fmt.Sprintf("Backup completed '%d', updating status", backupNumber))
|
||||
if jenkins.Status.RestoredBackup == 0 {
|
||||
jenkins.Status.RestoredBackup = backupNumber
|
||||
|
|
|
|||
Loading…
Reference in New Issue