Hi <br><br>Thanks for the info Florian. I have rechecked the source code and found <b>dev</b> instead of <b>file</b>. I might have mistyped it somehow. I have changed it to <b>file</b> and everything is working fine now.<br>
<br>Thanks for creating the bug Ruben :)<br><br> <br><div class="gmail_quote">On 28 May 2010 15:06, Ruben S. Montero <span dir="ltr"><<a href="mailto:rubensm@dacya.ucm.es">rubensm@dacya.ucm.es</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi,<br>
<br>
I think that the patch proposed by Shashank should fix the problem,<br>
and as Florian said it is quite strange that Libvirt.cc uses "<source<br>
file=" and the logs you are showing is "<source dev="<br>
<br>
I fill a ticket for this <a href="http://dev.opennebula.org/issues/245" target="_blank">http://dev.opennebula.org/issues/245</a><br>
<br>
Thank you very much for your feedback and patches !<br>
<br>
Ruben<br>
<br>
<br>
On Fri, May 28, 2010 at 10:37 AM, florian chazal<br>
<div><div></div><div class="h5"><<a href="mailto:florianchazal@gmail.com">florianchazal@gmail.com</a>> wrote:<br>
> Hi Shashank,<br>
><br>
> Thanks for your answer. Iwanted to do the same modification. But something<br>
> is weird in your XML description file :<br>
> <source dev='/var/lib/one/16/images/disk.0'/><br>
> <target dev='hdb'/><br>
><br>
> Why it's dev, at this point it should be file as you set in the<br>
> LibVirtDriver.cc , isn't it? I think the probllem come from there and not<br>
> from libvirt.<br>
><br>
> Let me know when you fix it.<br>
><br>
> 2010/5/28 Shashank Rachamalla <<a href="mailto:shashank.rachamalla@hexagrid.com">shashank.rachamalla@hexagrid.com</a>><br>
>><br>
>> Hi<br>
>><br>
>> I have faced the same issue while working with OpenNebula 1.4.<br>
>><br>
>> As you have already mentioned, I had to change LibVirtDriver.cc and<br>
>> recompile from source.<br>
>><br>
>> I had to add an else if block ( in bold font ) to the below piece of code<br>
>> in LibVirtDriver.cc<br>
>><br>
>>         if ( type == "BLOCK" )<br>
>>         {<br>
>>             file << "\t\t<disk type='block' device='disk'>" << endl<br>
>>                  << "\t\t\t<source dev='" << vm->get_remote_dir() <<<br>
>> "/disk."<br>
>>                  << i << "'/>" << endl;<br>
>>         }<br>
>><br>
>>           /* Added newly */<br>
>>         else if ( type == "CDROM")<br>
>>         {<br>
>>             file << "\t\t<disk type='file' device='cdrom'>" << endl<br>
>>                  << "\t\t\t<source file='" << vm->get_remote_dir() <<<br>
>> "/disk."<br>
>>                  << i << "'/>" << endl;<br>
>>         }<br>
>><br>
>>         else<br>
>>         {<br>
>>             file << "\t\t<disk type='file' device='disk'>" << endl<br>
>>                  << "\t\t\t<source file='" << vm->get_remote_dir() <<<br>
>> "/disk."<br>
>>                  << i << "'/>" << endl;<br>
>>         }<br>
>><br>
>> I have also seen issues while working with qemu hypervisor version 0.11.0<br>
>> (qemu-kvm-0.11.0). After making the above changes, I have created a new VM<br>
>> and the following deployment descriptor was created:<br>
>><br>
>> <domain type='kvm'><br>
>>     <name>one-16</name><br>
>>     <memory>524288</memory><br>
>>     <os><br>
>>         <type>hvm</type><br>
>>         <boot dev='cdrom'/><br>
>>     </os><br>
>>     <devices><br>
>>         <emulator>/usr/bin/kvm</emulator><br>
>>         <disk type='file' device='cdrom'><br>
>>             <source dev='/var/lib/one/16/images/disk.0'/><br>
>>             <target dev='hdb'/><br>
>>         </disk><br>
>>         <graphics type='vnc' listen='0.0.0.0' port='15'/><br>
>>     </devices><br>
>>     <features><br>
>>         <acpi/><br>
>>     </features><br>
>> </domain><br>
>><br>
>> disk.0 is linked to an iso file.<br>
>> lrwxrwxrwx 1 oneadmin nogroup 23 2010-05-27 22:37 disk.0 -><br>
>> /mnt/onenfs/ReactOS.iso<br>
>><br>
>><br>
>> The following are the contents of  var/log/libvirt/qemu/one-16.log<br>
>><br>
>> LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin<br>
>> /usr/bin/kvm -S -M pc-0.11 -m 512 -smp 1 -name one-16 -uuid<br>
>> 70ac26ff-654e-9149-8323-283a7e66f1b6 -monitor<br>
>> unix:/var/run/libvirt/qemu/one-16.monitor,server,nowait -boot d -drive<br>
>> file=,if=ide,media=cdrom,index=1 -net none -serial none -parallel none -usb<br>
>> -vnc 0.0.0.0:-5885 -vga cirrus<br>
>><br>
>> Note the line in bold above. Ideally file should be pointing to<br>
>> '/var/lib/one/16/images/disk.0' but it was not pointing to anything. As a<br>
>> result VM couldn't boot.<br>
>><br>
>> Can somebody please throw some light on this issue.<br>
>><br>
>> On 18 May 2010 07:56, florian chazal <<a href="mailto:florianchazal@gmail.com">florianchazal@gmail.com</a>> wrote:<br>
>>><br>
>>> Hi,<br>
>>><br>
>>> Is it normal that when you create a virtual machine and you configure one<br>
>>> of its disk as a cdrom :<br>
>>><br>
>>> #########Open nebula VM Template #########<br>
>>> ...<br>
>>> OS = [ BOOT = \"cdrom\" ]<br>
>>> ...<br>
>>> DISK = [ TYPE = "cdrom" ,<br>
>>> SOURCE = "/srv/cloud/one/IM_template/debian-504-i386-netinst.iso" ,<br>
>>> TARGET = "hdc" ,<br>
>>> CLONE = "no" ,<br>
>>> SAVE = "no" ,<br>
>>> READONLY = "no" ]<br>
>>> DISK = [ TYPE = "disk" ,<br>
>>> SOURCE = "/srv/cloud/one/IM_template/test.qcow2" ,<br>
>>> TARGET = "hda" ,<br>
>>> CLONE = "no" ,<br>
>>> SAVE = "no" ,<br>
>>> READONLY = "no" ]<br>
>>> ...<br>
>>> ################################<br>
>>><br>
>>> the libvirt driver translate it like this :<br>
>>><br>
>>> #########LibVirt VM Template #########<br>
>>> ...<br>
>>> <os><br>
>>>                 <type>hvm</type><br>
>>>                 <boot dev='"cdrom"'/><br>
>>>         </os><br>
>>>         <devices><br>
>>>                 <emulator>/usr/bin/kvm</emulator><br>
>>>                 <disk type='file' device='disk'><br>
>>>                         <source<br>
>>> file='/srv/cloud/one/var/94/images/disk.0'/><br>
>>>                         <target dev='hdc'/><br>
>>>                 </disk><br>
>>>                 <disk type='file' device='disk'><br>
>>>                         <source<br>
>>> file='/srv/cloud/one/var/94/images/disk.1'/><br>
>>>                         <target dev='hda'/><br>
>>>                 </disk><br>
>>> ...<br>
>>> ################################<br>
>>><br>
>>> That is to say the translation doesn't care about my cdrom type . And the<br>
>>> vm failed. but if I put cdrom in the device attirbute it works ...<br>
>>><br>
>>> I searched in the code and I realized that if the type is block in the ON<br>
>>> template the device attirbute will be set as disk and if not it will be set<br>
>>> at disk again : root / src / vmm / LibVirtDriver.cc line 687 to 697 ...<br>
>>><br>
>>><br>
>>> --<br>
>>> Florian Chazal<br>
>>><br>
>>> _______________________________________________<br>
>>> Users mailing list<br>
>>> <a href="mailto:Users@lists.opennebula.org">Users@lists.opennebula.org</a><br>
>>> <a href="http://lists.opennebula.org/listinfo.cgi/users-opennebula.org" target="_blank">http://lists.opennebula.org/listinfo.cgi/users-opennebula.org</a><br>
>>><br>
>><br>
>><br>
>><br>
>> --<br>
>> Regards,<br>
>> Shashank Rachamalla<br>
><br>
><br>
><br>
> --<br>
> Florian Chazal<br>
><br>
> _______________________________________________<br>
> Users mailing list<br>
> <a href="mailto:Users@lists.opennebula.org">Users@lists.opennebula.org</a><br>
> <a href="http://lists.opennebula.org/listinfo.cgi/users-opennebula.org" target="_blank">http://lists.opennebula.org/listinfo.cgi/users-opennebula.org</a><br>
><br>
><br>
<br>
<br>
<br>
--<br>
</div></div>Dr. Ruben Santiago Montero<br>
Associate Professor (Profesor Titular), Complutense University of Madrid<br>
<br>
URL: <a href="http://dsa-research.org/doku.php?id=people:ruben" target="_blank">http://dsa-research.org/doku.php?id=people:ruben</a><br>
Weblog: <a href="http://blog.dsa-research.org/?author=7" target="_blank">http://blog.dsa-research.org/?author=7</a><br>
</blockquote></div><br><br clear="all"><br>-- <br>Regards,<br>Shashank Rachamalla<br>