Hi,
I have defined under group_vars, something like the following :
Hi,
I have defined under group_vars, something like the following :
The pattern for iterating over a hash is the same regardless of module and would look like:
vars:
my_pairs:
tasks:
So, generally applicable to sysctl or anything else.
You could also define the list right under “with_items” without the intermediate variable.
Hi Michael,
but in this case the key name is not a static, they key is the sysctl parameter, would it be possible to use a similar construct to the one in the template? my vars for this use case and also some others are 6-10+ items, each item could be defined easily as follow
vars:
pana_sys_ctl:
net.ipv4.ip_local_port_range: 32768 610
net.ipv4.tcp_fin_timeout: 30
net.ipv4.tcp_keepalive_time: 1800
…
pana_mounts:
mnt1:
red: filer001:/disk1/vol1
blue:filer002:/disk1/vol3
…
Hi Walid,
Can you try :
with_items: pana_sys_ctl|dictsort
Regards,
Benno
The dictsort just sorts them and doesn’t really change much.
It sounds like you have a list of sysctl names and each sysctl name has a lot of settings under it.
You could consider flattening everything to one list, and also maybe using the “when” operator to filter which to apply.
If you had a hash of lists and wanted to apply the sysctls in multiple hashes, that might require a filter plugin.
Sorry, I meant “lookup” plugin.
I mean if you had something like:
my_sysctls:
one:
and wanted to apply all sysctls in one or two.
I would probably just keep seperate lists and iterate over them, and keep those configurations with the roles that need them instead.
Hi Michael, and Benno,
Sorry for not replying early, i had a bad flu. at the end i choose to go with dictionary the way Michael described, and not the array/list, as dictionaries are more clear in the playbook tasks. e.g item.key vs item.0
I am currently using Ansible 1.4.5 and i hit a problem with dictionaries if i format the with_items differently see below what worked for me and what did not work
- my_pairs
- " {{ my_pairs }}"
Is that a YAML convention issue, or an ansible parsing bug ?
kind regards
Walid
with_items: