---
- hosts: localhost
vars_files:
- vcenter_vars.yml
vars:
vm_list:
- test01
tasks:
- name: Get information about the virtual machine
vmware_guest_info:
validate_certs: False
hostname: '{{ vcenter_hostname }}'
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
folder: /Asia-Datacenter1/vm/
name: "{{ item }}"
datacenter: Asia-Datacenter1
register: vm_info
with_items: "{{ vm_list }}"
- name: Get Tools status
set_fact:
desired_vms: "{{ vm_info.results | json_query(jmesquery) }}"
vars:
jmesquery: "[?instance.guest_tools_status ==
'guestToolsNotRunning'].instance.hw_name"
- name: Reboot the given VM
vmware_guest_powerstate:
validate_certs: False
hostname: '{{ vcenter_hostname }}'
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
folder: /Asia-Datacenter1/vm/
name: "{{ item }}"
state: 'reboot-guest'
with_items: "{{ desired_vms }}"
On Fri, Apr 17, 2020 at 1:00 PM Kiran Kumar <[email protected]> wrote:
> Hi
>
>
> I need to check status of VMware tools on vms & if VMware tools are not
> running, then reboot the vm. I have below playbook which works fine to find
> vm name & VMware tools status. Please help on how can i extract the vm name
> & take action as per status.
>
> Note : i have to use the VMware modules as the OS typically will be in
> hung status ( hence tools not running ) , hence avoid user OS level task (
> and use VMware task )
>
> Thanks
>
> ---
>> - hosts: localhost
>> gather_facts: false
>> connection: local
>> collections:
>> - community.vmware
>> - community.general
>> vars_files:
>> - ./vars/vmware_vars.yml
>> vars:
>> vm_list:
>> - vm1
>> - vm2
>> tasks:
>> - name: Gather VM info
>> vmware_guest_info:
>> hostname: "{{ vcenter_server }}"
>> username: "{{ vcenter_user }}"
>> password: "{{ vcenter_pass }}"
>> datacenter: "{{ vcenter_datacenter }}"
>> validate_certs: no
>> name: "{{ item }}"
>> register: vm_info
>> with_items: "{{ vm_list }}"
>> - name: Tools status all
>> debug:
>> msg: "{{ vm_info.results | json_query(jmesquery) }}"
>> vars:
>> jmesquery: "[?instance.hw_name == '{{ item
>> }}'].instance.guest_tools_status"
>> with_items: "{{ vm_list }}"
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Ansible Project" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ansible-project/3473c234-0db3-4808-b73d-d9ba8460b5ee%40googlegroups.com
> <https://groups.google.com/d/msgid/ansible-project/3473c234-0db3-4808-b73d-d9ba8460b5ee%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
--
Thanks,
Abhijeet Kasurde
--
You received this message because you are subscribed to the Google Groups
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/CAFwWkHpCp5uXJQ2i5sAFm4y1GS4H7hWWjk8eibuEfaf-0amZCQ%40mail.gmail.com.