我已经开始获得
错误! 'become_user'不是TaskInclude的有效属性
在使用适用于ansible 2.8的剧本时使用
它在ansible 2.7及更早版本中可以正常工作。
错误消息表明问题出在该文件的'become_user'行:
- name: Install API software
become: true
become_user: "{{ namespace }}"
include_tasks: utils/install_service.yml
vars:
service_name: api
nodejs_service: true
我没有在任何文档或变更日志中找到与此明显相关的任何内容。
答案 0 :(得分:1)
在一些旧的issue中找到了解决方案。
似乎将'become'与'include_tasks'一起使用是一个未记录的功能,被意外删除了。
可以通过将include_tasks打包到一个块中来解决:
- block:
- name: Install API software
include_tasks: utils/install_service.yml
vars:
service_name: api
nodejs_service: true
become: true
become_user: "{{ namespace }}"
答案 1 :(得分:1)
您应该能够简单地将它们添加到您传入的变量列表中(带有ansible_
前缀)。这样就可以了:
- name: Install API software
include_tasks: utils/install_service.yml
vars:
service_name: api
nodejs_service: true
ansible_become: true
ansible_become_user: "{{ namespace }}"
有关参考,请参见the upstream issue comment。