d77ad5c941
This commit updates the procedure for configuring arch networks to occur in a single command. Previously, each network was configured independently. If, for some reason, one of the networks destroyed the SSH connection, the box would be irrecoverable. This commit does not alleviate that behavior, but attempts to mitigate it by running all network-related configuration commands in a single communicator (SSH) session. The new procedure looks like this: 1. Upload a temp file to /tmp/vagrant-network-id... for each interface on the guest. 2. Compile a commands array (of bash) to execute after all network configurations have been uploaded. 3. Concatenate all the commands together in a single communicator session. This was tested against `terrywant/archlinux` using the following Vagrantfile: ```ruby Vagrant.configure(2) do |config| config.vm.box = "terrywang/archlinux" config.vm.hostname = "banana-ramama.example.com" config.vm.network "private_network", type: "dhcp" config.vm.network "private_network", ip: "33.33.33.10" config.vm.provision "file", source: "Vagrantfile", destination: "/tmp/vf" config.vm.provision "shell", inline: "echo hi" end ``` |
||
---|---|---|
.. | ||
commands | ||
communicators | ||
guests | ||
hosts | ||
kernel_v1 | ||
kernel_v2 | ||
providers | ||
provisioners | ||
pushes | ||
synced_folders | ||
README.md |
README.md
Vagrant Core Plugins
These are plugins that ship with Vagrant. Vagrant core uses its own plugin system to power a lot of the core pieces that ship with Vagrant. Each plugin will have its own README which explains its specific role.