web-dev-qa-db-ja.com

ansibleコマンドwith_items

Ansible 1.5.4では、次のコマンドが問題なく機能しました。

_- 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
_

1.9.1にアップグレードした後、コマンドは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}}").エラーで失敗します。

_{{ item }}_はすでに引用符で囲まれているため、何が問題なのかわかりません。

このコマンドを再び機能させるにはどうすればよいですか?

4
Zulakis

この動作の変更が行われた理由の詳細については、 https://github.com/ansible/ansible/issues/826 を参照してください(コマンドモジュールに追加の引数が挿入されないようにするため)。次の形式が機能するはずです。

- 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
5
mvermaes