问题描述
目标: 通过yum任务更新/安装rpm时,执行其他任务
在测试我的旁白剧的某个时候,在某些环境中,当我通过调试打印yum任务的输出时,我有一个output.changes.installed
列表和一个output.changes.updated
列表。我的游戏如下:
- name: install rpms
yum:
name: "{{ rpms | join(',') }}"
disablerepo: '*'
enablerepo: 'MyRepo'
update_cache: True
state: latest
register: yum_output
- debug:
msg: "{{ yum_output }}"
然后在以后的任务中,我遇到了这个问题:
- name: do the related thing
become_user: me
command: "do the thing"
register: thing_output
when:
- yum_output.changed == True
- "yum_output.changes.installed | union(yum_output.changes.updated) | join('|') | search('something')"
最后,如果升级/安装的任何rpm与我的搜索字词匹配,我将执行此附加任务。
问题是我无法弄清楚为什么不再填充installed
和updated
键,并且找不到关于它们的任何文档,但是我知道我看到了它们!是不是我所有系统中都没有的某些新版本?我收到一条错误消息,指出“已安装”不是dict中的键。我只有一个“结果”键。
我的yum任务输出如下:
{
"msg": {
"changed": false,"failed": false,"msg": "","rc": 0,"results": [
"All packages providing X are up to date","All packages providing Y are up to date","All packages providing Z are up to date",""
]
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)