[libvirt] VolumeCreateXML "XML" description for ESX

Matthias Bolte matthias.bolte at googlemail.com
Mon Dec 6 13:42:23 UTC 2010


Works for me with the given XML config.

There might be some cases that could make it fail. For example the
.vmdk file already exists, or the datastore is full, or the datastore
is NFS backed and the ESX server lost the connection, etc.

Unfortunately libvirt doesn't include detailed information into this
error message. I'm currently improving this.

For now you can get detailed error information from the managed object
browser (mob). You can access it here:

  https://<your-esx-server-name>/mob

Then follow this chain of links: content > taskManager > recentTask
and pick the last item in the list. It should be named like this:

  haTask--vim.VirtualDiskManager.createVirtualDisk-88

This is probably the failed .vmdk creation task. Then follow this
second chain of links: info > error to get more detailed error
information.

As said the next libvirt release will include this more detailed
information in error messages for failed tasks.

Matthias

2010/12/2 Sherif Nagy <sherif.nagy at gmail.com>:
> Great ! it did pass the error of directory/file thank you for the support
> now i have another problem of creating the VMDK image with this XML
> <volume><name>test_vm/test_vm.vmdk</name><allocation>0</allocation><capacity
> unit='G'>2</capacity><target><format type='vmdk'/></target></volume>
>
> and error
>
> libvir: ESX error : internal error Could not create volume
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
>   File "/usr/lib64/python2.7/site-packages/libvirt.py", line 1116, in
> createXML
>     if ret is None:raise libvirtError('virStorageVolCreateXML() failed',
> pool=self)
> libvirt.libvirtError: internal error Could not create volume
>
> may be it is an ESX server side problem or i am still missing or messing up
> something ?
>
> Regards,
> sherif
>
> On Thu, Dec 2, 2010 at 2:37 PM, Matthias Bolte
> <matthias.bolte at googlemail.com> wrote:
>>
>> This XML snippet should work
>>
>> <volume>
>>  <name>test_vm/test_vm.vmdk</name>
>>  <allocation>0</allocation>
>>  <capacity unit='G'>2</capacity>
>> </volume>
>>
>> The error message says that the volume name doesn't have the expected
>> format <directory>/<file>. The <> might be misleading here, they don't
>> refer to XML elements.
>>
>> I can probably relax this and allow files in the datastore root. The
>> problem with a .vmdk file in the datastore root is that ESX doesn't
>> allow a virtual machine to be registered (or defined in libvirt terms)
>> in the datastore root. The typical layout is to have a subdirectory
>> per virtual machine.
>>
>> Matthias
>>
>> 2010/12/2 Sherif Nagy <sherif.nagy at gmail.com>:
>> > The XML i am trying to use is
>> >
>> > "<volume><name>test_vm.vmdk</name><key></key><allocation>0</allocation><capacity
>> > unit='G'>2</capacity></volume>"
>> >
>> > or
>> >
>> >
>> > "<volume><name>test_vm.vmdk</name><directory>test_vm<file>test_vm.vmdk</file></directory><key></key><allocation>0</allocation><capacity
>> > unit='G'>2</capacity></volume>"
>> >
>> > and if i added directory and file directive i am still getting the same
>> > error, i am not sure if i am doing something wrong or it is a bug , can
>> > someone please advice me what is the correct XML structure for creating
>> > volume using the ESX driver ?
>> >
>> > Thank You
>> > Regards,
>> > Sherif
>> >
>> > On Thu, Dec 2, 2010 at 2:04 PM, Justin Clift <jclift at redhat.com> wrote:
>> >>
>> >> Matthias, sounds like there's a bug or we need to update the docs?
>> >>
>> >>
>> >> On 02/12/2010, at 11:02 PM, Sherif Nagy wrote:
>> >> > yes i am using same template like KVM but it is not working, seems
>> >> > ESX
>> >> > driver has a different XML structure since it is using datatstore
>> >> > /dir/filename.vdk structure.
>> >> >
>> >> > so any idea what is the XML structure for creating the XML for
>> >> > volumes
>> >> > using the ESX driver?
>> >> >
>> >> > On Thu, Dec 2, 2010 at 12:48 PM, Justin Clift <jclift at redhat.com>
>> >> > wrote:
>> >> > On 02/12/2010, at 8:18 PM, Sherif Nagy wrote:
>> >> > > Hello,
>> >> > >
>> >> > > I am using libvirt 0.8.6 "python bindings " can someone point me to
>> >> > > where i find the XML description of creating volumes using
>> >> > > storagecolumecreateXML function ? i am getting libvir: ESX error :
>> >> > > internal
>> >> > > error Volume name 'nameXXXX.vmdk' doesn't have expected format
>> >> > > '<directory>/<file>'
>> >> >
>> >> > Hi Sherif,
>> >> >
>> >> > In theory, it's probably supposed to work with the "standard" storage
>> >> > and pool XML format documented here:
>> >> >
>> >> >  http://libvirt.org/formatstorage.html
>> >> >
>> >> > But, it sounds like in practise that's not working for you.  Is that
>> >> > the
>> >> > case?
>> >> >
>> >> > Regards and best wishes,
>> >> >
>> >> > Justin Clift
>> >> >
>> >>
>> >>
>> >> --
>> >> libvir-list mailing list
>> >> libvir-list at redhat.com
>> >> https://www.redhat.com/mailman/listinfo/libvir-list
>> >
>> >
>
>




More information about the libvir-list mailing list