Re: [FRnOG] [TECH] Automatisation des comparaisons de "show ... blah blah"

2018-03-20 Par sujet fayçal noushi
rConfig est aussi pas mal avec possibilité d'envoi de snippet de conf et
configuration diff. Tout ça à partir de l'interface web
C'est free, opensource et assez vivant
https://www.rconfig.com/#screenshots

Sinon, +1 pour Ansible + Git
SNMP est intéressant. Mais, bonjour le parsing de MIB propriétaire...

2018-03-19 22:03 GMT+00:00 Guillaume Barrot :

> Ansible + Git ?
>
> Le 19 mars 2018 22:11, "Fabien VINCENT (FrNOG)"  a
> écrit :
>
> > Le 2018-03-19 11:10, marc celier a écrit :
> >
> > > Bonjour,
> > >
> > > Nous devons mener une maintenance sur l'ensemble du reseau, ce qui
> > implique un nombre important d'equipements. avant et apres la maintenance
> > nous devons executer un nombre important de commandes "show" et realiser
> > des comparaisons visuels pour detecter un eventuel changement ou
> > dysfonctionnement. c'est pas Top car on peut toujours manquer une info
> > critique a cause de la masse de donnees a comparer.
> > >
> > > J'imagine qu'il y a des outils comme Ansible ou la commande diff qui
> > pourrait etre un debut de piste, mais n'ayant jamais travaille avec ces
> > outils je n'ai pas une claire vision de la solution globale. si vous avez
> > deja mis en place quelque chose de similaire pouvez vous s'il vous plait
> > partager votre experience et pistes en la matiere (environnement Juniper
> et
> > Arista)
> > >
> > > - execution des commandes show
> > > - comparaison des commandes show
> > > -generation d'un rapport sur les differences
> > >
> > > Je vous remercie par avance.
> >
> > Pourquoi ne pas regarder du côté de streaming telemetry avec Pipeline
> > (gRPC) ? Pourquoi ne pas utiliser l'API JSON-RPC d'Arista ? Suivant les
> > protocoles il y a aussi OpenBMP. Côté receiver, tu as Pipeline ou pmacct
> > qui fait le café avec des dumps de rib bgp par exemple. Tout est
> > possible (suivi la release que tu tournes, le bling bling c'est surtout
> > sur les versions .0 ou un train qui n'a pas d'EMR)
> >
> > Bref, y a de quoi faire et sinon napalm doit pouvoir te le faire de
> > manière très simple et automatisé. Et je suis sur qu'il existe déjà
> > beaucoup de choses que tu recherches dedans.
> >
> > Sinon old mais toujours efficace : snmp si l'oid existe et est standard.
> >
> >
> > C'est un peu broadcast mon output, mais en même temps, ca dépend des
> > diff que tu veux faire et des CPU de tes équipements. Si tu as une
> > machine à laver ou un aspirateur, tu pourras pas get les mêmes choses
> > sans que ton control plane fasse "ouf" à la fin du show. Idem sur snmp
> > ;)
> >
> > PS : attention les show run sur Arista, c'est un show run complet qui
> > est exécuté par la FastCli python avant de te retourner le show run int
> > machin/truc, mais en json/rpc ca fait moins mal et les CPU des Arista
> > généralement sont pas ceux d'antan ;)
> >
> > --
> > FABIEN VINCENT
> > _@beufanet_
> > ---
> > Liste de diffusion du FRnOG
> > http://www.frnog.org/
> >
>
> ---
> Liste de diffusion du FRnOG
> http://www.frnog.org/
>



-- 
NOUSHI Fayçal

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


Re: [FRnOG] [TECH] Automatisation des comparaisons de "show ... blah blah"

2018-03-19 Par sujet Guillaume Barrot
Ansible + Git ?

Le 19 mars 2018 22:11, "Fabien VINCENT (FrNOG)"  a
écrit :

> Le 2018-03-19 11:10, marc celier a écrit :
>
> > Bonjour,
> >
> > Nous devons mener une maintenance sur l'ensemble du reseau, ce qui
> implique un nombre important d'equipements. avant et apres la maintenance
> nous devons executer un nombre important de commandes "show" et realiser
> des comparaisons visuels pour detecter un eventuel changement ou
> dysfonctionnement. c'est pas Top car on peut toujours manquer une info
> critique a cause de la masse de donnees a comparer.
> >
> > J'imagine qu'il y a des outils comme Ansible ou la commande diff qui
> pourrait etre un debut de piste, mais n'ayant jamais travaille avec ces
> outils je n'ai pas une claire vision de la solution globale. si vous avez
> deja mis en place quelque chose de similaire pouvez vous s'il vous plait
> partager votre experience et pistes en la matiere (environnement Juniper et
> Arista)
> >
> > - execution des commandes show
> > - comparaison des commandes show
> > -generation d'un rapport sur les differences
> >
> > Je vous remercie par avance.
>
> Pourquoi ne pas regarder du côté de streaming telemetry avec Pipeline
> (gRPC) ? Pourquoi ne pas utiliser l'API JSON-RPC d'Arista ? Suivant les
> protocoles il y a aussi OpenBMP. Côté receiver, tu as Pipeline ou pmacct
> qui fait le café avec des dumps de rib bgp par exemple. Tout est
> possible (suivi la release que tu tournes, le bling bling c'est surtout
> sur les versions .0 ou un train qui n'a pas d'EMR)
>
> Bref, y a de quoi faire et sinon napalm doit pouvoir te le faire de
> manière très simple et automatisé. Et je suis sur qu'il existe déjà
> beaucoup de choses que tu recherches dedans.
>
> Sinon old mais toujours efficace : snmp si l'oid existe et est standard.
>
>
> C'est un peu broadcast mon output, mais en même temps, ca dépend des
> diff que tu veux faire et des CPU de tes équipements. Si tu as une
> machine à laver ou un aspirateur, tu pourras pas get les mêmes choses
> sans que ton control plane fasse "ouf" à la fin du show. Idem sur snmp
> ;)
>
> PS : attention les show run sur Arista, c'est un show run complet qui
> est exécuté par la FastCli python avant de te retourner le show run int
> machin/truc, mais en json/rpc ca fait moins mal et les CPU des Arista
> généralement sont pas ceux d'antan ;)
>
> --
> FABIEN VINCENT
> _@beufanet_
> ---
> Liste de diffusion du FRnOG
> http://www.frnog.org/
>

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


Re: [FRnOG] [TECH] Automatisation des comparaisons de "show ... blah blah"

2018-03-19 Par sujet Fabien VINCENT (FrNOG)
Le 2018-03-19 11:10, marc celier a écrit :

> Bonjour, 
> 
> Nous devons mener une maintenance sur l'ensemble du reseau, ce qui implique 
> un nombre important d'equipements. avant et apres la maintenance nous devons 
> executer un nombre important de commandes "show" et realiser des comparaisons 
> visuels pour detecter un eventuel changement ou dysfonctionnement. c'est pas 
> Top car on peut toujours manquer une info critique a cause de la masse de 
> donnees a comparer. 
> 
> J'imagine qu'il y a des outils comme Ansible ou la commande diff qui pourrait 
> etre un debut de piste, mais n'ayant jamais travaille avec ces outils je n'ai 
> pas une claire vision de la solution globale. si vous avez deja mis en place 
> quelque chose de similaire pouvez vous s'il vous plait partager votre 
> experience et pistes en la matiere (environnement Juniper et Arista) 
> 
> - execution des commandes show 
> - comparaison des commandes show 
> -generation d'un rapport sur les differences  
> 
> Je vous remercie par avance.

Pourquoi ne pas regarder du côté de streaming telemetry avec Pipeline
(gRPC) ? Pourquoi ne pas utiliser l'API JSON-RPC d'Arista ? Suivant les
protocoles il y a aussi OpenBMP. Côté receiver, tu as Pipeline ou pmacct
qui fait le café avec des dumps de rib bgp par exemple. Tout est
possible (suivi la release que tu tournes, le bling bling c'est surtout
sur les versions .0 ou un train qui n'a pas d'EMR) 

Bref, y a de quoi faire et sinon napalm doit pouvoir te le faire de
manière très simple et automatisé. Et je suis sur qu'il existe déjà
beaucoup de choses que tu recherches dedans. 

Sinon old mais toujours efficace : snmp si l'oid existe et est standard.


C'est un peu broadcast mon output, mais en même temps, ca dépend des
diff que tu veux faire et des CPU de tes équipements. Si tu as une
machine à laver ou un aspirateur, tu pourras pas get les mêmes choses
sans que ton control plane fasse "ouf" à la fin du show. Idem sur snmp
;) 

