Điểm:1

Làm cách nào để ghi đè biến playbook ansible?

lá cờ br

Tôi có một playbook tương tự như bên dưới sử dụng cơ sở_acl Biến đổi. Hãy giả vờ base_acl: "default_acl.j2. Tôi có một máy chủ mà tôi muốn sử dụng một máy chủ khác cơ sở_acl giá trị cho. Tôi đã xem qua ưu tiên ansible tài liệu và không thấy cách nào để làm điều này ngoài việc sử dụng --extra-vars trên dòng lệnh mà tôi không muốn làm.

Tôi đã thử xác định cơ sở_acl trong một host_vars tệp (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, quá trình phát vẫn in "playbook" cho giá trị biến khi chạy.

Có cách nào để bảo ansible đưa ra host_vars ưu tiên hơn các biến playbook?

---
- máy chủ: tất cả
  thu thập_sự kiện: không
  lọ:
    base_acl : "vở kịch"
    
  nhiệm vụ:
  - gỡ lỗi: msg="biến là {{ base_acl }}"
Điểm:1
lá cờ fr

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.

  1. xóa mục play var trong playbook của bạn
  2. đặ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"
    
  3. 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).

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.