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] 
> <javascript:>> 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] <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/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/66c32a8d-aa26-49bb-971e-3c435d2d5455%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to