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
9
A
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
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. –