Need help getting Vagrant to work with libvirt/KVM (working with virtualbox atm)


vmunich

Recommended Posts

I use Vagrant to write software, and I'd like to move my box from my computer to my NAS. I managed to do it using Virtualbox, but I'm not being able to get it to work with KVM.

 

First thing I did was install an Ubuntu KVM VM, then installed virtualbox on it and Vagrant... But as you know, nesting is terrible, and I had terrible performance.

 

Then I installed the Virtualbox UnRaid plugin, used Alien to convert Vagrant's .rpm to a .tgz, installed it with installpkg, and it worked with Virtualbox. It worked very well by the way, performance was quite good. However, I'd like to use what UnRaid provides natively already, which is libvirt/kvm. Vagrant works with libvirt, but we need to install this plugin: https://github.com/vagrant-libvirt/vagrant-libvirt

 

But when I'm installing the plugin, it can't find libvirt and compile what it needs:

 

/opt/vagrant/embedded/bin/ruby -r ./siteconf20170201-5109-1kn7me6.rb extconf.rb
/opt/vagrant/embedded/lib/ruby/2.2.0/mkmf.rb:1516: warning: Insecure world writable dir /root/.vagrant.d/gems in PATH, mode 040777
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may need configuration options.

extconf.rb:73:in `<main>': libvirt library not found in default locations (RuntimeError)

extconf failed, exit code 1

Provided configuration options:
        --with-opt-dir
        --with-opt-include
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/lib
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
        --ruby=/opt/vagrant/embedded/bin/$(RUBY_BASE_NAME)
        --with-libvirt-include
        --without-libvirt-include
        --with-libvirt-lib
        --without-libvirt-lib
        --with-libvirt-config
        --without-libvirt-config
        --with-pkg-config
        --without-pkg-config

Gem files will remain installed in /root/.vagrant.d/gems/2.2.5/gems/ruby-libvirt-0.7.0 for inspection.
Results logged to /root/.vagrant.d/gems/2.2.5/extensions/x86_64-linux/2.2.0/ruby-libvirt-0.7.0/gem_make.out

 

Now I know libvirt is installed, but not on the usual locations. Google tells me that a lot of people fixed this issue by installing libvirt-devel on centos/fedora and libvirt-dev on debian/ubuntu. Since this is  my first time dealing with Slackware, I'm not sure about the next step. I used Alien to convert libvirt-devel's .rpm into a Slackware friendly .tgz, installed it but nothing changed. I know this is not how it works but I'll gladly take any suggestions.

 

Can a package manager be installed on UnRaid?

 

Vagrant is working fine with Virtualbox, but it will be much better using the native solution provided by UnRaid (libvirt). The fact that UnRaid is based on Slackware makes it harder as there's not a lot of recent content about it online.

 

Any suggestions?

 

 

Link to comment

Running apps natively under unRAID can be a problem as it is a stripped down Linux release (because it runs completely from RAM).  In particular there are no development oriented tools or libraries.  There is no suitable package manager available - since unRAID is freshly unpacked every time it boots into RAM it does not lend itself to such an approach.

 

Any reason you do not want to run in a VM?  You mention you have already run it with VirtualBox on unRAID?  VirtualBox vdisks can also be used with KVM which is the unRAID built-in virtualisation software so you should be able to re-use the vdisks you already have.  I notice that there are also lots of vagrant docker containers available on dockerhub., but I do not know how suitable vagrant is for running under docker.  If it is then docker has less overheads than a VM.

Link to comment

Running apps natively under unRAID can be a problem as it is a stripped down Linux release (because it runs completely from RAM).  In particular there are no development oriented tools or libraries.  There is no suitable package manager available - since unRAID is freshly unpacked every time it boots into RAM it does not lend itself to such an approach.

 

Any reason you do not want to run in a VM?  You mention you have already run it with VirtualBox on unRAID?  VirtualBox vdisks can also be used with KVM which is the unRAID built-in virtualisation software so you should be able to re-use the vdisks you already have.  I notice that there are also lots of vagrant docker containers available on dockerhub., but I do not know how suitable vagrant is for running under docker.  If it is then docker has less overheads than a VM.

 

I really wanted to run it under Vagrant as it provides some tools that assist development quite a bit. I ended up making an Ubuntu VM and cooking up most of what I need on it. It's working pretty nice :)

 

For people that work with Laravel, I'm using this Laravel Valet's port to Ubuntu: https://github.com/cpriego/valet-linux - I'm pretty happy with it.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.