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