通过Vagrant和Ansible进行配置时,我一直遇到这个问题。
任务[postgresql:创建扩展] **************************************** **
失败:[myapp](item = postgresql_extensions)=> {“changed”:true,“cmd”:“psql myapp -c'CREATE EXTENSION if NOT EXISTS postgresql_extensions;'”,“delta”:“0:00:00.037786”,“end”:“2017-04-01 08 :37:34.805325“,”失败“:true,”item“:”postgresql_extensions“,”rc“:1,”start“:”2017-04-01 08:37:34.767539“,”stderr“:”错误:无法打开扩展控制文件\“/ usr / share / postgresql / 9.3 / extension / postgresql_extensions.control \”:没有这样的文件或目录“,”stdout“:”“,”stdout_lines“:[],”警告“: []}
我正在使用railsbox.io生成的playbook。
答案 0 :(得分:2)
事实证明,railsbox.io仍然在任务中使用了弃用的语法。
- name: Create extensions
sudo_user: '{{ postgresql_admin_user }}'
shell: "psql {{ postgresql_db_name }} -c 'CREATE EXTENSION IF NOT EXISTS {{ item }};'"
with_items: postgresql_extensions
when: postgresql_extensions
最后一行应该使用完整的jinja2语法。
when: '{{postgresql_extensions}}'