GNU/Linux >> Tutoriels Linux >  >> Linux

Dossiers synchronisés perdus lors du redémarrage d'une machine Vagrant à l'aide de l'approvisionneur Ansible

Vagrant n'a aucun moyen de savoir que la machine est en cours de redémarrage pendant le provisionnement.

Si possible, le mieux serait d'éviter de redémarrer complètement ici. Par exemple, les mises à jour du noyau doivent déjà être effectuées lors de la construction de la boîte de base.

Un autre moyen simple (mais pas très pratique) consiste à le gérer avec une sortie de journal ou une documentation, ou avec un script wrapper qui appelle vagrant up && vagrant reload .

Et enfin, vous pouvez écrire un plugin qui injecte toutes les actions de montage, etc. nécessaires dans la pile middleware Vagrant après le provisionnement, mais vous devez toujours réfléchir à la façon de faire savoir au plugin que la machine a été démarrée. L'autre défi est que cela devient facilement spécifique au fournisseur.


Vous devriez pouvoir ajouter les systèmes de fichiers à /etc/fstab pour les monter au démarrage.

Voici mon exemple :

vagrant /vagrant    vboxsf  defaults    0   0
home_vagrant_src    /home/vagrant/src   vboxsf  defaults    0   0
home_vagrant_presenter-src  /home/vagrant/presenter-src vboxsf  defaults    0   0

Votre répertoire vagrant devrait contenir un répertoire caché .vagrant, et vous devriez y trouver un chemin vers le fichier "synced_folders" (dans mon cas :/vagrant/.vagrant/machines/default/virtualbox/synced_folders ).

Ce fichier devrait vous aider à déterminer quelles sont les étiquettes et leurs points de montage :

{"virtualbox":{"/home/vagrant/src":{"guestpath":"/home/vagrant/src","hostpath":"/home/rkomorn/src","disabled":false,"__vagrantfile":true},"/home/vagrant/presenter-src":{"guestpath":"/home/vagrant/presenter-src","hostpath":"/home/presenter/src","disabled":false,"__vagrantfile":true},"/vagrant":{"guestpath":"/vagrant","hostpath":"/home/rkomorn/vagrant","disabled":false,"__vagrantfile":true}}}

Ce n'est pas le plus facile à lire mais, en utilisant la terminologie python, les étiquettes semblent être les clés du dictionnaire interne, avec / traduit en _ (par exemple :la clé /home/vagrant/presenter-src est devenue l'étiquette home_vagrant_presenter-src).

En fait, je ne sais pas pourquoi vagrant n'utilise pas simplement /etc/fstab pour les dossiers partagés, mais je suppose qu'il y a une bonne raison.


Linux
  1. Windows - Comment empêcher Windows d'écraser Grub lors de l'utilisation d'une machine à double démarrage ?

  2. lors de l'utilisation de CPAN sous linux ubuntu, dois-je l'exécuter en utilisant sudo / en tant que root ou en tant qu'utilisateur par défaut

  3. Dois-je mettre une barre oblique après la source et la destination lors de la copie des dossiers

  4. Comment éviter le message d'avertissement "sont le même fichier" lors de l'utilisation de cp sous Linux?

  5. Comment activer l'alerte de confirmation lors de l'utilisation de la commande 'rm' pour supprimer des fichiers/dossiers ?

Vagrant Up se bloque lors du montage de dossiers partagés NFS - Comment réparer ?

Comment automatiser les redémarrages du système à l'aide du module de redémarrage Ansible

Comment travailler avec Ansible Provisioner dans Vagrant

Terraform vs Ansible :quelle est la différence et lequel utiliser ?

Délai expiré en attendant que la machine démarre en cas de vagabondage

Impossible d'accéder aux dossiers montés par sshfs après la veille (ou lorsque la connexion est perdue)