[one-users] Bug with delete action and persistent storage

Nicolas AGIUS nicolas.agius at lps-it.fr
Fri Mar 23 10:26:25 PDT 2012


Hi,
I found a small bug in OpenNebula v3.2.1.

When I try to delete a VM with a persistent image, the image switch in the ERROR state and the following trace appear in the log :

------
[ImM][I]: Moving disk /var/lib/one/64/disk.0 to repository image 15
[VMM][D]: Message received: LOG I 64 Driver command for 64 cancelled
[ImG][D]: Message received: LOG I 15 Command execution fail: /var/lib/one/remotes/image/fs/mv /var/lib/one/64/disk.0 /var/lib/one/images/5f4cc7519564396f02e99a59e5bd45c0 15 15
[ImM][I]: Command execution fail: /var/lib/one/remotes/image/fs/mv /var/lib/one/64/disk.0 /var/lib/one/images/5f4cc7519564396f02e99a59e5bd45c0 15 15
[ImG][D]: Message received: LOG I 15 mv: Moving local image /var/lib/one/64/disk.0 to the image repository
[ImM][I]: mv: Moving local image /var/lib/one/64/disk.0 to the image repository
[ImG][D]: Message received: LOG E 15 mv: Command "mv -f /var/lib/one/64/disk.0 /var/lib/one/images/5f4cc7519564396f02e99a59e5bd45c0" failed.
[ImM][E]: mv: Command "mv -f /var/lib/one/64/disk.0 /var/lib/one/images/5f4cc7519564396f02e99a59e5bd45c0" failed.
[ImG][D]: Message received: LOG E 15 mv: mv: cannot stat `/var/lib/one/64/disk.0': No such file or directory
[ImM][E]: mv: mv: cannot stat `/var/lib/one/64/disk.0': No such file or directory
[ImG][D]: Message received: LOG E 15 Could not move /var/lib/one/64/disk.0 to /var/lib/one/images/5f4cc7519564396f02e99a59e5bd45c0
[ImM][E]: Could not move /var/lib/one/64/disk.0 to /var/lib/one/images/5f4cc7519564396f02e99a59e5bd45c0
[ImG][D]: Message received: LOG I 15 ExitCode: 1
[ImM][I]: ExitCode: 1
[ImG][D]: Message received: MV FAILURE 15 Could not move /var/lib/one/64/disk.0 to /var/lib/one/images/5f4cc7519564396f02e99a59e5bd45c0
[ImM][E]: Error saving image to the repository: Could not move /var/lib/one/64/disk.0 to /var/lib/one/images/5f4cc7519564396f02e99a59e5bd45c0
--------

It seems that the delete action is doing the following steps :
 - Move image to the repo
 - Delete image on the host
 - Destroy the vm

But the image is not transferred and cause the error. I thinks steps should be :
 - Destroy the vm
 - Copy back the image from the host
 - Move image to the repo

 - Delete image on the host

I've tried to fix it,  but I got lost somewhere between C++ and Ruby...

Subsidiary question, why is the core written in C++ and not in Ruby ?

Thanks,
Nicolas AGIUS

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opennebula.org/pipermail/users-opennebula.org/attachments/20120323/a869307b/attachment-0002.htm>


More information about the Users mailing list