Установка групповых переменных в Ansible, области действия и наследовании - PullRequest
0 голосов
/ 12 апреля 2019

Будучи новичком в 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 выбрал правильный файл при выполнении заданий установки.

...