我想删除几个文件,现在我这样做:
- file: path=/etc/yum.repos.d/rhel6-6-hci-frozen.repo state=absent
name: Ensure absence of old freeze files
- file: path=/etc/yum.repos.d/in-mrepo-rhel6.repo state=absent
name: Ensure absence of old files
...
许多其他行
这个问题是ansible似乎逐个执行这些,而不是将它合并为一个任务:
TASK [Ensure absence of old freeze files] **************************************
changed: [server]
TASK [Ensure absence of old files] *********************************************
ok: [server]
TASK [Ensure absence of actual files] ******************************************
ok: [server]
TASK [Ensure absence of old rhel6 freeze files] ********************************
ok: [server]
TASK [Ensure absence of epel stuff] ********************************************
ok: [server]
TASK [Ensure absence of epel testing] ******************************************
ok: [server]
这花费了很多时间。有没有办法将此作为一项任务执行?我知道我可能只是执行一个shell脚本,但我希望能够以正确的方式执行此操作。
答案 0 :(得分:4)
您可以将with_items
键用作:
- name: Ensure absence of old freeze files
file:
path: '{{ item }}'
state: absent
with_items:
- /etc/yum.repos.d/rhel6-6-hci-frozen.repo
- /etc/yum.repos.d/in-mrepo-rhel6.repo
答案 1 :(得分:1)
我尝试了这个,它适用于ansible 1.9.2:
- name: Ensure absence of old freeze files
file:
path: /etc/yum.repos.d/*rhel6*.repo
state: absent
当然,请确保您不会删除太多的回购文件。