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. On Wed, Feb 19, 2014 at 2:42 AM, benno joy <[email protected]> wrote: > Hi Walid, > > Can you try : > > - sysctl: name={{ item[0] }} value= {{ item[1] }} > > with_items: pana_sys_ctl|dictsort > > > Regards, > > Benno > > > > > > On Wed, Feb 19, 2014 at 11:24 AM, Walid <[email protected]> wrote: > >> 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 >> ...... >> >> if it is possible through some filters or massaging of the dictionary >> that would be great. >> >> kind regards >> >> Walid >> >> >> On 19 February 2014 04:29, Michael DeHaan <[email protected]> wrote: >> >>> The pattern for iterating over a hash is the same regardless of module >>> and would look like: >>> >>> vars: >>> my_pairs: >>> - key: foo >>> value: bar >>> - key: foo2 >>> value: bar2 >>> >>> tasks: >>> - shell: echo "{{ item.key }} and {{ item.value }}" >>> with_items: my_pairs >>> >>> So, generally applicable to sysctl or anything else. >>> >>> You could also define the list right under "with_items" without the >>> intermediate variable. >>> >>> >>> On Tue, Feb 18, 2014 at 3:55 PM, Walid <[email protected]> wrote: >>> >>>> Hi, >>>> >>>> >>>> I have defined under group_vars, something like the following : >>>> >>>> >>>> --- >>>> >>>> dc001_sysctl: >>>> >>>> net.ipv4.ip_local_port_range: 32768 61000 >>>> >>>> net.ipv4.tcp_fin_timeout: 30 >>>> >>>> net.ipv4.tcp_keepalive_time: 1800 >>>> >>>> ... >>>> >>>> ... >>>> >>>> net.ipv4.neigh.default.gc_thresh1: 2048 >>>> >>>> net.ipv4.neigh.default.gc_thresh2: 4096 >>>> >>>> net.ipv4.neigh.default.gc_thresh3: 8192 >>>> >>>> >>>> the template of the /etc/sysctl.conf looks something like the >>>> following: >>>> >>>> >>>> >>>> {% for parameter,value in dc001_sysctl.getenteries() %} >>>> >>>> {{ parameter }}= {{ value }} >>>> >>>> {% endfor %} >>>> >>>> >>>> >>>> my question if I prefer to do this using the sysctl module, what is the >>>> best way to iterate over these dictionary values in a systctl module task? >>>> my reasoning is to protect against some one have changed the sysctl from >>>> the command line without updating the sysctl.conf file or it is in the >>>> sysctl.file but was not reloaded. >>>> >>>> >>>> kind regards >>>> >>>> >>>> Walid >>>> >>>> -- >>>> 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]. >>>> For more options, visit https://groups.google.com/groups/opt_out. >>>> >>> >>> -- >>> 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]. >>> For more options, visit https://groups.google.com/groups/opt_out. >>> >> >> -- >> 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]. >> For more options, visit https://groups.google.com/groups/opt_out. >> > > -- > 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]. > For more options, visit https://groups.google.com/groups/opt_out. > -- 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]. For more options, visit https://groups.google.com/groups/opt_out.
