diff --git a/include/RequestManager.h b/include/RequestManager.h index d59c0b9ed4..6b118cc454 100644 --- a/include/RequestManager.h +++ b/include/RequestManager.h @@ -24,8 +24,6 @@ #include "VirtualNetworkPool.h" #include "ImagePool.h" -#include "NebulaLog.h" - #include #include #include @@ -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(); diff --git a/src/rm/RequestManagerAction.cc b/src/rm/RequestManagerAction.cc index cb9032de67..11ff2f1b9e 100644 --- a/src/rm/RequestManagerAction.cc +++ b/src/rm/RequestManagerAction.cc @@ -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; diff --git a/src/rm/RequestManagerAllocate.cc b/src/rm/RequestManagerAllocate.cc index 84f5556838..f91ffde242 100644 --- a/src/rm/RequestManagerAllocate.cc +++ b/src/rm/RequestManagerAllocate.cc @@ -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: diff --git a/src/rm/RequestManagerCancel.cc b/src/rm/RequestManagerCancel.cc index 91178be808..85322e3e0f 100644 --- a/src/rm/RequestManagerCancel.cc +++ b/src/rm/RequestManagerCancel.cc @@ -29,6 +29,8 @@ void RequestManager::VirtualMachineCancel::execute( // 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: diff --git a/src/rm/RequestManagerClusterAdd.cc b/src/rm/RequestManagerClusterAdd.cc index 3f75b2c97e..199928e6e4 100644 --- a/src/rm/RequestManagerClusterAdd.cc +++ b/src/rm/RequestManagerClusterAdd.cc @@ -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: diff --git a/src/rm/RequestManagerClusterAllocate.cc b/src/rm/RequestManagerClusterAllocate.cc index c64b72b9c4..05dbb647f2 100644 --- a/src/rm/RequestManagerClusterAllocate.cc +++ b/src/rm/RequestManagerClusterAllocate.cc @@ -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: diff --git a/src/rm/RequestManagerClusterDelete.cc b/src/rm/RequestManagerClusterDelete.cc index 23c407fc09..e840dd6689 100644 --- a/src/rm/RequestManagerClusterDelete.cc +++ b/src/rm/RequestManagerClusterDelete.cc @@ -32,6 +32,8 @@ void RequestManager::ClusterDelete::execute( int clid; ostringstream oss; int rc; + + const string method_name = "ClusterDelete"; /* -- RPC specific vars -- */ vector 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: diff --git a/src/rm/RequestManagerClusterInfo.cc b/src/rm/RequestManagerClusterInfo.cc index 4c088636e1..c11208b56f 100644 --- a/src/rm/RequestManagerClusterInfo.cc +++ b/src/rm/RequestManagerClusterInfo.cc @@ -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: diff --git a/src/rm/RequestManagerClusterPoolInfo.cc b/src/rm/RequestManagerClusterPoolInfo.cc index b3ec68a89a..46d6a28d52 100755 --- a/src/rm/RequestManagerClusterPoolInfo.cc +++ b/src/rm/RequestManagerClusterPoolInfo.cc @@ -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 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: diff --git a/src/rm/RequestManagerClusterRemove.cc b/src/rm/RequestManagerClusterRemove.cc index 91df8d0a79..573e1aeb00 100644 --- a/src/rm/RequestManagerClusterRemove.cc +++ b/src/rm/RequestManagerClusterRemove.cc @@ -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())); diff --git a/src/rm/RequestManagerDeploy.cc b/src/rm/RequestManagerDeploy.cc index d31a5d9460..97b272a1d1 100644 --- a/src/rm/RequestManagerDeploy.cc +++ b/src/rm/RequestManagerDeploy.cc @@ -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); diff --git a/src/rm/RequestManagerHostAllocate.cc b/src/rm/RequestManagerHostAllocate.cc index c78971497f..5fcbcc91c2 100644 --- a/src/rm/RequestManagerHostAllocate.cc +++ b/src/rm/RequestManagerHostAllocate.cc @@ -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: diff --git a/src/rm/RequestManagerHostDelete.cc b/src/rm/RequestManagerHostDelete.cc index 4bd0c50333..0a453a8f56 100644 --- a/src/rm/RequestManagerHostDelete.cc +++ b/src/rm/RequestManagerHostDelete.cc @@ -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 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 = " < arrayData; + vector 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: diff --git a/src/rm/RequestManagerHostInfo.cc b/src/rm/RequestManagerHostInfo.cc index 3bff4b530c..c94b73c24f 100644 --- a/src/rm/RequestManagerHostInfo.cc +++ b/src/rm/RequestManagerHostInfo.cc @@ -31,6 +31,8 @@ void RequestManager::HostInfo::execute( Host * host; ostringstream oss; + + const string method_name = "HostInfo"; /* -- RPC specific vars -- */ vector 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())); diff --git a/src/rm/RequestManagerHostPoolInfo.cc b/src/rm/RequestManagerHostPoolInfo.cc index 945bbe6471..babb66b745 100755 --- a/src/rm/RequestManagerHostPoolInfo.cc +++ b/src/rm/RequestManagerHostPoolInfo.cc @@ -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 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: diff --git a/src/rm/RequestManagerImageAllocate.cc b/src/rm/RequestManagerImageAllocate.cc index 64f8d064c4..10f47a047c 100644 --- a/src/rm/RequestManagerImageAllocate.cc +++ b/src/rm/RequestManagerImageAllocate.cc @@ -36,6 +36,8 @@ void RequestManager::ImageAllocate::execute( int rc; ostringstream oss; + + const string method_name = "ImageAllocate"; vector 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: diff --git a/src/rm/RequestManagerImageDelete.cc b/src/rm/RequestManagerImageDelete.cc index 403833f137..846e77109b 100644 --- a/src/rm/RequestManagerImageDelete.cc +++ b/src/rm/RequestManagerImageDelete.cc @@ -37,6 +37,8 @@ void RequestManager::ImageDelete::execute( Image * image; ostringstream oss; + + const string method_name = "ImageDelete"; vector 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; diff --git a/src/rm/RequestManagerImageEnable.cc b/src/rm/RequestManagerImageEnable.cc index 2f16ee6417..e21110b42c 100644 --- a/src/rm/RequestManagerImageEnable.cc +++ b/src/rm/RequestManagerImageEnable.cc @@ -38,6 +38,8 @@ void RequestManager::ImageEnable::execute( Image * image; ostringstream oss; + + const string method_name = "ImageEnable"; vector 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; diff --git a/src/rm/RequestManagerImageInfo.cc b/src/rm/RequestManagerImageInfo.cc index a21adaee2f..cb3c838de4 100644 --- a/src/rm/RequestManagerImageInfo.cc +++ b/src/rm/RequestManagerImageInfo.cc @@ -34,6 +34,8 @@ void RequestManager::ImageInfo::execute( Image * image; ostringstream oss; + + const string method_name = "ImageInfo"; /* -- RPC specific vars -- */ vector 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; diff --git a/src/rm/RequestManagerImagePoolInfo.cc b/src/rm/RequestManagerImagePoolInfo.cc index e1880b4fc7..b0c3b4e64d 100755 --- a/src/rm/RequestManagerImagePoolInfo.cc +++ b/src/rm/RequestManagerImagePoolInfo.cc @@ -32,6 +32,8 @@ void RequestManager::ImagePoolInfo::execute( int rc; int uid; int filter_flag; + + const string method_name = "ImagePoolInfo"; /* -- RPC specific vars -- */ vector 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())); diff --git a/src/rm/RequestManagerImagePublish.cc b/src/rm/RequestManagerImagePublish.cc index cfd0bc8bd9..ad3d1c899b 100644 --- a/src/rm/RequestManagerImagePublish.cc +++ b/src/rm/RequestManagerImagePublish.cc @@ -38,6 +38,8 @@ void RequestManager::ImagePublish::execute( Image * image; ostringstream oss; + + const string method_name = "ImagePublish"; vector 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: diff --git a/src/rm/RequestManagerImageRemoveAttribute.cc b/src/rm/RequestManagerImageRemoveAttribute.cc index b00c88c1ef..2aba7ffc7d 100644 --- a/src/rm/RequestManagerImageRemoveAttribute.cc +++ b/src/rm/RequestManagerImageRemoveAttribute.cc @@ -38,6 +38,8 @@ void RequestManager::ImageRemoveAttribute::execute( Image * image; ostringstream oss; + + const string method_name = "ImageRemoveAttribute"; vector 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; diff --git a/src/rm/RequestManagerImageUpdate.cc b/src/rm/RequestManagerImageUpdate.cc index 4af4a054a7..5783c7dad7 100644 --- a/src/rm/RequestManagerImageUpdate.cc +++ b/src/rm/RequestManagerImageUpdate.cc @@ -42,7 +42,8 @@ void RequestManager::ImageUpdate::execute( vector 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; diff --git a/src/rm/RequestManagerInfo.cc b/src/rm/RequestManagerInfo.cc index d53624efe8..1fed884046 100644 --- a/src/rm/RequestManagerInfo.cc +++ b/src/rm/RequestManagerInfo.cc @@ -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 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: diff --git a/src/rm/RequestManagerMigrate.cc b/src/rm/RequestManagerMigrate.cc index 11088a6ddd..5658020871 100644 --- a/src/rm/RequestManagerMigrate.cc +++ b/src/rm/RequestManagerMigrate.cc @@ -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: diff --git a/src/rm/RequestManagerPoolInfo.cc b/src/rm/RequestManagerPoolInfo.cc index 6196da19c7..ba4d4dfd5c 100644 --- a/src/rm/RequestManagerPoolInfo.cc +++ b/src/rm/RequestManagerPoolInfo.cc @@ -37,6 +37,8 @@ void RequestManager::VirtualMachinePoolInfo::execute( /* -- RPC specific vars -- */ vector 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: diff --git a/src/rm/RequestManagerUserAllocate.cc b/src/rm/RequestManagerUserAllocate.cc index e38bb4ee45..e31759295d 100644 --- a/src/rm/RequestManagerUserAllocate.cc +++ b/src/rm/RequestManagerUserAllocate.cc @@ -37,6 +37,8 @@ void RequestManager::UserAllocate::execute( ostringstream oss; User * user; + + const string method_name = "UserAllocate"; /* -- RPC specific vars -- */ vector 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: diff --git a/src/rm/RequestManagerUserDelete.cc b/src/rm/RequestManagerUserDelete.cc index d1a388ea67..c6817d2b00 100644 --- a/src/rm/RequestManagerUserDelete.cc +++ b/src/rm/RequestManagerUserDelete.cc @@ -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 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: diff --git a/src/rm/RequestManagerUserPoolInfo.cc b/src/rm/RequestManagerUserPoolInfo.cc index 96bd11f977..7138a4a3a2 100644 --- a/src/rm/RequestManagerUserPoolInfo.cc +++ b/src/rm/RequestManagerUserPoolInfo.cc @@ -28,6 +28,8 @@ void RequestManager::UserPoolInfo::execute( int rc; ostringstream oss; + + const string method_name = "UserPoolInfo"; /* -- RPC specific vars -- */ vector 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())); diff --git a/src/rm/RequestManagerVirtualNetworkAllocate.cc b/src/rm/RequestManagerVirtualNetworkAllocate.cc index 3c97f902b2..1be91fdb19 100644 --- a/src/rm/RequestManagerVirtualNetworkAllocate.cc +++ b/src/rm/RequestManagerVirtualNetworkAllocate.cc @@ -39,6 +39,8 @@ void RequestManager::VirtualNetworkAllocate::execute( User * user; ostringstream oss; + + const string method_name = "VirtualNetworkAllocate"; /* -- RPC specific vars -- */ vector 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: diff --git a/src/rm/RequestManagerVirtualNetworkDelete.cc b/src/rm/RequestManagerVirtualNetworkDelete.cc index 6ffe35e113..d365f36ca3 100644 --- a/src/rm/RequestManagerVirtualNetworkDelete.cc +++ b/src/rm/RequestManagerVirtualNetworkDelete.cc @@ -36,6 +36,8 @@ void RequestManager::VirtualNetworkDelete::execute( int rc; ostringstream oss; + + const string method_name = "VirtualNetworkDelete"; /* -- RPC specific vars -- */ vector 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())); diff --git a/src/rm/RequestManagerVirtualNetworkInfo.cc b/src/rm/RequestManagerVirtualNetworkInfo.cc index 5649c96b35..0ce88949e6 100644 --- a/src/rm/RequestManagerVirtualNetworkInfo.cc +++ b/src/rm/RequestManagerVirtualNetworkInfo.cc @@ -35,6 +35,8 @@ void RequestManager::VirtualNetworkInfo::execute( VirtualNetwork * vn; ostringstream oss; + + const string method_name = "VirtualNetworkInfo"; /* -- RPC specific vars -- */ vector 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: diff --git a/src/rm/RequestManagerVirtualNetworkPoolInfo.cc b/src/rm/RequestManagerVirtualNetworkPoolInfo.cc index ac1294d203..216d3d82f5 100755 --- a/src/rm/RequestManagerVirtualNetworkPoolInfo.cc +++ b/src/rm/RequestManagerVirtualNetworkPoolInfo.cc @@ -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 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: diff --git a/src/rm/RequestManagerVirtualNetworkPublish.cc b/src/rm/RequestManagerVirtualNetworkPublish.cc index f60bb538eb..6d6874f52b 100644 --- a/src/rm/RequestManagerVirtualNetworkPublish.cc +++ b/src/rm/RequestManagerVirtualNetworkPublish.cc @@ -39,6 +39,8 @@ void RequestManager::VirtualNetworkPublish::execute( ostringstream oss; + const string method_name = "VirtualNetworkPublish"; + vector 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;