When you run salt-call, it inherits the path environment from your
shell. When you go through salt via the salt minion process, you are
seeing the path environment as set when the service was started via
upstart/initscript/etc. Try setting your PATH in your salt-minion
upstart/init script or specify your path in the env dict for cmd.run.
http://docs.saltstack.com/ref/modules/all/salt.modules.cmdmod.html
root@salt-master:/# salt 'apt*' cmd.run 'echo $PATH'
apt.dubkat.com:
/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin
root@apt / # salt-call cmd.run 'echo $PATH'
local:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
root@apt / # PATH=/blah:$PATH
root@apt / # salt-call cmd.run 'echo $PATH'
local:
/blah:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
root@salt-master:/# salt 'apt*' cmd.run 'echo $PATH'
apt.dubkat.com:
/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin
Edit salt-minion upstart script to modify path:
env
PATH=myupstartpath:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
and restart salt-minion.
root@salt-master:/# salt 'apt*' cmd.run 'echo $PATH'
apt.dubkat.com:
myupstartpath:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
--
Dave