web-dev-qa-db-fra.com

Utilisation de Vagrant pour configurer un VM avec KVM / qemu sans VirtualBox

Je commence Vagrant et je veux l'utiliser avec KVM/qemu (et l'interface graphique de Virtual Machine Manager), au lieu d'installer VirtualBox. J'ai donc d'abord installé Vagrant:

$ vagrant --version
Vagrant 1.9.1

$ vagrant box list
There are no installed boxes! Use `vagrant box add` to add some

Comme pertheseposts , j'ai besoin de vagrant-libvirt pour qu'il fonctionne avec KVM, j'ai donc installé le suivant:

$ vagrant plugin list
vagrant-libvirt (0.0.37)
vagrant-share (1.1.6, system)

Ensuite, je dois ajouter une boîte CentOS (7) en utilisant vagrant box add "centos/7" et sélectionné libvirt, lorsque vous y êtes invité. Après quoi, j'ai couru vagrant init et n'a rencontré aucune erreur:

$ vagrant init centos/7
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.

Pourtant, vagrant up semble faire une erreur, comme ceci:

$ vagrant up
No usable default provider could be found for your system.

Vagrant relies on interactions with 3rd party systems, known as
"providers", to provide Vagrant with resources to run development
environments. Examples are VirtualBox, VMware, Hyper-V.

The easiest solution to this message is to install VirtualBox, which
is available for free on all major platforms.

If you believe you already have a provider available, make sure it
is properly installed and configured. You can see more details about
why a particular provider isn't working by forcing usage with
`vagrant up --provider=PROVIDER`, which should give you a more specific
error message for that particular provider.
  • Voici la section provider dans la section Vagrantfile

    config.vm.provider :libvirt do |domain|
        domain.driver = "qemu"
        domain.memory = 512
        domain.cpus = 1
    end
    
  • J'ai essayé de le modifier pour:

    config.vm.provider :libvirt do |domain|
        domain.driver = "kvm"
        domain.Host = 'localhost'
        domain.uri = 'qemu:///system'
        domain.memory = 512
        domain.cpus = 1
    end
    
  • J'ai aussi essayé vagrant up --provider=kvm, vagrant up --provider=qemu, et vagrant up --provider=libvirt aussi, en vain.

Y a-t-il une étape que j'ai ratée? Ou un autre package/dépendance qui doit être installé?

Modifier: Après l'ajout de centos/7 en utilisant vagabond, il apparaît lors de l'exécution vagrant box list.

$ vagrant box list
centos/7 (libvirt, 1611.01)
11
rahuL

Démarrer la boîte vagabonde avec la commande

vagrant up --provider=kvm

Bien qu'il ait été dit dans https://seven.centos.org/2017/08/updated-centos-vagrant-images-available-v1707-01/ que

Le plugin vagrant-libvirt est uniquement compatible avec Vagrant 1.5 à 1.8

5
Jmt

Vous pouvez utiliser soit l'option de ligne de commande --provider=kvm ou vous pouvez définir le VAGRANT_DEFAULT_PROVIDER variable d'environnement:

export VAGRANT_DEFAULT_PROVIDER=kvm  # <-- may be in ~/.profile, /etc/profile, or elsewhere

vagrant up
1
ReWrite

vagrant-libvirt (0.0.40) est compatible avec Vagrant 2.0.2 si vous exécutez Ruby 2.3, au moins sous Linux Mint 18.3 (Ubuntu 16.04). J'ai utilisé vagrant depuis le téléchargement Debian sur le site Web vagrantUp et installé le plugin en l'utilisant sans aucun problème.

0
DaveC49