PS : attention les show run sur Arista, c'est un show run complet qui
est exécuté par la FastCli python avant de te retourner le show run int
machin/truc, mais en json/rpc ca fait moins mal et les CPU des Arista
généralement sont pas ceux d'antan ;)

-- 
FABIEN VINCENT 
_@beufanet_
---
Liste de diffusion du FRnOG
http://www.frnog.org/


Fwd: [FRnOG] [TECH] Automatisation des comparaisons de "show ... blah blah"

2018-03-19 Par sujet khelil sator
Bonjour,


Voici comment le faire pour JUNOS avec Ansible. Je n’ai pas eu l’occasion
de tester avec EOS, mais la meme approche s'applique au deux NOS sans gros
changement.



Comme il y deux NOS, je ne presente pas ci dessous l'approche qui a ete
développé specifiquement pour repondre a ce besoin dans un contexte Junos
only (Jsnapy).



My 2 cents.



Exécution de commandes show. Sauvegarde des outputs. Revue par un humain.
Il y a plusieurs outils.



Exemple : Ce playbook https://github.com/ksator/
junos-automation-with-ansible/blob/master/junos_cli/pb_
collect_cli_output.yml prend en input la liste des commandes show ici
https://github.com/ksator/junos-automation-with-ansible/
blob/master/junos_cli/cli.yml et l’exécute sur cet inventaire
https://github.com/ksator/junos-automation-with-ansible/blob/master/hosts
et sauve l’output ici  https://github.com/ksator/
junos-automation-with-ansible/tree/master/junos_cli/cli pour une revue par
un humain.

La meme chose peut etre faite avec un module ansible pour EOS.



Puis ajouter un push automatisé vers un server Git (Revue par un humain sur
le serveur Git via les fonctions « history »):



Exemple : on fait exactement la meme chose que dans la section précédente.
En plus, a la fin, on demande au contenu d’automatisation de faire un git
add/push/commit pour uploader le tout vers un repo git:
https://github.com/ksator/junos-automation-with-ansible/
blob/master/shell/pb_git.yml  Ainsi les data collectes sont sur le serveur
git en on voit les diff facilement.



Il y a aussi un autre workflow qui consiste a:   Exécution des commandes
show. Comparaison automatisée des output VS un état désiré décrit (par
exemple, l’état des session BGP doit être « Established »). La source of
Truth est l’état décrit, et non plus le réseau.  Ce n'est pas ce qui est
demande mais c'est une approche interressante aussi.  Il y a plusieurs
outils.



Exemple : Ce playbook https://github.com/ksator/
junos-automation-with-ansible/blob/master/junos_command/pb_
check_op_states.yml passe des commandes show et parse l‘output et vérifie
si la condition décrite est vraie. Dans cet exemple, le playbook vérifie
que les interfaces sont up, que les voisins LLDP sont ceux souhaites (pas
d’erreur de câblage), que les sessions BGP sont established, que des routes
sont apprises en BGP, et que les ping vers des routes apprises en BGP
repondent … L’inventaire est la https://github.com/ksator/
junos-automation-with-ansible/blob/master/hosts et les variables
(description de la liste de voisins BGP/LLDP …) sont la
https://github.com/ksator/junos-automation-with-ansible/
tree/master/host_vars



La meme chose peut etre faite avec un module ansible pour EOS.



Exemple, avec Napalm dans le cas ou un getter Napalm existe pour les deux
network operating system.



Ce fichier est un template qui décrit l’état désiré
https://github.com/ksator/junos-automation-with-NAPALM/
blob/master/validate.j2 sous la forme de l’output du getter.



Ce template est « renderisé » pour chaque device, et le getter est exécuté,
et la réponse du getter est comparée avec le template  « renderisé ». Ceci
peut se faire en python https://github.com/ksator/
junos-automation-with-NAPALM/blob/master/validator.py  ou ansible
https://github.com/ksator/junos-automation-with-NAPALM/
blob/master/pb.install-conf.yml#L33-L53



Bien cordialement,



Khelil







*From:* frnog-requ...@frnog.org [mailto:frnog-requ...@frnog.org
<frnog-requ...@frnog.org>] *On Behalf Of *marc celier
*Sent:* Monday, March 19, 2018 11:11 AM
*To:* frnog@frnog.org
*Subject:* [FRnOG] [TECH] Automatisation des comparaisons de "show ... blah
blah"





Bonjour,



Nous devons mener une maintenance sur l'ensemble du reseau, ce qui implique
un nombre important d'equipements. avant et apres la maintenance nous
devons executer un nombre important de commandes "show" et realiser des
comparaisons visuels pour detecter un eventuel changement ou
dysfonctionnement. c'est pas Top car on peut toujours manquer une info
critique a cause de la masse de donnees a comparer.



J'imagine qu'il y a des outils comme Ansible ou la commande diff qui
pourrait etre un debut de piste, mais n'ayant jamais travaille avec ces
outils je n'ai pas une claire vision de la solution globale. si vous avez
deja mis en place quelque chose de similaire pouvez vous s'il vous plait
partager votre experience et pistes en la matiere (environnement Juniper et
Arista)



- execution des commandes show

- comparaison des commandes show

-generation d'un rapport sur les differences



Je vous remercie par avance.

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


RE: [FRnOG] [TECH] Automatisation des comparaisons de "show ... blah blah"

2018-03-19 Par sujet BLANCPAIN Nicolas
Solarwinds Orion est top, mais payant.
Tu peux voir les ajouts/suppressions de confs, appliques des templates en 
masse, vérifie la conformité quotidiennement...
Rancid est gratuit, mais demande une prise en main un peu plus geeky.

-Message d'origine-
De : frnog-requ...@frnog.org [mailto:frnog-requ...@frnog.org] De la part de 
Dominique Rousseau
Envoyé : lundi 19 mars 2018 11:31
À : frnog@frnog.org
Objet : Re: [FRnOG] [TECH] Automatisation des comparaisons de "show ... blah 
blah"

Le Mon, Mar 19, 2018 at 11:10:49AM +0100, marc celier [marc.cel...@gmx.fr] a 
écrit:
>Nous devons mener une maintenance sur l'ensemble du reseau, ce qui
>implique un nombre important d'equipements. avant et apres la
>maintenance nous devons executer un nombre important de commandes
>"show" et realiser des comparaisons visuels pour detecter un eventuel
>changement ou dysfonctionnement. c'est pas Top car on peut toujours
>manquer une info critique a cause de la masse de donnees a comparer.

Si tu n'en as pas encore en place, commences par installer rancid ou oxidized 
(autre ?), pour avoir un enregistrement regulier (CVS, git,
...) des configurations des equipements.

Tu pourras ensuite facilement faire des "diff" avec le gestionnaire de version 
choisi, pour tout ce qui concerne des changements liés a la configuration.

Et si tu as d'autres "show" a faire, tu peux t'inspirer de ce que rancid (ou 
oxidized) fait pour ajouter les tiens.


--
Dominique Rousseau
Neuronnexion, Prestataire Internet & Intranet
6 rue des Hautes cornes - 8 Amiens
tel: 03 22 71 61 90 - fax: 03 22 71 61 99 - http://www.neuronnexion.coop


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


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


Re: [FRnOG] [TECH] Automatisation des comparaisons de "show ... blah blah"

2018-03-19 Par sujet Dominique Rousseau
Le Mon, Mar 19, 2018 at 11:10:49AM +0100, marc celier [marc.cel...@gmx.fr] a 
écrit:
>Nous devons mener une maintenance sur l'ensemble du reseau, ce qui
>implique un nombre important d'equipements. avant et apres la
>maintenance nous devons executer un nombre important de commandes
>"show" et realiser des comparaisons visuels pour detecter un eventuel
>changement ou dysfonctionnement. c'est pas Top car on peut toujours
>manquer une info critique a cause de la masse de donnees a comparer.

Si tu n'en as pas encore en place, commences par installer rancid ou
oxidized (autre ?), pour avoir un enregistrement regulier (CVS, git,
...) des configurations des equipements.

Tu pourras ensuite facilement faire des "diff" avec le gestionnaire de
version choisi, pour tout ce qui concerne des changements liés a la
configuration.

Et si tu as d'autres "show" a faire, tu peux t'inspirer de ce que rancid
(ou oxidized) fait pour ajouter les tiens.


-- 
Dominique Rousseau 
Neuronnexion, Prestataire Internet & Intranet
6 rue des Hautes cornes - 8 Amiens
tel: 03 22 71 61 90 - fax: 03 22 71 61 99 - http://www.neuronnexion.coop


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


Re: [FRnOG] [TECH] Automatisation des comparaisons de "show ... blah blah"

2018-03-19 Par sujet Emmanuel Halbwachs
Bonjour,

