23-08-2019 12:03 PM - modifié 23-08-2019 02:38 PM
Ci-dessous vous retrouverez les questions qui ont été répondues par nos experts durant le webcast.
Ce webcast explique l'avantage de l'automatisation grâce à Python et IOS-XE, et présente divers exemples pour sa réalisation. Cette vidéo inclut deux démonstrations en live expliquées en détail par notre expert Francesco Molino.
Nos experts : Francesco Molino (présentateur) et Xavier Crèvecœur (question manager)
Pour plus d'informations, visitez la section de Routage et Commutation
Cliquez sur les boutons pour accéder aux contenus proposés
Sujets abordés lors de la présentation : Python, IOS-XE, IOx, Docker, API et .
R: J’utilise des containers Docker pour partager mes scripts en utilisant des docker-registry locaux (VM Linux) ou Gitlab avec des repositories privée. Cela me permet de gérer l’environnement (packages Linux, patch de sécurité...) sur lequel les scripts seront exécutés et les librairies qui seront à intégrer. Également, cela me permet de gérer le « versionning » en fonction des bugs et évolutions.
R: IOx est disponible depuis IOS-XE version 16.5.1 sur les switches 3650, 3850 et sur les plateformes ISR4300, ASR, CSR. Il y a quelques limitations sur les switches (voir les slides de la présentation).
R: Les ressources utilisées vont dépendre du script lui-même et des différentes actions qui seront exécutés et le nombre de threads en parallèle. Pour la partie IOx, vous pouvez gérer les ressources à attribuer à la machine mais vous ne pourrez pas attribuer TOUTES les ressources du routeur car une protection des limites est instaurée par défaut.
R: Ciscoconfparse est une librairie qui va parser la configuration d’un équipement Cisco mais l’output d’une commande show. TextFSM permet de parser n’importe quel output (configuration, show) pour des équipements Cisco et autres vendeurs, le tout basé sur des templates faisant appels à du regex (https://github.com/networktocode/ntc-templates)
R: Oui, dès que le post sera ouvert je mettrai les scripts PHP et Python des 2 démos. Je posterai également la configuration EEM du CSR1000v. NOTE : Retrouvez les liens aux fichiers sur le commentaire de l'expert ci-dessous.↓
R: Alors, comme on dit ici au Québec, la réponse est noui, dans le sens oui et non ça veut dire qu’au départ ça peut paraitre une grosse montagne mais il faut prendre les choses petit à petit. Il y avait des cours vidéo qui étaient publié par GNS3, qui permettaient de montrer étapes par étapes comment construire un script en commençant par la connexion jusqu’à la modification de configuration. D’autres institutions ont les mêmes types de cours. Au-delà de ça, il y a les espaces communautaires qui peuvent également vous aider (GitHub, Cisco DevNet, Communauté Cisco…). Après c’est sûr qu’il faut apprendre le langage de programmation, mais grâce aux différents forums, cela peut aller assez vite avec de la motivation et du temps. Le but final de notre métier n’est pas de devenir un développeur de grosses applications mais d’automatiser certaines tâches. Pour la partie API, vous pouvez utiliser l’outil Postman qui va exécuter les requêtes et qui vous permettra d’extraire le code Python de celles-ci en choisissant la librairie Requests ou http.client.
R: Oui, vous pouvez appeler du code Python depuis n’importe quel autre langage de programmation.
R: Le but étant de gérer non seulement les packages/librairies à installer mais aussi l’environnement (packages Linux, updates et patch de sécurité) depuis lequel est exécuté le script. Pour ces 2 raisons, Docker est la réponse la plus adaptée.
R: Comme indiqué dans les slides, il y a des librairies comme Netmiko, TextFSM, Jinja, Requests qui vont vous permettre de gérer les bases de l’automatisation. Vous pouvez également utiliser les frameworks tels que Nornir et Ansible. Je ne suis pas très fan d’Ansible et préfère de loin Nornir car il permet d’aller plus loin et est plus « scalable ».
R: Oui, je les mettrai sur le forum. NOTE : Retrouvez les liens aux fichiers sur le commentaire de l'expert ci-dessous.↓
R: Bien évidement comme tout. Dès que vous ouvrez des portes sur un systèmes, s’il n’est pas protégé correctement (updates, patchs, firewall), les risques de failles sont présents. Dans guestshell, vous pouvez utiliser iptables pour ouvrir/fermer des portes et protéger la source ainsi que la destination du trafic.
Bonjour,
Comme promis, voici les liens pour télécharger les scripts d'exemples pour les 2 démos.
Gardez en mémoire, que pour la démo 2, le mot de passe dans la table 'credentials' en encode en mode base64.
Cela est important car le script python va decoder cette valeur et lui servira de mot de passe pour accéder à l'équipement; donc si vous mettez le mot de passe en clair, le script ne pourra pas se connecter.
Sur les 2 démos, le routeur CSR1000v a été utilisé avec la version 16.9.3.
Pour la démo 2, le serveur web utilisé est Apache2
Démo1 --> Téléchargement
Démo2 --> Téléchargement
Si vous avez des questions, n'hésitez pas.
La communauté est un hub pour vous connecter avec vos pairs et les spécialistes Cisco, pour demander de l'aide, partager votre expertise, développer votre réseau et évoluer professionnellement.
Vous êtes un nouvel arrivant ? Cliquez ici pour en savoir plus.
Nous voulons que votre navigation soit la meilleure, donc vous trouverez des liens pour vous aider à être rapidement familiarisé avec la Communauté Cisco :
Parcourez les liens directs de la Communauté et profitez de contenus personnalisés en français