Houve três problemas:
- Você precisa de informações de outro servidor para usar no atual servidor que você está configurando.
- O outro servidor do qual você precisa de informações está hospedado na AWS.
- O outro servidor para o qual você precisa acessar informações tem um nome de variável.
A solução para 3 é especificar a variável na linha de comando usando extra-vars como: ansible-playbook -i ./ec2.py --extra-vars "caos = teste "aws_playground.yaml
A solução para 2 é encontrar o nome do host que você precisa da variável de grupos hostvars. Quando combinado com 3 acima, você quer algo como: - debug: var = hostvars [grupos ['tag_Name _' + caos + '_ util'] [0]] ansible_all_ipv4_addresses [0]
A solução para 1 é coletar os dados do outro servidor antes de trabalhar no servidor que você está configurando. Abaixo está uma cartilha coletando tudo isso em um só lugar:
# Called like: ansible-playbook -i ./ec2.py --extra-vars "chaos=test" aws_playground.yaml
- name: Collect our facts on util
hosts: "tag_Name_{{ chaos }}_util"
tasks: [ ]
- name: Set up a web server
hosts: "tag_Name_{{ chaos }}_web"
tasks:
- debug: var=hostvars[groups['tag_Name_'+chaos+'_util'][0]].ansible_all_ipv4_addresses[0]