saltstack/salt — pull request #11591 by dumol (2014-03-27 17:00:59+00:00)
Title: Made the salt-ssh shim run on Solaris 10.

`salt-ssh` fails for Solaris targets as follows:
```
$ salt-ssh -c ./etc/salt/ 'solaris*' test.ping
[WARNING ] Warning: sshpass is not present, so password-based authentication is not available.
solaris-10u11-x64:
----------
retcode:
2
stderr:
command-line line 0: Unsupported option "gssapiauthentication"
/bin/sh: syntax error at line 48: `(' unexpected

stdout:

```
After adjusting the code for Solaris' ancient `/bin/sh` and adding support for checking the MD5 sum through the `digest` command, I managed to ping it:
```
$ salt-ssh -c ./etc/salt/ 'solaris*' test.ping
[WARNING ] Warning: sshpass is not present, so password-based authentication is not available.
solaris-10u11-x64:
True
```
Changes have been tested on a various number of OS's:
```
$ salt-ssh -c ./etc/salt/ '*' test.ping
[WARNING ] Warning: sshpass is not present, so password-based authentication is not available.
linux-sles11sp1-x64:
True
linux-rhel6-x64:
True
linux-rhel4-x64:
True
solaris-10u11-x64:
True
linux-gentoo2.2-x64:
True
linux-ubuntu1004-x86:
True
freebsd-10.0-x86:
True
linux-ubuntu1204-x64:
True
aix-5.3-ppc64:
True
```
```
$ salt-ssh -c ./etc/salt/ '*' grains.item os oscodename osfinger os_family osfullname osarch cpuarch | grep stdout -A1[WARNING ] Warning: sshpass is not present, so password-based authentication is not available.
stdout:
{"osarch": "x86_64", "cpuarch": "x86_64", "osfullname": "Red Hat Enterprise Linux AS", "os_family": "RedHat", "oscodename": "Nahant Update 8", "osfinger": "Red Hat Enterprise Linux AS-4", "os": "RedHat"}
--
stdout:
{"osarch": "i386", "os_family": "Solaris", "osfullname": "Solaris", "os": "Solaris", "cpuarch": "i386"}
--
stdout:
{"osarch": "x86_64", "cpuarch": "x86_64", "osfullname": "Gentoo", "os_family": "Gentoo", "oscodename": "", "os": "Gentoo"}
--
stdout:
{"osarch": "x86_64", "cpuarch": "x86_64", "osfullname": "Red Hat Enterprise Linux Server", "os_family": "RedHat", "oscodename": "Santiago", "osfinger": "Red Hat Enterprise Linux Server-6", "os": "RedHat"}
--
stdout:
{"osarch": "x86_64", "cpuarch": "x86_64", "osfullname": "SUSE", "os_family": "Suse", "oscodename": "n.a", "os": "SUSE"}
--
stdout:
{"osarch": "amd64", "cpuarch": "x86_64", "osfullname": "Ubuntu", "os_family": "Debian", "oscodename": "lucid", "osfinger": "Ubuntu-10.04", "os": "Ubuntu"}
--
stdout:
{"osarch": "0001963AD300", "os_family": "AIX", "os": "AIX", "cpuarch": "0001963AD300"}
--
stdout:
{"osarch": "i386", "os_family": "FreeBSD", "os": "FreeBSD", "cpuarch": "i386"}
--
stdout:
{"osarch": "amd64", "cpuarch": "x86_64", "osfullname": "Ubuntu", "os_family": "Debian", "oscodename": "precise", "osfinger": "Ubuntu-12.04", "os": "Ubuntu"}
```