ฉันได้ลองกำหนด base_acl ในไฟล์ host_vars (ควรมีลำดับความสำคัญสูงกว่าตามลิงก์ด้านบนหรือไม่) สำหรับโฮสต์ที่เป็นปัญหา แต่การเล่นยังคงพิมพ์ "playbook" สำหรับค่าตัวแปรเมื่อเรียกใช้
จากลิงค์ที่คุณอ้างถึงในคำถามของคุณ:
...
8Â Â - ไฟล์สินค้าคงคลังหรือ vars โฮสต์สคริปต์
9Â Â - สินค้าคงคลัง host_vars/*
10Â - เพลย์บุ๊ก host_vars/*
11Â - ข้อมูลโฮสต์ / แคช set_facts
12Â - เล่น vars
...
22 - vars พิเศษ (เช่น -e "user=my_user")(ชนะเสมอ)
ดังนั้น เนื่องจากหมายเลขสูงสุดจะเป็นผู้ชนะ และรายการที่เกี่ยวข้องกับโฮสต์ทั้งหมด (8 ถึง 11) มีจำนวนน้อยกว่า 12 ข้อความของคุณจึงไม่ถูกต้อง การประเมินที่ถูกต้องเพียงอย่างเดียวคือ var พิเศษจะแทนที่ทุกอย่างเสมอ
มีหลายวิธีในการบรรลุสิ่งที่คุณกำลังมองหา แต่ในสถานการณ์ของคุณ นี่คือสิ่งที่ฉันจะทำ
- ลบรายการ play var ใน playbook ของคุณ
- ใส่ค่าเริ่มต้นใน
group_vars/all.yml
(ทั้งในระดับสินค้าคงคลังหรือ playbook):
base_acl: "คู่มือการเล่น"
- แทนที่ค่าเริ่มต้นสำหรับทุกโฮสต์ที่เกี่ยวข้องใน
host_vars/<your_host>.yml
(ทั้งในระดับสินค้าคงคลังหรือ playbook):
base_acl: "แทนที่ค่า"
โปรดทราบว่าวิธีข้างต้นจะใช้แทนค่าดีฟอลต์สำหรับกลุ่มใดกลุ่มหนึ่งได้เช่นกัน group_vars/<your_group>.yml
(ทั้งในระดับสินค้าคงคลังหรือ playbook)