Ta bort den tomma play-variabeln som döljer Ansibles proxymapp
Inventariets gruppvariabler förlorar mot en deklaration på play-nivå även när den deklarationen är tom eller null.
Om group_vars definierar en proxymapp men uppgiften får ett tomt värde, leta efter samma variabel deklarerad i playet. En play-variabel har högre prioritet; en tom platshållare åsidosätter fortfarande inventariet.
För en extern nedladdning som får använda en offentlig HTTP-proxy tillhandahåller HTTP-proxylistan kandidatadresser för inventariets värden. Behåll mappen i inventariet:
proxy_env:
http_proxy: http://proxy.example.net:8080
https_proxy: http://proxy.example.net:8080Använd den sedan på den avsedda uppgiften utan en proxy_env:-platshållare på play-nivå:
environment: "{{ proxy_env | default({}) }}"Om en roll behöver en reserv ligger en tom mapp i rollens standardvärden under inventariets värden och låter inventariet vinna.
Filtret som visas hanterar undefined, inte varje tomt tillstånd. Explicit null är redan definierat, så vanlig default({}) raderar inte den åsidosättningen med högre prioritet.
Kontrollera det effektiva värdet för den berörda värden innan du ändrar proxy-slutpunkten. environment-direktivet tillhandahåller en uppgifts indata först efter att variabelprioriteten har valt den mapp den utvärderar.