Tôi có một playbook hoạt động tốt khi tôi giới hạn ở một máy chủ duy nhất.
ansible-playbook -k playbook.yml nhóm1
Tôi cần có khả năng chạy nó trên nhiều máy chủ cùng một lúc. Cú pháp sẽ là:
ansible-playbook -k playbook.yml 'group1 group2'
nhóm 1 là nhóm có nhiều máy chủ được cài đặt các ứng dụng khác nhau
server1 (đây là máy chủ proxy)
máy chủ2
máy chủ3
máy chủ4
nhóm 2 là nhóm có nhiều máy chủ được cài đặt các ứng dụng khác nhau
server5 (đây là máy chủ proxy)
máy chủ6
máy chủ7
máy chủ8
proxy là một nhóm gồm tất cả các máy chủ proxy của tôi
máy chủ 1
máy chủ5
Tôi đang thăm dò một thư mục để biết danh sách các tệp cần giải nén và hỏi người dùng xem họ muốn sử dụng tệp nào.
Nhiệm vụ trả về điều này:
tạm dừng NHIỆM VỤ:
Chọn SỐ của tệp để chọn:
1--------tệp/jtt_test/file1.tgz
2--------tệp/jtt_test/file2.gz
3--------tệp/jtt_test/file3.tgz
4--------tệp/jtt_test/file4.jar
5--------tệp/jtt_test/file5.jar
Người dùng chọn một số và đó là tệp sẽ được hủy lưu trữ.
Tôi tự chạy với nhóm1 và nó hoạt động tốt.
Tôi chạy với nhóm1 và nhóm2 cùng một lúc và nó bị lỗi. Tôi giả sử vì nó không thể chuyển biến của tệp được chọn.
Vở kịch là thế này:
-name: Cập nhật tệp giao diện người dùng
máy chủ: proxy
nhiệm vụ:
- tìm thấy:
đường dẫn: "tệp/{{ instance_dir }}"
đăng ký: kết quả
ủy nhiệm_to: máy chủ cục bộ
- bộ_thực tế:
my_files: "{{ result.files|map(attribute='path')|list|sort }}"
- tạm ngừng:
lời nhắc: |
Chọn SỐ của tệp để chọn:
{% cho tệp trong my_files %}
{{ loop.index }} ----------{{ tập tin }}
{% endfor %}
đăng ký: kết quả
- gỡ lỗi:
msg: "tệp đã chọn: {{ my_files[result.user_input|int - 1] }}"
gây tử vong: [proxy.local.test]: KHÔNG THÀNH CÔNG! => {"thông điệp": "Tác vụ bao gồm một tùy chọn có biến không xác định. Lỗi là: 'đối tượng dict' không có thuộc tính 'user_input'\n\nLỗi dường như ở 'playbook.yml': dòng 30, cột 7, nhưng có thể\nở nơi khác trong tệp tùy thuộc vào vấn đề cú pháp chính xác.\n\nDòng vi phạm có vẻ là:\n\n\n - gỡ lỗi:\n ^ tại đây\n"}
Tôi không chắc làm thế nào để giải quyết điều này.