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 {
|
if err != nil {
|
||||||
return err
|
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{
|
key := types.NamespacedName{
|
||||||
Namespace: jenkins.Namespace,
|
Namespace: jenkins.Namespace,
|
||||||
Name: jenkins.Name,
|
Name: jenkins.Name,
|
||||||
|
|
@ -194,6 +189,12 @@ func (bar *BackupAndRestore) Restore(jenkinsClient jenkinsclient.Jenkins) error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
jenkins.Spec.Restore.RecoveryOnce = 0
|
||||||
|
err = bar.Client.Update(context.TODO(), jenkins)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
bar.Configuration.Jenkins = jenkins
|
bar.Configuration.Jenkins = jenkins
|
||||||
|
|
||||||
jenkins.Status.RestoredBackup = backupNumber
|
jenkins.Status.RestoredBackup = backupNumber
|
||||||
|
|
@ -223,6 +224,15 @@ func (bar *BackupAndRestore) Backup(setBackupDoneBeforePodDeletion bool) error {
|
||||||
_, _, err := bar.Exec(podName, jenkins.Spec.Backup.ContainerName, command)
|
_, _, err := bar.Exec(podName, jenkins.Spec.Backup.ContainerName, command)
|
||||||
|
|
||||||
if err == nil {
|
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))
|
bar.logger.V(log.VDebug).Info(fmt.Sprintf("Backup completed '%d', updating status", backupNumber))
|
||||||
if jenkins.Status.RestoredBackup == 0 {
|
if jenkins.Status.RestoredBackup == 0 {
|
||||||
jenkins.Status.RestoredBackup = backupNumber
|
jenkins.Status.RestoredBackup = backupNumber
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue