Entfernen Sie die leere Play-Variable, die Ansible's Proxy-Map verdeckt
Inventory-Gruppenvariablen unterliegen einer Deklaration auf Play-Ebene, selbst wenn diese Deklaration leer oder null ist.
Wenn group_vars eine Proxy-Zuordnung definiert, die Aufgabe aber einen leeren Wert erhält, suchen Sie nach derselben im Play deklarierten Variable. Eine Play-Variable hat Vorrang; ein leerer Platzhalter überschreibt dennoch das Inventory.
Für einen externen Download, der einen öffentlichen HTTP-Proxy verwenden darf, liefert die HTTP-Proxy-Liste Kandidatenadressen für die Inventory-Werte. Belassen Sie die Zuordnung im Inventory:
proxy_env:
http_proxy: http://proxy.example.net:8080
https_proxy: http://proxy.example.net:8080Wenden Sie sie dann auf die vorgesehene Aufgabe an, ohne einen proxy_env:-Platzhalter auf Play-Ebene:
environment: "{{ proxy_env | default({}) }}"Wenn eine Rolle einen Fallback benötigt, liegt eine leere Zuordnung in den Rollen-Standardwerten unter den Inventory-Werten und lässt das Inventory gewinnen.
Der gezeigte Filter behandelt undefined, nicht jeden leer wirkenden Zustand. Explizites null ist bereits definiert, daher löscht gewöhnliches default({}) diese Überschreibung mit höherem Vorrang nicht.
Prüfen Sie den effektiven Wert für den betroffenen Host, bevor Sie den Proxy-Endpunkt ändern. Die environment-Direktive liefert die Eingaben einer Aufgabe erst, nachdem die Variablenpriorität die Zuordnung ausgewählt hat, die sie auswertet.