Điểm:0

Cung cấp giá trị máy chủ cho playbook Ansible thông qua điều kiện Jinja

lá cờ cn

Tôi có một vai trò Ansible mà tôi muốn thực hiện trên các máy chủ cụ thể dựa trên một số điều kiện nhất định.

Tôi muốn phổ biến máy chủ từ cuộc khảo sát của Ansible Tower.Đây là vở kịch của tôi:

- tên: Tự động triển khai phản hồi HTTP
  máy chủ lưu trữ: "{% if geo == 'LHR' %}'dblhr002' {% elif geo == 'SJC' %}'dbsjc003' {% endif %}"
  thu thập_sự thật: đúng
  vai trò:
    - http-phản hồi-triển khai

Tôi gặp lỗi sau khi chọn LHR:

 [CẢNH BÁO]: Không thể khớp với mẫu máy chủ được cung cấp, bỏ qua: 'dblhr002'

Cần lưu ý rằng, nó không hoạt động khi tôi chọn bỏ qua các trích dẫn xung quanh tên máy chủ.

TLDR; cần phải đạt được các điều kiện từ Ansible như sau:

nếu địa lý == "LHR": 
   máy chủ: dblhr002
nếu địa lý == "SJC":
   máy chủ: dbsjc003
Điểm:1
lá cờ th

Những gì bạn đã cung cấp hoạt động tốt, miễn là dblhr002 được liệt kê trong hàng tồn kho. Các mẫu máy chủ chỉ khớp với các máy chủ hiện có, chúng không thêm máy chủ mới vào khoảng không quảng cáo.

ec2-user@pandora ~ $ mèo test.yml 
- máy chủ lưu trữ: "{% if geo == 'LHR' %}'dblhr002' {% elif geo == 'SJC' %}'dbsjc003' {% endif %}"
  thu thập_facts: sai
  nhiệm vụ:
    - gỡ lỗi:
ec2-user@pandora ~ $ ANSIBLE_INVENTORY_ENABLED=host_list ansible-playbook ~/test.yml -e geo=LHR -i dblhr002,

CHƠI [dblhr002] ************************************************ *********************

NHIỆM VỤ [gỡ lỗi] ************************************************ ************************
được rồi: [dblhr002] => {
    "msg": "Xin chào thế giới!"
}

TÓM TẮT CHƠI *************************************************** ************************
dblhr002 : ok=1 thay đổi=0 không truy cập được=0 thất bại=0 bỏ qua=0 giải cứu=0 bỏ qua=0   

Nếu bạn cần tự động thêm máy chủ, hãy sử dụng add_host nhiệm vụ trong một vở kịch riêng biệt.

- máy chủ: localhost
  thu thập_facts: sai
  nhiệm vụ:
    - thêm_máy chủ:
        tên: "{{host_map[geo] }}"
        nhóm: target_host
      lọ:
        máy chủ_bản đồ:
          LHR: dblhr002
          SJC: dbsjc003

- máy chủ: target_host
  thu thập_facts: sai
  nhiệm vụ:
    - gỡ lỗi:
systrigger avatar
lá cờ cn
cảm ơn! cái thứ hai có vẻ lý tưởng hơn

Đă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.