ansible ansible-playbook ansible-2.x

Ansible remote_user vs ansible_user



ansible-playbook ansible-2.x (2)

Ambos parecen ser los mismos. Echa un vistazo aquí:

https://github.com/ansible/ansible/blob/c600ab81ee/lib/ansible/playbook/play_context.py#L46-L55

# the magic variable mapping dictionary below is used to translate # host/inventory variables to fields in the PlayContext # object. The dictionary values are tuples, to account for aliases # in variable names. MAGIC_VARIABLE_MAPPING = dict( connection = (''ansible_connection'',), remote_addr = (''ansible_ssh_host'', ''ansible_host''), remote_user = (''ansible_ssh_user'', ''ansible_user''), port = (''ansible_ssh_port'', ''ansible_port''),

Además, ansible_user se usa cuando queremos especificar un usuario SSH predeterminado en un archivo de hosts que se remote_user usar, mientras que remote_user se usa en el contexto de un libro de jugadas .

Desde https://github.com/ansible/ansible/blob/c600ab81ee/docsite/rst/intro_inventory.rst

ansible_user El nombre de usuario ssh predeterminado a usar.

y aquí hay un ejemplo del uso de ansible_user en un archivo de ansible hosts :

[targets] localhost ansible_connection=local other1.example.com ansible_connection=ssh ansible_user=mpdehaan other2.example.com ansible_connection=ssh ansible_user=mdehaan

La pregunta es simple: ¿cuál es la diferencia entre ansible_user (anteriormente ansible_ssh_user ) y remote_user en Ansible, además de que el primero se establece si el archivo de configuración y el último se configuran en jugadas / roles? ¿Cómo se relacionan con las opciones de línea de comando -u / --user ?


Una diferencia entre remote_user y ansible_user:
Cuando ejecuta un rol con diferentes usuarios de un libro de jugadas, por ejemplo:

- name: Apply user configuration to user root hosts: all remote_user: root - name: Apply user configuration to user murphy hosts: all remote_user: murphy

Luego puede realizar una tarea condicional para un usuario distinto utilizando "when: ansible_user == .." pero no con "when: remote_user == ..". p.ej:

- name: Add user murphy to wheel group user: name: murphy groups: wheel append: yes when: ansible_user == "root"