> > > I can't seem to get this syntax correct, and at least one reference I
> > > found
> > > produced more errors. I'd like to create a list of all running
> > > processes.
> > >
> > > - name: populate running services into a list
> > > set_fact:
> > > services_running: >
> > > {% if (hostvars[inventory_hostname]['services']['{{ item
> > > }}']['state'] == 'running') %}
> > > services_running + [ '{{ item }}' ]
> > > {% endif %}
> > > with_items: "{{ hostvars[inventory_hostname]['services'].keys() }}"
> > >
> > Try this one
> >
> > - name: populate running services into a list
> > set_fact:
> > services_running: "{{ services_running|default([]) + [ item ] }}"
> > loop: "{{ services.keys() }}"
> > when: services[item].state == 'running'
On Mon, 12 Aug 2019 17:58:58 -0500
Amos <[email protected]> wrote:
> seems close, but getting:
>
> msg: 'Invalid data passed to ''loop'', it requires a list, got this
> instead: dict_keys([''abrt-xorg.service'', ''sshd-keygen.service'',
> ''systemd-machine-id-commit.service'', ''iprinit.servic
> e'', ''systemd-readahead-collect.service'', ''puppet.service'',
> ''plymouth-kexec.service'', ''cgdcbxd.service'', ''console-shell.service'',
> ''rngd.service'', ''sssd-autofs.service'', .....
It works for me with Ansible 2.7.9 and Ubuntu 18.04. YMMV.
https://github.com/vbotka/ansible-examples/blob/master/examples/example-009/service_facts_03.yml
--
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/20190813012646.69712054%40gmail.com.
pgpp1UDeQGydu.pgp
Description: OpenPGP digital signature
