User Tools

Site Tools


informatica:linux:vagrant

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
informatica:linux:vagrant [2020/03/23 17:10] – [Instalación] javiinformatica:linux:vagrant [2020/05/15 15:05] – [Cambiar rango IPs de libvirt] javi
Line 48: Line 48:
 https://www.vagrantup.com/downloads.html https://www.vagrantup.com/downloads.html
  
-2.2. Descargar+2.2. Instalar paquetes 
 + 
 +  sudo apt-get install wget 
 + 
 +2.3. Descargar
  
 <code> <code>
Line 56: Line 60:
 </code> </code>
  
-2.3. Comprobar+2.4. Comprobar
  
   vagrant --version   vagrant --version
Line 71: Line 75:
 3.1. Instalar paquete 3.1. Instalar paquete
  
-  sudo apt-get install libvirt-dev+  sudo apt-get install libvirt-dev build-essential
  
 3.2. Instalar plugin desde vagrant 3.2. Instalar plugin desde vagrant
Line 105: Line 109:
   sudo apt-get install nfs-common nfs-kernel-server   sudo apt-get install nfs-common nfs-kernel-server
  
 +===== Crear máquina virtual =====
  
-**TODO**+1. Crear vagrant file 
 + 
 +En este caso lo haremos manualmente, pero se podría crear con: 
 + 
 +  vagrant init debian/testing64 
 + 
 +Crear el archivo: 
 + 
 +  vim Vagrantfile 
 + 
 +Con el siguiente contenido: 
 + 
 +<code> 
 +Vagrant.configure("2") do |config| 
 +  config.vm.define :test_vm do |test_vm| 
 +    test_vm.vm.box = "debian/testing64" 
 +  end 
 +end 
 +</code> 
 + 
 +2. Crear la máquina virtual 
 + 
 +  vagrant up --provider=libvirt 
 + 
 +3. Comprobar 
 + 
 +3.1. Buscar la máquina virtual con virsh 
 + 
 +  sudo virsh list 
 + 
 +Salida esperada similar a: 
 + 
 +<code> 
 + Id   Name                   State 
 +-------------------------------------- 
 +    jenkins-node_test_vm   running 
 +</code> 
 + 
 +3.2. Conectarse 
 + 
 +  vagrant ssh 
 +   
 +Debemos estar dentro de la máquina 
 + 
 +4. Limpieza 
 + 
 +4.1. Salir de la máquina virtual 
 + 
 +  exit 
 +   
 +4.2. Eliminar la máquina virtual 
 + 
 +  vagrant destroy 
 +   
 +Pulsar 'y' y tecla 'enter' 
 +   
 +===== Desinstalar por completo KVM + libvirt + vagrant ===== 
 + 
 +  sudo service libvirtd stop 
 + 
 +  ps ax | grep libv 
 + 
 +  sudo killall /usr/sbin/dnsmasq 
 + 
 +  sudo apt-get purge libvirtkvm qemu* 
 + 
 +  sudo rm -fr /etc/libvirt/ 
 +  rm -fr ~/.vagrant* 
 +  sudo rm -fr /var/lib/libvirt/ 
 +  sudo rm -fr /etc/apparmor.d/libvirt/ 
 +  sudo rm -fr /var/run/libvirt/ 
 +  rm -fr /home/kdu/.config/libvirt 
 + 
 +  sudo rm -fr /home/my_user/.vagrant* 
 +  sudo rm -fr /tmp/.vagrant* 
 +  sudo rm -fr /home/my_user/.cache/libvirt 
 + 
 +Uninstalling Vagrant 
 +https://www.vagrantup.com/docs/installation/uninstallation.html 
 + 
 +  sudo rm -rf /opt/vagrant 
 +  sudo rm -f /usr/bin/vagrant 
 + 
 +  sudo ip link set virbr1 down 
 +  sudo brctl delbr virbr1 
 + 
 +===== Cambiar rango IPs de libvirt ===== 
 + 
 +  /etc/libvirt/qemu/networks/vagrant-libvirt.xml 
 + 
 +        before 
 + 
 +<code> 
 +<network ipv6='yes'> 
 +  <name>vagrant-libvirt</name> 
 +  <uuid>f9dd4e87-b07e-4722-a8a4-bd2b7bcd8aa5</uuid> 
 +  <forward mode='nat'/> 
 +  <bridge name='virbr1' stp='on' delay='0'/> 
 +  <mac address='52:54:00:41:40:ca'/> 
 +  <ip address='192.168.121.1' netmask='255.255.255.0'> 
 +    <dhcp> 
 +      <range start='192.168.121.1' end='192.168.121.254'/> 
 +    </dhcp> 
 +  </ip> 
 +</network> 
 +</code> 
 + 
 +  sudo virsh net-edit vagrant-libvirt 
 + 
 +<code> 
 +<network ipv6='yes'> 
 +  <name>vagrant-libvirt</name> 
 +  <uuid>f9dd4e87-b07e-4722-a8a4-bd2b7bcd8aa5</uuid> 
 +  <forward mode='nat'/> 
 +  <bridge name='virbr1' stp='on' delay='0'/> 
 +  <mac address='52:54:00:41:40:ca'/> 
 +  <ip address='10.151.0.1' netmask='255.255.255.0'> 
 +    <dhcp> 
 +      <range start='10.151.0.1' end='10.151.0.254'/> 
 +    </dhcp> 
 +  </ip> 
 +</network> 
 +</code> 
 + 
 +  sudo service libvirtd stop 
 + 
 +  sudo ifconfig virbr1 down 
 +  sudo ip link set virbr1 down 
 +  sudo brctl delbr virbr1 
 + 
 +  sudo service libvirtd start 
 + 
 +Bridge was NOT created... 
 + 
 +Solution: start the network 
 + 
 +  sudo virsh net-start vagrant-libvirt 
 + 
 +If still issues, try to stop/start the libvirt network: 
 + 
 +  sudo virsh net-destroy vagrant-libvirt 
 +  sudo virsh net-start vagrant-libvirt 
 + 
 +Then check editing it: 
 + 
 +  sudo virsh net-edit vagrant-libvirt
  
 ===== Errores ===== ===== Errores =====
Line 204: Line 354:
  
   sudo apt-get install nfs-common nfs-kernel-server   sudo apt-get install nfs-common nfs-kernel-server
 +
 +==== Volume for domain is already created. Please run 'vagrant destroy' first. ====
 +
 +Causa:
 +
 +Existe un volumen de libvirt con el mismo nombre "default", probablemente porque no se ejecutó el "vagrant destroy" para hacer limpia con la VM
 +
 +Solución:
 +
 +Primero intentar:
 +
 +  vagrant destroy
 +  
 +Y re-intentar:
 +
 +  vagrant up
 +
 +
 +Si eso no funciona:
 +
 +1. (Desde el docker host) Obtener el detalle de los volúmenes libvirt
 +
 +  sudo virsh vol-list default
 +
 +Salida esperada similar a:
 +
 +<code>
 + Name                                                        Path
 +------------------------------------------------------------------------------------------------------------------------------------------------
 + container__default.img                                      /var/lib/libvirt/images/container__default.img
 + debian-VAGRANTSLASH-buster64_vagrant_box_image_10.3.0.img   /var/lib/libvirt/images/debian-VAGRANTSLASH-buster64_vagrant_box_image_10.3.0.img
 + docker_default.img                                          /var/lib/libvirt/images/docker_default.img
 +</code>
 +
 +2. Suprimir el volumen.
 +
 +**TODO**: dar más pistas de cómo determinar exactamente el volumen a eliminar
 +
 +  sudo virsh vol-delete container__default.img default
 +
 +Salida esperada similar a:
 +
 +  Vol container__default.img deleted
 +
 +3. Volver a probar:
 +
 +  vagrant up
 +  
  
informatica/linux/vagrant.txt · Last modified: 2020/05/22 10:20 by javi