Recently I created new roles called spd in my existing project. While other script works fine in the setup. This newly created fails. Please point me to what is going wrong here
ansible/roles spd tasks templates defaults
deploy-spd.yml
- hosts: roles: - spd
inventory file
[kube-master] kubernetes-master-1 ansible_host=10.20.0.225 ansible_user=centos ansible_become=true kubernetes-master-2 ansible_host=10.20.0.226 ansible_user=centos ansible_become=true kubernetes-master-3 ansible_host=10.20.0.227 ansible_user=centos ansible_become=true
Failure
bash-4.3# ansible-playbook -i inventory/inventory deploy-test-ms.yml --ask-vault-pass Vault password: PLAY [kube-master] ************************************************************* TASK [setup] ******************************************************************* Thursday 16 March 2017 13:32:05 +0000 (0:00:00.026) 0:00:00.026 ******** fatal: [kubernetes-master-1]: FAILED! => {"failed": true, "msg": "to use the 'ssh' connection type with passwords, you must install the sshpass program"} fatal: [kubernetes-master-2]: FAILED! => {"failed": true, "msg": "to use the 'ssh' connection type with passwords, you must install the sshpass program"} fatal: [kubernetes-master-3]: FAILED! => {"failed": true, "msg": "to use the 'ssh' connection type with passwords, you must install the sshpass program"} PLAY RECAP ********************************************************************* kubernetes-master-1 : ok=0 changed=0 unreachable=0 failed=1 kubernetes-master-2 : ok=0 changed=0 unreachable=0 failed=1 kubernetes-master-3 : ok=0 changed=0 unreachable=0 failed=1
UPDATE:
**With failed script** Using module file /usr/lib/python2.7/site-packages/ansible/modules/core/system/setup.py <10.20.0.227> ESTABLISH SSH CONNECTION FOR USER: centos Using module file /usr/lib/python2.7/site-packages/ansible/modules/core/system/setup.py Using module file /usr/lib/python2.7/site-packages/ansible/modules/core/system/setup.py Using module file /usr/lib/python2.7/site-packages/ansible/modules/core/system/setup.py <172.23.169.137> ESTABLISH SSH CONNECTION FOR USER: centos <10.20.0.225> ESTABLISH SSH CONNECTION FOR USER: centos <10.20.0.226> ESTABLISH SSH CONNECTION FOR USER: centos **With successfull script** Thursday 16 March 2017 14:03:49 +0000 (0:00:00.066) 0:00:00.066 ******** Using module file /usr/lib/python2.7/site-packages/ansible/modules/core/system/setup.py <10.20.0.237> ESTABLISH SSH CONNECTION FOR USER: centos <10.20.0.237> SSH: EXEC ssh -F ./ssh.cfg -o ControlMaster=auto -o ControlPersist=30m -o StrictHostKeyChecking=no -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=centos -o ConnectTimeout=30 -o 'ControlPath=~/.ssh/ansible-%r@%h:%p' 10.20.0.237 '/bin/sh -c '"'"'( umask 77 && mkdir -p "` echo $HOME/.ansible/tmp/ansible-tmp-1489673029.48-15997231643297 4 `" && echo ansible-tmp-1489673029.48-159972316432974="` echo $HOME/.ansible/tmp/ansible-tmp-1489673029.48-159972316432974 `" ) && sleep 0'"'"'' <10.20.0.237> PUT /tmp/tmpnHJPbc TO /home/centos/.ansible/tmp/ansible-tmp-1489673029.48-159972316432974/setup.py <10.20.0.237> SSH: EXEC scp -F ./ssh.cfg -o ControlMaster=auto -o ControlPersist=30m -o StrictHostKeyChecking=no -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=centos -o ConnectTimeout=30 -o 'ControlPath=~/.ssh/ansible-%r@%h:%p' /tmp/tmpnHJPbc '[10.20.0.237]:/home/centos/.ansible/tmp/ansible-tmp-1489673029.48-159972316432974/setup.py' <10.20.0.237> ESTABLISH SSH CONNECTION FOR USER: centos <10.20.0.237> SSH: EXEC ssh -F ./ssh.cfg -o ControlMaster=auto -o ControlPersist=30m -o StrictHostKeyChecking=no -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=centos -o ConnectTimeout=30 -o 'ControlPath=~/.ssh/ansible-%r@%h:%p' 10.20.0.237 '/bin/sh -c '"'"'chmod u+x /home/centos/.ansible/tmp/ansible-tmp-1489673029.48-159972316432974/ /home/cento s/.ansible/tmp/ansible-tmp-1489673029.48-159972316432974/setup.py && sleep 0'"'"''
Ansible requires sshpass to be able to run ssh commands without prompting passwords. Therefore, you have to install the sshpass package on your Ansible control machine to resolve this error. Ansible will not prompt for passwords when you: Remove the “ask_pass=True” line in ansible.
By default, Ansible assumes you are using SSH keys to connect to remote machines. SSH keys are encouraged, but you can use password authentication if needed with the --ask-pass option. If you need to provide a password for privilege escalation (sudo, pbrun, and so on), use --ask-become-pass .
Install sshpass on Linux Systems In RedHat/CentOS based systems, first you need to enable Epel repository on your system to install it using yum command as shown. On Debian/Ubuntu and its derivatives, you can install it using apt-get command as shown.
It is the host machine which needs the sshpass
program installed. For an Ubuntu machine such as 16.04, it's as simple as apt-get install sshpass
. Again, this error message of:
ERROR! to use the 'ssh' connection type with passwords, you must install the sshpass program
Applies to the HOST (provisioner) not the GUEST (machine(s) being provisioned). Thus install sshpass
on the provisioner.
For installing sshpass on Mac OS refer to this link
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With