mitchellh / vagrant-rackspace

Use Vagrant to manage Rackspace Cloud instances.
MIT License
235 stars 155 forks source link

Make provisioning parallel #127

Closed maxlinc closed 9 years ago

maxlinc commented 9 years ago

Vagrant has supported parallel actions in providers for a while, but only if the provider marks itself as parallel, meaning that it's thread safe. This can make a major difference for people with multi-machine Vagrant setups. For example, there are close to 50 Rackspace base images. If you setup a Vagrant file to test something on each one, even assuming a great 1 min server build time, we're still talking about 50 mins sequentially vs 1 min in parallel. If the build time averages 5 mins, then you're looking at over 4 hours sequentially vs 5 min in parallel.

I haven't had problems with parallel tests, and I've noticed that a few other Fog based providers are already marked as parallel, so I'm fairly confident that the Rackspace provider is threadsafe.

Making a change to support parallel provisioning won't effect:

The only issue I know of is a minor UX one - the server build progress indicator (e.g. Progress: 80%) is not designed to report the status of multiple machines being built simultaneously. I think that's a relatively minor issue: other providers don't provide a progress indicator at all, and I think most people just use it as an indicator that the action hasn't hung.