Якщо group_vars визначає карту проксі, але завдання отримує порожнє значення, шукайте ту саму змінну, оголошену в play. Змінна play має вищий пріоритет; порожній заповнювач усе одно перекриває inventory.

Для зовнішнього завантаження, якому дозволено використовувати публічний HTTP-проксі, список HTTP-проксі надає адреси-кандидати для значень inventory. Залиште карту в inventory:

proxy_env:
  http_proxy: http://proxy.example.net:8080
  https_proxy: http://proxy.example.net:8080

Потім застосуйте її до потрібного завдання без заповнювача proxy_env: на рівні play:

environment: "{{ proxy_env | default({}) }}"

Якщо ролі потрібен запасний варіант, порожня карта в значеннях ролі за замовчуванням лежить нижче значень inventory і дозволяє inventory перемогти.

Показаний фільтр обробляє undefined, а не кожен стан, що виглядає порожнім. Явний null уже визначено, тому звичайний default({}) не стирає це перекриття з вищим пріоритетом.

Перевірте чинне значення для ураженого хоста перед зміною кінцевої точки проксі. Директива environment надає вхідні дані завдання лише після того, як пріоритет змінних вибрав карту, яку вона обчислює.

Схожі статті