Điểm:1

Thực thi một tác vụ từ playbook bằng cách sử dụng thẻ

lá cờ cn

Tôi có một cuốn sổ tay với nhiều tác vụ để bật/tắt máy. Tôi đã thử sử dụng các thẻ để chỉ chạy một tác vụ "khởi động VM" bằng lệnh ansible run.yaml --tags on nhưng nó ném ERROR! các thẻ phải được chỉ định dưới dạng danh sách. Xin vui lòng cho tôi biết nơi tôi đã làm sai lầm. Cảm ơn

---
- máy chủ: danh sách
  thu thập_sự kiện: không
  nhiệm vụ:
  - tên: bắt đầu
    lệnh: >
            virsh bắt đầu {{ inventory_hostname }}
    thẻ: trên
    ủy nhiệm_to: inv
- máy chủ: tắt
  thu thập_sự kiện: không
  nhiệm vụ:
  - tên: dừng vm
    lệnh: >
            virsh shutdown --domain {{ventory_hostname }}
    ủy nhiệm_to: inv
    thẻ: tắt
Điểm:2
lá cờ br

Vấn đề là trong Ansible trên được đánh giá là Boolean Thậttắt được đánh giá là Boolean Sai. Nhìn thấy Kiểm tra tính trung thực. Ví dụ

    - gỡ lỗi:
        msg: "{{ my_tag }} là thật {{ my_tag là thật }}"
      lọ:
        my_tag: bật

cho

  msg: Đúng là sự thật Đúng

Khi bạn sử dụng Boolean trong thẻ, ví dụ:

    - gỡ lỗi:
        msg: gắn thẻ vào
      thẻ: trên

Ansible phàn nàn

LỖI! các thẻ phải được chỉ định dưới dạng danh sách

Lỗi này là sai lệch. Trên thực tế, Ansible phàn nàn về loại dữ liệu. Giải pháp rất đơn giản. Không sử dụng Boolean làm thẻ, ví dụ: nhiệm vụ dưới đây hoạt động như mong đợi

    - gỡ lỗi:
        msg: gắn thẻ my_on
      thẻ: my_on

cho

shell> ansible-playbook playbook.yml --tags my_on
...
  msg: gắn thẻ my_on

Bạn có thể sử dụng danh sách trong thẻ. Tuy nhiên, nếu bạn đặt một chuỗi vào các thẻ, nó sẽ được hiểu là một mục duy nhất của danh sách. Nhìn thấy thẻ.

ranji avatar
lá cờ cn
Cảm ơn! Nó đã làm việc
Điểm:0
lá cờ br

Chính xác như thông báo lỗi nói, thay vào đó hãy thử điều này:

---
- chủ nhà: von
  thu thập_sự kiện: không
  nhiệm vụ:
  - tên: bắt đầu vm
    lệnh: >
            virsh bắt đầu {{ inventory_hostname }}
    thẻ: 
    - trên
    đại biểu_to: sou
- chủ nhà: voff
  thu thập_sự kiện: không
  nhiệm vụ:
  - tên: dừng vm
    lệnh: >
            virsh shutdown --domain {{ventory_hostname }}
    đại biểu_to: sou
    thẻ: 
    - tắt

Nếu không thử mã của bạn, tôi nghi ngờ bạn có thể cần đặt lệnh virsh giữa các dấu ngoặc kép (") để thay thế biến j2 hoạt động.

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