Tôi có một tệp main_task.yml ansible đơn giản được lặp từ một main.yml .
hàng tồn kho.ini
[cổng_22]
192.168.0.189
192.168.0.199
[cổng_222]
192.168.0.199
[cổng_888]
192.168.0.200
main_task.yml
---
- tên: "chạy cái này trên {{ item }} máy chủ"
gỡ lỗi: msg= "cái này chỉ chạy trên máy chủ p{{ item }}"
khi: "{{ item }} trong group_names"
#khi: tên_nhóm | select("mục|chuỗi") | danh sách | đếm > 0
chính.yml
- máy chủ: port_22, port_222
kết nối: cục bộ
lọ:
cổng:
- 22
-222
nhiệm vụ:
- tên: Xác minh
bao gồm các nhiệm vụ: main_task.yml
vòng lặp: "{{cổng}}"
nó phàn nàn
[CẢNH BÁO]: các câu lệnh có điều kiện không được bao gồm các dấu phân cách tạo khuôn mẫu jinja2 như {{ }} hoặc {% %}. Đã tìm thấy: {{ item }} trong group_names
khi xóa mẫu jinja2, nhận được điều này:
bỏ qua: [192.168.0.189]
Làm thế nào tôi có thể đạt được điều này ?
Cập nhật:
Đã sửa đổi main.yml
- máy chủ: máy chủ_22, máy chủ_222
#kết nối: cục bộ
lọ:
cổng:
- 22
nhiệm vụ:
- tên: triển khai các tệp có địa chỉ mạng trong đó
bao gồm các nhiệm vụ: main_task.yml
vòng lặp: "{{cổng}}"
Đã sửa đổi main_task.yml
- tên: "chạy cái này trên {{ item }} máy chủ"
gỡ lỗi: msg= "cái này chỉ chạy trên máy chủ p{{ item }}"
khi nào: mục trong group_names
#khi: tên_nhóm | select("mục|chuỗi") | danh sách | đếm > 0
- tên: tên máy chủ của tôi
vỏ: tên máy chủ; tên máy chủ -tôi
khi nào: mục trong group_names
đăng ký: hostname_result
- gỡ lỗi:
var: hostname_result.stdout_lines
Đầu ra:
ansible-playbook main.yaml -i inventory.ini -u root
CHƠI [host_22, host_222] ********************************************* *************************************************** *************************************************** *************************************************** *************************************************** *****
NHIỆM VỤ [Thu thập thông tin] ********************************************* *************************************************** *************************************************** *************************************************** *************************************************** ******
được rồi: [192.168.0.189]
được rồi: [192.168.0.199]
NHIỆM VỤ [Xác minh] ************************************************ *************************************************** *************************************************** *************************************************** *******************************
bao gồm: /home/ubuntu/ansible/test/testing_loo/main_task.yml cho 192.168.0.199, 192.168.0.189 => (item=22)
NHIỆM VỤ [chạy cái này trên 22 máy chủ] ****************************************** *************************************************** *************************************************** *************************************************** *************************************************** ****
bỏ qua: [192.168.0.199]
bỏ qua: [192.168.0.189]
NHIỆM VỤ [tên máy chủ của tôi] ************************************************ *************************************************** *************************************************** *************************************************** *************************************************** **********
bỏ qua: [192.168.0.199]
bỏ qua: [192.168.0.189]
NHIỆM VỤ [gỡ lỗi] ************************************************ *************************************************** *************************************************** *************************************************** *************************************************** ***************
được rồi: [192.168.0.199] => {
"hostname_result.stdout_lines": "BIẾN KHÔNG ĐƯỢC XÁC ĐỊNH!"
}
được rồi: [192.168.0.189] => {
"hostname_result.stdout_lines": "BIẾN KHÔNG ĐƯỢC XÁC ĐỊNH!"
}