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/CAGYSzJ83KXj48TGZcBTihOeRVryAV-pkojP7PSmU-TtWK%3D6c-g%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.