2017-07-18 2 views
1

Donc je fais des tests avec Ansible pour gérer les périphériques Cisco (en particulier un 3750 dans ce cas). Je suis capable d'ajouter mes VLAN et bouclages sans problème. Essayez simplement d'obtenir que Ansible arrête d'enregistrer une modification de la tâche lorsque le bouclage ou le VLAN existe.Ansible + Cisco idempotence

En ce moment, mon jeu ressemble à ceci:

- name: Set the IP for Loop 0 
    ios_config: 
    provider: "{{ connection }}" 
    lines: 
     - description AnsibleLoop0 
     - ip address 8.8.8.8 255.255.255.0 
    before: 
     - interface Loopback0 
    match: exact 

Chaque fois que cette tâche est exécutée, Ansible il enregistre comme un changement:

changed: [switch] => {"changed": true, "updates": ["interface Loopback0", "description AnsibleLoop0", "ip address 8.8.8.8 255.255.255.0"], "warnings": []}

J'ai essayé différents types match (line, exact) en vain. Peut-être que je me trompe ici.

Je pensais que si j'avais le jeu insérer les lignes exactement comme comment ils apparaîtraient dans un show run il ne serait pas l'enregistrer comme un changement?

Toute aide ici serait appréciée!

Répondre

1

Vous pourriez être confronté à ce problème:

https://github.com/ansible/ansible/pull/24345

Êtes-vous d'enregistrer la configuration change chaque fois que le dispositif Cisco utilisant save: "yes” dans votre PlayBook? J'ai eu le même problème et je sauvais la config chaque fois que le playbook fonctionnait. Définir cela à no juste pour tester, après la première exécution rapporte changed=True exécutions séquentielles rendra compte changed=False par Ansible.

+0

C'était tout! Merci mec :) –