Indeed, `pssh` sounds like the better solution. If you must use `parallel` it should be fairly simple: pipe the hostnames one per line into a single command that uses `{}` as a placehold. Eg:
consul members | ... awk {'print $2'} | cut -d ":" -f1 |
parallel -j 10 sshpass -p "$PASSWORD" ssh -oStrictHostKeyChecking=no -q root@{} "hostname && yum clean all && yum -y update consul && systemctl restart consul.service"
Using `sshpass` should not make any difference. Test it first with a simple command such as just `hostname`.