Score:1

ข้อเท็จจริงที่กำหนดเองไม่ได้รับค่า

ธง ph
azk


นี่เป็นส่วนหนึ่งของ 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 นั้นว่างเปล่า
หวังว่าคุณจะสามารถช่วยได้ ขอบคุณล่วงหน้า!

azk avatar
ph flag
azk
ฉันได้เปลี่ยนวิธีแยกวิเคราะห์ guest_name ใน set_fact แล้วและมีความคืบหน้า แต่โมดูลดีบั๊กยังคงไม่พิมพ์ target_vm
azk avatar
ph flag
azk
`- ชื่อ: ตั้งค่าข้อเท็จจริง 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`
azk avatar
ph flag
azk
`TASK [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']}}, 'esxi_hostname': 'b3j15esx05.bio.local', 'cluster': 'JAS-Lab-DEP', 'แอตทริบิวต์ ': {}, 'แท็ก': []}) => {"ansible_facts": {"target_vm": "TESTVM"}...`
Score:0
ธง ph
azk

ดี. ดูเหมือนว่าความจริงจะถูกกำหนดด้วยค่าของมัน แต่ฉันไม่สามารถพิมพ์ได้อย่างถูกต้อง ดังนั้นฉันจะเปิดเผยคำถามอีกครั้งในโพสต์อื่น

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา