Hello la liste,

Je cherche à automatiser une partie des tâches administratives réccurentes
sur nos infras réseaux en utilisant Ansible.
Pour ce faire, j'utilise les modules network fournit par Ansible (ici
junos_config).

Dans l'exemple ci-dessous, j'essaye de modifier la description de plusieurs
interfaces.
J'utilise donc une boucle pour modifier séquentiellement les interfaces
avec le mot-clé "with-items".
Ca marche plutôt bien, mais je suis obligé de le placer en dehors de mon
module "junos_config".
Je me retrouve donc avec un commit à chaque itération... Pour 2 interfaces,
c'est pas très grave, mais ça peut rapidement devenir problèmatique.

Comment faites vous pour boucler sans le commit à chaque itération ?

Voici comment je procède :
*********** Playbook *******************
- name: Change interface description
  host: 1.1.1.1
  connection: local
  vars:
    int_name: ["ge-0/0/0", "ge-0/0/1"]
    int_desc: "Deploy by Ansible"
  roles:
    - { role: "roles/manage-interface" }

*********** Role *******************
- name: Change interface description
  junos_config:
    provider:
      username: toto
      port: 2222
    lines:
      - set interfaces "{{ item }}" description {{ int_desc}}
    confirm: 5
  with_items: "{{ int_name }}" <<<<<<<<


Evidemment, le mettre à l'intérieur du module junos_config ne fonctionne
pas ;)

Bonne journée,

Gabriel

---------------------------
Liste de diffusion du FRnOG
http://www.frnog.org/

Répondre à