From 05e235cde32e69e9ffb6cff1e6824d22a2bddaa3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pavel=20Czern=C3=BD?= Date: Fri, 19 Feb 2021 09:37:32 +0100 Subject: [PATCH] M #-: Fix DS id while resuming undeployed VM (#837) --- src/rm/RequestManagerVirtualMachine.cc | 5 ++++- src/tm/TransferManager.cc | 6 +++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/rm/RequestManagerVirtualMachine.cc b/src/rm/RequestManagerVirtualMachine.cc index 502e2cd7e7..4bda065fdf 100644 --- a/src/rm/RequestManagerVirtualMachine.cc +++ b/src/rm/RequestManagerVirtualMachine.cc @@ -835,7 +835,10 @@ void VirtualMachineDeploy::request_execute(xmlrpc_c::paramList const& paramList, vm->get_action() == VMActions::UNDEPLOY_ACTION || vm->get_action() == VMActions::UNDEPLOY_HARD_ACTION)) { - ds_id = vm->get_ds_id(); + if (ds_id == -1) + { + ds_id = vm->get_ds_id(); + } check_nic_auto = false; } diff --git a/src/tm/TransferManager.cc b/src/tm/TransferManager.cc index 33b3bb80f5..9d65284711 100644 --- a/src/tm/TransferManager.cc +++ b/src/tm/TransferManager.cc @@ -701,7 +701,7 @@ void TransferManager::trigger_prolog_resume(VirtualMachine * vm) VirtualMachineDisks& disks = vm->get_disks(); - if (!vm->hasHistory()) + if (!vm->hasHistory() || !vm->hasPreviousHistory()) { goto error_history; } @@ -756,7 +756,7 @@ void TransferManager::trigger_prolog_resume(VirtualMachine * vm) << tm_mad_system << " " << tm_mad << " " << nd.get_nebula_hostname() << ":" - << vm->get_system_dir() << "/disk." << disk_id << " " + << vm->get_previous_system_dir() << "/disk." << disk_id << " " << vm->get_hostname() << ":" << vm->get_system_dir() << "/disk." << disk_id << " " << vm->get_oid() << " " @@ -766,7 +766,7 @@ void TransferManager::trigger_prolog_resume(VirtualMachine * vm) //MV tm_mad fe:system_dir host:remote_system_dir vmid dsid(system) xfr << "MV " << vm_tm_mad << " " - << nd.get_nebula_hostname() << ":"<< vm->get_system_dir() << " " + << nd.get_nebula_hostname() << ":"<< vm->get_previous_system_dir() << " " << vm->get_hostname() << ":" << vm->get_system_dir()<< " " << vm->get_oid() << " " << vm->get_ds_id() << endl;