Are you running from the ESXi server? if not then you need to delegate
tasks to the ESXi server which has esxcli.

Please see
https://medium.com/@AbhijeetKasurde/ansible-automating-esxcli-using-shell-module-6f691a551bca


tl;dr -

---
- hosts: localhost
  gather_facts: no
  tasks:
  - name: Start SSH service setting for an ESXi Host in given Cluster
    vmware_host_service_manager:
      hostname: '{{ vcenter_hostname }}'
      username: '{{ vcenter_username }}'
      password: '{{ vcenter_password }}'
      esxi_hostname: '{{ item }}'
      service_name: TSM-SSH
      state: present
    loop: "{{ groups['esxi'] }}"

- hosts: esxi
  tasks:
    - name: Get information about all the VMs
      shell: esxcli vm process list

and

[esxi]
foo.example.com ansible_ssh_user=root

On Thu, Jun 1, 2023 at 10:54 AM Tony Wong <[email protected]> wrote:

> i got below pb
>
> - name: test
>
>   hosts: all
>
>   gather_facts: no
>
>   vars_files:
>
>     - vcenter_creds.yml
>
>     - vars.yml
>
>
>
>   tasks:
>
>     - name: Enable SSH service
>
>       vmware_host_service_manager:
>
>         hostname: "{{ vcenter_hostname }}"
>
>         username: "{{ vcenter_sso_admin }}"
>
>         password: "{{ vcenter_sso_pass }}"
>
>         esxi_hostname: "{{ inventory_hostname }}"
>
>         validate_certs: no
>
>         state: present
>
>         service_name: "TSM-SSH"
>
>       delegate_to: localhost
>
>
>
>     - name: Esxcli
>
>       shell:
>
>         cmd: "esxcli vm process list"
>
>       delegate_to: localhost
>
>       register: esxcli_output
>
>
>
>     - name: Display esxcli output
>
>       debug:
>
>         var: esxcli_output.stdout_lines
>
>
>
>
>
>
> but keep getting error:
>
>
>
>
> fatal: [xxxxxxxxx -> localhost]: FAILED! => {"changed": true, "cmd":
> "esxcli", "delta": "0:00:00.009652", "end": "2023-06-01 10:49:02.878893",
> "msg": "non-zero return code", "rc": 127, "start": "2023-06-01
> 10:49:02.869241", "stderr": "/bin/sh: esxcli: command not found",
> "stderr_lines": ["/bin/sh: esxcli: command not found"], "stdout": "",
> "stdout_lines": []}
>
> --
> 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/3d9dc4ac-0821-494b-b25f-d9e458789a6en%40googlegroups.com
> <https://groups.google.com/d/msgid/ansible-project/3d9dc4ac-0821-494b-b25f-d9e458789a6en%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/CAFwWkHp4KfgvvyB%2BP3dPkBGsczuAKngpAgCVJCY3SneouO4mmA%40mail.gmail.com.

Reply via email to