我正在尝试在Ubuntu Vagrant机器上使用Ansible剧本进行一些实验 . 我写了一个名为exampleyum.yml的简单剧本如下:
---
- hosts: local
tasks:
- name: Installing packages
yum: name=httpd state=latest
sudo: yes
我跑的时候
ansible-playbook -i ~/inventory.ini exampleyum.yml
我收到以下错误:
任务执行期间发生异常 . 要查看完整的回溯,请使用-vvv . 错误是:ImportError:没有名为yum fatal的模块:[localhost]:FAILED! => {“已更改”:false,“failed”:true,“module_stderr”:“Traceback(最近一次调用最后一次):\ n文件\”/ tmp / ansible_qeXrGO / ansible_module_yum.py \“,第25行,\ n import yum \ nImportError:没有名为yum的模块\ n“,”module_stdout“:”“,”msg“:”MODULE FAILURE“}
它会导致一些导入错误和模块故障 . 我在某处读到 Yum
是一个核心模块
因此它应该正常工作,但事实并非如此 . 任何帮助,将不胜感激 . 我对Ansible很新 .
2 回答
那你为什么首先使用
yum
而不是apt
模块呢?如果由于某种原因仍需要
yum
模块,请确保在托管主机上安装了yum
python软件包 .使用包而不是yum模块,如剧本中的How to unify package installation tasks in ansible?所示 .
当我阅读并阅读一本基于CentOS / RedHat编写的书时,我遇到了同样的错误 . 问题本身可以避免如下,但如果在Ubuntu上继续使用YUM,则会导致进一步的问题 .
环境
确认症状
安装yum
验证原始问题已消失
相关问题
python的位置可能是Ansible和Yum的原因 .
另请注意,/ usr / bin / yum是指/ usr / bin / python .