Hello,

Le plus simple serait de séparer les roles :

un role pour creer la config à pusher via un template en jinja2 avec loop
et  dictionnaire
un role pour pusher la config créée

perso plutot que d'utiliser du "set config" en junos, je prefere une config
en yml et un load merge pour le role qui push le junos. Plus rapide, plus
lisible et surtout je balance plus de 1000 lignes en une fois sans que ça
prenne un temps fou à pusher.

Montgomery

2018-07-30 16:14 GMT+02:00 gabriel corre <gabriel.corr...@gmail.com>:

> 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/
>

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

Reply via email to