在ansible中找不到yum模块但是yum.py存在

时间:2017-02-01 15:39:25

标签: ansible

我正在运行一个简单的ansilbe playbook来启动一个ec2实例来做一些事情......启动ec2任务有效但是yum没有...这是我在该任务上的-vvv输出< / p>

TASK [aws : install mdadm] *****************************************************
task path: /Users/usrxxx/Desktop/cloud-jumper/Ansible/roles/aws/tasks/main.yml:23
Using module file /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/ansible/modules/core/packaging/os/yum.py
<localhost> ESTABLISH LOCAL CONNECTION FOR USER: usrxxx
<localhost> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo ~/.ansible/tmp/ansible-tmp-1485961836.82-278342855888467 `" && echo ansible-tmp-1485961836.82-278342855888467="` echo ~/.ansible/tmp/ansible-tmp-1485961836.82-278342855888467 `" ) && sleep 0'
<localhost> PUT /var/folders/cx/_fdv7nkn6dz21798p_bn9dp9ln9sqc/T/tmph8PxIS TO /Users/usrxxx/.ansible/tmp/ansible-tmp-1485961836.82-278342855888467/yum.py
<localhost> EXEC /bin/sh -c 'chmod u+x /Users/usrxxx/.ansible/tmp/ansible-tmp-1485961836.82-278342855888467/ /Users/usrxxx/.ansible/tmp/ansible-tmp-1485961836.82-278342855888467/yum.py && sleep 0'
<localhost> EXEC /bin/sh -c '/usr/local/bin/python /Users/usrxxx/.ansible/tmp/ansible-tmp-1485961836.82-278342855888467/yum.py; rm -rf "/Users/usrxxx/.ansible/tmp/ansible-tmp-1485961836.82-278342855888467/" > /dev/null 2>&1 && sleep 0'
An exception occurred during task execution. The full traceback is:
Traceback (most recent call last):
  File "/var/folders/cx/_fdv7nkn6dz21798p_bn9dp9ln9sqc/T/ansible_6aNOBu/ansible_module_yum.py", line 25, in <module>
    import yum
ImportError: No module named yum

fatal: [localhost]: FAILED! => {
    "changed": false, 
    "failed": true, 
    "invocation": {
        "module_name": "yum"
    }, 
    "module_stderr": "Traceback (most recent call last):\n  File \"/var/folders/cx/_fdv7nkn6dz21798p_bn9dp9ln9sqc/T/ansible_6aNOBu/ansible_module_yum.py\", line 25, in <module>\n    import yum\nImportError: No module named yum\n", 
    "module_stdout": "", 
    "msg": "MODULE FAILURE"
}

我看着这条道路:

/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/ansible/modules/core/packaging/os/

它确实包含yum.py ....

我的剧本也是这样的:

--- # Launch ec2
- name: Create ec2 instance
  hosts: local2
  connection: local
  gather_facts: false
  roles:
    - aws

1 个答案:

答案 0 :(得分:1)

这一行给我的印象是你在mac上运行ansible ...

  <localhost> EXEC /bin/sh -c 'chmod u+x /Users/usrxxx/.ansible/tmp/...

此行表示您的任务正在本地计算机而不是远程主机上运行...

   <localhost> ESTABLISH LOCAL CONNECTION FOR USER: usrxxx

您的游戏或任务正在以“本地”连接运行,因此暗示您正试图在Mac上运行yum。这可能不起作用,因此请检查您的主机模式,连接方法和任务调用,以确保它在远程主机而不是Mac上运行。