In that case, check this out:
http://bencane.com/2014/07/17/integrating-saltstack-with-other-services-via-salt-api/
I think it's exactly what you're looking for. If you already use Rundeck, you may also be interested in this
http://rundeck.org/news/2014/03/20/Rundeck-and-Salt-at-Salesforce.html
I already had Vagrant and VirtualBox installed on my Windows environment, so I skipped to Step 0, although I'll note you are using an old version of Vagrant.
> Now, run vagrant global-status and you'll see that it prints out something like
While this is a handy command, I might lean toward waiting on this just to keep things simple.
> Go to the directory you used git to download in the last step [...]
I think you could be more specific about the directory here. Possibly even showing the command line with the directory prompt.
> [...] use your favorite text editor to open the file with the name Vagrantfile
Instead of manually creating the vagrantfile manually, use vagrant init command. It is less prone to error and with the minimal flag, it doesn't give you any of the comments or examples.
vagrant init ubuntu/trusty64 --minimal > Step 2: Running Multiple Machines on Vagrant
I think you are jumping into the deep in here. I think you'd be better off to start with vagrant's salt provisioning and split to multiple machines later.
The nice thing about splitting later is, if you setup your salt top.sls file to look like:
base: '*': - os-users - db - webportal
Then you can split to multiple machines by simply adding the extra machine name to Vagrant file and then changing the top.sls to something like the following:
base: '': - os-users 'db': - db 'web*': - webportal 'dev*': - db - webportal
> Step 3 > [...] > vagrant ssh
One of the benefits of automating things with salt and vagrant is that you don't need to manually install anything. In fact, I'd say you shouldn't manually install anything.
edit: cleanup formatting
Welcome to Salt :) This subreddit isn't particularly active from what I can tell. Google Groups and IRC (#salt on freenode) are far more active.
What version of salt are your solaris minions and how did you install it? I assume that its mostly python, so I can't really see why it would be more dated than the rest.
No, there is no implicit way to do that.
What you need is a locking system, just store information somewhere that it has already run, or only one minion is running it, and you could use execution modules to store that data.
One way it could be done is to use a redis database, you will need to add setnx support to the current redis module, but you could setup a lock https://redis.io/commands/setnx
Other than doing something like that in jinja, nothing native in salt exists to do what you want.