]> git.proxmox.com Git - proxmox-backup.git/commitdiff
api: config: delete datastore: also remove tape backup jobs
authorDominik Csapak <d.csapak@proxmox.com>
Thu, 8 Jul 2021 10:13:49 +0000 (12:13 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Thu, 8 Jul 2021 10:15:59 +0000 (12:15 +0200)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
src/api2/config/datastore.rs

index 1fde362a8930a40010e6cceefc009579f3a232df..19b822d41b27c5da4aebd91edf61ee960fcaeffb 100644 (file)
@@ -12,6 +12,7 @@ use pbs_datastore::task::TaskState;
 
 use crate::api2::config::sync::delete_sync_job;
 use crate::api2::config::verify::delete_verification_job;
+use crate::api2::config::tape_backup_job::{list_tape_backup_jobs, delete_tape_backup_job};
 use crate::api2::admin::{
     sync::list_sync_jobs,
     verify::list_verification_jobs,
@@ -464,6 +465,11 @@ pub async fn delete_datastore(
         for job in list_sync_jobs(Some(name.clone()), Value::Null, rpcenv)? {
             delete_sync_job(job.config.id, None, rpcenv)?
         }
+
+        let tape_jobs = list_tape_backup_jobs(Value::Null, rpcenv)?;
+        for job_config in  tape_jobs.into_iter().filter(|config| config.setup.store == name) {
+            delete_tape_backup_job(job_config.id, None, rpcenv)?;
+        }
     }
 
     datastore::save_config(&config)?;