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@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@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@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@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@redhat.com
>> https://www.redhat.com/mailman/listinfo/libvir-list
>
>