stackhpc / ansible-role-libvirt-host

This role configures a host as a Libvirt/KVM hypervisor. It can also configure storage pools and networks on the host.
36 stars 32 forks source link

role fails with "Invalid data passed to 'loop'" #54

Open b1r63r opened 2 years ago

b1r63r commented 2 years ago

TASK [stackhpc.libvirt-host : Ensure configuration files exist] ** task path: /home/birger/.ansible/roles/stackhpc.libvirt-host/tasks/config.yml:24 fatal: [examplehost]: FAILED! => { "msg": "Invalid data passed to 'loop', it requires a list, got this instead: <generator object select_or_reject at 0x7f2bcc663f40>. Hint: If you passed a list/dict of just one element, try adding wantlist=True to your lookup invocation or use q/query instead of lookup." }

I used the role t2d.ansible_role_libvirt_host (which is v. 1.4.1 of this same project?) without this problem. It had other problems, though. So I tried to switch over here. Same playbook now gives this error.

Running ansible on fedora, with target system running Centos 8 stream

b1r63r commented 2 years ago

I got around this by appending | list to a bunch of loops. I didn't even try to understand the existing stuff, just forced everything that triggered errors to become lists. Now everything seems to work, including the stuff that did not work in t2d.ansible_role_libvirt_host. Now on to find out why the vm only starts with selinux in permissive mode.

markgoddard commented 2 years ago

Hi @b1r63r, will you provide a PR?