นี่เป็นส่วนหนึ่งของ playbook ของบทบาทที่พูดคุยกับ vmware
ฉันกำลังพยายามตั้งค่าข้อเท็จจริงที่กำหนดเอง (target_vm) ที่ได้รับชื่อเครื่องเสมือน
แต่เมื่อฉันพิมพ์มันมีค่ากับ แก้ไขข้อบกพร่อง โมดูลมันว่างเปล่า
ฉันไม่รู้ว่าฉันทำอะไรผิดใน set_fact โมดูล.
นี่คือเพลย์บุ๊ก
- delegate_to: localhost
กลายเป็น: ไม่
delegate_facts: ใช่
วาร์:
vc_hostname: 'vcenter.bio.local'
vc_username: 'bio.local\ansible'
vc_password: "{{ v_pass }}"
vm_uuid: '4217200F-46D2-C9FD-E7FD-768D21B327E8' | ต่ำกว่า
บล็อก:
- ชื่อ: รวบรวมเฉพาะเครื่องเสมือนที่ลงทะเบียนแล้ว
vmware_vm_info:
ชื่อโฮสต์: '{{ vc_hostname }}'
ชื่อผู้ใช้: '{{ vc_username }}'
รหัสผ่าน: '{{ vc_password }}'
validate_certs: เท็จ
vm_type: vm
delegate_to: localhost
ลงทะเบียน: virtual_info
no_log: จริง
- ชื่อ: ตั้งค่าข้อเท็จจริง target_vm เมื่อเท่ากับชื่อ vm
set_fact:
target_vm: "{{ my_item.guest_name }}"
with_items: "{{ virtual_info.virtual_machines }}"
เมื่อ: my_item.uuid == vm_uuid
loop_control:
loop_var: my_item
- ชื่อ: พิมพ์ชื่อแขก
แก้ปัญหา:
ข้อความ:
- "{{ foo_item.guest_name }}"
- "{{ target_vm | ค่าเริ่มต้น ('') }}"
with_items: "{{ virtual_info.virtual_machines }}"
เมื่อ: foo_item.uuid == vm_uuid
loop_control:
loop_var: foo_item
นี่คือผลลัพธ์
TASK [vmwaretaks : รวบรวมเฉพาะเครื่องเสมือนที่ลงทะเบียน] **************************************** ************************************************** *****
ตกลง: [testvm]
งาน [vmwaretaks : ตั้งค่าข้อเท็จจริง target_vm เมื่อเท่ากับชื่อ vm] ************************************* ************************************************** *********
โอเค: [testvm] => (item={'guest_name': 'TESTVM', 'guest_fullname': 'Red Hat Enterprise Linux 6 (64-bit)', 'power_state': 'poweredOn', 'ip_address': '192.168 .54.32', 'mac_address': ['00:32:52:97:e9:c8'], 'uuid': '4217200f-46d2-c9fd-e7fd-768d21b327e8', 'vm_network': {'00:32: 52:97:e9:c8': {'ipv4': ['192.168.54.32'], 'ipv6': ['fe80::250:56ff:fe97:d4c3']}}, 'esxi_hostname': 'b3j15esx05. bio.local', 'คลัสเตอร์': 'JAS-Lab-DEP', 'แอตทริบิวต์': {}, 'แท็ก': []})
งาน [vmwaretaks : พิมพ์ชื่อแขก] ****************************************** ************************************************** **************************
โอเค: [testvm] => (item={'guest_name': 'TESTVM', 'guest_fullname': 'Red Hat Enterprise Linux 6 (64-bit)', 'power_state': 'poweredOn', 'ip_address': '192.168 .54.32', 'mac_address': ['00:32:52:97:e9:c8'], 'uuid': '4217200f-46d2-c9fd-e7fd-768d21b327e8', 'vm_network': {'00:32: 52:97:e9:c8': {'ipv4': ['192.168.54.32'], 'ipv6': ['fe80::250:56ff:fe97:d4c3']}}, 'esxi_hostname': 'b3j15esx05. bio.local', 'cluster': 'JAS-Lab-DEP', 'attributes': {}, 'tags': []}) => {
"ข้อความ": [
"เทสทีวีเอ็ม",
""
]
}
เล่น RECAP ************************************************ ************************************************** ***********************************************
testvm : ok=13 เปลี่ยนแปลง=0 ไม่สามารถเข้าถึงได้=0 ล้มเหลว=0 ข้ามไป=2 ได้รับการช่วยเหลือ=0 ละเว้น=0
ดังที่คุณเห็นข้อความที่สองที่พิมพ์เอาต์พุต target_vm var นั้นว่างเปล่า
หวังว่าคุณจะสามารถช่วยได้ ขอบคุณล่วงหน้า!