The shell command only does the calculation once and stores the same value 
in each loop iteration. I want it to run the command by using the last 
calculated value, which is supposedly not happening for me. Can the jinj2 
sum or replace filters be of any help ?

On Friday, August 22, 2014 4:24:21 AM UTC-7, Michael DeHaan wrote:
>
> There's a bugfix PR for that which I need to test.
>
> You can of course still do this as a shell command too, right now.
>
> What problem are you having at the shell?
>
>
> On Fri, Aug 22, 2014 at 2:19 AM, Imran Khan <[email protected] 
> <javascript:>> wrote:
>
>> Again this will save the same value 4 times!
>>
>>   - name: local action math 
>>     local_action: shell echo "{{ServerIPRange}}/{{epcrange}}+{{IPOctet}}" 
>> | bc 
>>     with_sequence: start=1 end=4 
>>     register: result 
>>   - debug: var=resu
>>
>> On Thursday, August 21, 2014 10:40:56 PM UTC-7, Henry Finucane wrote:
>>
>>> As an aside, you can do math in Jinja2- 
>>>
>>> - name: bashless math 
>>>   set_fact: 
>>>     IPOctet: "{{ 4*(ServerIPRange/epcrange)+IPOctet }}" 
>>>
>>> will do something approaching what you want. 
>>>
>>> If you want to get the actual shell-out working, something like this 
>>> is going to be enlightening: 
>>>
>>>   - name: local action math 
>>>     local_action: shell echo "{{ServerIPRange}}/{{epcrange}}+{{IPOctet}}" 
>>> | bc 
>>>     with_sequence: start=1 end=4 
>>>     register: result 
>>>   - debug: var=result 
>>>
>>> "debug: var=result" will dump a pretty-printed JSON structure, so 
>>> you'll know what's available, and what you can use. You should try it 
>>> with & without the with_sequence. 
>>>
>>>
>>>
>>> On Thu, Aug 21, 2014 at 9:47 PM, Imran Khan <[email protected]> 
>>> wrote: 
>>> > I have 3 variables named IPOctet, ServerIPRange and epcrange. If I 
>>> perform 
>>> > the following operation in my terminal, it works perfectly 
>>> > 
>>> > IPOctet=$(echo "$ServerIPRange/$epcrange+$IPOctet" | bc) 
>>> > 
>>> > How to I do something similar in a ansible inside a task, for e.g 
>>> > 
>>> > --- 
>>> > - hosts: localhost 
>>> >   gather_facts: False 
>>> > 
>>> >   vars_prompt: 
>>> >     - name: epcrange 
>>> >       prompt: Enter the number of EPCs that you want to configure 
>>> >       private: False 
>>> >       default: "1" 
>>> >     - name: serverrange 
>>> >       prompt: Enter the number of Cleints that you want to configure 
>>> >       private: False 
>>> >       defualt: "1" 
>>> >     - name: ServerIPRange 
>>> >       prompt: Enter the ServerIP range 
>>> >       private: False 
>>> >       default: '128' 
>>> >     - name: LastIPOctet 
>>> >       prompt: Enter The last Octet of the IP you just entered 
>>> >       private: False 
>>> >       default: '10' 
>>> > 
>>> >   pre_tasks: 
>>> > 
>>> > 
>>> >     - name: Set some facts 
>>> >       set_fact: 
>>> >         ServerIP1: "{{ServerIP}}" 
>>> >         ServerIPRange1: "{{ServerIPRange}}" 
>>> >         IPOctet: "{{LastIPOctet}}" 
>>> > 
>>> >     - name: local action math 
>>> >       local_action: shell {{IPOctet}}=$(echo 
>>> > "${{ServerIPRange}}/${{epcrange}}+${{IPOctet}}" | bc)  # Proper 
>>> Syntax? 
>>> >       with_sequence: start=1 end=4 
>>> >       register: result 
>>> >       ignore_errors: yes 
>>> > 
>>> > What is the proper syntax for this command? Maybe using shell echo 
>>> "......." 
>>> > . I just need to save the contents of this command into the IPOctet 
>>> variable 
>>> > and IPOctet will change with each loop iteration and the results 
>>> should be 
>>> > stored in my result register 
>>> > 
>>> > P.S: how can I access the individual items in the array sepearately? 
>>> > 
>>> > -- 
>>> > 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]. 
>>> > To view this discussion on the web visit 
>>> > https://groups.google.com/d/msgid/ansible-project/
>>> 0b34e611-ab2c-45b6-88a9-2caf26ed5504%40googlegroups.com. 
>>> > For more options, visit https://groups.google.com/d/optout. 
>>>
>>>
>>>
>>> -- 
>>> ----------------------- 
>>> | Henry Finucane 
>>> | "I hear aphorisms are popular" 
>>> ----------------------- 
>>>
>>  -- 
>> 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] <javascript:>.
>> To post to this group, send email to [email protected] 
>> <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/ansible-project/66c32a8d-aa26-49bb-971e-3c435d2d5455%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/ansible-project/66c32a8d-aa26-49bb-971e-3c435d2d5455%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
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].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/d792de16-0e48-4387-b89e-573e40d64509%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to