[one-users] bug in image.rb HOOK? ('onevm saveas' command)

Marco Strutz marco.strutz at desy.de
Thu Feb 10 03:55:25 PST 2011


Hi Carlos.

Very strange: After running ttylinux and enabling the saveas-feature
('onevm saveas 318 0 "318_archived"') I get the following error message
(vm.log) after deleting this instance:
    Thu Feb 10 12:24:31 2011 [VMM][W]: Ignored: CANCEL SUCCESS 318
Domain one-318 destroyed
    Thu Feb 10 12:24:31 2011 [HKM][I]: Command execution fail:
/srv/cloud/one/share/hooks/image.rb 318
    Thu Feb 10 12:24:31 2011 [HKM][I]: STDERR follows.
    Thu Feb 10 12:24:31 2011 [HKM][I]: ExitCode: 255
    Thu Feb 10 12:24:31 2011 [HKM][E]: Error executing Hook: image.

After debugging $ONE_LOCATION/share/hooks/image.rb there might be a
problem with the proper image location:
    line 75 in $ONE_LOCATION/share/hooks/image.rb (result =
img_repo.update_source(image, source_path) outputs
    "No such file or directory - /srv/cloud/one/var/318/disk.0 or
/srv/cloud/one/var//images/7c6f81fcb5b4dec12ab3fa63913b16b4ba1e2d12"

All disk images of my vm's are deployed to $ONE_LOCATION/var/<vm_id>/images/
If I get the error message right, it tries to lookup for the disks in
$ONE_LOCATION/var/<vm_id>/

I need your help. Can that be right?

(detailed logs see below)


Thanks in advance
Marco




$ cat ttylinux.one
###############################################################################
NAME   = ttylinux
CPU    = 0.1
MEMORY = 64

DISK   = [
  source   = "/srv/cloud/one/testing/ttylinux.img",
  target   = "hda",
  readonly = "no" ]

FEATURES=[ acpi="no" ]

GRAPHICS = [
        type = "vnc",
        listen = "0.0.0.0",
        port = "5901" ]



$ onevm create ttylinux.one
###############################################################################



$ onevm list
###############################################################################
   ID     USER     NAME STAT CPU     MEM        HOSTNAME        TIME
  318 oneadmin ttylinux runn   0      0K     testbed07 00 00:00:08



$ onevm show 318
###############################################################################
VIRTUAL MACHINE 318
INFORMATION                                                
ID             : 318                
NAME           : ttylinux           
STATE          : ACTIVE             
LCM_STATE      : RUNNING            
START TIME     : 02/10 12:20:34     
END TIME       : -                  
DEPLOY ID:     : one-318            

VIRTUAL MACHINE
MONITORING                                                     
NET_TX         : 0                  
NET_RX         : 0                  
USED MEMORY    : 0                  
USED CPU       : 0                  

VIRTUAL MACHINE
TEMPLATE                                                       
CPU=0.1
DISK=[
  DISK_ID=0,
  READONLY=no,
  SOURCE=/srv/cloud/one/testing/ttylinux.img,
  TARGET=hda ]
FEATURES=[
  ACPI=no ]
GRAPHICS=[
  LISTEN=0.0.0.0,
  PORT=5901,
  TYPE=vnc ]
MEMORY=64
NAME=ttylinux
VMID=318



$ ls -la var/318/
###############################################################################
total 24
drwxrwxrwx   3 oneadmin cloud   75 2011-02-10 12:20 .
drwxr-xr-x 323 oneadmin cloud 8192 2011-02-10 12:20 ..
-rw-r--r--   1 oneadmin cloud  416 2011-02-10 12:20 deployment.0
drwxrwxrwx   2 oneadmin cloud   38 2011-02-10 12:20 images
-rw-r--r--   1 oneadmin cloud  104 2011-02-10 12:20 transfer.0.prolog
-rw-r--r--   1 oneadmin cloud 1266 2011-02-10 12:20 vm.log
$ ls -la var/318/images/
total 40964
drwxrwxrwx 2 oneadmin cloud       38 2011-02-10 12:20 .
drwxrwxrwx 3 oneadmin cloud       75 2011-02-10 12:20 ..
-rw-r--r-- 1 oneadmin cloud      416 2011-02-10 12:20 deployment.0
-rw-rw-rw- 1 oneadmin cloud 41943040 2011-02-10 12:21 disk.0



$ onevm saveas 318 0 "318_archived"
###############################################################################



$ onevm show 318
###############################################################################
VIRTUAL MACHINE 318
INFORMATION                                                
ID             : 318                
NAME           : ttylinux           
STATE          : ACTIVE             
LCM_STATE      : RUNNING            
START TIME     : 02/10 12:20:34     
END TIME       : -                  
DEPLOY ID:     : one-318            

VIRTUAL MACHINE
MONITORING                                                     
NET_TX         : 0                  
NET_RX         : 0                  
USED MEMORY    : 0                  
USED CPU       : 0                  

VIRTUAL MACHINE
TEMPLATE                                                       
CPU=0.1
DISK=[
  DISK_ID=0,
  READONLY=no,
  SAVE=YES,
  SAVE_AS=37,
  SOURCE=/srv/cloud/one/testing/ttylinux.img,
  TARGET=hda ]
FEATURES=[
  ACPI=no ]
GRAPHICS=[
  LISTEN=0.0.0.0,
  PORT=5901,
  TYPE=vnc ]
MEMORY=64
NAME=ttylinux
VMID=318



$ oneimage show 37
###############################################################################
IMAGE 
INFORMATION                                                             
ID             : 37                 
NAME           : 318_archived       
TYPE           : OS                 
REGISTER TIME  : 02/10 12:22:50     
PUBLIC         : No                 
PERSISTENT     : No                 
SOURCE         :
/srv/cloud/one/var//images/7c6f81fcb5b4dec12ab3fa63913b16b4ba1e2d12
STATE          : disa               
RUNNING_VMS    : 0                  

IMAGE
TEMPLATE                                                                 
DEV_PREFIX=hd
NAME=318_archived



$ ls -la /srv/cloud/one/var//images/7c6f81fcb5b4dec12ab3fa63913b16b4ba1e2d12
###############################################################################
ls: cannot access
/srv/cloud/one/var//images/7c6f81fcb5b4dec12ab3fa63913b16b4ba1e2d12: No
such file or directory



$ onevm delete 318
###############################################################################


$ onevm list
###############################################################################
   ID     USER     NAME STAT CPU     MEM        HOSTNAME        TIME


$ oneimage show 37
###############################################################################
IMAGE 
INFORMATION                                                             
ID             : 37                 
NAME           : 318_archived       
TYPE           : OS                 
REGISTER TIME  : 02/10 12:22:50     
PUBLIC         : No                 
PERSISTENT     : No                 
SOURCE         :
/srv/cloud/one/var//images/7c6f81fcb5b4dec12ab3fa63913b16b4ba1e2d12
STATE          : rdy                
RUNNING_VMS    : 0                  

IMAGE
TEMPLATE                                                                 
DEV_PREFIX=hd
NAME=318_archived



$ ls -la /srv/cloud/one/var//images/7c6f81fcb5b4dec12ab3fa63913b16b4ba1e2d12
###############################################################################
ls: cannot access
/srv/cloud/one/var//images/7c6f81fcb5b4dec12ab3fa63913b16b4ba1e2d12: No
such file or directory



$ cat $ONE_LOCATION/var/318/vm.log
###############################################################################
Thu Feb 10 12:20:36 2011 [DiM][I]: New VM state is ACTIVE.
Thu Feb 10 12:20:36 2011 [LCM][I]: New VM state is PROLOG.
Thu Feb 10 12:20:36 2011 [VM][I]: Virtual Machine has no context
Thu Feb 10 12:20:36 2011 [TM][I]: tm_clone.sh:
testbed00:/srv/cloud/one/testing/ttylinux.img
testbed07:/srv/cloud/one/var//318/images/disk.0
Thu Feb 10 12:20:36 2011 [TM][I]: tm_clone.sh: DST:
/srv/cloud/one/var//318/images/disk.0
Thu Feb 10 12:20:36 2011 [TM][I]: tm_clone.sh: Creating directory
/srv/cloud/one/var//318/images
Thu Feb 10 12:20:36 2011 [TM][I]: tm_clone.sh: Executed "mkdir -p
/srv/cloud/one/var//318/images".
Thu Feb 10 12:20:36 2011 [TM][I]: tm_clone.sh: Executed "chmod a+w
/srv/cloud/one/var//318/images".
Thu Feb 10 12:20:36 2011 [TM][I]: tm_clone.sh: Cloning
/srv/cloud/one/testing/ttylinux.img
Thu Feb 10 12:20:36 2011 [TM][I]: tm_clone.sh: Executed "cp -r
/srv/cloud/one/testing/ttylinux.img /srv/cloud/one/var//318/images/disk.0".
Thu Feb 10 12:20:36 2011 [TM][I]: tm_clone.sh: Executed "chmod a+rw
/srv/cloud/one/var//318/images/disk.0".
Thu Feb 10 12:20:36 2011 [LCM][I]: New VM state is BOOT
Thu Feb 10 12:20:36 2011 [VMM][I]: Generating deployment file:
/srv/cloud/one/var/318/deployment.0
Thu Feb 10 12:20:37 2011 [LCM][I]: New VM state is RUNNING
Thu Feb 10 12:24:31 2011 [VMM][W]: Ignored: LOG - 318 Driver command for
318 cancelled

Thu Feb 10 12:24:31 2011 [DiM][I]: New VM state is DONE
Thu Feb 10 12:24:31 2011 [TM][W]: Ignored: LOG - 318 tm_delete.sh:
Deleting /srv/cloud/one/var//318/images

Thu Feb 10 12:24:31 2011 [TM][W]: Ignored: LOG - 318 tm_delete.sh:
Executed "rm -rf /srv/cloud/one/var//318/images".

Thu Feb 10 12:24:31 2011 [TM][W]: Ignored: TRANSFER SUCCESS 318 -

Thu Feb 10 12:24:31 2011 [VMM][W]: Ignored: CANCEL SUCCESS 318 Domain
one-318 destroyed

Thu Feb 10 12:24:31 2011 [HKM][I]: Command execution fail:
/srv/cloud/one/share/hooks/image.rb 318
Thu Feb 10 12:24:31 2011 [HKM][I]: STDERR follows.
Thu Feb 10 12:24:31 2011 [HKM][I]: ExitCode: 255
Thu Feb 10 12:24:31 2011 [HKM][E]: Error executing Hook: image.




line 75 in $ONE_LOCATION/share/hooks/image.rb (result =
img_repo.update_source(image, source_path) outputs
###############################################################################
"No such file or directory - /srv/cloud/one/var/318/disk.0 or
/srv/cloud/one/var//images/7c6f81fcb5b4dec12ab3fa63913b16b4ba1e2d12"




On 02/10/2011 10:11 AM, Marco Strutz wrote:
> Hi.
>
> Thanks Carlos! I have managed to reproduce the behaviour by xmlrpc calls.
> But for the long term it would be very handy to access the "saveas"
> feature in one single xmlrpc call too so that it won't be necessary to
> duplicate (onevm ruby) source code and validate it for each new
> Opennebula release.
>
>
> regards
> Marco
>
> On 02/09/2011 11:20 AM, Carlos Martín Sánchez wrote:
>> Hi Marco,
>>
>> The XML-RPC call requests an image id because the image has to be
>> created beforehand.
>> You can check how it is done in the oneimage command (it's a straight
>> forward ruby script), and then replicate the same steps in your code.
>>
>> Regards,
>> Carlos.
>> --
>> Carlos Martín, Engineer, MSc
>> Project Major Contributor
>> OpenNebula - The Open Source Toolkit for Cloud Computing
>> www.OpenNebula.org
>> <http://www.opennebula.org/> | cmartin at opennebula.org
>> <mailto:cmartin at opennebula.org>
>>
>>
>> On 8 February 2011 17:03, Marco Strutz <marco.strutz at desy.de
>> <mailto:marco.strutz at desy.de>> wrote:
>>
>>     Hello.
>>
>>     What is the best way to map the "onevm saveas" command [1] to OCCI or
>>     XMLRPC-Request? I need to save vm images but want to avoid using the
>>     command line interface.
>>
>>     I cannot simply use the xmlrpc-call  "one.vm.savedisk" [2] since
>>     I then
>>     would need to know the "image id where the disk will be saved".
>>     But this
>>     ID will be dynamically created by the "onevm saveas" command, right?
>>     Furthermore where should I place the <image_name> in the XMLRPC-call?
>>     The same problem with OCCI: Are there any attributes (perhaps for the
>>     <CONTEXTUALISATION> section) I can use for the "onevm saveas"?
>>
>>
>>
>>     Thanks
>>     Marco
>>
>>
>>     [1]
>>     onevm saveas <vm_id> <disk_id> <image_name>
>>
>>
>>     [2]
>>     one.vm.savedisk
>>     ****************
>>     Type     Data Type     Description
>>     IN     String     the session string associated to the connected
>>     user. * *
>>     IN     Int     the virtual machine Id (vid) of the instance.
>>     IN     Int     disk id of the disk we want to save.
>>     IN     Int     image id where the disk will be saved.
>>     OUT     Boolean     true or false whenever is successful or not
>>     OUT     String     if an error occurs this is error message,
>>     otherwise
>>     it does not exist.
>>     _______________________________________________
>>     Users mailing list
>>     Users at lists.opennebula.org <mailto:Users at lists.opennebula.org>
>>     http://lists.opennebula.org/listinfo.cgi/users-opennebula.org
>>
>>
>
>
> _______________________________________________
> Users mailing list
> Users at lists.opennebula.org
> http://lists.opennebula.org/listinfo.cgi/users-opennebula.org

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


More information about the Users mailing list