Nope, I can't use them like that, my playbook is very complex, with some 
tasks running on some hosts serially 
On Saturday, August 23, 2014 12:33:28 PM UTC-7, Matt Martz wrote:
>
> Isn't what you are doing mathematically equivalent to:
>
> z = x + (y * iterations)
>
> In which case, why do you need to store each result?  Why not just run the 
> task where you want to use this value using with_sequence, and use this 
> formula directly?
>
> Such as this contrived example:
>
>     - debug: msg="{{ IPOctet + (ServerIPRange//epcrange) * item|int }}"
>       with_sequence: count="{{ iterations }}"
>
> where IPOctet, ServerIPRange, epcrange, and iterations were defined such 
> as:
>
>   vars:
>     IPOctet: 5
>     ServerIPRange: 16
>     epcrange: 2
>     iterations: 5
>
>
> On Sat, Aug 23, 2014 at 12:09 PM, Imran Khan <[email protected] 
> <javascript:>> wrote:
>
>> I posted that code piece of code for explanation purposes only, loop 
>> iteration i.e. the stop value is not fixed and will vary each time 
>> depending on user input (it is taken from the user at run time using 
>> vars_prompt)
>>
>> Please can you tell me how to do x=x+y with x=10(will change with each 
>> loop iteration) and y=5 (remains constant), inside a loop that runs ten any 
>> number of time
>>
>> On Friday, August 22, 2014 10:27:42 AM UTC-7, Henry Finucane wrote:
>>>
>>> On Thu, Aug 21, 2014 at 11:17 PM, Imran Khan <[email protected]> 
>>> wrote: 
>>> > Thank you for your quick reply: 
>>> > But this works, but not in a loop! 
>>> > 
>>> >     - name: bashless math 
>>> >       set_fact: 
>>> >         IPOctet: "{{ (ServerIPRange|int/epcrange|int)+IPOctet|int }}" 
>>> >       with_sequence: start=1 end=4 
>>> >       register: IPOctet 
>>>
>>> You may have missed a crucial bit of what I wrote- your algorithm 
>>> doesn't actually require any iteration. It decomposes into 
>>>
>>> IPrange/epcrange + (IPrange/epcrange + (IPrange/epcrange + 
>>> (IPrange/epcrange + LastIPOctet) ) ) 
>>>
>>> which is the same thing as 
>>>
>>> 4 * (IPrange/epcrange) + LastIPOctet 
>>>
>>> > 
>>> > this wont work either: 
>>> > 
>>> >     - name: bashless math 
>>> >       set_fact: 
>>> >         IPOctet: "{{ (ServerIPRange|int/epcrange|int)+IPOctet|int }}" 
>>> >       register: IPOctet 
>>> >       with_sequence: start=1 end=4 
>>> >       register: my_ip_octet 
>>> > 
>>> > I need to save the value in IPOctet repetitively 
>>> > 
>>> > 
>>> > 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]. 
>>> > 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/
>>> 54de8cec-df98-4cf0-8f0f-fb8545fef391%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/fe7b19c1-b4d7-4c35-98ca-55ed6a6f76aa%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/ansible-project/fe7b19c1-b4d7-4c35-98ca-55ed6a6f76aa%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>
> -- 
> Matt Martz
> [email protected] <javascript:>
> http://sivel.net/ 
>

-- 
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/3c5e76b4-f467-477f-ab11-bd39f71bc6da%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to