ansible comando with_items

4

Em ansible 1.5.4 o seguinte comando funcionou perfeitamente:

- name: Generate postfix dhparams
  command: "{{ item }}"
  with_items:
    - openssl gendh -out /etc/postfix/dh_512.pem -2 512 creates=/etc/postfix/dh_512.pem
    - openssl gendh -out /etc/postfix/dh_2048.pem -2 2048 creates=/etc/postfix/dh_2048.pem
  notify: Reload postfix

Após a atualização para o 1.9.1, o comando falha com um erro fatal: [127.0.0.1] => A variable inserted a new parameter into the module args. Be sure to quote variables if they contain equal signs (for example: "{{var}}"). .

Como {{ item }} já é aspas, não sei o que está errado.

Como posso fazer esse comando voltar a funcionar?

    
por Zulakis 01.06.2015 / 12:06

1 resposta

5

Dê uma olhada no link para obter detalhes sobre por que essa alteração de comportamento foi feita (para evitar argumentos adicionais sendo injetado no módulo de comando). O formato a seguir deve funcionar:

- name: Generate postfix dhparams
  command: "{{ item.command }} creates={{ item.file}}"
  with_items:
    - { command: 'openssl gendh -out /etc/postfix/dh_512.pem -2 512', file: '/etc/postfix/dh_512.pem' }
    - { command: 'openssl gendh -out /etc/postfix/dh_2048.pem -2 2048', file: '/etc/postfix/dh_2048.pem' }
  notify: Reload postfix
    
por 01.06.2015 / 13:38