报错:FAILED! => {"changed": false, "module_stderr": "Shared connection to 192.168.10.10 closed.\r\n", "module_stdout": "Traceback (most recent call last):\r\n File \"/tmp/ansible_NDuf1p/ansible_module_yum.py\", line 27, in \r\n import yum\r\nImportError: No module named yum\r\n", "msg": "MODULE FAILURE", "rc": 0}

import yum\r\nImportError: No module named yum_第1张图片
报错原因,远程主机上默认的python版本为python2.7


解决方法:

1、在playbook中加入以下配置
vars:
ansible_python_interpreter: /usr/bin/python2.6
修改后的playbook如下:

- hosts: gitlab
  vars:
    ansible_python_interpreter: /usr/bin/python2.6.6
  become: True
  become_user: root
  gather_facts: false
  roles:    zabbix-agent

2、或者在ansible的hosts配置文件中,非python2.6环境服务器上添加ansible_python_interpreter参数

# vim /etc/ansible/hosts
[gitlab]
gitlab-server ansible_ssh_host=192.168.10.10 ansible_ssh_user=root ansible_python_interpreter=/usr/bin/python2.6.6   #添加最后字段

3、 如果yum命令执行失败,修改 /usr/bin/yum 里为 旧的python解释器的路径

# vim /usr/bin/yum 
#!/usr/bin/python2.6.6   #修改第一行
......