■ ■ ■ ■ ■ ■
pkg/service/cluster_backup_file.go
| skipped 269 lines |
270 | 270 | | } |
271 | 271 | | cluster.TaskLog = *task |
272 | 272 | | cluster.CurrentTaskID = task.ID |
| 273 | + | |
273 | 274 | | _ = c.clusterRepo.Save(&cluster) |
274 | 275 | | |
275 | | - | go c.doRestore(restore, cluster, task) |
| 276 | + | go c.doRestore(restore, &cluster) |
276 | 277 | | return nil |
277 | 278 | | } |
278 | 279 | | |
279 | | - | func (c cLusterBackupFileService) doRestore(restore dto.ClusterBackupFileRestore, cluster model.Cluster, task *model.TaskLog) { |
280 | | - | writer, err := ansible.CreateAnsibleLogWriterWithId(cluster.Name, task.ID) |
| 280 | + | func (c cLusterBackupFileService) doRestore(restore dto.ClusterBackupFileRestore, cluster *model.Cluster) { |
| 281 | + | |
| 282 | + | writer, err := ansible.CreateAnsibleLogWriterWithId(cluster.Name, cluster.TaskLog.ID) |
281 | 283 | | if err != nil { |
282 | 284 | | logger.Log.Errorf("create ansible log failed, error: %s", err.Error()) |
283 | 285 | | } |
| skipped 6 lines |
290 | 292 | | vars["bucket"] = restore.BackupAccount.Bucket |
291 | 293 | | client, err := cloud_storage.NewCloudStorageClient(vars) |
292 | 294 | | if err != nil { |
293 | | - | _ = c.taskLogService.End(task, false, err.Error()) |
| 295 | + | _ = c.taskLogService.End(&cluster.TaskLog, false, err.Error()) |
294 | 296 | | cluster.CurrentTaskID = "" |
295 | | - | _ = c.clusterRepo.Save(&cluster) |
| 297 | + | _ = c.clusterRepo.Save(cluster) |
296 | 298 | | logger.Log.Errorf("cloud storage new client failed, error: %s", err.Error()) |
297 | 299 | | _ = c.msgService.SendMsg(constant.ClusterRestore, constant.Cluster, cluster, false, map[string]string{"errMsg": err.Error()}) |
298 | 300 | | return |
| skipped 3 lines |
302 | 304 | | targetPath := constant.BackupDir + "/" + cluster.Name + "/" + constant.BackupFileDefaultName |
303 | 305 | | _, err = client.Download(srcFilePath, targetPath) |
304 | 306 | | if err != nil { |
305 | | - | _ = c.taskLogService.End(task, false, err.Error()) |
| 307 | + | _ = c.taskLogService.End(&cluster.TaskLog, false, err.Error()) |
306 | 308 | | cluster.CurrentTaskID = "" |
307 | | - | _ = c.clusterRepo.Save(&cluster) |
| 309 | + | _ = c.clusterRepo.Save(cluster) |
308 | 310 | | logger.Log.Errorf("cloud storage download failed, error: %s", err.Error()) |
309 | 311 | | _ = c.msgService.SendMsg(constant.ClusterRestore, constant.Cluster, cluster, false, map[string]string{"errMsg": err.Error()}) |
310 | 312 | | return |
311 | 313 | | } |
312 | 314 | | |
313 | | - | admCluster := adm.NewAnsibleHelper(cluster) |
| 315 | + | admCluster := adm.NewAnsibleHelper(*cluster) |
314 | 316 | | p := &backup.RestoreClusterPhase{} |
315 | 317 | | |
316 | 318 | | err = p.Run(admCluster.Kobe, writer) |
317 | 319 | | if err != nil { |
318 | 320 | | logger.Log.Errorf("restore cluster phase run failed, error: %s", err.Error()) |
319 | | - | _ = c.taskLogService.End(task, false, err.Error()) |
| 321 | + | _ = c.taskLogService.End(&cluster.TaskLog, false, err.Error()) |
320 | 322 | | cluster.CurrentTaskID = "" |
321 | | - | _ = c.clusterRepo.Save(&cluster) |
| 323 | + | _ = c.clusterRepo.Save(cluster) |
322 | 324 | | _ = c.msgService.SendMsg(constant.ClusterRestore, constant.Cluster, cluster, false, map[string]string{"errMsg": err.Error()}) |
323 | 325 | | } else { |
324 | | - | _ = c.taskLogService.End(task, true, "") |
| 326 | + | _ = c.taskLogService.End(&cluster.TaskLog, true, "") |
325 | 327 | | cluster.CurrentTaskID = "" |
326 | | - | _ = c.clusterRepo.Save(&cluster) |
| 328 | + | _ = c.clusterRepo.Save(cluster) |
327 | 329 | | _ = c.msgService.SendMsg(constant.ClusterRestore, constant.Cluster, cluster, true, map[string]string{}) |
328 | 330 | | } |
329 | 331 | | } |
| skipped 80 lines |