【发布时间】:2019-09-25 09:18:31
【问题描述】:
我正在寻找一个 Ansible 模块来识别“rpmdb open failed”的 Red Hat 或 CentOS yum 数据库错误?我希望主动识别我们定期修补的服务器,以便在修补之前了解并在发生此错误时为我们报告。然后让 Ansible 修复错误。有人见过这种类型的模块/修复吗?
谢谢。
【问题讨论】:
标签: ansible
我正在寻找一个 Ansible 模块来识别“rpmdb open failed”的 Red Hat 或 CentOS yum 数据库错误?我希望主动识别我们定期修补的服务器,以便在修补之前了解并在发生此错误时为我们报告。然后让 Ansible 修复错误。有人见过这种类型的模块/修复吗?
谢谢。
【问题讨论】:
标签: ansible
这样的模块不存在,但是您可以为 yum 模块使用list 参数。它不会对您提供的包执行除yum list 之外的任何任务,并且无论是否安装包,结果都会成功,当然除非您遇到rpmdb 错误。
您需要忽略错误并注册结果,如下所示:
- yum:
list: kernel
ignore_errors: yes
register: result
- debug: var=result
result 变量将包括 failed=true、msg 和 stderr,您应该能够将它们一起用于识别 rpmdb 错误。基于此识别,您可以启动有条件的shell 任务来修复错误。
【讨论】: