Ansible: executa execuções diferentes no mesmo host que usuários diferentes

7

Eu quero gerenciar duas contas de usuário, que estão no mesmo host ( mylaptop ). Eu tenho um jogo separado para cada um deles. No entanto, Ansible continua executando ambas as jogadas como o mesmo usuário, apesar do que eu escrevi no meu inventory :

[personal_computers]
mylaptop ansible_ssh_user=personal-user

[work_computers]
mylaptop ansible_ssh_user=work-user

Este é o manual ( test.yml ) que estou usando para testes:

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

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

Quando executo com ansible-playbook -i inventory test.yml -vvvv , vejo que todas as conexões são feitas com o usuário work-user e ambas as tarefas de depuração retornam /home/work-user . Isso é um bug no ansible? Como posso realizar o que preciso, ou seja, executar duas jogadas como dois usuários diferentes?

Estou usando o ansible 1.9.2.

    
por Jan Warchoł 04.09.2015 / 10:54

1 resposta

8

Você também pode usar 2 nomes de host de inventário distintos e especificar ansible_ssh_host host variable:

[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
    
por 05.09.2015 / 13:29

Tags