Vagrant nemůže nijak poznat, že se počítač během zajišťování restartuje.
Pokud je to možné, nejlepší by bylo vyhnout se restartování zde úplně. Například aktualizace jádra by měla být provedena již při sestavování základního boxu.
Dalším snadným (ale ne příliš pohodlným) způsobem je zpracovat to pomocí výstupu protokolu nebo dokumentace nebo pomocí skriptu wrapper, který vyvolá vagrant up && vagrant reload
.
A nakonec byste mohli napsat plugin, který po zřízení vloží všechny potřebné akce připojování atd. do middlewarového stacku Vagrant, ale stále byste museli přemýšlet, jak pluginu vědět, že byl počítač spuštěn. Dalším problémem je, že to snadno získá konkrétní poskytovatele.
Měli byste být schopni přidat souborové systémy do /etc/fstab pro připojení při bootování.
Zde je můj příklad:
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
Váš adresář tulák by měl mít skrytý adresář .vagrant a v něm byste měli najít cestu k souboru "synced_folders" (v mém případě:/vagrant/.vagrant/machines/default/virtualbox/synced_folders
).
Tento soubor by vám měl pomoci zjistit, jaké jsou štítky a jejich přípojné body:
{"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}}}
Není to nejsnáze čitelné, ale při použití pythonovské terminologie se štítky zdají být klíče vnitřního slovníku, přičemž / přeloženo na _ (např.:klíč /home/vagrant/presenter-src se stal štítkem home_vagrant_presenter-src).
Vlastně si nejsem jistý, proč vagrant nepoužívá pouze /etc/fstab pro sdílené složky, ale hádám, že to má dobrý důvod.