как использовать команду vim-cmd в esxi с ansible

#python #ansible #esx

Вопрос:

У меня нет vCenter, только хосты esxi

и я не использую никакого ансибельного инвентаря, я предпочитаю стиль add_host, как показано ниже

 - name: Set inventory from parameter
  gather_facts: no
  hosts: localhost
  tasks:
  - name: Set with add_host
    add_host:
      hostname: "{{ item.dest_name }}"
      ansible_host: "{{ item.dest_addr }}"
      ansible_user: "{{ item.dest_conn_user }}"
      ansible_password: "{{ item.dest_conn_pwd }}"
      ansible_dest_protocol: "{{ item.dest_protocol| default('') }}"
      ansible_port: "{{ item.dest_port | default('22') }}"
      ansible_host_key_checking: no
      custom_dest_name: "{{ item.dest_name }}"
      group: remote_org
    with_items: "{{ dests }}"

- name: Module test with set parameter
  gather_facts: no
  hosts: remote_org
  become: yes
  remote_user: root
  roles:
   - ../roles/4.get_vm_mac
 

и мои задачи/основной файл ниже

 ---
  - block:
    - name: Get Target VMid
      command: /bin/vim-cmd vmsvc/getallvms
      delegate_to: localhost

    rescue:
    - name: 'When failure'
      debug:
        msg: "Try again"
 

и результаты

 [Errno 2] No such file or directory
 

вы можете мне помочь ?? :d

Ответ №1:

Я совершил основную ошибку

   - block:
    - name: Get Target VMid
      command: /bin/vim-cmd vmsvc/getallvms
      #delegate_to: localhost <- delete this line
 

и теперь работает

спасибо всем вам