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 }}
_はすでに引用符で囲まれているため、何が問題なのかわかりません。
このコマンドを再び機能させるにはどうすればよいですか?
この動作の変更が行われた理由の詳細については、 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