安装时配置时出现致命错误 python

Fatal error at provisioning while installing python

我有这个剧本:

---
- hosts: all
  become: yes
  become_user: root
  gather_facts: no
  pre_tasks:
    - name: 'install python2'
      raw: sudo apt-get -y install python-simplejson
  roles:
    - git
    ...

有时,它工作得很好,有时它会给我这个错误:

==> default: Running provisioner: ansible...
    default: Running ansible-playbook...
PYTHONUNBUFFERED=1 ANSIBLE_FORCE_COLOR=true ANSIBLE_HOST_KEY_CHECKING=false ANSIBLE_SSH_ARGS='-o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -i '/var/www/test/.vagrant/machines/default/virtualbox/private_key' -o ForwardAgent=yes -o ControlMaster=auto -o ControlPersist=60s' ansible-playbook --connection=ssh --timeout=30 --extra-vars="ansible_ssh_user='ubuntu'" --limit="all" --inventory-file=ansible/hosts/hosts_linux.txt -v ansible/site.yml
Using /etc/ansible/ansible.cfg as config file

PLAY ***************************************************************************

TASK [install python2] *********************************************************
fatal: [10.0.11.44]: FAILED! => {"changed": false, "failed": true, "rc": 255, "stderr": "", "stdout": "", "stdout_lines": []}

PLAY RECAP *********************************************************************
10.0.11.44                 : ok=0    changed=0    unreachable=0    failed=1   

Ansible failed to complete successfully. Any error output should be
visible above. Please fix these errors and try again.

我想知道为什么会出现此错误,这是什么意思?没有关于错误的输出,如果我多次尝试,完全相同的代码会起作用。这没有道理。为什么 ansible 安装失败 python?

根据您的意见,问题出在 ssh 上。您可以在当前工作目录中创建自己的 ansible.cfg 文件并直接提供 openssh 选项,如下所述:open-ssh options

我建议你试试:

 [defaults]
 host_key_checking = False

而且在您的剧本 运行 中,您可以手动指定要使用的 ssh 密钥,例如:

ansible-playbook --private-key /path/to/ssh_key ...

最后,确保没有IP冲突,因为你的服务器的ssh指纹应该不会改变。也尝试手动 ssh 几次。