Verwijder de lege play-variabele die Ansible's proxymap verbergt
Inventaris-groepsvariabelen verliezen van een declaratie op playniveau, zelfs wanneer die declaratie leeg of null is.
Als group_vars een proxymap definieert maar de taak een lege waarde ontvangt, zoek dan dezelfde variabele die in de play is gedeclareerd. Een play-variabele heeft hogere prioriteit; een lege plaatshouder overschrijft de inventaris alsnog.
Voor een externe download die een openbare HTTP-proxy mag gebruiken, levert de HTTP-proxylijst kandidaatadressen voor de inventariswaarden. Houd de map in de inventaris:
proxy_env:
http_proxy: http://proxy.example.net:8080
https_proxy: http://proxy.example.net:8080Pas die vervolgens toe op de beoogde taak zonder een proxy_env:-plaatshouder op playniveau:
environment: "{{ proxy_env | default({}) }}"Als een rol een terugval nodig heeft, staat een lege map in de roldefaults onder de inventariswaarden en laat de inventaris winnen.
Het getoonde filter behandelt undefined, niet elke leeg uitziende toestand. Expliciete null is al gedefinieerd, dus gewone default({}) wist die overschrijving met hogere prioriteit niet.
Controleer de effectieve waarde voor de betrokken host voordat u het proxy-eindpunt wijzigt. De environment-richtlijn levert de invoer van een taak pas nadat de variabeleprioriteit de map heeft gekozen die zij evalueert.