Acesta este un manual de joc care face parte dintr-un rol care vorbește cu vmware.
Încerc să stabilesc un fapt personalizat (target_vm) care primesc numele mașinii virtuale.
Dar când imprimez valoarea sa cu modulul de depanare pare să fie goală.
Se pare că set_fact este setat corect deoarece ieșirea de depanare arată {"ansible_facts": {"target_vm": "TESTVM"}.
De asemenea, am făcut o sarcină Fail care dezvăluie dacă faptul target_vm este setat sau nu.
Acesta este Playbook-ul
- delegate_to: localhost
devenit: nu
delegate_facts: da
vars:
vc_hostname: „vcenter.bio.local”
vc_username: „bio.local\ansible”
vc_password: „{{ v_pass }}”
vm_uuid: '4217200F-46D2-C9FD-E7FD-768D21B327E8' | inferior
bloc:
- nume: Adună numai mașini virtuale înregistrate
vmware_vm_info:
nume de gazdă: „{{ vc_hostname }}”
nume de utilizator: „{{ vc_username }}”
parola: „{{ vc_password }}”
validate_certs: False
vm_type: vm
delegate_to: localhost
înregistrare: virtual_info
no_log: adevărat
- nume: Obțineți numele VM din UUID
set_fact:
target_vm: „{{ my_item.guest_name }}”
buclă: „{{ virtual_info.virtual_machines }}”
când: my_item.uuid == vm_uuid
loop_control:
loop_var: elementul_meu
delegate_to: localhost
delegate_facts: Adevărat
- nume: Verificați că numele interfeței este setat
eșuează:
msg: "Nu s-a putut determina numele target_vm!"
când: target_vm nu este definit
- nume: Print Output
depanare:
msg: "Numele VM este: {{ target_vm }}"
Aceasta este ieșirea
SARCINA [vmwaretaks: Obțineți numele VM din UUID] **************************************** ************************************************
ok: [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', 'atribute': {}, 'tags': []}) => {"ansible_facts": {"target_vm": "TESTVM"}, " ansible_loop_var": "my_item", "schimbat": false, "my_item": {"atribute": {}, "cluster": "JAS-Lab-DEP", "esxi_hostname": "b3j15esx05.bio.local", " guest_fullname": "Red Hat Enterprise Linux 6 (64 de biți)", "guest_name": "TESTVM", "ip_address": "192.168.54.32", "mac_address": ["00:32:52:97:e9: c8"], "power_state": "poweredOn", "etichete": [], "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"]}}}}
SARCINA [vmwaretaks: Verificați că numele interfeței este setat] **************************************** ****************************************
fatal: [testvm]: FAILED! => {"schimbat": false, "msg": "Nu s-a putut determina numele target_vm!"}
JOACĂ RECAPITULARE ************************************************ **************************************************** ********************
testvm: ok=13 schimbat=0 inaccesibil=0 eșuat=1 omis=2 salvat=0 ignorat=0