Назад | Перейти на главную страницу

Ansible: запускайте разные игры на одном хосте для разных пользователей

Я хочу управлять двумя учетными записями пользователей, которые находятся на одном хосте (mylaptop). Для каждого из них у меня есть отдельный спектакль. Однако Ansible продолжает выполнять обе игры от имени одного и того же пользователя, несмотря на то, что я написал в своем inventory:

[personal_computers]
mylaptop ansible_ssh_user=personal-user

[work_computers]
mylaptop ansible_ssh_user=work-user

Это сценарий (test.yml) Использую для тестирования:

- hosts: personal_computers
  tasks:
    - debug: var={{ ansible_env.HOME }}

- hosts: work_computers
  tasks:
    - debug: var={{ ansible_env.HOME }}

Когда я запускаю его с ansible-playbook -i inventory test.yml -vvvv, Я вижу, что все соединения выполняются с пользователем work-user, и обе задачи отладки возвращают /home/work-user. Это ошибка в анзибле? Как я могу выполнить то, что мне нужно, например запустить две игры от имени двух разных пользователей?

Я использую ansible 1.9.2.

Вы также можете использовать два разных имени хоста инвентаризации и указать ansible_ssh_host переменная хоста:

[personal_computers]
personal-laptop ansible_ssh_host=mylaptop ansible_ssh_user=personal-user

[work_computers]
work-laptop ansible_ssh_host=mylaptop ansible_ssh_user=work-user