On Friday, 17 November 2017 11.55.01 CET Moreno Garcia wrote:
> I have 3 machines provisioned on KVM. Here is my inventory:
>
> [local]
> localhost ansible_connection=local
>
>
> [dbservers]
> server1
> server2
> server3
>
>
> When I run from the command line:
>
> $ ansible localhost -m virt -a "name=scylla3 command=status"
>
> localhost | SUCCESS => {
> "changed": false,
> "failed": false,
> "status": "running"
> }
>
> It works perfectly fine.
Here the virt module is running on localhost.
> But from my playbook
>
> - hosts: dbservers
> tasks:
> - name: Test command for VMs
> virt:
> command: status
> name: '{{ansible_host }}'
>
> I get the following error:
> An exception occurred during task execution. To see the full traceback, use
> -vvv. The error was: VMNotFound: virtual machine server1 not found
> fatal: [server1]: FAILED! => {"changed": false, "failed": true, "msg":
> "virtual
> machine server1 not found"}
> An exception occurred during task execution. To see the full traceback, use
> -vvv. The error was: VMNotFound: virtual machine server2 not found
> fatal: [server2]: FAILED! => {"changed": false, "failed": true, "msg":
> "virtual
> machine server2 not found"}
> An exception occurred during task execution. To see the full traceback, use
> -vvv. The error was: VMNotFound: virtual machine server3 not found
> fatal: [server3]: FAILED! => {"changed": false, "failed": true, "msg":
> "virtual
> machine server3 not found"}
Here you are running the virt module on the VM, and the VM is not running KVM
the host is.
> Running with -vvv the relevant part:
>
> The full traceback is:
> Traceback (most recent call last):
> File "/tmp/ansible_WuP4hq/ansible_module_virt.py", line 540, in main
> rc, result = core(module)
> File "/tmp/ansible_WuP4hq/ansible_module_virt.py", line 506, in core
> res = getattr(v, command)(guest)
> File "/tmp/ansible_WuP4hq/ansible_module_virt.py", line 410, in status
> return self.conn.get_status(vmid)
> File "/tmp/ansible_WuP4hq/ansible_module_virt.py", line 236, in get_status
> state = self.find_vm(vmid).info()[0]
> File "/tmp/ansible_WuP4hq/ansible_module_virt.py", line 205, in find_vm
> raise VMNotFound("virtual machine %s not found" % vmid)
> VMNotFound: virtual machine server3 not found
>
>
> fatal: [server3]: FAILED! => {
This last line say you are running on server3 an not localhost.
> "changed": false,
> "failed": true,
> "invocation": {
> "module_args": {
> "autostart": null,
> "command": "status",
> "name": "server3",
> "state": null,
> "uri": "qemu:///system",
> "xml": null
> }
> },
> "msg": "virtual machine server3 not found"
> }
>
> Not sure what I'm doing wrong. Any help appreciated.
You need to add delegate_to: localhost or set connection: local
--
Kai Stian Olstad
--
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/4473396.OdE5Jut0Gn%40x1.
For more options, visit https://groups.google.com/d/optout.