Odstraňte prázdnou proměnnou hry, která skrývá mapu proxy v Ansible
Skupinové proměnné inventáře prohrávají s deklarací na úrovni hry, i když je tato deklarace prázdná nebo null.
Pokud group_vars definuje mapu proxy, ale úloha dostane prázdnou hodnotu, hledejte stejnou proměnnou deklarovanou ve hře. Proměnná hry má vyšší prioritu; prázdný zástupný symbol stále přepisuje inventář.
Pro externí stahování, kterému je povoleno použít veřejný HTTP proxy, poskytuje seznam HTTP proxy kandidátní adresy pro hodnoty inventáře. Mapu ponechte v inventáři:
proxy_env:
http_proxy: http://proxy.example.net:8080
https_proxy: http://proxy.example.net:8080Poté ji použijte na zamýšlenou úlohu bez zástupného symbolu proxy_env: na úrovni hry:
environment: "{{ proxy_env | default({}) }}"Pokud role potřebuje záložní variantu, prázdná mapa ve výchozích hodnotách role leží pod hodnotami inventáře a umožňuje inventáři zvítězit.
Zobrazený filtr zpracovává undefined, ne každý stav, který vypadá prázdně. Explicitní null je již definován, takže běžný default({}) toto přepsání s vyšší prioritou nesmaže.
Před změnou koncového bodu proxy zkontrolujte efektivní hodnotu pro postižený hostitel. Direktiva environment dodává vstupy úlohy až poté, co priorita proměnných vybere mapu, kterou vyhodnocuje.