Como especificar intervalo para percorrer uma matriz em ansible

0

Eu quero remover um aplicativo em um nó remoto usando ansible. Abaixo está meu manual. Como faço para fornecer um intervalo para a tarefa de desinstalação para repetir até que nenhum pacote seja deixado.

---

 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

Eu tentei com o operador range

   shell: rpm -e   {{ output.stdout_lines[:40] }}   --nodeps

Mas não estava funcionando.

    
por achak01 11.09.2018 / 09:23

1 resposta

1
- name: uninstall
  package:
    name: "{{ item }}"
    state: absent
  with_list: "{{ output.stdout_lines }}"

Ou, se você usar o Ansible 2.5 ou mais recente, substitua with_list por loop .

Você também pode fazer isso de uma só vez:

- name: uninstall
  package:
    name: "{{ output.stdout_lines }}"
    state: absent
por 11.09.2018 / 10:17

Tags