Technically, this is independent of the primary purpose of salt, which I'm
also doing.  However, since it is already there and set up I want to run
certain other sys admin commands through salt (i.e. cmd.run_all) to take
advantage of its already having a root key relationship to all my minion
hosts (so I don't have to set that up again outside of salt for this other
purpose).

For example I want to startup and shutdown a series of nodes in a cluster
which has sub-clusters, and I have to bring one set up at a time, wait for
it to complete than do the next set and so on until I'm done.

Planning to run this script on my salt-master server since it already has a
trusted root ssl relationship through salt.

But, running into problem with the cmd.run_all.  It requires ' ' single
quotes surrounding the entire command string, so it won't express the
values of any variables I pass in from my main exec.

If I escape \ the ' ' quotes so that the variable will express, then salt
cmd.run_all can't understand the full command string anymore/

This is just a simple example to illustrate the kind of code/syntax I'm
trying to do.  How can I get salt to properly use $1 in this example?

----------------------

ExecCmd.Ping(){
salt $1 cmd.run_all 'ping -c 1 $1'
retval=$?
exit $retval
}
FQDN=1.2.foo.bar
ExecCmd.Ping $FQDN

--
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB