Đây là một phần playbook của vai trò nói chuyện với vmware.
Tôi đang cố thiết lập một dữ kiện tùy chỉnh (mục tiêu_vm) nhận tên máy ảo.
Nhưng khi tôi In giá trị của nó bằng mô-đun gỡ lỗi thì nó có vẻ trống.
Nó nối rằng set_fact được đặt chính xác vì đầu ra gỡ lỗi hiển thị {"ansible_facts": {"target_vm": "TESTVM"}.
Tôi cũng đã thực hiện một tác vụ Fail cho biết liệu thực tế target_vm có được đặt hay không.
Đây là Playbook
- ủy nhiệm_to: máy chủ cục bộ
trở thành: không
delegate_facts: có
lọ:
vc_hostname: 'vcenter.bio.local'
vc_username: 'bio.local\ansible'
vc_password: "{{ v_pass }}"
vm_uuid: '4217200F-46D2-C9FD-E7FD-768D21B327E8' | thấp hơn
chặn:
- tên: Chỉ thu thập các máy ảo đã đăng ký
vmware_vm_info:
tên máy chủ: '{{ vc_hostname }}'
tên người dùng: '{{ vc_username }}'
mật khẩu: '{{ vc_password }}'
xác thực_certs: Sai
vm_type: vm
ủy nhiệm_to: máy chủ cục bộ
đăng ký: virtual_info
no_log: đúng
- name: Nhận tên VM từ UUID
set_fact:
target_vm: "{{ my_item.guest_name }}"
vòng lặp: "{{ virtual_info.virtual_machines }}"
khi nào: my_item.uuid == vm_uuid
loop_control:
loop_var: my_item
ủy nhiệm_to: máy chủ cục bộ
delegate_facts: Đúng
- tên: Xác minh tên giao diện được đặt
Thất bại:
msg: "Không thể xác định tên target_vm!"
khi nào: target_vm không được xác định
- tên: Đầu Ra In
gỡ lỗi:
msg: "Tên VM là: {{ target_vm }}"
Đây là đầu ra
NHIỆM VỤ [vmwaretaks: Nhận tên VM từ 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', 'attributes': {}, 'tags': []}) => {"ansible_facts": {"target_vm": "TESTVM"}," ansible_loop_var": "my_item", "đã thay đổi": sai, "my_item": {"thuộc tính": {}, "cụm": "JAS-Lab-DEP", "esxi_hostname": "b3j15esx05.bio.local", " guest_fullname": "Red Hat Enterprise Linux 6 (64-bit)", "guest_name": "TESTVM", "ip_address": "192.168.54.32", "mac_address": ["00:32:52:97:e9: c8"], "power_state": "poweredOn", "tags": [], "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"]}}}}
NHIỆM VỤ [vmwaretaks: Xác minh tên giao diện được đặt] ****************************************** ******************************************
gây tử vong: [testvm]: KHÔNG THÀNH CÔNG! => {"đã thay đổi": sai, "thông điệp": "Không thể xác định tên target_vm!"}
TÓM TẮT CHƠI *************************************************** *************************************************** *********************
testvm : ok=13 đã thay đổi=0 không truy cập được=0 thất bại=1 bị bỏ qua=2 đã giải cứu=0 bị bỏ qua=0