Ansible: Führen Sie verschiedene Spiele auf demselben Host wie verschiedene Benutzer aus

8

Ich möchte zwei Benutzerkonten verwalten, die sich zufällig auf demselben Host befinden ( mylaptop). Ich habe für jeden ein eigenes Stück. Ansible führt jedoch weiterhin beide Spiele als derselbe Benutzer aus, obwohl ich Folgendes geschrieben habe inventory:

[personal_computers]
mylaptop ansible_ssh_user=personal-user

[work_computers]
mylaptop ansible_ssh_user=work-user

Dies ist das Playbook ( test.yml), das ich zum Testen verwende:

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

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

Wenn ich es mit ausführe ansible-playbook -i inventory test.yml -vvvv, kann ich sehen, dass alle Verbindungen mit dem Benutzer hergestellt work-userwerden und beide Debug-Tasks zurückkehren /home/work-user. Ist das ein Fehler in Ansible? Wie kann ich das erreichen, was ich brauche, dh zwei Spiele als zwei verschiedene Benutzer ausführen?

Ich benutze ansible 1.9.2.

Jan Warchoł
quelle

Antworten:

9

Sie können auch zwei unterschiedliche Inventar-Hostnamen verwenden und die Hostvariable angeben 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
yaegashi
quelle