How do I list all connected Salt Stack minions?
Solution 1:
The official answer:
salt-run manage.up
Also useful are:
salt-run manage.status
salt-run manage.down
Solution 2:
From the master type:
ls -1 /var/cache/salt/master/minions
or:
ls -1 /etc/salt/pki/master/minions
Entering a faulty salt query (ex. salt '*' -) will also return a list of all the minions each followed by a message stating that the command is not available. You can grep/cut away the extraneous characters. Neither of these options are particularly elegant and the later doesn't address the timeout but it works while I'm looking for an answer to a similar question; "How to list all associated minions via the saltstack python api?".
Solution 3:
"salt-key -L" will list all minions that whose public keys you've accepted on your master.
Solution 4:
There are few new commands that makes it much more easier,
salt-run manage.alived
Print a list of all minions that are up according to Salt's presence detection (no commands will be sent to minions)
salt-run manage.allowed
Print a list of all minions that are up according to Salt's presence detection (no commands will be sent to minions)
salt-run manage.not_alived
Print a list of all minions that are NOT up according to Salt's presence detection (no commands will be sent)
salt-run manage.not_allowed
Print a list of all minions that are NOT up according to Salt's presence detection (no commands will be sent)
salt-run manage.not_joined
Print a list of all minions that are NOT up according to Salt's presence detection (no commands will be sent)
Solution 5:
I think one can use the grains module to achieve this:
salt '*' grains.get id