Параметр remote_user в роли include устарел, какой обходной путь?

Я использую 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..

Какая альтернатива?

1 ответ

Решение

В настоящее время это только предупреждающее сообщение (до версии 2.7 Ansible).

Как следует из сообщения, вам нужно изменить синтаксис на (используя YAML в приведенном ниже примере, потому что он более читабелен):

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

...

Другие вопросы по тегам