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