Nuestro grupo de expertos despúes de ciertos días de investigación y de juntar de información, obtuvieron la respuesta, queremos que resulte útil para ti para tu trabajo.
Solución:
me gusta delegar_a. He aquí un ejemplo que, en servidor localcarreras hosts entrantes para cada anfitrión:
---
- hosts: all
connection: ssh
gather_facts: true
tasks:
- name: Lookup ansible_hostname in getent database
command: getent hosts ansible_hostname
delegate_to: localhost
register: result
- name: Show results
debug:
var: result.stdout
delegate_to: localhost
Puede acceder al nombre de host mediante el siguiente juego, ya que la información de inventario está disponible como hostvars.
- hosts: 127.0.0.1
connection: local
gather_facts: no
tasks:
- debug: var=hostvars
- name: node create
command: "knife node create hostvars[item]['hostname'] "
with_items:
- " groups['qa-hosts'] "
Otra alternativa es local_action.
En el caso de ambos delegate_to
y local_action
tenga en cuenta que si become = yes
entonces Ansible, por supuesto, implícitamente intentará invocar la acción usando sudo
y luego probablemente fallará porque la contraseña para local sudo
será diferente a cualquier contraseña que ingresó para control remoto sudo
.
Aquí puedes ver las reseñas y valoraciones de los usuarios
Nos puedes favorecer nuestro ensayo añadiendo un comentario y dejando una valoración te lo agradecemos.