1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-03-26 06:50:09 +03:00

feature #203: Changed RM to use log functions

This commit is contained in:
Tino Vázquez 2010-07-13 13:49:16 +02:00
parent 16f7982cf3
commit fcb7ac0a23
35 changed files with 253 additions and 167 deletions

View File

@ -24,8 +24,6 @@
#include "VirtualNetworkPool.h"
#include "ImagePool.h"
#include "NebulaLog.h"
#include <xmlrpc-c/base.hpp>
#include <xmlrpc-c/registry.hpp>
#include <xmlrpc-c/server_abyss.hpp>
@ -183,10 +181,17 @@ private:
{
ostringstream oss;
oss << "[" << method << "]" << " User [" << uid << "] not authorized "
<< " to perform " << action << " on " << object
<< " [" << id << "]";
NebulaLog::log("RM",Log::ERROR,oss);
<< " to perform " << action << " on " << object;
if ( id != (int)NULL )
{
oss << " [" << id << "].";
}
else
{
oss << " Pool";
}
return oss.str();
}
@ -196,9 +201,8 @@ private:
ostringstream oss;
oss << "[" << method << "]" << " User couldn't be authenticated," <<
" aborting call";
NebulaLog::log("RM",Log::ERROR,oss);
" aborting call.";
return oss.str();
}
@ -209,7 +213,41 @@ private:
ostringstream oss;
oss << "[" << method << "]" << " Error getting " <<
object << " [" << id << "]";
object;
if ( id != (int)NULL )
{
oss << " [" << id << "].";
}
else
{
oss << " Pool.";
}
return oss.str();
}
static string action_error (const string& method,
const string &action,
const string &object,
int id,
int rc)
{
ostringstream oss;
oss << "[" << method << "]" << " Error trying to " << action << " "
<< object;
if ( id != (int)NULL )
{
oss << " [" << id << "].";
}
if ( rc != (int)NULL )
{
oss << " .Returned error code [" << rc << "].";
}
NebulaLog::log("RM",Log::ERROR,oss);
return oss.str();

View File

@ -42,6 +42,8 @@ void RequestManager::VirtualMachineAction::execute(
VirtualMachine * vm;
ostringstream oss;
const string method_name = "VirtualMachineAction";
NebulaLog::log("ReM",Log::DEBUG,"VirtualMachineAction invoked");
@ -150,23 +152,24 @@ error_operation:
goto error_common;
error_vm_get:
oss << "The virtual machine " << vid << " does not exists";
oss.str(get_error(method_name, "VM", vid));
goto error_common;
error_authenticate:
oss << "Error in user authentication";
oss.str(authenticate_error(method_name));
goto error_common;
error_authorize:
oss << "User not authorized to perform VM operation";
oss.str(authorization_error(method_name, "MANAGE", "VM", rc, vid));
goto error_common;
error_common:
arrayData.push_back(xmlrpc_c::value_boolean(false));
arrayData.push_back(xmlrpc_c::value_string(oss.str()));
xmlrpc_c::value_array arrayresult_error(arrayData);
NebulaLog::log("ReM",Log::ERROR,oss);
*retval = arrayresult_error;

View File

@ -28,6 +28,8 @@ void RequestManager::VirtualMachineAllocate::execute(
{
string session;
string vm_template;
const string method_name = "VirtualMachineAllocate";
int vid;
int rc;
@ -75,11 +77,11 @@ void RequestManager::VirtualMachineAllocate::execute(
return;
error_authenticate:
oss << "Error in user authentication";
oss.str(authenticate_error(method_name));
goto error_common;
error_allocate:
oss << "Error inserting VM in the database, check oned.log";
oss.str(action_error(method_name, "CREATE", "VM", NULL, rc));
goto error_common;
error_common:

View File

@ -29,6 +29,8 @@ void RequestManager::VirtualMachineCancel::execute(
// <vid> of the vid to retrieve the information for
int vid;
int uid;
const string method_name = "VirtualMachineCancel";
VirtualMachine * vm;
@ -95,15 +97,15 @@ void RequestManager::VirtualMachineCancel::execute(
return;
error_authenticate:
oss << "Error in user authentication";
oss.str(authenticate_error(method_name));
goto error_common;
error_authorize:
oss << "User not authorized to canel VM";
oss.str(authorization_error(method_name, "MANAGE", "VM", uid, vid));
goto error_common;
error_vm_get:
oss << "Error getting vm for cancelling with VID = " << vid;
oss.str(get_error(method_name, "VM", vid));
goto error_common;
error_common:

View File

@ -31,6 +31,8 @@ void RequestManager::ClusterAdd::execute(
int hid;
int clid;
int rc;
const string method_name = "ClusterAdd";
Host * host;
@ -101,22 +103,20 @@ void RequestManager::ClusterAdd::execute(
return;
error_authenticate:
oss << "User not authorized to add hosts to clusters";
oss.str(authenticate_error(method_name));
goto error_common;
error_authorize:
oss << "User not authorized to manage HOST";
oss.str(authorization_error(method_name, "MANAGE", "HOST", rc, hid));
goto error_common;
error_host_get:
oss << "The host " << hid << " does not exists";
oss.str(get_error(method_name, "HOST", hid));
goto error_common;
error_cluster_add:
host->unlock();
oss << "Can not add host " << hid << " to cluster " << clid <<
", returned error code [" << rc << "]";
oss.str(action_error(method_name, "MANAGE", "HOST", hid, rc));
goto error_common;
error_common:

View File

@ -29,8 +29,9 @@ void RequestManager::ClusterAllocate::execute(
string session;
string clustername;
int id;
const string method_name = "ClusterAllocate";
int rc;
ostringstream oss;
@ -86,16 +87,15 @@ void RequestManager::ClusterAllocate::execute(
return;
error_authenticate:
oss << "User not authorized to add new clusters";
oss.str(authenticate_error(method_name));
goto error_common;
error_authorize:
oss << "User not authorized to manage HOST";
oss.str(authorization_error(method_name, "MANAGE", "HOST", rc, -1));
goto error_common;
error_cluster_allocate:
oss << "Can not allocate cluster " << clustername <<
" in the ClusterPool, returned error code [" << rc << "]";
oss.str(action_error(method_name, "CREATE", "CLUSTER", NULL, rc));
goto error_common;
error_common:

View File

@ -32,6 +32,8 @@ void RequestManager::ClusterDelete::execute(
int clid;
ostringstream oss;
int rc;
const string method_name = "ClusterDelete";
/* -- RPC specific vars -- */
vector<xmlrpc_c::value> arrayData;
@ -83,16 +85,15 @@ void RequestManager::ClusterDelete::execute(
return;
error_authenticate:
oss << "User not authorized to delete clusters";
oss.str(authenticate_error(method_name));
goto error_common;
error_authorize:
oss << "User not authorized to manage HOST";
oss.str(authorization_error(method_name, "MANAGE", "HOST", rc, -1));
goto error_common;
error_cluster_delete:
oss << "Can not delete cluster with CLID " << clid <<
" from the ClusterPool, returned error code [" << rc << "]";
oss.str(action_error(method_name, "DELETE", "CLUSTER", clid, rc));
goto error_common;
error_common:

View File

@ -31,6 +31,8 @@ void RequestManager::ClusterInfo::execute(
int clid;
int rc;
const string method_name = "ClusterInfo";
ostringstream oss;
@ -73,11 +75,11 @@ void RequestManager::ClusterInfo::execute(
return;
error_authenticate:
oss << "User not authenticated, ClusterInfo call aborted.";
oss.str(authenticate_error(method_name));
goto error_common;
error_cluster:
oss << "Error getting cluster with CLID = " << clid;
oss.str(get_error(method_name, "CLUSTER", clid));
goto error_common;
error_common:

View File

@ -28,7 +28,9 @@ void RequestManager::ClusterPoolInfo::execute(
{
string session;
ostringstream oss;
int rc;
int rc;
const string method_name = "ClusterPoolInfo";
/* -- RPC specific vars -- */
vector<xmlrpc_c::value> arrayData;
@ -70,11 +72,11 @@ void RequestManager::ClusterPoolInfo::execute(
return;
error_authenticate:
oss << "User not authenticated, RequestManagerClusterPoolInfo aborted.";
oss.str(authenticate_error(method_name));
goto error_common;
error_dump:
oss << "Error getting Cluster pool";
oss.str(get_error(method_name, "CLUSTER", NULL));
goto error_common;
error_common:

View File

@ -26,12 +26,14 @@ void RequestManager::ClusterRemove::execute(
xmlrpc_c::paramList const& paramList,
xmlrpc_c::value * const retval)
{
string session;
string session;
int hid;
int rc;
const string method_name = "ClusterRemove";
int hid;
int rc;
Host * host;
Host * host;
ostringstream oss;
@ -99,26 +101,23 @@ void RequestManager::ClusterRemove::execute(
return;
error_authenticate:
oss << "User not authorized to remove hosts from clusters";
oss.str(authenticate_error(method_name));
goto error_common;
error_authorize:
oss << "User not authorized to manage HOST";
oss.str(authorization_error(method_name, "MANAGE", "HOST", rc, -1));
goto error_common;
error_host_get:
oss << "The host " << hid << " does not exists";
oss.str(get_error(method_name, "HOST", hid));
goto error_common;
error_cluster_remove:
host->unlock();
oss << "Can not remove host " << hid << " from its cluster, "
<< "returned error code [" << rc << "]";
oss.str(action_error(method_name, "MANAGE", "HOST", hid, rc));
goto error_common;
error_common:
arrayData.push_back(xmlrpc_c::value_boolean(false)); // FAILURE
arrayData.push_back(xmlrpc_c::value_string(oss.str()));

View File

@ -36,6 +36,8 @@ void RequestManager::VirtualMachineDeploy::execute(
string vmm_mad;
string tm_mad;
string vmdir;
const string method_name = "VirtualMachineDeploy";
VirtualMachine * vm;
Host * host;
@ -138,27 +140,28 @@ void RequestManager::VirtualMachineDeploy::execute(
return;
error_host_get:
oss << "The host " << hid << " does not exists";
oss.str(get_error(method_name, "HOST", hid));
goto error_common;
error_vm_get:
oss << "The virtual machine " << vid << " does not exists";
oss.str(get_error(method_name, "VM", vid));
goto error_common;
error_state:
oss << "Can not deploy VM, wrong state";
oss.str(action_error(method_name, "MANAGE", "VM", vid, rc));
oss << " Reason: VM in wrong state.";
goto error_common_lock;
error_authenticate:
oss << "Error in user authentication";
oss.str(authenticate_error(method_name));
goto error_common_lock;
error_authorize:
oss << "User not authorized to deploy VM on host";
oss.str(authorization_error(method_name, "MANAGE", "VM", rc, vid));
goto error_common_lock;
error_history:
oss << "Can not insert history to deploy VM";
oss.str(action_error(method_name, "INSERT HISTORY", "VM", vid, rc));
goto error_common_lock;
error_common_lock:
@ -167,6 +170,8 @@ error_common_lock:
error_common:
arrayData.push_back(xmlrpc_c::value_boolean(false));
arrayData.push_back(xmlrpc_c::value_string(oss.str()));
NebulaLog::log("ReM",Log::ERROR,oss);
xmlrpc_c::value_array arrayresult_error(arrayData);

View File

@ -32,6 +32,8 @@ void RequestManager::HostAllocate::execute(
string im_mad_name;
string vmm_mad_name;
string tm_mad_name;
const string method_name = "HostAllocate";
int hid;
@ -95,15 +97,15 @@ void RequestManager::HostAllocate::execute(
return;
error_authenticate:
oss << "Error in user authentication";
oss.str(authenticate_error(method_name));
goto error_common;
error_authorize:
oss << "User not authorized to allocate a new HOST";
oss.str(authorization_error(method_name, "CREATE", "HOST", rc, NULL));
goto error_common;
error_host_allocate:
oss << "Error inserting HOST in the database, check oned.log";
oss.str(action_error(method_name, "CREATE", "HOST", NULL, rc));
goto error_common;
error_common:

View File

@ -32,7 +32,9 @@ void RequestManager::HostDelete::execute(
int hid;
Host * host;
ostringstream oss;
int rc;
int rc;
const string method_name = "HostDelete";
/* -- RPC specific vars -- */
vector<xmlrpc_c::value> arrayData;
@ -89,15 +91,15 @@ void RequestManager::HostDelete::execute(
return;
error_authenticate:
oss << "Error in user authentication";
oss.str(authenticate_error(method_name));
goto error_common;
error_authorize:
oss << "User not authorized to delete HOST";
oss.str(authorization_error(method_name, "DELETE", "HOST", rc, hid));
goto error_common;
error_host_get:
oss << "Error getting host with HID = " <<hid;
oss.str(get_error(method_name, "HOST", hid));
goto error_common;
error_common:

View File

@ -30,12 +30,14 @@ void RequestManager::HostEnable::execute(
int hid;
int rc;
bool enable;
bool enable;
Host * host;
ostringstream oss;
const string method_name = "HostEnable";
/* -- RPC specific vars -- */
vector<xmlrpc_c::value> arrayData;
vector<xmlrpc_c::value> arrayData;
xmlrpc_c::value_array * arrayresult;
NebulaLog::log("ReM",Log::DEBUG,"HostEnable method invoked");
@ -97,15 +99,15 @@ void RequestManager::HostEnable::execute(
return;
error_authenticate:
oss << "Error in user authentication";
oss.str(authenticate_error(method_name));
goto error_common;
error_authorize:
oss << "User not authorized to enable HOST";
oss.str(authorization_error(method_name, "MANAGE", "HOST", rc, hid));
goto error_common;
error_host_get:
oss << "Error getting host with HID = " << hid;
oss.str(get_error(method_name, "HOST", hid));
goto error_common;
error_common:

View File

@ -31,6 +31,8 @@ void RequestManager::HostInfo::execute(
Host * host;
ostringstream oss;
const string method_name = "HostInfo";
/* -- RPC specific vars -- */
vector<xmlrpc_c::value> arrayData;
@ -75,15 +77,14 @@ void RequestManager::HostInfo::execute(
return;
error_authenticate:
oss << "Error in user authentication";
oss.str(authenticate_error(method_name));
goto error_common;
error_host_get:
oss << "Error getting host with HID = " << hid;
oss.str(get_error(method_name, "HOST", hid));
goto error_common;
error_common:
arrayData.push_back(xmlrpc_c::value_boolean(false)); // FAILURE
arrayData.push_back(xmlrpc_c::value_string(oss.str()));

View File

@ -26,7 +26,9 @@ void RequestManager::HostPoolInfo::execute(
{
string session;
ostringstream oss;
int rc;
int rc;
const string method_name = "HostPoolInfo";
/* -- RPC specific vars -- */
vector<xmlrpc_c::value> arrayData;
@ -68,11 +70,11 @@ void RequestManager::HostPoolInfo::execute(
return;
error_authenticate:
oss << "Error in user authentication";
oss.str(authenticate_error(method_name));
goto error_common;
error_dump:
oss << "Error getting host pool";
oss.str(get_error(method_name, "HOST", -1));
goto error_common;
error_common:

View File

@ -36,6 +36,8 @@ void RequestManager::ImageAllocate::execute(
int rc;
ostringstream oss;
const string method_name = "ImageAllocate";
vector<xmlrpc_c::value> arrayData;
xmlrpc_c::value_array * arrayresult;
@ -78,18 +80,11 @@ void RequestManager::ImageAllocate::execute(
return;
error_authenticate:
oss << "User not authenticated, aborting ImageAllocate call.";
oss.str(authenticate_error(method_name));
goto error_common;
error_allocate:
if (rc == -1)
{
oss << "Error allocating image, check oned.log";
}
else
{
oss << "Error parsing image template";
}
oss.str(action_error(method_name, "CREATE", "IMAGE", NULL, rc));
goto error_common;
error_common:

View File

@ -37,6 +37,8 @@ void RequestManager::ImageDelete::execute(
Image * image;
ostringstream oss;
const string method_name = "ImageDelete";
vector<xmlrpc_c::value> arrayData;
xmlrpc_c::value_array * arrayresult;
@ -101,19 +103,20 @@ void RequestManager::ImageDelete::execute(
return;
error_authenticate:
oss << "User not authenticated, aborting ImageDelete call.";
oss.str(authenticate_error(method_name));
goto error_common;
error_image_get:
oss << "Error getting image with ID = " << iid;
oss.str(get_error(method_name, "IMAGE", iid));
goto error_common;
error_authorize:
oss << "User not authorized to delete image, aborting ImageDelete call.";
oss.str(authorization_error(method_name, "DELETE", "IMAGE", uid, iid));
goto error_common;
error_delete:
oss << "Cannot delete image, VMs might be running on it.";
oss.str(action_error(method_name, "DELETE", "IMAGE", iid, rc));
oss << " VMs might be running on it.";
image->unlock();
goto error_common;

View File

@ -38,6 +38,8 @@ void RequestManager::ImageEnable::execute(
Image * image;
ostringstream oss;
const string method_name = "ImageEnable";
vector<xmlrpc_c::value> arrayData;
xmlrpc_c::value_array * arrayresult;
@ -104,20 +106,19 @@ void RequestManager::ImageEnable::execute(
return;
error_authenticate:
oss << "[ImageEnable] User not authenticated, aborting call.";
oss.str(authenticate_error(method_name));
goto error_common;
error_image_get:
oss << "[ImageEnable] Error getting image with ID = " << iid;
oss.str(get_error(method_name, "IMAGE", iid));
goto error_common;
error_authorize:
oss << "[ImageEnable] User not authorized to enable/disable image" <<
" attributes, aborting call.";
oss.str(authorization_error(method_name, "MANAGE", "IMAGE", uid, iid));
goto error_common;
error_enable:
oss << "[ImageEnable] Cannot enable/disable image [" << iid << "]";
oss.str(action_error(method_name, "ENABLE/DISABLE", "IMAGE", iid, rc));
image->unlock();
goto error_common;

View File

@ -34,6 +34,8 @@ void RequestManager::ImageInfo::execute(
Image * image;
ostringstream oss;
const string method_name = "ImageInfo";
/* -- RPC specific vars -- */
vector<xmlrpc_c::value> arrayData;
@ -97,17 +99,16 @@ void RequestManager::ImageInfo::execute(
return;
error_image_get:
oss << "Error getting image with ID = " << iid;
oss.str(get_error(method_name, "IMAGE", iid));
goto error_common;
error_authenticate:
oss << "Cannot authenticate user, aborting ImageInfo call.";
oss.str(authenticate_error(method_name));
image->unlock();
goto error_common;
error_authorize:
oss << "User not authorized to use image with " <<
"ID = " << iid << " , ImageInfo call aborted.";
oss.str(authorization_error(method_name, "USE", "IMAGE", rc, iid));
image->unlock();
goto error_common;

View File

@ -32,6 +32,8 @@ void RequestManager::ImagePoolInfo::execute(
int rc;
int uid;
int filter_flag;
const string method_name = "ImagePoolInfo";
/* -- RPC specific vars -- */
vector<xmlrpc_c::value> arrayData;
@ -109,11 +111,11 @@ void RequestManager::ImagePoolInfo::execute(
return;
error_authenticate:
oss << "User not authenticated, ImagePoolInfo call aborted.";
oss.str(authenticate_error(method_name));
goto error_common;
error_authorization:
oss << "User not authorized to perform this operation.";
oss.str(authorization_error(method_name, "USE", "IMAGE", uid, NULL));
goto error_common;
error_filter_flag:
@ -121,11 +123,10 @@ error_filter_flag:
goto error_common;
error_dump:
oss << "Error getting image pool";
oss.str(get_error(method_name, "IMAGE", -1));
goto error_common;
error_common:
arrayData.push_back(xmlrpc_c::value_boolean(false)); // FAILURE
arrayData.push_back(xmlrpc_c::value_string(oss.str()));

View File

@ -38,6 +38,8 @@ void RequestManager::ImagePublish::execute(
Image * image;
ostringstream oss;
const string method_name = "ImagePublish";
vector<xmlrpc_c::value> arrayData;
xmlrpc_c::value_array * arrayresult;
@ -102,16 +104,15 @@ void RequestManager::ImagePublish::execute(
return;
error_authenticate:
oss << "[ImagePublish] User not authenticated, aborting call.";
oss.str(authenticate_error(method_name));
goto error_common;
error_image_get:
oss << "[ImagePublish] Error getting image with ID = " << iid;
oss.str(get_error(method_name, "IMAGE", iid));
goto error_common;
error_authorize:
oss << "[ImagePublish] User not authorized to publish/unpublish image" <<
", aborting call.";
oss.str(authorization_error(method_name, "MANAGE", "IMAGE", uid, iid));
goto error_common;
error_common:

View File

@ -38,6 +38,8 @@ void RequestManager::ImageRemoveAttribute::execute(
Image * image;
ostringstream oss;
const string method_name = "ImageRemoveAttribute";
vector<xmlrpc_c::value> arrayData;
xmlrpc_c::value_array * arrayresult;
@ -105,21 +107,19 @@ void RequestManager::ImageRemoveAttribute::execute(
return;
error_authenticate:
oss << "[ImageRemoveAttribute] User not authenticated, aborting call.";
oss.str(authenticate_error(method_name));
goto error_common;
error_image_get:
oss << "[ImageRemoveAttribute] Error getting image with ID = " << iid;
oss.str(get_error(method_name, "IMAGE", iid));
goto error_common;
error_authorize:
oss << "[ImageRemoveAttribute] User not authorized to remove image" <<
" attributes aborting call.";
oss.str(authorization_error(method_name, "MANAGE", "IMAGE", uid, iid));
goto error_common;
error_remove_attribute:
oss << "[ImageRemoveAttribute] Cannot remove attribute with name = "
<< name << " for image [" << iid << "]";
oss.str(action_error(method_name, "PUBLISH/UNPUBLISH", "IMAGE", iid, rc));
image->unlock();
goto error_common;

View File

@ -42,7 +42,8 @@ void RequestManager::ImageUpdate::execute(
vector<xmlrpc_c::value> arrayData;
xmlrpc_c::value_array * arrayresult;
const string method_name = "ImageUpdate";
NebulaLog::log("ReM",Log::DEBUG,"ImageUpdate invoked");
@ -109,20 +110,19 @@ void RequestManager::ImageUpdate::execute(
return;
error_authenticate:
oss << "User not authenticated, aborting ImageUpdate call.";
oss.str(authenticate_error(method_name));
goto error_common;
error_image_get:
oss << "Error getting image with ID = " << iid;
oss.str(get_error(method_name, "IMAGE", iid));
goto error_common;
error_authorize:
oss << "User not authorized to modify image attributes " <<
", aborting ImageUpdate call.";
oss.str(authorization_error(method_name, "MANAGE", "IMAGE", uid, iid));
goto error_common;
error_update:
oss << "Cannot modify image [" << iid << "] attribute with name = " << name;
oss.str(action_error(method_name, "UPDATE ATTRIBUTE", "IMAGE", iid, rc));
image->unlock();
goto error_common;

View File

@ -29,7 +29,9 @@ void RequestManager::VirtualMachineInfo::execute(
int vid, rc;
VirtualMachine * vm;
ostringstream oss;
ostringstream oss;
const string method_name = "VirtualMachineInfo";
/* -- RPC specific vars -- */
vector<xmlrpc_c::value> arrayData;
@ -74,11 +76,11 @@ void RequestManager::VirtualMachineInfo::execute(
return;
error_authenticate:
oss << "Error in user authentication";
oss.str(authenticate_error(method_name));
goto error_common;
error_vm_get:
oss << "Error getting VM " << vid;
oss.str(get_error(method_name, "VM", vid));
goto error_common;
error_common:

View File

@ -48,6 +48,8 @@ void RequestManager::VirtualMachineMigrate::execute(
xmlrpc_c::value_array * arrayresult;
ostringstream oss;
const string method_name = "VirtualMachineMigrate";
NebulaLog::log("ReM",Log::DEBUG,"VirtualMachineMigrate invoked");
@ -146,27 +148,28 @@ void RequestManager::VirtualMachineMigrate::execute(
error_host_get:
oss << "The host " << hid << " does not exists";
oss.str(get_error(method_name, "HOST", hid));
goto error_common;
error_vm_get:
oss << "The virtual machine " << vid << " does not exists";
oss.str(get_error(method_name, "VM", vid));
goto error_common;
error_authenticate:
oss << "Error in user authentication";
oss.str(authenticate_error(method_name));
goto error_common_lock;
error_authorize:
oss << "User not authorized to migrate VM on host";
oss.str(authorization_error(method_name, "MANAGE", "VM", uid, vid));
goto error_common_lock;
error_history:
oss << "Can not insert history to migrate VM";
oss.str(action_error(method_name, "INSERT HISTORY", "VM", vid, rc));
goto error_common_lock;
error_state:
oss << "Can not migrate VM, wrong state";
oss.str(action_error(method_name, "MANAGE", "VM", vid, rc));
oss << " Reason: VM in wrong state.";
goto error_common_lock;
error_common_lock:

View File

@ -37,6 +37,8 @@ void RequestManager::VirtualMachinePoolInfo::execute(
/* -- RPC specific vars -- */
vector<xmlrpc_c::value> arrayData;
xmlrpc_c::value_array * arrayresult;
const string method_name = "VirtualMachinePoolInfo";
NebulaLog::log("ReM",Log::DEBUG,"VirtualMachinePoolInfo method invoked");
@ -86,11 +88,11 @@ void RequestManager::VirtualMachinePoolInfo::execute(
return;
error_authenticate:
oss << "Error in user authentication";
oss.str(authenticate_error(method_name));
goto error_common;
error_dump:
oss << "Error getting the pool info";
oss.str(get_error(method_name, "VM", -1));
goto error_common;
error_common:

View File

@ -37,6 +37,8 @@ void RequestManager::UserAllocate::execute(
ostringstream oss;
User * user;
const string method_name = "UserAllocate";
/* -- RPC specific vars -- */
vector<xmlrpc_c::value> arrayData;
@ -103,20 +105,21 @@ void RequestManager::UserAllocate::execute(
return;
error_authenticate:
oss << "User not authenticated, aborting UserAllocate call.";
oss.str(authenticate_error(method_name));
goto error_common;
error_authorize:
oss << "User not authorized to add new users, aborting UserAllocate call.";
oss.str(authorization_error(method_name, "CREATE", "USER", rc, NULL));
goto error_common;
error_duplicate:
oss << "Existing user, cannot duplicate.";
oss.str(action_error(method_name, "CREATE", "USER", NULL, NULL));
oss << " Reason: Existing user, cannot duplicate.";
goto error_common;
error_allocate:
oss << "Error allocating user.";
oss.str(action_error(method_name, "CREATE", "USER", NULL, rc));
goto error_common;
error_common:

View File

@ -26,13 +26,15 @@ void RequestManager::UserDelete::execute(
xmlrpc_c::paramList const& paramList,
xmlrpc_c::value * const retval)
{
string session;
string session;
int uid;
User * user;
int uid;
User * user;
int rc;
int rc;
ostringstream oss;
const string method_name = "UserDelete";
/* -- RPC specific vars -- */
vector<xmlrpc_c::value> arrayData;
@ -103,24 +105,24 @@ void RequestManager::UserDelete::execute(
return;
error_oneadmin_deletion:
oss << "User oneadmin cannot be deleted";
oss.str(action_error(method_name, "DELETE", "USER", uid, NULL));
oss << " Reason: Oneadmin cannot be deleted.";
goto error_common;
error_authenticate:
oss << "User not authenticated, aborting UserDelete call.";
oss.str(authenticate_error(method_name));
goto error_common;
error_authorize:
oss << "User not authorized to delete user with uid " << uid
<< ", aborting UserDelete call.";
oss.str(authorization_error(method_name, "DELETE", "USER", rc, uid));
goto error_common;
error_get_user:
oss << "Error retrieving user " << uid;
oss.str(get_error(method_name, "USER", uid));
goto error_common;
error_delete:
oss << "Error deleting user " << uid;
oss.str(action_error(method_name, "DELETE", "USER", uid, rc));
goto error_common;
error_common:

View File

@ -28,6 +28,8 @@ void RequestManager::UserPoolInfo::execute(
int rc;
ostringstream oss;
const string method_name = "UserPoolInfo";
/* -- RPC specific vars -- */
vector<xmlrpc_c::value> arrayData;
@ -67,15 +69,14 @@ void RequestManager::UserPoolInfo::execute(
return;
error_authenticate:
oss << "User not authorized to pull user pool info. Error code: " << rc;
oss.str(authenticate_error(method_name));
goto error_common;
error_dumping:
oss << "Error dumping pool info";
oss.str(get_error(method_name, "IMAGE", -1));
goto error_common;
error_common:
arrayData.push_back(xmlrpc_c::value_boolean(false)); // FAILURE
arrayData.push_back(xmlrpc_c::value_string(oss.str()));

View File

@ -39,6 +39,8 @@ void RequestManager::VirtualNetworkAllocate::execute(
User * user;
ostringstream oss;
const string method_name = "VirtualNetworkAllocate";
/* -- RPC specific vars -- */
vector<xmlrpc_c::value> arrayData;
@ -52,7 +54,7 @@ void RequestManager::VirtualNetworkAllocate::execute(
if ( User::split_secret(session,username,password) != 0 )
{
goto error_session;
goto error_authenticate;
}
// Now let's get the user
@ -86,16 +88,16 @@ void RequestManager::VirtualNetworkAllocate::execute(
return;
error_session:
oss << "Session information malformed, cannot allocate VirtualNetwork";
error_authenticate:
oss.str(authenticate_error(method_name));
goto error_common;
error_get_user:
oss << "User not recognized, cannot allocate VirtualNetwork";
oss.str(get_error(method_name, "USER", -1));
goto error_common;
error_vn_allocate:
oss << "Error allocating VN with template: " << endl << stemplate;
oss.str(action_error(method_name, "ALLOCATE", "NET", NULL, rc));
goto error_common;
error_common:

View File

@ -36,6 +36,8 @@ void RequestManager::VirtualNetworkDelete::execute(
int rc;
ostringstream oss;
const string method_name = "VirtualNetworkDelete";
/* -- RPC specific vars -- */
vector<xmlrpc_c::value> arrayData;
@ -94,19 +96,19 @@ void RequestManager::VirtualNetworkDelete::execute(
return;
error_authenticate:
oss << "User not authenticated, aborting VirtualNetworkDelete call";
oss.str(authenticate_error(method_name));
goto error_common;
error_authorize:
oss << "User not authorized to delete Virtual Network with NID = " << nid;
oss.str(authorization_error(method_name, "DELETE", "NET", rc, nid));
goto error_common;
error_vn_get:
oss << "Error getting Virtual Network with NID = " << nid;
oss.str(get_error(method_name, "NET", nid));
goto error_common;
error_common:
NebulaLog::log ("Rem",Log::ERROR,oss);
NebulaLog::log ("ReM",Log::ERROR,oss);
arrayData.push_back(xmlrpc_c::value_boolean(false)); // FAILURE
arrayData.push_back(xmlrpc_c::value_string(oss.str()));

View File

@ -35,6 +35,8 @@ void RequestManager::VirtualNetworkInfo::execute(
VirtualNetwork * vn;
ostringstream oss;
const string method_name = "VirtualNetworkInfo";
/* -- RPC specific vars -- */
vector<xmlrpc_c::value> arrayData;
@ -95,17 +97,16 @@ void RequestManager::VirtualNetworkInfo::execute(
return;
error_authenticate:
oss << "User not authenticated, VirtualNetworkInfo call aborted.";
oss.str(authenticate_error(method_name));
goto error_common;
error_vn_get:
oss << "Error getting Virtual Network with NID = " << nid;
oss.str(get_error(method_name, "NET", nid));
goto error_common;
error_authorize:
vn->unlock();
oss << "User not authorized to view VirtualNetwork" <<
", VirtualNetworkInfo call aborted.";
oss.str(authorization_error(method_name, "USE", "NET", rc, nid));
goto error_common;
error_common:

View File

@ -31,11 +31,13 @@ void RequestManager::VirtualNetworkPoolInfo::execute(
ostringstream oss;
ostringstream where_string;
int rc;
int rc;
int filter_flag;
User * user;
const string method_name = "VirtualNetworkPoolInfo";
/* -- RPC specific vars -- */
vector<xmlrpc_c::value> arrayData;
xmlrpc_c::value_array * arrayresult;
@ -105,15 +107,15 @@ void RequestManager::VirtualNetworkPoolInfo::execute(
return;
error_authenticate:
oss << "User not authenticated, NetworkPoolInfo call aborted.";
oss.str(authenticate_error(method_name));
goto error_common;
error_get_user:
oss << "Error getting user, aborting NetworkPoolInfo call";
oss.str(get_error(method_name, "USER", -1));
goto error_common;
error_dump:
oss << "Error getting virtual network pool";
oss.str(get_error(method_name, "HOST", -1));
goto error_common;
error_common:

View File

@ -39,6 +39,8 @@ void RequestManager::VirtualNetworkPublish::execute(
ostringstream oss;
const string method_name = "VirtualNetworkPublish";
vector<xmlrpc_c::value> arrayData;
xmlrpc_c::value_array * arrayresult;
@ -102,16 +104,15 @@ void RequestManager::VirtualNetworkPublish::execute(
return;
error_authenticate:
oss << "[VirtualNetworkPublish] User not authenticated, aborting call.";
oss.str(authenticate_error(method_name));
goto error_common;
error_vn_get:
oss << "[VirtualNetworkPublish] Error getting VN with ID = " << nid;
oss.str(get_error(method_name, "NET", nid));
goto error_common;
error_authorize:
oss << "[VirtualNetworkPublish] User not authorized to (un)publish VN" <<
", aborting call.";
oss.str(authorization_error(method_name, "MANAGE", "NET", uid, nid));
vn->unlock();
goto error_common;