diff --git a/src/rm/RequestManagerDelete.cc b/src/rm/RequestManagerDelete.cc index 0916bd3318..31088e5ed3 100644 --- a/src/rm/RequestManagerDelete.cc +++ b/src/rm/RequestManagerDelete.cc @@ -233,6 +233,8 @@ int TemplateDelete::drop(std::unique_ptr object, bool recursive, VirtualMachineDisks disks(true); + int tid = object->get_oid(); + if (recursive) { static_cast(object.get())->clone_disks(vdisks); @@ -262,7 +264,7 @@ int TemplateDelete::drop(std::unique_ptr object, bool recursive, { if ( img_delete.request_execute(iid, att) != SUCCESS ) { - NebulaLog::log("ReM", Log::ERROR, att.resp_msg); + NebulaLog::warn("ReM", att.resp_msg); error_ids.insert(iid); } @@ -270,10 +272,12 @@ int TemplateDelete::drop(std::unique_ptr object, bool recursive, if ( !error_ids.empty() ) { - att.resp_msg = "Cannot delete " + object_name(PoolObjectSQL::IMAGE) + + att.resp_msg = "Template " + to_string(tid) + + " deleted, unable to recursively delete " + + object_name(PoolObjectSQL::IMAGE) + ": " + one_util::join(error_ids.begin(), error_ids.end(), ','); - return -1; + NebulaLog::warn("ReM", att.resp_msg); } return 0; diff --git a/src/vm/VirtualMachineDisk.cc b/src/vm/VirtualMachineDisk.cc index 4ade774584..d0fd63f2ef 100644 --- a/src/vm/VirtualMachineDisk.cc +++ b/src/vm/VirtualMachineDisk.cc @@ -158,6 +158,10 @@ int VirtualMachineDisk::get_image_id(int &id, int uid) const { id = image->get_oid(); } + else + { + return -1; + } return 0; }