If you use our venerated Ansible playbook to deploy Plone and run into this error:
fatal: [xenial]: FAILED! => {"changed": false, "failed": true, "module_stderr": "", "module_stdout": "/bin/sh: 1: /usr/bin/python: not found\r\n", "msg": "MODULE FAILURE", "rc": 0}
It is because Python 2.7 is not installed. See https://github.com/plone/ansible-playbook/issues/82
To test,
which python2.7
and if that comes back with nothing,
sudo apt-get install -y python
An earlier error I ran into was
fatal: [xenial]: UNREACHABLE! => {"changed": false, "msg": "SSH Error: data could not be sent to remote host \"127.0.0.1\". Make sure this host can be reached over ssh", "unreachable": true}
and that seemed to be caused by the fact that I had an earlier vagrant that had a different SSH fingerprint. I deleted the old fingerprint from my .ssh/known_hosts file. Even so that did not quite work, so I modified the vbox_host.cfg so it would specify the SSH password instead of using SSH keys.
#BEFORE
#xenial ansible_ssh_port=2222 ansible_ssh_host=127.0.0.1 ansible_ssh_user=ubuntu ansible_ssh_private_key_file=/Users/kim/src/aiteam.playbooks/.vagrant/machines/xenial/virtualbox/private_key ansible_ssh_extra_args='-o StrictHostKeyChecking=no'
#AFTER
xenial ansible_ssh_port=2222 ansible_ssh_host=127.0.0.1 ansible_ssh_user=ubuntu ansible_ssh_pass=password ansible_ssh_extra_args='-o StrictHostKeyChecking=no'