lago-project / lago

Ad-hoc virtual testing environment framework
http://lago.readthedocs.org
GNU General Public License v2.0
47 stars 39 forks source link

Add a filesystem mount option #92

Open david-caro opened 8 years ago

david-caro commented 8 years ago

Like this on libvirt:

<filesystem type='mount' accessmode='squash'>
  <driver type='path'/>
  <source dir='/home/dcaro/Downloads'/>
  <target dir='/awonder'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</filesystem>
ifireball commented 8 years ago

is this actually supported by qemu/kvm? does this work on el7?

Barak Korren bkorren@redhat.com RHEV-CI Team

david-caro commented 8 years ago

Not sure if it's supported on el7, but I generated that with virt-manager on fc23, worth investigating

ifireball commented 8 years ago

On 4 February 2016 at 20:53, David Caro notifications@github.com wrote:

Not sure if it's supported on el7, but I generated that with virt-manager on fc23, worth investigating

Well, on my EL7.1 going into VM -> Add Hardware -> Filesystem in virt-manager (I'm guessing this is how you added it) yields the following message:

"Not supported for this hypervisor/libvirt combination"

So it seems this is unfortunately not supported.

Barak Korren bkorren@redhat.com RHEV-CI Team

ifireball commented 6 years ago

I'm not sure what is the current status of NFS-over-vsock in libvirt ATM, but given that [nfs-ganesha|https://github.com/nfs-ganesha/nfs-ganesha/wiki] exists and is packaged in EPEL, we might be able to implement this by:

  1. Running an NFS server for the user
  2. making it expose filesystems over the Lago management network
  3. mounting those filesystems in VMs as part of the init process.
mykaul commented 6 years ago

In the past I've tried to replace the built-in web server with Nginx. At the end of the day, the bottleneck has been the always the storage. Moving /var/lib/lago/reposync (and /var/lib/lago/template) to /dev/shm helps. Changing in repoman to os.symlink() and not os.link() the files helps as well, etc.

ifireball commented 6 years ago

@mykaul lets keep internal-repo/repoman discussions on the lago-ost-plugin project. This issue talks about generic mounting capability that may or may not be used for the internal repo (IMO it should not)

This capability may not be very useful for OST, but it will be very useful in places like VDSM's check-merge where they want to run builds and unit tests inside the Lago VM. Right now they end up having to scp everything into the VM.