角色包含中的参数 remote_user 已弃用,解决方法是什么?

Parameter remote_user in role include is deprecated, what's the workaround?

我正在使用 Ansible 来实现我的系统自动化。

我有一个依赖于两个角色的 Ansible 剧本。 第一个角色在远程服务器上创建一个用户 ("specific_user")。 第二个角色使用这个用户做一堆事情。

我的第一个解决方案如下(我的剧本):

---
- hosts: all

roles:
  - { role: ansible-role1, remote_user: root }
  - { role: ansible-role2, remote_user: specific_user }
...

但是,当 运行 它时,我从 Ansible 收到以下警告:

Using 'remote_user' as a role param has been deprecated.
In the future, these values should be entered in the `vars:` section for
roles, but for now we'll store it as both a param and an attribute..

还有什么选择?

目前这只是一条警告消息(直到 Ansible 2.7 版本)。

如消息所示,您需要将语法更改为(在下面的示例中使用 YAML,因为它更具可读性):

roles:
  - role: ansible-role1
    vars:
      remote_user: root
  - role: ansible-role2
    vars:
      remote_user: specific_user

...