Odstráňte prázdnu premennú hry, ktorá skrýva mapu proxy v Ansible
Skupinové premenné inventára prehrávajú s deklaráciou na úrovni hry, aj keď je táto deklarácia prázdna alebo null.
Ak group_vars definuje mapu proxy, ale úloha dostane prázdnu hodnotu, hľadajte tú istú premennú deklarovanú v hre. Premenná hry má vyššiu prioritu; prázdny zástupný symbol stále prepisuje inventár.
Pre externé sťahovanie, ktorému je povolené použiť verejný HTTP proxy, poskytuje zoznam HTTP proxy kandidátske adresy pre hodnoty inventára. Mapu ponechajte v inventári:
proxy_env:
http_proxy: http://proxy.example.net:8080
https_proxy: http://proxy.example.net:8080Potom ju použite na zamýšľanú úlohu bez zástupného symbolu proxy_env: na úrovni hry:
environment: "{{ proxy_env | default({}) }}"Ak rola potrebuje záložný variant, prázdna mapa v predvolených hodnotách role leží pod hodnotami inventára a umožňuje inventáru zvíťaziť.
Zobrazený filter spracúva undefined, nie každý stav, ktorý vyzerá prázdny. Explicitný null je už definovaný, takže bežný default({}) toto prepísanie s vyššou prioritou nevymaže.
Pred zmenou koncového bodu proxy skontrolujte efektívnu hodnotu pre postihnutý hostiteľ. Direktíva environment dodáva vstupy úlohy až po tom, čo priorita premenných vyberie mapu, ktorú vyhodnocuje.