mirror of
https://github.com/OpenNebula/one.git
synced 2025-01-08 21:17:43 +03:00
(cherry picked from commit 24fa8d779c745cf6d80a75a0aaed28875209bd08)
This commit is contained in:
parent
4179a2f329
commit
402400053f
@ -137,7 +137,8 @@ public:
|
||||
* in a wrong a state
|
||||
*/
|
||||
int shutdown (
|
||||
int vid);
|
||||
int vid,
|
||||
string& error_str);
|
||||
|
||||
/**
|
||||
* Shuts down a VM, but it is saved in the system DS instead of destroyed.
|
||||
@ -147,8 +148,9 @@ public:
|
||||
* in a wrong a state
|
||||
*/
|
||||
int undeploy (
|
||||
int vid,
|
||||
bool hard);
|
||||
int vid,
|
||||
bool hard,
|
||||
string& error_str);
|
||||
|
||||
/**
|
||||
* Powers off a VM.
|
||||
@ -158,8 +160,9 @@ public:
|
||||
* in a wrong a state
|
||||
*/
|
||||
int poweroff (
|
||||
int vid,
|
||||
bool hard);
|
||||
int vid,
|
||||
bool hard,
|
||||
string& error_str);
|
||||
|
||||
/**
|
||||
* Holds a VM.
|
||||
@ -168,7 +171,8 @@ public:
|
||||
* in a wrong a state
|
||||
*/
|
||||
int hold(
|
||||
int vid);
|
||||
int vid,
|
||||
string& error_str);
|
||||
|
||||
/**
|
||||
* Releases a VM.
|
||||
@ -177,7 +181,8 @@ public:
|
||||
* in a wrong a state
|
||||
*/
|
||||
int release(
|
||||
int vid);
|
||||
int vid,
|
||||
string& error_str);
|
||||
|
||||
/**
|
||||
* Stops a VM.
|
||||
@ -186,7 +191,8 @@ public:
|
||||
* in a wrong a state
|
||||
*/
|
||||
int stop(
|
||||
int vid);
|
||||
int vid,
|
||||
string& error_str);
|
||||
|
||||
/**
|
||||
* Cancels a VM.
|
||||
@ -195,7 +201,8 @@ public:
|
||||
* in a wrong a state
|
||||
*/
|
||||
int cancel(
|
||||
int vid);
|
||||
int vid,
|
||||
string& error_str);
|
||||
|
||||
/**
|
||||
* Suspends a VM.
|
||||
@ -204,7 +211,8 @@ public:
|
||||
* in a wrong a state
|
||||
*/
|
||||
int suspend(
|
||||
int vid);
|
||||
int vid,
|
||||
string& error_str);
|
||||
|
||||
/**
|
||||
* Resumes a VM.
|
||||
@ -213,7 +221,8 @@ public:
|
||||
* in a wrong a state
|
||||
*/
|
||||
int resume(
|
||||
int vid);
|
||||
int vid,
|
||||
string& error_str);
|
||||
|
||||
/**
|
||||
* Restart a previusly deployed VM.
|
||||
@ -222,7 +231,8 @@ public:
|
||||
* in a wrong a state
|
||||
*/
|
||||
int restart(
|
||||
int vid);
|
||||
int vid,
|
||||
string& error_str);
|
||||
|
||||
/**
|
||||
* Ends a VM life cycle inside ONE.
|
||||
@ -231,7 +241,8 @@ public:
|
||||
* in a wrong a state
|
||||
*/
|
||||
int finalize(
|
||||
int vid);
|
||||
int vid,
|
||||
string& error_str);
|
||||
|
||||
/**
|
||||
* Moves a VM to PENDING state preserving any resource (i.e. leases) and id
|
||||
@ -240,7 +251,8 @@ public:
|
||||
* in a wrong a state
|
||||
*/
|
||||
int resubmit(
|
||||
int vid);
|
||||
int vid,
|
||||
string& error_str);
|
||||
|
||||
/**
|
||||
* Reboots a VM preserving any resource and RUNNING state
|
||||
@ -249,7 +261,8 @@ public:
|
||||
* in a wrong a state
|
||||
*/
|
||||
int reboot(
|
||||
int vid);
|
||||
int vid,
|
||||
string& error_str);
|
||||
|
||||
/**
|
||||
* Resets a VM preserving any resource and RUNNING state
|
||||
@ -258,7 +271,8 @@ public:
|
||||
* in a wrong a state
|
||||
*/
|
||||
int reset(
|
||||
int vid);
|
||||
int vid,
|
||||
string& error_str);
|
||||
|
||||
/**
|
||||
* Set the re-scheduling flag for the VM (must be in RUNNING state)
|
||||
@ -269,8 +283,9 @@ public:
|
||||
* in a wrong a state
|
||||
*/
|
||||
int resched(
|
||||
int vid,
|
||||
bool do_resched);
|
||||
int vid,
|
||||
bool do_resched,
|
||||
string& error_str);
|
||||
|
||||
/**
|
||||
* Starts the attach disk action.
|
||||
|
@ -263,6 +263,23 @@ public:
|
||||
return st;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the VM state to string, using the lcm state if the current state
|
||||
* is ACTIVE.
|
||||
* @return the state sting
|
||||
*/
|
||||
string state_str()
|
||||
{
|
||||
string st;
|
||||
|
||||
if (state == ACTIVE)
|
||||
{
|
||||
return lcm_state_to_str(st, lcm_state);
|
||||
}
|
||||
|
||||
return vm_state_to_str(st, state);
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Log & Print
|
||||
// -------------------------------------------------------------------------
|
||||
|
@ -219,7 +219,8 @@ error:
|
||||
/* ************************************************************************** */
|
||||
|
||||
int DispatchManager::shutdown (
|
||||
int vid)
|
||||
int vid,
|
||||
string& error_str)
|
||||
{
|
||||
ostringstream oss;
|
||||
VirtualMachine * vm;
|
||||
@ -255,11 +256,14 @@ int DispatchManager::shutdown (
|
||||
return 0;
|
||||
|
||||
error:
|
||||
|
||||
oss.str("");
|
||||
oss << "Could not shutdown VM " << vid << ", wrong state.";
|
||||
NebulaLog::log("DiM",Log::ERROR,oss);
|
||||
|
||||
oss.str("");
|
||||
oss << "This action is not available for state " << vm->state_str();
|
||||
error_str = oss.str();
|
||||
|
||||
vm->unlock();
|
||||
return -2;
|
||||
}
|
||||
@ -268,8 +272,9 @@ error:
|
||||
/* -------------------------------------------------------------------------- */
|
||||
|
||||
int DispatchManager::undeploy(
|
||||
int vid,
|
||||
bool hard)
|
||||
int vid,
|
||||
bool hard,
|
||||
string& error_str)
|
||||
{
|
||||
VirtualMachine * vm;
|
||||
ostringstream oss;
|
||||
@ -315,6 +320,10 @@ error:
|
||||
oss << "Could not undeploy VM " << vid << ", wrong state.";
|
||||
NebulaLog::log("DiM",Log::ERROR,oss);
|
||||
|
||||
oss.str("");
|
||||
oss << "This action is not available for state " << vm->state_str();
|
||||
error_str = oss.str();
|
||||
|
||||
vm->unlock();
|
||||
return -2;
|
||||
}
|
||||
@ -323,8 +332,9 @@ error:
|
||||
/* -------------------------------------------------------------------------- */
|
||||
|
||||
int DispatchManager::poweroff (
|
||||
int vid,
|
||||
bool hard)
|
||||
int vid,
|
||||
bool hard,
|
||||
string& error_str)
|
||||
{
|
||||
ostringstream oss;
|
||||
VirtualMachine * vm;
|
||||
@ -370,6 +380,10 @@ error:
|
||||
oss << "Could not power off VM " << vid << ", wrong state.";
|
||||
NebulaLog::log("DiM",Log::ERROR,oss);
|
||||
|
||||
oss.str("");
|
||||
oss << "This action is not available for state " << vm->state_str();
|
||||
error_str = oss.str();
|
||||
|
||||
vm->unlock();
|
||||
return -2;
|
||||
}
|
||||
@ -378,7 +392,8 @@ error:
|
||||
/* -------------------------------------------------------------------------- */
|
||||
|
||||
int DispatchManager::hold(
|
||||
int vid)
|
||||
int vid,
|
||||
string& error_str)
|
||||
{
|
||||
VirtualMachine * vm;
|
||||
ostringstream oss;
|
||||
@ -414,6 +429,10 @@ error:
|
||||
oss << "Could not hold VM " << vid << ", wrong state.";
|
||||
NebulaLog::log("DiM",Log::ERROR,oss);
|
||||
|
||||
oss.str("");
|
||||
oss << "This action is not available for state " << vm->state_str();
|
||||
error_str = oss.str();
|
||||
|
||||
vm->unlock();
|
||||
return -2;
|
||||
}
|
||||
@ -422,7 +441,8 @@ error:
|
||||
/* -------------------------------------------------------------------------- */
|
||||
|
||||
int DispatchManager::release(
|
||||
int vid)
|
||||
int vid,
|
||||
string& error_str)
|
||||
{
|
||||
VirtualMachine * vm;
|
||||
ostringstream oss;
|
||||
@ -457,6 +477,10 @@ error:
|
||||
oss << "Could not release VM " << vid << ", wrong state.";
|
||||
NebulaLog::log("DiM",Log::ERROR,oss);
|
||||
|
||||
oss.str("");
|
||||
oss << "This action is not available for state " << vm->state_str();
|
||||
error_str = oss.str();
|
||||
|
||||
vm->unlock();
|
||||
return -2;
|
||||
}
|
||||
@ -465,7 +489,8 @@ error:
|
||||
/* -------------------------------------------------------------------------- */
|
||||
|
||||
int DispatchManager::stop(
|
||||
int vid)
|
||||
int vid,
|
||||
string& error_str)
|
||||
{
|
||||
VirtualMachine * vm;
|
||||
ostringstream oss;
|
||||
@ -503,6 +528,10 @@ error:
|
||||
oss << "Could not stop VM " << vid << ", wrong state.";
|
||||
NebulaLog::log("DiM",Log::ERROR,oss);
|
||||
|
||||
oss.str("");
|
||||
oss << "This action is not available for state " << vm->state_str();
|
||||
error_str = oss.str();
|
||||
|
||||
vm->unlock();
|
||||
return -2;
|
||||
}
|
||||
@ -511,7 +540,8 @@ error:
|
||||
/* -------------------------------------------------------------------------- */
|
||||
|
||||
int DispatchManager::cancel(
|
||||
int vid)
|
||||
int vid,
|
||||
string& error_str)
|
||||
{
|
||||
VirtualMachine * vm;
|
||||
ostringstream oss;
|
||||
@ -551,6 +581,10 @@ error:
|
||||
oss << "Could not cancel VM " << vid << ", wrong state.";
|
||||
NebulaLog::log("DiM",Log::ERROR,oss);
|
||||
|
||||
oss.str("");
|
||||
oss << "This action is not available for state " << vm->state_str();
|
||||
error_str = oss.str();
|
||||
|
||||
vm->unlock();
|
||||
return -2;
|
||||
}
|
||||
@ -559,7 +593,8 @@ error:
|
||||
/* -------------------------------------------------------------------------- */
|
||||
|
||||
int DispatchManager::suspend(
|
||||
int vid)
|
||||
int vid,
|
||||
string& error_str)
|
||||
{
|
||||
VirtualMachine * vm;
|
||||
ostringstream oss;
|
||||
@ -596,6 +631,10 @@ error:
|
||||
oss << "Could not suspend VM " << vid << ", wrong state.";
|
||||
NebulaLog::log("DiM",Log::ERROR,oss);
|
||||
|
||||
oss.str("");
|
||||
oss << "This action is not available for state " << vm->state_str();
|
||||
error_str = oss.str();
|
||||
|
||||
vm->unlock();
|
||||
return -2;
|
||||
}
|
||||
@ -604,7 +643,8 @@ error:
|
||||
/* -------------------------------------------------------------------------- */
|
||||
|
||||
int DispatchManager::resume(
|
||||
int vid)
|
||||
int vid,
|
||||
string& error_str)
|
||||
{
|
||||
VirtualMachine * vm;
|
||||
ostringstream oss;
|
||||
@ -654,6 +694,10 @@ error:
|
||||
oss << "Could not resume VM " << vid << ", wrong state.";
|
||||
NebulaLog::log("DiM",Log::ERROR,oss);
|
||||
|
||||
oss.str("");
|
||||
oss << "This action is not available for state " << vm->state_str();
|
||||
error_str = oss.str();
|
||||
|
||||
vm->unlock();
|
||||
return -2;
|
||||
}
|
||||
@ -661,7 +705,9 @@ error:
|
||||
/* -------------------------------------------------------------------------- */
|
||||
/* -------------------------------------------------------------------------- */
|
||||
|
||||
int DispatchManager::restart(int vid)
|
||||
int DispatchManager::restart(
|
||||
int vid,
|
||||
string& error_str)
|
||||
{
|
||||
VirtualMachine * vm;
|
||||
ostringstream oss;
|
||||
@ -705,6 +751,10 @@ error:
|
||||
oss << "Could not restart VM " << vid << ", wrong state.";
|
||||
NebulaLog::log("DiM",Log::ERROR,oss);
|
||||
|
||||
oss.str("");
|
||||
oss << "This action is not available for state " << vm->state_str();
|
||||
error_str = oss.str();
|
||||
|
||||
vm->unlock();
|
||||
|
||||
return -2;
|
||||
@ -713,7 +763,9 @@ error:
|
||||
/* -------------------------------------------------------------------------- */
|
||||
/* -------------------------------------------------------------------------- */
|
||||
|
||||
int DispatchManager::reboot(int vid)
|
||||
int DispatchManager::reboot(
|
||||
int vid,
|
||||
string& error_str)
|
||||
{
|
||||
VirtualMachine * vm;
|
||||
ostringstream oss;
|
||||
@ -754,6 +806,10 @@ error:
|
||||
oss << "Could not reboot VM " << vid << ", wrong state.";
|
||||
NebulaLog::log("DiM",Log::ERROR,oss);
|
||||
|
||||
oss.str("");
|
||||
oss << "This action is not available for state " << vm->state_str();
|
||||
error_str = oss.str();
|
||||
|
||||
vm->unlock();
|
||||
|
||||
return -2;
|
||||
@ -762,7 +818,9 @@ error:
|
||||
/* -------------------------------------------------------------------------- */
|
||||
/* -------------------------------------------------------------------------- */
|
||||
|
||||
int DispatchManager::reset(int vid)
|
||||
int DispatchManager::reset(
|
||||
int vid,
|
||||
string& error_str)
|
||||
{
|
||||
VirtualMachine * vm;
|
||||
ostringstream oss;
|
||||
@ -803,6 +861,10 @@ error:
|
||||
oss << "Could not reset VM " << vid << ", wrong state.";
|
||||
NebulaLog::log("DiM",Log::ERROR,oss);
|
||||
|
||||
oss.str("");
|
||||
oss << "This action is not available for state " << vm->state_str();
|
||||
error_str = oss.str();
|
||||
|
||||
vm->unlock();
|
||||
|
||||
return -2;
|
||||
@ -811,7 +873,10 @@ error:
|
||||
/* -------------------------------------------------------------------------- */
|
||||
/* -------------------------------------------------------------------------- */
|
||||
|
||||
int DispatchManager::resched(int vid, bool do_resched)
|
||||
int DispatchManager::resched(
|
||||
int vid,
|
||||
bool do_resched,
|
||||
string& error_str)
|
||||
{
|
||||
VirtualMachine * vm;
|
||||
ostringstream oss;
|
||||
@ -847,6 +912,10 @@ error:
|
||||
oss << "Could not set rescheduling flag for VM " << vid << ", wrong state.";
|
||||
NebulaLog::log("DiM",Log::ERROR,oss);
|
||||
|
||||
oss.str("");
|
||||
oss << "This action is not available for state " << vm->state_str();
|
||||
error_str = oss.str();
|
||||
|
||||
vm->unlock();
|
||||
|
||||
return -2;
|
||||
@ -886,7 +955,8 @@ void DispatchManager::finalize_cleanup(VirtualMachine * vm)
|
||||
/* -------------------------------------------------------------------------- */
|
||||
|
||||
int DispatchManager::finalize(
|
||||
int vid)
|
||||
int vid,
|
||||
string& error_str)
|
||||
{
|
||||
VirtualMachine * vm;
|
||||
ostringstream oss;
|
||||
@ -950,7 +1020,9 @@ int DispatchManager::finalize(
|
||||
/* -------------------------------------------------------------------------- */
|
||||
/* -------------------------------------------------------------------------- */
|
||||
|
||||
int DispatchManager::resubmit(int vid)
|
||||
int DispatchManager::resubmit(
|
||||
int vid,
|
||||
string& error_str)
|
||||
{
|
||||
VirtualMachine * vm;
|
||||
ostringstream oss;
|
||||
@ -969,14 +1041,14 @@ int DispatchManager::resubmit(int vid)
|
||||
switch (vm->get_state())
|
||||
{
|
||||
case VirtualMachine::POWEROFF:
|
||||
NebulaLog::log("DiM",Log::ERROR,
|
||||
"Cannot delete-recreate a powered off VM. Resume it first");
|
||||
error_str = "Cannot delete-recreate a powered off VM. Resume it first";
|
||||
NebulaLog::log("DiM",Log::ERROR,error_str);
|
||||
rc = -2;
|
||||
break;
|
||||
|
||||
case VirtualMachine::SUSPENDED:
|
||||
NebulaLog::log("DiM",Log::ERROR,
|
||||
"Cannot delete-recreate a suspended VM. Resume it first");
|
||||
error_str = "Cannot delete-recreate a suspended VM. Resume it first";
|
||||
NebulaLog::log("DiM",Log::ERROR,error_str);
|
||||
rc = -2;
|
||||
break;
|
||||
|
||||
@ -998,8 +1070,8 @@ int DispatchManager::resubmit(int vid)
|
||||
break;
|
||||
|
||||
case VirtualMachine::DONE:
|
||||
NebulaLog::log("DiM",Log::ERROR,
|
||||
"Cannot delete-recreate a VM already in DONE state");
|
||||
error_str = "Cannot delete-recreate a VM already in DONE state";
|
||||
NebulaLog::log("DiM",Log::ERROR,error_str);
|
||||
rc = -2;
|
||||
break;
|
||||
}
|
||||
@ -1055,7 +1127,8 @@ int DispatchManager::attach(int vid,
|
||||
}
|
||||
else
|
||||
{
|
||||
oss << "Could not attach a new disk to VM " << vid << ", wrong state.";
|
||||
oss << "Could not attach a new disk to VM " << vid << ", wrong state "
|
||||
<< vm->state_str() << ".";
|
||||
error_str = oss.str();
|
||||
|
||||
NebulaLog::log("DiM", Log::ERROR, error_str);
|
||||
@ -1199,7 +1272,8 @@ int DispatchManager::detach(
|
||||
vm->get_lcm_state() != VirtualMachine::RUNNING ) &&
|
||||
vm->get_state() != VirtualMachine::POWEROFF)
|
||||
{
|
||||
oss << "Could not detach disk from VM " << vid << ", wrong state.";
|
||||
oss << "Could not detach disk from VM " << vid << ", wrong state "
|
||||
<< vm->state_str() << ".";
|
||||
error_str = oss.str();
|
||||
|
||||
NebulaLog::log("DiM", Log::ERROR, error_str);
|
||||
@ -1302,7 +1376,7 @@ int DispatchManager::snapshot_create(
|
||||
vm->get_lcm_state() != VirtualMachine::RUNNING )
|
||||
{
|
||||
oss << "Could not create a new snapshot for VM " << vid
|
||||
<< ", wrong state.";
|
||||
<< ", wrong state " << vm->state_str() << ".";
|
||||
error_str = oss.str();
|
||||
|
||||
NebulaLog::log("DiM", Log::ERROR, error_str);
|
||||
@ -1358,7 +1432,7 @@ int DispatchManager::snapshot_revert(
|
||||
vm->get_lcm_state() != VirtualMachine::RUNNING )
|
||||
{
|
||||
oss << "Could not revert VM " << vid << " to snapshot " << snap_id
|
||||
<< ", wrong state.";
|
||||
<< ", wrong state " << vm->state_str() << ".";
|
||||
error_str = oss.str();
|
||||
|
||||
NebulaLog::log("DiM", Log::ERROR, error_str);
|
||||
@ -1427,7 +1501,7 @@ int DispatchManager::snapshot_delete(
|
||||
vm->get_lcm_state() != VirtualMachine::RUNNING )
|
||||
{
|
||||
oss << "Could not delete snapshot " << snap_id << " for VM " << vid
|
||||
<< ", wrong state.";
|
||||
<< ", wrong state " << vm->state_str() << ".";
|
||||
error_str = oss.str();
|
||||
|
||||
NebulaLog::log("DiM", Log::ERROR, error_str);
|
||||
@ -1503,7 +1577,8 @@ int DispatchManager::attach_nic(
|
||||
vm->get_lcm_state() != VirtualMachine::RUNNING ) &&
|
||||
vm->get_state() != VirtualMachine::POWEROFF )
|
||||
{
|
||||
oss << "Could not add a new NIC to VM " << vid << ", wrong state.";
|
||||
oss << "Could not add a new NIC to VM " << vid << ", wrong state "
|
||||
<< vm->state_str() << ".";
|
||||
error_str = oss.str();
|
||||
|
||||
NebulaLog::log("DiM", Log::ERROR, error_str);
|
||||
@ -1673,7 +1748,8 @@ int DispatchManager::detach_nic(
|
||||
vm->get_lcm_state() != VirtualMachine::RUNNING ) &&
|
||||
vm->get_state() != VirtualMachine::POWEROFF )
|
||||
{
|
||||
oss << "Could not detach NIC from VM " << vid << ", wrong state.";
|
||||
oss << "Could not detach NIC from VM " << vid << ", wrong state "
|
||||
<< vm->state_str() << ".";
|
||||
error_str = oss.str();
|
||||
|
||||
NebulaLog::log("DiM", Log::ERROR, error_str);
|
||||
|
@ -477,6 +477,7 @@ void VirtualMachineAction::request_execute(xmlrpc_c::paramList const& paramList,
|
||||
DispatchManager * dm = nd.get_dm();
|
||||
|
||||
ostringstream oss;
|
||||
string error;
|
||||
|
||||
AuthRequest::Operation op = auth_op;
|
||||
History::VMAction action;
|
||||
@ -543,58 +544,58 @@ void VirtualMachineAction::request_execute(xmlrpc_c::paramList const& paramList,
|
||||
switch (action)
|
||||
{
|
||||
case History::SHUTDOWN_ACTION:
|
||||
rc = dm->shutdown(id);
|
||||
rc = dm->shutdown(id, error);
|
||||
break;
|
||||
case History::HOLD_ACTION:
|
||||
rc = dm->hold(id);
|
||||
rc = dm->hold(id, error);
|
||||
break;
|
||||
case History::RELEASE_ACTION:
|
||||
rc = dm->release(id);
|
||||
rc = dm->release(id, error);
|
||||
break;
|
||||
case History::STOP_ACTION:
|
||||
rc = dm->stop(id);
|
||||
rc = dm->stop(id, error);
|
||||
break;
|
||||
case History::SHUTDOWN_HARD_ACTION:
|
||||
rc = dm->cancel(id);
|
||||
rc = dm->cancel(id, error);
|
||||
break;
|
||||
case History::SUSPEND_ACTION:
|
||||
rc = dm->suspend(id);
|
||||
rc = dm->suspend(id, error);
|
||||
break;
|
||||
case History::RESUME_ACTION:
|
||||
rc = dm->resume(id);
|
||||
rc = dm->resume(id, error);
|
||||
break;
|
||||
case History::BOOT_ACTION:
|
||||
rc = dm->restart(id);
|
||||
rc = dm->restart(id, error);
|
||||
break;
|
||||
case History::DELETE_ACTION:
|
||||
rc = dm->finalize(id);
|
||||
rc = dm->finalize(id, error);
|
||||
break;
|
||||
case History::DELETE_RECREATE_ACTION:
|
||||
rc = dm->resubmit(id);
|
||||
rc = dm->resubmit(id, error);
|
||||
break;
|
||||
case History::REBOOT_ACTION:
|
||||
rc = dm->reboot(id);
|
||||
rc = dm->reboot(id, error);
|
||||
break;
|
||||
case History::RESCHED_ACTION:
|
||||
rc = dm->resched(id, true);
|
||||
rc = dm->resched(id, true, error);
|
||||
break;
|
||||
case History::UNRESCHED_ACTION:
|
||||
rc = dm->resched(id, false);
|
||||
rc = dm->resched(id, false, error);
|
||||
break;
|
||||
case History::REBOOT_HARD_ACTION:
|
||||
rc = dm->reset(id);
|
||||
rc = dm->reset(id, error);
|
||||
break;
|
||||
case History::POWEROFF_ACTION:
|
||||
rc = dm->poweroff(id, false);
|
||||
rc = dm->poweroff(id, false, error);
|
||||
break;
|
||||
case History::POWEROFF_HARD_ACTION:
|
||||
rc = dm->poweroff(id, true);
|
||||
rc = dm->poweroff(id, true, error);
|
||||
break;
|
||||
case History::UNDEPLOY_ACTION:
|
||||
rc = dm->undeploy(id, false);
|
||||
rc = dm->undeploy(id, false, error);
|
||||
break;
|
||||
case History::UNDEPLOY_HARD_ACTION:
|
||||
rc = dm->undeploy(id, true);
|
||||
rc = dm->undeploy(id, true, error);
|
||||
break;
|
||||
default:
|
||||
rc = -3;
|
||||
@ -612,10 +613,11 @@ void VirtualMachineAction::request_execute(xmlrpc_c::paramList const& paramList,
|
||||
att);
|
||||
break;
|
||||
case -2:
|
||||
oss << "Wrong state to perform action \"" << action_st << "\"";
|
||||
oss << "Error performing action \"" << action_st << "\" on "
|
||||
<< object_name(auth_object) << " [" << id << "]";
|
||||
|
||||
failure_response(ACTION,
|
||||
request_error(oss.str(),""),
|
||||
request_error(oss.str(),error),
|
||||
att);
|
||||
break;
|
||||
case -3:
|
||||
@ -801,8 +803,12 @@ void VirtualMachineDeploy::request_execute(xmlrpc_c::paramList const& paramList,
|
||||
vm->get_state() != VirtualMachine::STOPPED &&
|
||||
vm->get_state() != VirtualMachine::UNDEPLOYED)
|
||||
{
|
||||
ostringstream oss;
|
||||
|
||||
oss << "Deploy action is not available for state " << vm->state_str();
|
||||
|
||||
failure_response(ACTION,
|
||||
request_error("Wrong state to perform action",""),
|
||||
request_error(oss.str(),""),
|
||||
att);
|
||||
|
||||
vm->unlock();
|
||||
@ -949,8 +955,12 @@ void VirtualMachineMigrate::request_execute(xmlrpc_c::paramList const& paramList
|
||||
(vm->get_lcm_state() != VirtualMachine::RUNNING &&
|
||||
vm->get_lcm_state() != VirtualMachine::UNKNOWN))))
|
||||
{
|
||||
ostringstream oss;
|
||||
|
||||
oss << "Migrate action is not available for state " << vm->state_str();
|
||||
|
||||
failure_response(ACTION,
|
||||
request_error("Wrong state to perform action",""),
|
||||
request_error(oss.str(),""),
|
||||
att);
|
||||
|
||||
vm->unlock();
|
||||
@ -1970,8 +1980,12 @@ void VirtualMachineResize::request_execute(xmlrpc_c::paramList const& paramList,
|
||||
case VirtualMachine::DONE:
|
||||
case VirtualMachine::SUSPENDED:
|
||||
case VirtualMachine::ACTIVE:
|
||||
ostringstream oss;
|
||||
|
||||
oss << "Resize action is not available for state " << vm->state_str();
|
||||
|
||||
failure_response(ACTION,
|
||||
request_error("Wrong state to perform action",""),
|
||||
request_error(oss.str(),""),
|
||||
att);
|
||||
|
||||
vm->unlock();
|
||||
@ -2102,8 +2116,12 @@ void VirtualMachineResize::request_execute(xmlrpc_c::paramList const& paramList,
|
||||
case VirtualMachine::DONE:
|
||||
case VirtualMachine::SUSPENDED:
|
||||
case VirtualMachine::ACTIVE:
|
||||
ostringstream oss;
|
||||
|
||||
oss << "Resize action is not available for state " << vm->state_str();
|
||||
|
||||
failure_response(ACTION,
|
||||
request_error("Wrong state to perform action",""),
|
||||
request_error(oss.str(),""),
|
||||
att);
|
||||
|
||||
vm->unlock();
|
||||
@ -2420,8 +2438,12 @@ void VirtualMachineRecover::request_execute(
|
||||
|
||||
if(vm->get_state() != VirtualMachine::ACTIVE)
|
||||
{
|
||||
ostringstream oss;
|
||||
|
||||
oss << "Recover action is not available for state " << vm->state_str();
|
||||
|
||||
failure_response(ACTION,
|
||||
request_error("Wrong state to perform action",""),
|
||||
request_error(oss.str(),""),
|
||||
att);
|
||||
|
||||
vm->unlock();
|
||||
|
Loading…
Reference in New Issue
Block a user