mirror of
https://github.com/OpenNebula/one.git
synced 2025-03-22 18:50:08 +03:00
feature #523: ImageManager and RequestManager integration
This commit is contained in:
parent
9799a3bc20
commit
b9222df0e3
@ -313,6 +313,11 @@ int ImageManager::delete_image(int iid)
|
||||
|
||||
const ImageManagerDriver* imd = get();
|
||||
|
||||
if ( imd == 0 )
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
imd->rm(img->get_oid(),img->get_source());
|
||||
|
||||
img->unlock();
|
||||
|
@ -196,7 +196,7 @@ void ImageManagerDriver::protocol(
|
||||
|
||||
source = image->get_source();
|
||||
|
||||
ipool->drop(image);
|
||||
rc = ipool->drop(image);
|
||||
|
||||
image->unlock();
|
||||
|
||||
@ -213,8 +213,8 @@ void ImageManagerDriver::protocol(
|
||||
{
|
||||
ostringstream oss;
|
||||
|
||||
oss << "Error removing image from repository. Remove file " << source
|
||||
<< " to completely delete image.";
|
||||
oss <<"Error removing image from repository. Remove file " << source
|
||||
<<" to completely delete image.";
|
||||
|
||||
NebulaLog::log("ImM",Log::ERROR,oss);
|
||||
}
|
||||
|
@ -36,5 +36,7 @@ fi
|
||||
|
||||
SRC=$1
|
||||
|
||||
log "Removing $SRC from the image repository"
|
||||
exec_and_log "rm $SRC"
|
||||
if [ -e $SRC ] ; then
|
||||
log "Removing $SRC from the image repository"
|
||||
exec_and_log "rm $SRC"
|
||||
fi
|
||||
|
@ -48,7 +48,7 @@ void RequestManager::ImageAllocate::execute(
|
||||
vector<xmlrpc_c::value> arrayData;
|
||||
xmlrpc_c::value_array * arrayresult;
|
||||
|
||||
Nebula& nd = Nebula::instance();
|
||||
Nebula& nd = Nebula::instance();
|
||||
ImageManager * imagem = nd.get_imagem();
|
||||
|
||||
NebulaLog::log("ReM",Log::DEBUG,"ImageAllocate invoked");
|
||||
@ -58,7 +58,7 @@ void RequestManager::ImageAllocate::execute(
|
||||
str_template += "\n";
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Authorize this request
|
||||
// Authenticate this request
|
||||
//--------------------------------------------------------------------------
|
||||
uid = ImageAllocate::upool->authenticate(session);
|
||||
|
||||
@ -101,7 +101,6 @@ void RequestManager::ImageAllocate::execute(
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Get the User Name
|
||||
//--------------------------------------------------------------------------
|
||||
@ -129,6 +128,9 @@ void RequestManager::ImageAllocate::execute(
|
||||
goto error_allocate;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// Register the Image in the repository
|
||||
//--------------------------------------------------------------------------
|
||||
if ( imagem->register_image(rc) == -1 )
|
||||
{
|
||||
goto error_register;
|
||||
|
@ -46,6 +46,8 @@ void RequestManager::ImageDelete::execute(
|
||||
vector<xmlrpc_c::value> arrayData;
|
||||
xmlrpc_c::value_array * arrayresult;
|
||||
|
||||
Nebula& nd = Nebula::instance();
|
||||
ImageManager * imagem = nd.get_imagem();
|
||||
|
||||
NebulaLog::log("ReM",Log::DEBUG,"ImageDelete invoked");
|
||||
|
||||
@ -91,17 +93,8 @@ void RequestManager::ImageDelete::execute(
|
||||
}
|
||||
}
|
||||
|
||||
// Get image from the ImagePool
|
||||
image = ImageDelete::ipool->get(iid,true);
|
||||
|
||||
if ( image == 0 )
|
||||
{
|
||||
goto error_image_get;
|
||||
}
|
||||
|
||||
rc = ImageDelete::ipool->drop(image);
|
||||
|
||||
image->unlock();
|
||||
// Delete the Image from the repository
|
||||
rc = imagem->delete_image(iid);
|
||||
|
||||
if ( rc < 0 )
|
||||
{
|
||||
@ -133,7 +126,7 @@ error_authorize:
|
||||
|
||||
error_delete:
|
||||
oss << action_error(method_name, "DELETE", "IMAGE", iid, rc)
|
||||
<< ". Reason: VMs might be running on it.";
|
||||
<< ". Image is in use.";
|
||||
image->unlock();
|
||||
goto error_common;
|
||||
|
||||
|
@ -48,9 +48,9 @@ void RequestManager::ImageEnable::execute(
|
||||
vector<xmlrpc_c::value> arrayData;
|
||||
xmlrpc_c::value_array * arrayresult;
|
||||
|
||||
Nebula& nd = Nebula::instance();
|
||||
Nebula& nd = Nebula::instance();
|
||||
ImageManager * imagem = nd.get_imagem();
|
||||
|
||||
|
||||
NebulaLog::log("ReM",Log::DEBUG,"ImageEnable invoked");
|
||||
|
||||
session = xmlrpc_c::value_string (paramList.getString(0));
|
||||
@ -95,26 +95,14 @@ void RequestManager::ImageEnable::execute(
|
||||
}
|
||||
}
|
||||
|
||||
// Get image from the ImagePool
|
||||
image = ImageEnable::ipool->get(iid,true);
|
||||
|
||||
if ( image == 0 )
|
||||
{
|
||||
goto error_image_get;
|
||||
}
|
||||
|
||||
//TODO rc = image->enable(enable_flag);
|
||||
// Enable the Image
|
||||
rc = imagem->enable_image(iid,enable_flag);
|
||||
|
||||
if ( rc < 0 )
|
||||
{
|
||||
goto error_enable;
|
||||
|
||||
}
|
||||
|
||||
ImageEnable::ipool->update(image);
|
||||
|
||||
image->unlock();
|
||||
|
||||
arrayData.push_back(xmlrpc_c::value_boolean(true));
|
||||
arrayData.push_back(xmlrpc_c::value_int(iid));
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user