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.