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 <[email protected]>: > 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/
