Ansible - Advanced shell exécution de la commande format

J'ai 3 variables nommées IPOctet, ServerIPRange et epcrange.
Si j'effectue l'opération suivante dans mon terminal, il fonctionne parfaitement

IPOctet=$(echo "$ServerIPRange/$epcrange+$IPOctet" | bc)

Comment puis-je faire quelque chose de similaire dans un ansible l'intérieur d'une tâche, pour l'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 Clients that you want to configure
      private: False
      default: "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

Quelle est la bonne syntaxe de cette commande? Peut-être que l'utilisation de shell echo "......." . J'ai juste besoin d'enregistrer le contenu de cette commande dans le IPOctet variable et IPOctet change à chaque itération de boucle, et les résultats devraient être stockés dans mon résultat registre

P. S: comment puis-je accéder à chacun des éléments dans le tableau séparément?

Edit: c'Est quelque chose comme cela possible, actuellement, il a juste fait le calcul une fois et la stocke 4 fois dans le registre...

- name: bashless math
  set_fact:
    IPOctet: "{{ (ServerIPRange|int/epcrange|int)+IPOctet|int }}"
  register: IPOctet
  with_sequence: "start=1 end={{stop}} "
  register: my_ip_octet

OriginalL'auteur Khan | 2014-08-21