Будучи новичком в Ansible и его огромных возможностях, я столкнулся с проблемой при попытке запустить задание, которое установит часть программного обеспечения на определенную машину.
В рамках этого процесса установки,Playbook установит порт и последующие смещения порта для каждого другого пункта назначения.В этом случае у меня есть tst & servertst.Каждый из которых имеет свой собственный файл yaml в group_vars.Все, что делает этот файл yaml, это устанавливает смещение сервера 100 для tst и 200 для tst сервера.
Я видел много информации о том, как Ansible генерирует переменные group_var и, как эффективно, если у вас есть одно и то же значение переменной дважды, применяется последнее.Интересно отметить, что если я переименую файл tst, оставив один файл servertst yaml, смещение порта будет определено правильно.
servertst.yaml
srv_environment: TST
srv_port_offset: 200
tst.yaml
srv_environment: TST
srv_port_offset: 100
Если я запускаю отладку некоторых переменных в основном задании, которое я ограничил толькоразвернуть файл XML (где должен быть указан номер порта) у меня есть
ЗАДАЧА [Показать все переменные / факты, известные для хоста] ******************************************************************************
"srv_port_offset": 100
TASK [Показать все переменные / факты, известные хосту] ******************************************************************************
"srv_environment": "TST"
TASK [Показать все переменные / facfor хоста] ******************************************************************************
"srv_hostname": "srv.tst.saas.com"
TASK [Показать все переменные / факты, известные для хоста]
"srv_home": "/opt/tst/srvdir"
Я ожидал, что параметры servertst запустили задание с параметромservertst, а не tst.
В любом случае имя хоста является правильным для servertst, как и srv_home directory.Но что не является смещением порта, которое использует значение tst-сервера для смещения, это, в свою очередь, вызывает проблему привязки.
Я также пытался использовать ansible_group_priority, но это не имеетвлияние на ситуацию.
Кто-нибудь сталкивался с чем-то подобным?Есть ли что-то, что я могу включить, чтобы сделать различие между файлами group_vars servertst и tst, чтобы ansible выбрал правильный файл при выполнении заданий установки.