Tôi đã thử xác định base_acl trong tệp host_vars (nên có mức độ ưu tiên cao hơn theo liên kết ở trên?) Cho máy chủ được đề cập, tuy nhiên, vở kịch vẫn in "playbook" cho giá trị biến khi chạy.
Từ liên kết bạn đã tham chiếu trong câu hỏi của mình:
...
8Â Â - tệp khoảng không quảng cáo hoặc vars lưu trữ tập lệnh
9 Â - khoảng không quảng cáo host_vars/*
10Â - playbook host_vars/*
11Â - sự kiện lưu trữ / set_facts được lưu trong bộ nhớ cache
12Â - chơi bình
...
22 - các lọ bổ sung (ví dụ: -e "user=my_user")(luôn được ưu tiên)
Vì vậy, vì số cao nhất sẽ thắng và tất cả các mục liên quan đến máy chủ lưu trữ (8 đến 11) đều có số thấp hơn 12, nên tuyên bố của bạn thực sự sai. Đánh giá đúng duy nhất là một var bổ sung sẽ luôn ghi đè lên mọi thứ.
Thực tế có nhiều cách để đạt được những gì bạn đang tìm kiếm. Nhưng trong tình huống của bạn, đây là những gì tôi sẽ làm.
- xóa mục play var trong playbook của bạn
- đặt giá trị mặc định vào
nhóm_vars/all.yml
(ở cấp độ hàng tồn kho hoặc playbook):
base_acl: "vở kịch"
- ghi đè giá trị mặc định cho mọi máy chủ có liên quan trong
host_vars/<your_host>.yml
(ở cấp độ hàng tồn kho hoặc playbook):
base_acl: "ghi đè giá trị"
Lưu ý rằng phần trên cũng sẽ hoạt động để ghi đè giá trị mặc định cho một nhóm cụ thể trong group_vars/<your_group>.yml
(ở cấp độ hàng tồn kho hoặc playbook).