There are a few different issues being discussed in this thread, so it
would be useful to differentiate them to make sure everyone is on the
same page:
* Spinning up cloud VMs in parallel.
* Executing multiple state runs in parallel on a single host.
* Executing individual states within a state run concurrently on a single host.
* Executing a single state run on multiple hosts in parallel.
salt-cloud can create VMs in parallel via the CLI but that isn't
currently exposed by the cloud execution/runner/state modules. That
should be added to Salt.
Executing multiple state runs in parallel on a single host (like on
the Master as part of an Orchestrate run) is a useful addition and
there is an open pull request that will add that to a future Salt
release:
https://github.com/saltstack/salt/pull/39670
Executing individual states concurrently within a single state run is
a flag to `state.highstate` / `state.sls` but is usually a bad idea
and should be used with care.
Executing a state run on multiple Minions at once is regular Salt
behavior. Whenever you run `salt '<tgt>' <module>.<fun>` from the CLI
all the Minions that match <tgt> get the broadcast at the same time
and will execute it independently.
Pratik, it sounds like that last one is what you are describing. Are
you running `salt '*' state.highstate` (or `state.apply`) to start the
state run? If so, take a look at the `Duration` field in the returns
for that run to see where all that time is being spent. If that isn't
it, please describe what you are running and what you are seeing.
(Maybe start a new thread.)