ทีม: ฉันพยายามทำให้งานล้มเหลวเมื่อไม่ตรงตามเงื่อนไขสองข้อบนโหนด ansible_facts['distribution_version']
และ ansible_facts['การกระจาย']
.
ฉันกำลังผ่านสองโหนด โหนดหนึ่งคือ 20.x
อูบุนตูและอื่น ๆ คือ 18.x
.
vars/main.yml
os_distribution: "อูบุนตู"
os_version: "20.04"
งานอยู่ด้านล่าง
- ชื่อ: "ตรวจสอบเวอร์ชันระบบปฏิบัติการหลักที่แมปกับเวอร์ชันการแจกจ่ายที่คาดไว้ {{ os_version }}"
ล้มเหลว:
msg: "งานล้มเหลวเนื่องจากพบเวอร์ชัน OS ที่ไม่คาดคิด: {{ ansible_facts['distribution'] }} {{ ansible_facts['distribution_version'] }} ใน {{ inventory_hostname }}"
เมื่อไร:
- ansible_facts['distribution_version'] คือเวอร์ชัน (os_version, '<')
- os_distribution != ansible_facts['การกระจาย']
ผลลัพธ์
TASK [node-validation : ตรวจสอบ Base OS Version ที่แมปกับเวอร์ชันการแจกจ่ายที่คาดไว้ 20.04] ***
วันอังคารที่ 23 พฤศจิกายน 2564 20:11:32 +0000 (0:00:17.570) 0:00:17.690 ******
การข้าม: [node1]
การข้าม: [node2]
ผลลัพธ์ที่คาดหวัง: สังเกต 18.x ด้านล่างโดยไม่แน่ใจว่าฉันพลาดอะไรไป
ร้ายแรง: [node2]: ล้มเหลว! => {"change": false, "msg": "งานล้มเหลวเนื่องจากพบเวอร์ชันระบบปฏิบัติการที่ไม่คาดคิด: Ubuntu 18.04 บน node2"}
เมื่อฉันถอด - os_distribution != ansible_facts['การกระจาย']
จากนั้นฉันจะได้รับผลลัพธ์ที่คาดหวังด้านล่าง แต่ฉันต้องการตอบสนองสองเงื่อนไขไม่ใช่แค่เงื่อนไขเดียว
[ร้ายแรง: [node2]: ล้มเหลว! => {"change": false, "msg": "งานล้มเหลวเนื่องจากพบเวอร์ชันระบบปฏิบัติการที่ไม่คาดคิด: Ubuntu 18.04 บน node2 }}"}
อ้างอิงถึง ansible_facts
ข้อเท็จจริงสำหรับ 20.x
10:17:59 [0;32m "การกระจาย": "Ubuntu",[0m
10:17:59 [0;32m "distribution_file_parsed": จริง,[0m
10:17:59 [0;32m "distribution_file_path": "/etc/os-release",[0m
10:17:59 [0;32m "distribution_file_variety": "เดเบียน",[0m
10:17:59 [0;32m "distribution_major_version": "18",[0m
10:17:59 [0;32m "distribution_release": "ไบโอนิค",[0m
10:17:59 [0;32m "distribution_version": "18.04",[0m
ข้อเท็จจริงสำหรับ 20.x
10:23:43 [0;32m "การกระจาย": "Ubuntu",[0m
10:23:43 [0;32m "distribution_file_parsed": จริง,[0m
10:23:43 [0;32m "distribution_file_path": "/etc/os-release",[0m
10:23:43 [0;32m "distribution_file_variety": "เดเบียน",[0m
10:23:43 [0;32m "distribution_major_version": "20",[0m
10:23:43 [0;32m "distribution_release": "โฟกัส",[0m
10:23:43 [0;32m "distribution_version": "20.04",[0m