The play is running properly, but I'm not sure what your intent is for the
output. Try running it with -vvv, or if you register a variable like
- name: "Find Guest's Folder using name"
vmware_guest_find:
hostname: "{{ vmware_esxi.hostname }}"
validate_certs: "{{ vmware_esxi.validate_certs }}"
username: "{{ vmware_esxi.username }}"
password: "{{ vmware_esxi.password }}"
datacenter: "{{ vmware_esxi.datacenter }}"
name: "{{ item }}"
delegate_to: localhost
register: vm_folder
tags: findvm
with_items:
- "{{ vm_hostname }}"
- name: debug vm_folder
debug:
var: vm_folder
You will then see what it's doing and can move on from there.
On Thursday, May 10, 2018 at 4:06:32 AM UTC-5, Ted wrote:
>
> Hi Nick,
>
> Thanks for the response. I'm actually basing my tasks on your github repo
> you shared!
> So I've tried what you suggested but its not returning any data.
>
> Updated task:
>
> - name: Find Guest's Folder using name
> vmware_guest_find:
> hostname: "{{ vmware_esxi.hostname }}"
> validate_certs: "{{ vmware_esxi.validate_certs }}"
> username: "{{ vmware_esxi.username }}"
> password: "{{ vmware_esxi.password }}"
> datacenter: "{{ vmware_esxi.datacenter }}"
> name: "{{ item }}"
> delegate_to: localhost
> tags: findvm
> with_items:
> - "{{ vm_hostname }}"
>
> Playbook run:
>
> # ansible-playbook -i hosts vmware-template.yml --tags findvm
> PLAY [vms]
> *********************************************************************************************************************************************************************************
> TASK [vmware-template : Find Guest's Folder using name]
> ************************************************************************************************************************************
> ok: [testvm01 -> localhost]
> PLAY RECAP
> *********************************************************************************************************************************************************************************
> testvm01 : ok=1 changed=0 unreachable=0 failed=0
>
> The VM is definitely in a folder.
> I can see the session opening in the VMware client so I'm assuming that
> its connecting and versions of the various software components are
> compatible.
> Must be missing something simple
>
> Regards,
>
>
> Ted
>
>
> On Wednesday, May 9, 2018 at 7:54:56 PM UTC+1, Nick Rogers wrote:
>
>> It looks like your problem is using the "vm_hostname" in the task.
>>
>> In my experiments, I either use "{{ inventory_hostname }}" for a per
>> vm/host/target definition in the hosts group or a "with_items" loop:
>>
>> - name: Find Guest's Folder using name
>> vmware_guest_find:
>> hostname: "{{ vmware_esxi.hostname }}"
>> validate_certs: "{{ vmware_esxi.validate_certs }}"
>> username: "{{ vmware_esxi.username }}"
>> password: "{{ vmware_esxi.password }}"
>> datacenter: "{{ vmware_esxi.datacenter }}"
>> name: "{{ item }}"
>> delegate_to: localhost
>> tags: findvm
>> with_items:
>> - "{{ vm_hostname }}"
>>
>>
>>
>> On Wednesday, May 9, 2018 at 9:52:01 AM UTC-5, Ted wrote:
>>>
>>> Hi,
>>>
>>> I'm having issues with getting basic VMware modules working. For example
>>> vmware_guest_find. I'm running the below from a RHEL 7 server.
>>>
>>> Versions installed:
>>> pyvmomi 6.7.0
>>> ansible 2.5.2
>>> vSphere vCenter 6.0
>>>
>>>
>>>
>>> playbook:
>>> ---
>>> - hosts: vms
>>>
>>> roles:
>>> - vmware-template
>>>
>>> Role task:
>>> ---
>>> # tasks file for vmware-template
>>>
>>> - name: Find Guest's Folder using name
>>> vmware_guest_find:
>>> hostname: "{{ vmware_esxi.hostname }}"
>>> validate_certs: "{{ vmware_esxi.validate_certs }}"
>>> username: "{{ vmware_esxi.username }}"
>>> password: "{{ vmware_esxi.password }}"
>>> datacenter: "{{ vmware_esxi.datacenter }}"
>>> name: "{{ vm_hostname }}"
>>> delegate_to: localhost
>>> tags: findvm
>>>
>>> Role vars:(sensitive info hashed out)
>>>
>>> ---
>>> # vars file for vmware-template
>>> vmware_esxi:
>>> hostname: #######
>>> validate_certs: no
>>> username: #######
>>> password: ########
>>> datacenter: #######
>>>
>>> vm_hostname:
>>> - testvm01
>>>
>>> Hosts file:
>>> [local]
>>> localhost
>>>
>>> [vms]
>>> testvm01
>>>
>>>
>>>
>>> Playbook run: (sensitive info hashed out)
>>>
>>> # ansible-playbook -i hosts vmware-template.yml --tags findvm -vvvv
>>> ansible-playbook 2.5.2
>>> config file = /etc/ansible/ansible.cfg
>>> configured module search path = [u'/root/.ansible/plugins/modules', u
>>> '/usr/share/ansible/plugins/modules']
>>> ansible python module location = /usr/lib/python2.7/site-packages/
>>> ansible
>>> executable location = /bin/ansible-playbook
>>> python version = 2.7.5 (default, May 3 2017, 07:55:04) [GCC 4.8.5
>>> 20150623 (Red Hat 4.8.5-14)]
>>> Using /etc/ansible/ansible.cfg as config file
>>> setting up inventory plugins
>>> Set default localhost to localhost
>>> Parsed /etc/ansible/plays/hosts inventory source with ini plugin
>>> Trying secret FileVaultSecret(filename='########') for vault_id=default
>>> Loading callback plugin default of type stdout, v2.0 from /usr/lib/
>>> python2.7/site-packages/ansible/plugins/callback/default.pyc
>>> PLAYBOOK: vmware-template.yml
>>> **************************************************************************************************************************************************************
>>> 1 plays in vmware-template.yml
>>> PLAY [vms]
>>> *********************************************************************************************************************************************************************************
>>> META: ran handlers
>>> TASK [vmware-template : Find Guest's Folder using name]
>>> ************************************************************************************************************************************
>>> task path: /etc/ansible/roles/vmware-template/tasks/main.yml:52
>>> Using module file
>>> /usr/lib/python2.7/site-packages/ansible/modules/cloud/vmware/vmware_guest_find.py
>>> <localhost> ESTABLISH LOCAL CONNECTION FOR USER: root
>>> <localhost> EXEC /bin/sh -c 'echo ~ && sleep 0'
>>> <localhost> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo
>>> /root/.ansible/tmp/ansible-tmp-1525877042.27-257095638403837 `" && echo
>>> ansible-tmp-1525877042.27-257095638403837="` echo
>>> /root/.ansible/tmp/ansible-tmp-1525877042.27-257095638403837 `" ) &&
>>> sleep 0'
>>> <localhost> PUT /root/.ansible/tmp/ansible-local-24670bWH_Sz/tmptyQ4GF
>>> TO
>>> /root/.ansible/tmp/ansible-tmp-1525877042.27-257095638403837/vmware_guest_find.py
>>> <localhost> EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-
>>> 1525877042.27-257095638403837/ /root/.ansible/tmp/ansible-tmp-
>>> 1525877042.27-257095638403837/vmware_guest_find.py && sleep 0'
>>> <localhost> EXEC /bin/sh -c '/usr/bin/python /root/.ansible/tmp/ansible-
>>> tmp-1525877042.27-257095638403837/vmware_guest_find.py && sleep 0'
>>> <localhost> EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-
>>> 1525877042.27-257095638403837/ > /dev/null 2>&1 && sleep 0'
>>> fatal: [testvm01 -> localhost]: FAILED! => {
>>> "changed": false,
>>> "invocation": {
>>> "module_args": {
>>> "datacenter": "#######",
>>> "hostname": "###########",
>>> "name": "['##########']",
>>> "password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
>>> "port": ###,
>>> "username": "#####",
>>> "uuid": null,
>>> "validate_certs": false
>>> }
>>> },
>>> "msg": "Unable to find folders for virtual machine ['testvm01']"
>>> }
>>> to retry, use: --limit @/etc/ansible/plays/vmware-template.retry
>>> PLAY RECAP
>>> *********************************************************************************************************************************************************************************
>>> testvm01 : ok=0 changed=0 unreachable=0 failed=1
>>>
>>>
>>>
>>> This is a pretty straight forward task but I don't understand why its
>>> failing. The vm exists, its powered on, VMware tools is running. I can see
>>> a new connection opening under the sessions tab in the vSphere client. I
>>> can query the VM from powercli.........
>>>
>>> Does pyvmomi have to be installed on the vCenter host?
>>>
>>> Any suggestions / comments are most welcome!
>>>
>>> Thanks,
>>>
>>> Ted
>>>
>>>
>>>
>>>
--
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 post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/01a9ae39-b770-4bff-8a7e-d7b10e258980%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.