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)
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
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
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.