mirror of
https://github.com/jenkinsci/kubernetes-operator.git
synced 2026-10-01 05:36:44 +02:00
fix(backup): Duplicated backups & restores (#1021)
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user