Ansible Yum Module挂起交易错误

SSF*_*SSF 13 yum ansible

我对Ansible很新.我正在尝试遵循Ansible中角色概念的教程.我有以下主手册:

--- # Master Playbook for Webservers
- hosts: apacheweb
  user: test
  sudo: yes
  connection: ssh
  roles:
    - webservers
Run Code Online (Sandbox Code Playgroud)

这是指具有以下任务/ main.ymlWeb服务器角色:

- name: Install Apache Web Server
  yum: pkg=httpd state=latest
  notify: Restart HTTPD
Run Code Online (Sandbox Code Playgroud)

还有一个handler/main.yml:

- name: Restart HTTPD
  service: name=httpd state=started
Run Code Online (Sandbox Code Playgroud)

当我执行上面提到的Master Playbook时,我收到以下错误:

TASK [webservers : Install Apache Web Server] **********************************
fatal: [test.server.com]: FAILED! => {"changed": false, "failed": true, "msg": "The following packages have pending transactions: httpd-x86_64", "rc": 128, "results": ["The following packages have pending transactions: httpd-x86_64"]}
Run Code Online (Sandbox Code Playgroud)

我无法理解这个错误对应的内容.根据我的研究,似乎没有任何相似之处可能表明我使用Yum模块的方式存在问题.

注意:Ansible版本:

ansible 2.2.1.0
  config file = /etc/ansible/ansible.cfg
Run Code Online (Sandbox Code Playgroud)

gil*_*ile 26

目标主机上似乎有未完成/待处理的事务.尝试安装yum-utils程序包以运行yum-complete-transaction给出错误的目标主机.

# yum-complete-transaction --cleanup-only
Run Code Online (Sandbox Code Playgroud)

查看修复有更多详细信息,还有未完成的交易.

yum-complete-transaction是一个程序,它在系统上查找不完整或中止的yum事务并尝试完成它们.它查看transaction-all*和transaction-done*文件,如果yum事务在执行过程中中止,通常可以在/ var/lib/yum中找到它们.

如果它找到多个未完成的事务,它将首先尝试完成最近的事务.您可以多次运行它来清理所有未完成的事务.