The parallel: true flag is added to the provider plugin to tell Vagrant that
actions such as vagrant up on multiple machines can be run in parallel. This
works almost out of the box, the only hickup is the search for free floating IPs
which needs to be made thread safe using a Mutex object.
I've tested this on a four machine setup, with different network settings and a wide
range of different provisioners, including:
Shell
File
Docker
Ansible
It all worked fine and resulted in a much faster CI pipeline.
Coverage remained the same at 87.088% when pulling 96080660cee3740b9a487e6808c38eee49a94b39 on ephracis:130-parallel into 4e6118be57798f7624dd64acd504a92714fc26f3 on ggiamarchi:master.
Coverage remained the same at 87.088% when pulling 96080660cee3740b9a487e6808c38eee49a94b39 on ephracis:130-parallel into 4e6118be57798f7624dd64acd504a92714fc26f3 on ggiamarchi:master.
Coverage remained the same at 87.088% when pulling 96080660cee3740b9a487e6808c38eee49a94b39 on ephracis:130-parallel into 4e6118be57798f7624dd64acd504a92714fc26f3 on ggiamarchi:master.
Coverage increased (+0.01%) to 87.1% when pulling 1400dea22876709731567b044770e996c048a506 on ephracis:130-parallel into 4e6118be57798f7624dd64acd504a92714fc26f3 on ggiamarchi:master.
Coverage increased (+0.01%) to 87.1% when pulling 1400dea22876709731567b044770e996c048a506 on ephracis:130-parallel into 4e6118be57798f7624dd64acd504a92714fc26f3 on ggiamarchi:master.
Coverage increased (+0.01%) to 87.1% when pulling 1400dea22876709731567b044770e996c048a506 on ephracis:130-parallel into 4e6118be57798f7624dd64acd504a92714fc26f3 on ggiamarchi:master.
The
parallel: true
flag is added to the provider plugin to tell Vagrant that actions such asvagrant up
on multiple machines can be run in parallel. This works almost out of the box, the only hickup is the search for free floating IPs which needs to be made thread safe using aMutex
object.I've tested this on a four machine setup, with different network settings and a wide range of different provisioners, including:
It all worked fine and resulted in a much faster CI pipeline.
Closes #130