Αφαιρέστε τη κενή μεταβλητή play που κρύβει τον χάρτη διακομιστή μεσολάβησης του Ansible
Οι μεταβλητές ομάδας του inventory χάνουν από μια δήλωση σε επίπεδο play ακόμη και όταν αυτή η δήλωση είναι κενή ή null.
Εάν το group_vars ορίζει έναν χάρτη διακομιστή μεσολάβησης αλλά η εργασία λαμβάνει κενή τιμή, αναζητήστε την ίδια μεταβλητή που δηλώνεται στο play. Μια μεταβλητή play έχει υψηλότερη προτεραιότητα· ένα κενό σύμβολο θέσης εξακολουθεί να υπερισχύει του inventory.
Για μια εξωτερική λήψη που επιτρέπεται να χρησιμοποιεί δημόσιο διακομιστή μεσολάβησης HTTP, η λίστα διακομιστών μεσολάβησης HTTP παρέχει υποψήφιες διευθύνσεις για τις τιμές του inventory. Διατηρήστε τον χάρτη στο inventory:
proxy_env:
http_proxy: http://proxy.example.net:8080
https_proxy: http://proxy.example.net:8080Στη συνέχεια εφαρμόστε τον στην προβλεπόμενη εργασία χωρίς σύμβολο θέσης proxy_env: σε επίπεδο play:
environment: "{{ proxy_env | default({}) }}"Εάν ένας ρόλος χρειάζεται εφεδρική λύση, ένας κενός χάρτης στις προεπιλογές του ρόλου βρίσκεται κάτω από τις τιμές του inventory και αφήνει το inventory να υπερισχύσει.
Το φίλτρο που εμφανίζεται χειρίζεται το undefined, όχι κάθε κατάσταση που φαίνεται κενή. Το ρητό null έχει ήδη οριστεί, επομένως το συνηθισμένο default({}) δεν διαγράφει αυτήν την υπερίσχυση υψηλότερης προτεραιότητας.
Ελέγξτε την πραγματική τιμή για τον επηρεαζόμενο κεντρικό υπολογιστή πριν αλλάξετε το τελικό σημείο του διακομιστή μεσολάβησης. Η οδηγία environment παρέχει τις εισόδους μιας εργασίας μόνο αφού η προτεραιότητα μεταβλητών επιλέξει τον χάρτη που αξιολογεί.