2016-04-16 27 views
9

La domanda è semplice: qual è la differenza tra ansible_user (ex ansible_ssh_user) e remote_user in Ansible, oltre al fatto che il primo viene impostato se il file di configurazione e quest'ultimo è impostato in riproduzioni/ruoli? Come si relazionano alle opzioni della riga di comando /--user?Ansible remote_user vs ansible_user

risposta

11

Entrambi sembrano essere uguali. Date un'occhiata qui:

https://github.com/ansible/ansible/blob/devel/lib/ansible/playbook/play_context.py#L46

# 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'), 

Inoltre, ansible_user viene utilizzato quando si vuole specifiy utente SSH di default in ospiti ansible file in cui come remote_user viene utilizzato in playbook contesto.

Da https://github.com/ansible/ansible/blob/devel/docsite/rst/intro_inventory.rst

ansible_user Il nome utente ssh predefinito da usare.

e qui è un esempio di utilizzo ansible_user in ansible hosts di file:

[targets] 

localhost    ansible_connection=local 
other1.example.com  ansible_connection=ssh  ansible_user=mpdehaan 
other2.example.com  ansible_connection=ssh  ansible_user=mdehaan 
+2

E 'davvero triste come hanno nomi diversi per la stessa opzione e quale utente ssh per accedere come non è l'unico esempio. Fin dalla prima lezione tutti quelli che lavorano nella nostra linea di lavoro impara a non "rompere la retrocompatibilità" ea non pensare da soli, cose come questa si accumulano e costano alla comunità innumerevoli ore di sforzi sprecati per decifrare l'uso del prodotto. –