ฉันกำลังพยายามใช้ vars พิเศษเพื่อตั้งชื่อโฮสต์ในตัวแปร "hostvars" เพื่อรับ uuid จากโฮสต์อื่น แต่ดูเหมือนว่าจะไม่จับค่าของตัวแปร
นี่คือเส้นวิ่ง:
$ ansible-playbook -i ../Inventory/my_inventory --vault-id vaultfile getuuid.yml -e vmname=testhost
นี่คือคู่มือการเล่น
---
- โฮสต์: localhost
Gather_facts: จริง
วาร์:
vcenter_hostname: 'vcenter.bio.local'
vcenter_username: 'bio.local\ansible'
vcenter_password: !vault |
$ANSIBLE_VAULT;1.1;AES256
33376437643462306363663235353732613838623561616532383236633563663938656236643861
3562366533306633386632356265623664396562636665360a323039396464336561383865386661
37383766643536313639313337363263653537613238396136393581373932633166343834383162
3735643035403631620a613666363336656634646436336336393238393866303133633265383461
6434
target_host: "{{ vmname }}"
vm_uuid: "{{ hostvars[target_host]['ansible_product_uuid'] }}"
งาน:
- ชื่อ: เจ้าภาพพิมพ์
แก้ปัญหา:
ข้อความ: "{{ vm_uuid }}"
นี่คือผลลัพธ์ของข้อผิดพลาด
เล่น [โฮสต์ในพื้นที่] *********************************************** ************************************************** ************************
TASK [รวบรวมข้อเท็จจริง] ********************************************* ************************************************** *******************
ตกลง: [localhost]
TASK [โฮสต์การพิมพ์] ********************************************* ************************************************** ************************
ร้ายแรง: [localhost]: ล้มเหลว! => {"msg": "งานมีตัวเลือกที่มีตัวแปรที่ไม่ได้กำหนด ข้อผิดพลาดคือ: {{ hostvars[target_host]['ansible_product_uuid'] }}: 'ansible.vars.hostvars.HostVarsVars object' has no attribute ' ansible_product_uuid'\n\nข้อผิดพลาดดูเหมือนจะอยู่ใน '/user/getuuid.yml': บรรทัดที่ 23 คอลัมน์ 7 แต่อาจ\nอยู่ที่อื่นในไฟล์ ทั้งนี้ขึ้นอยู่กับปัญหาทางไวยากรณ์ที่แน่นอน\n\nบรรทัดที่ละเมิดดูเหมือนจะเป็น :\n\n งาน:\n - ชื่อ: โฮสต์การพิมพ์\n ^ ที่นี่\n"}
เล่น RECAP ************************************************ ************************************************** ****************************
localhost: ตกลง=1 เปลี่ยนแปลง=0 ไม่สามารถเข้าถึงได้=0 ล้มเหลว=1 ข้าม=0 ช่วยชีวิต=0 ละเว้น=0