Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhancement Request: More control over boot/provision sequence #13374

Open
stephenreay opened this issue Mar 31, 2024 · 0 comments
Open

Enhancement Request: More control over boot/provision sequence #13374

stephenreay opened this issue Mar 31, 2024 · 0 comments

Comments

@stephenreay
Copy link

Is your feature request related to a problem? Please describe.
With a multi-machine config, bringing up the whole cluster of machines can become more involved for the user, due to differences in how vagrant up and vagrant provision handle parallelism.

vagrant up will optionally run operations in parallel, including provisioning, which happens as soon as that specific VM is ready (started).

Alternatively, vagrant up --no-parallel will boot, and then attempt to provision each machine in order, more akin to vagrant provision which has no parallel ability, and processes each host one after the other.

When a provisioning step(s) require all the machines be 'up' to succeed (i.e. doing an SSH keyscan of other members) there is currently no built in way to have vagrant up first boot all the machines, and then run the provisioning.

Describe the solution you'd like
An ideal solution here would be a parameter in the Vagrantfile (e.g. perhaps config.vagrant.defer_provisioners = true or similar) to tell Vagrant that provisioning should wait till all machines being affected, are up.

Describe alternatives you've considered

  • Telling users to use vagrant up --no-provision && vagrant provision achieves the same goal, it's just a lot more for people to remember, and it can't be communicated directly (i.e. using output from Vagrant) because they need to know to run it that way before they invoke Vagrant.

  • A shell script to do this is literally a one liner, but suffers the same issue as above: people expect to be able to do vagrant up and have it work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant