Ansible:在不同用户的同一台主机上运行不同的播放

我想pipe理两个用户帐户,恰好在同一个主机上( mylaptop )。 我为他们每个人分别玩。 然而,尽pipe我在我的inventory写了什么,但Ansible继续以同一个用户的身份执行这两个游戏:

 [personal_computers] mylaptop ansible_ssh_user=personal-user [work_computers] mylaptop ansible_ssh_user=work-user 

这是我用来testing的playbook( 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 ,并且这两个debugging任务都返回/home/work-user 。 这是一个错误吗? 我怎样才能完成我所需要的,即作为两个不同的用户来运行两个游戏?

我正在使用1.9.2。

您最好使用2个不同的库存主机名,并指定ansible_ssh_host主机variables:

 [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