Hi all,
Is there a way how ti easily iterate over facter_blockdevices?
Example:
- name: checking disks for failure
command: /usr/sbin/smartctl /dev/{{ item }}
with_items: facter_blockdevices
register: smart_out
Facts:
“facter_blockdevices”: “sda,sdb,sdc,sdd,sde,sdf”,
Thanks!
Filip
Ahoj Filip,
I would consider separating facter_blockdevices fact to a list. ( see https://gist.github.com/VerosK/9853931 ).
I don’t now if this is the right Ansible-way, but at least it works.
–Věroš
Hi Filip,
You’ll find that calling the split method on the string works.
See this Gist: https://gist.github.com/angstwad/9893480
Thank you!
I tried jinja filters and they do not work :).
I assume I can use any python function there right?
Hi Filip,
No problem!
No, not every Python function is available in Jinja. In that example, you see we can use any method associated with string in Jinja, because the string is still an object, and it’s methods come with it. Just remember that you always have access to the objects methods.
For future reference, by the way, the list of standard Jinja filters are here: http://jinja.pocoo.org/docs/templates/#builtin-filters
I’m actually not sure if all the Ansible filters are documented in a single place, but IIRC they are all in the following Python file:
https://github.com/ansible/ansible/blob/devel/lib/ansible/runner/filter_plugins/core.py