A shared folder will
probably just map to this XML snippet: 
<filesystem type='mount'>
  <source dir='/home/guilhermesgb/Desktop/SharedFolder'/> 
  <target dir='myshare1'/> 
</filesystem>

I see. I also tried this XML configuration you gave as an example, but it wouldn't work. And now I know why...

<shareddir fstype="ext4" path="/home/guilhermesgb/Desktop/SharedFolder" mount_tag="SharingName" security_model="passthrough" />
Where did you find this? This is not libvirt XML.

I found it searching through Google: http://www.mail-archive.com/libvir-list@redhat.com/msg27808.html - altough I just used it as a last resort, as anything else would work.

We have chosen to use libvirt in order to deal, in a generalized way, with the
process of starting virtual machines, stopping them, executing remote commands and creating shared folders.
As we saw that libvirt cannot handle with executing remote commands without any manual configuration by us (setting up consoles, through ssh, etc.), we will basically use a shared folder to store scripts that are to be executed by the guest, and the guest would have a running daemon that monitors this shared folder and executes everything in it.

Do you know how could I share a folder with a VBox guest through actual Libvirt code?
We are also trying to do this through the Java binding, but it won't work either. As you said, it's not supported yet.
We will eventually have to do this for all other hypervisors supported by Libvirt, so I'd like to know: which hypervisors have this shared folder funcionality supported by Libvirt?

We are very thankful for your answers and willing to see new feature in the next version!

2011/6/7 Matthias Bolte <matthias.bolte@googlemail.com>
2011/6/6 Guilherme Santos <guisgb13@gmail.com>:
> Well, I am still with that problem, attempting to create shared folders, so
> I will try to be more specific and then maybe somebody can help me.

Your problem is simple, libvirt currently doesn't support shared
folder for VirtualBox. I'll have a look at it and if it's simple to
implement you might see it in libvirt 0.9.3.

 
> When I say "I am trying to set up shared folders", I mean that I set this
> configuration in my XML description:
>
>     <filesystem type='template' accessmode='mapped'>
>       <source name='/home/guilhermesgb/Desktop/SharedFolder/>
>       <target dir='/home/tarciso/Desktop/SharedFolder'/>
>     </filesystem>

VirtualBox shared folders don't support setting an access mode. The
target dir will map to the name of the shared folder in the guest.
Also the template type is OpenVZ specific. A shared folder will
probably just map to this XML snippet:

<filesystem type='mount'>
 <source dir='/home/guilhermesgb/Desktop/SharedFolder'/>
 <target dir='myshare1'/>
</filesystem>

You might also specify the <readonly/> option.

> This was my last attempt. I also tried all other combinations, with
> accessmodes "passthrough" and "squash", for filesystem type "mount" too.
>
> I can't send you any error messages neither printscreens because my problem
> is that anything happens, the domain is started properly but no shared
> folder is specified so I can mount it, using command "sudo mount -t vboxsf
> SharedFolder /home/tarciso/Desktop/SharedFolder". I always get a protocol
> error.
>
> I was expecting libvirt to automatically do this step for me, so I wouldn't
> need to do it manually through vbox GUI or VBoxManage.

As I said libvirt just doesn't support this yet, but I'll look at it.

> During my searches through the web, I found this other option, although I
> can't be sure if it is implemented, as the libvirt website says nothing
> about it: defining an XML file with this configuration:
>
>     <shareddir fstype="ext4" path="/home/guilhermesgb/Desktop/SharedFolder"
> mount_tag="SharingName" security_model="passthrough" />

Where did you find this? This is not libvirt XML.

> And then mounting it with proper command (the same as before, now with the
> mount_tag specified: "sudo mount -t vboxsf SharingName
> /home/tarciso/Desktop/SharedFolder" . Unfortunatelly the same error
> persists.
>
> Am I missing something?

No, it is exactly as expected, but it'll improve.

Matthias

> Sorry if my first message was hard to understand. Thanks.
>
> 2011/6/1 Guilherme Santos <guisgb13@gmail.com>
>>
>> Good afternoon.
>>
>> I am having trouble trying to set up shared folders in the guest VM using
>> VirtualBox hypervisor. No matter what configuration is defined in my XML, it
>> never works, I mean, no shared folder is added/specifyed, then, inside the
>> guest, when I try to mount the folder, I always get a protocol error.
>>
>> If I use VirtualBoxManage, I can add/specify shared folders easily and
>> mount it with no problem.
>>
>> I need to use libvirt in order to deal, in a generalized way, with the
>> process of creating shared folders in all hypervisors supported by libvirt,
>> otherwise my problem would be solved already. I must not use specific
>> commands of a certain hypervisor (such as VirtualBoxManage's).
>>
>> How does libvirt allow me to set up shared folders? Does it use
>> VirtualBoxManage for VBox hypervisors? If so, how do I use it?
>> I've read the documentation and followed it in defining my XMLs.
>>
>> Thanks anyway!
>> --
>> Guilherme Santos G. Baptista
>> Undergraduate in Computer Science at UFCG
>> LSD - Distributed Systems Laboratory
>
>
>
> --
> Guilherme Santos G. Baptista
> Graduando em Ciência da Computação pela UFCG
> LSD - Laboratório de Sistemas Distribuídos
>
> _______________________________________________
> libvirt-users mailing list
> libvirt-users@redhat.com
> https://www.redhat.com/mailman/listinfo/libvirt-users
>



--
Guilherme Santos G. Baptista
Graduando em Ciência da Computação pela UFCG
LSD - Laboratório de Sistemas Distribuídos