С незаметным движением все работает на клиенте, а задачи работают как localhost
. Я попытался установить файл фиктивного инвентаря с переменной, как показано ниже. В зависимости от имени хоста, я хочу, чтобы переменные были установлены соответствующим образом. Я думаю, что моя проблема заключается в том, что полное доменное имя используется неправильно.Как использовать динамические переменные с Ansible pull?
inventoryfile
[web_servers]
myweb001.phl.domain.local
myweb004.phl.domain.local
myweb005.phl.domain.local
[perl_servers]
myperl011.phl.domain.local
myperl001.phl.domain.local
myperl010.phl.domain.local
[web_servers:vars]
server_type=web
some_random_variable=20
[perl_servers:vars]
server_type=perl
some_random_variable=40
задача
- hosts: localhost
tasks:
- debug: var={{ server_type }}
выход
PLAY [localhost] ***************************************************************
TASK [setup] *******************************************************************
ok: [localhost]
TASK [debug] *******************************************************************
fatal: [localhost]: FAILED! => {"failed": true, "msg": "'server_type' is undefined"}
NO MORE HOSTS LEFT *************************************************************
to retry, use: --limit @test.retry
PLAY RECAP *********************************************************************
localhost : ok=1 changed=0 unreachable=0 failed=1
Ну, черт побери, это отлично работает! Большое спасибо! – luckytaxi