
ansibleを使用してリモートノードからアプリケーションを削除したいと思います。以下は私のスクリプトです。パッケージが残らなくなるまで削除操作が繰り返される範囲を提供するにはどうすればよいですか?
---
hosts: all
tasks:
- name: check-packages
shell: rpm -qa | grep -e "^\(HPOpr\|HPE\|HPOv\|HPBsm\|MIB2Policy\|HPOMi\)"
register: output
- name: uninstall
shell: rpm -e {{ output.stdout_lines.0 }} --nodeps
範囲演算子を使ってみました。
shell: rpm -e {{ output.stdout_lines[:40] }} --nodeps
しかし、うまくいきません。
答え1
- name: uninstall
package:
name: "{{ item }}"
state: absent
with_list: "{{ output.stdout_lines }}"
またはAnsible 2.5以降を使用しているwith_list
場合loop
。
一度にすべての操作を実行することもできます。
- name: uninstall
package:
name: "{{ output.stdout_lines }}"
state: absent