marc celier (Mon 2018-03-19 11:10:49 +0100) :
> - execution des commandes show
> - comparaison des commandes show
> -generation d'un rapport sur les differences 

Il me semble que c'est typiquement le but d'outils tels que : 

- rancid   http://www.shrubbery.net/rancid/
- oxydized https://github.com/ytti/oxidized

Une fois les conf dans un VCS tel que subversion ou mieux, git, les
comparaisons sont relativement aisées. 



HTH,

-- 
Emmanuel Halbwachs  Resp. Réseau/Sécurité
Observatoire de Paris ✆ +33 1 45 07 75 54
Paris :  61   av. de l'Observatoire   F 75014 PARIS
Meudon : 11 (face 32) av. Marcellin Berthelot F 92190 MEUDON


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


Re: [FRnOG] [TECH] Automatisation des comparaisons de "show ... blah blah"

2018-03-19 Par sujet Sébastien VIGNERON
Bonjour,

Ansible te permettra de lancer des commandes et d’avoir des résultats mais pas 
le diff. 
Il est sans doute possible de faire quelque chose avec Ansible (avec des 
directives "changed_when: …") mais avec un investissement en temps sans doute 
plus grand que les solutions qui suivent. 

Plusieurs pistes:
 - rancid + svn + viewvc (pour interface web) : solution de supervision des 
conf d’équipements réseau (crontab + diff + envoi mail groupé des diff si 
non-vide + interface web comparaison des commit)
 - rancid + git + gitweb (pour interface web) : solution de supervision des 
conf d’équipements réseau
 - scripts expect avec stockage fichiers + svn/git : solution sans interface 
web "à la mano"
 - scripts expect avec stockage fichiers + diffmon : remontée par mail 
avant/après

Rancid : http://www.shrubbery.net/rancid/ 
Alternative à rancid, Oxidized (pas testé personnellement) : 
https://github.com/ytti/oxidized 

Cordialement / Best regards,

Sébastien VIGNERON 
CRIANN, 
Ingénieur / Engineer
Technopôle du Madrillet 
745, avenue de l'Université 
76800 Saint-Etienne du Rouvray - France 
tél. +33 2 32 91 42 91 
fax. +33 2 32 91 42 92 
http://www.criann.fr  
mailto:sebastien.vigne...@criann.fr 
support: supp...@criann.fr

> Le 19 mars 2018 à 11:10, marc celier  > a écrit :
> 
>  
> Bonjour,
>  
> Nous devons mener une maintenance sur l'ensemble du reseau, ce qui implique 
> un nombre important d'equipements. avant et apres la maintenance nous devons 
> executer un nombre important de commandes "show" et realiser des comparaisons 
> visuels pour detecter un eventuel changement ou dysfonctionnement. c'est pas 
> Top car on peut toujours manquer une info critique a cause de la masse de 
> donnees a comparer.
>  
> J'imagine qu'il y a des outils comme Ansible ou la commande diff qui pourrait 
> etre un debut de piste, mais n'ayant jamais travaille avec ces outils je n'ai 
> pas une claire vision de la solution globale. si vous avez deja mis en place 
> quelque chose de similaire pouvez vous s'il vous plait partager votre 
> experience et pistes en la matiere (environnement Juniper et Arista)
>  
> - execution des commandes show
> - comparaison des commandes show
> -generation d'un rapport sur les differences 
>  
> Je vous remercie par avance.


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


[FRnOG] [TECH] Automatisation des comparaisons de "show ... blah blah"

2018-03-19 Par sujet marc celier
 
Bonjour,

 

Nous devons mener une maintenance sur l'ensemble du reseau, ce qui implique un nombre important d'equipements. avant et apres la maintenance nous devons executer un nombre important de commandes "show" et realiser des comparaisons visuels pour detecter un eventuel changement ou dysfonctionnement. c'est pas Top car on peut toujours manquer une info critique a cause de la masse de donnees a comparer.

 

J'imagine qu'il y a des outils comme Ansible ou la commande diff qui pourrait etre un debut de piste, mais n'ayant jamais travaille avec ces outils je n'ai pas une claire vision de la solution globale. si vous avez deja mis en place quelque chose de similaire pouvez vous s'il vous plait partager votre experience et pistes en la matiere (environnement Juniper et Arista)

 

- execution des commandes show

- comparaison des commandes show

-generation d'un rapport sur les differences 

 

Je vous remercie par avance.