Đâ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 nó có giá trị với gỡ lỗi module thì nó có vẻ trống.
Tôi không biết những gì tôi đang làm sai trong set_fact mô-đun.
Đâ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: Đặt sự kiện target_vm khi bằng vm-name
set_fact:
target_vm: "{{ my_item.guest_name }}"
with_items: "{{ virtual_info.virtual_machines }}"
khi nào: my_item.uuid == vm_uuid
loop_control:
loop_var: my_item
- name: In Tên Khách
gỡ lỗi:
tin nhắn:
- "{{ foo_item.guest_name }}"
- "{{ target_vm | mặc định ('') }}"
with_items: "{{ virtual_info.virtual_machines }}"
khi nào: foo_item.uuid == vm_uuid
loop_control:
loop_var: foo_item
Đây là đầu ra
NHIỆM VỤ [vmwaretaks : Chỉ thu thập các máy ảo đã đăng ký] ****************************************** *************************************************** *****
được rồi: [testvm]
NHIỆM VỤ [vmwaretaks: Đặt sự kiện target_vm khi tên vm bằng nhau] *************************************** *************************************************** *********
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', 'cụm': 'JAS-Lab-DEP', 'thuộc tính': {}, 'thẻ': []})
NHIỆM VỤ [vmwaretaks : In tên khách] ****************************************** *************************************************** ***************************
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', 'cụm': 'JAS-Lab-DEP', 'thuộc tính': {}, 'thẻ': []}) => {
"tin nhắn": [
"KIỂM TRAVM",
""
]
}
TÓM TẮT CHƠI *************************************************** *************************************************** ************************************************
testvm : ok=13 đã thay đổi=0 không truy cập được=0 thất bại=0 bị bỏ qua=2 đã giải cứu=0 bị bỏ qua=0
Như bạn có thể thấy thông báo thứ hai in đầu ra var target_vm trống
Hy vọng bạn có thể giúp đỡ. Cảm ơn trước!