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.

Reply via email to