Ich habe das zuvor veröffentlichte Tool zur Erfassung der Routerkonfiguration geändert und auf PyPI veröffentlicht. [Tool zum zentralen Erfassen der Konfiguration des Cisco / Juniper-Routers] (http://qiita.com/taijijiji/items/620908c1bec27e1ea933)
https://pypi.python.org/pypi/ConfigCollector https://github.com/taijiji/ConfigCollector
Es hat eine Weile gedauert, weil es meine erste PyPI-Registrierung war, aber ich habe mein PyPI-Debüt geschafft.
Ich wollte die Routerkonfiguration mit Git verwalten, aber vor Git war es schwierig, die Konfiguration der in Betrieb befindlichen Routergruppe zu erfassen. Daher habe ich einen Konfigurationskollektor erstellt, der die Konfiguration aller Router mit einem Befehl erfassen kann. Ich tat.
Ich habe darüber nachgedacht, es einschließlich des Git-Befehls zu automatisieren, aber "Wenn Sie konfilieren, sollten Sie es manuell auswählen." "Wenn Sie die Routerkonfiguration, bei der es sich um vertrauliche Informationen handelt, zwangsweise hochladen, können Probleme auftreten, wenn Sie einen Fehler machen." Das Ziel dieses Tools ist "SSH-Anmeldung bei mehreren Routern", da es schwierig war, optionale Funktionen wie "git remove" zum Zeitpunkt des Fehlers zu implementieren (ich bin nicht sicher, ob die problematische Implementierung erforderlich ist). Holen Sie sich config ・ Beschränkt auf "Sammeln".
Durch Veröffentlichung auf PyPI kann es mit dem Befehl pip installiert werden.
pip install configcolletctor
Wenn Sie pip noch nie verwendet haben, installieren Sie pip bitte anhand dieses Artikels. [Die ersten Pakete, die in Python setuptools und pip enthalten sind] (http://www.lifewithpython.com/2012/11/Python-package-setuptools-pip.html)
Führen Sie das Tool nach der Installation auf diese Weise aus.
configcollector -i [inventory_file] -o [output_dirctory]
[
{
"hostname" : "router1",
"username" : "user1",
"password" : "aaabbbccc",
"ipv4" : "192.168.0.1",
"os" : "JUNOS"
},
{
"hostname" : "router2",
"username" : "user2",
"password" : "aaabbbccc",
"ipv4" : "192.168.0.2",
"os" : "IOS-XR"
},
{
"hostname" : "router3",
"username" : "user3",
"password" : "aaabbbccc",
"ipv4" : "192.168.0.3",
"os" : "IOS"
}
]
Verwenden Sie ConfigCollector wie folgt.
Erstellen Sie zunächst ein Ausgabezielverzeichnis, in dem die Routerkonfiguration gespeichert wird.
% mkdir router_config
Führen Sie ConfigCollector aus
% configcollector -i sample_routers.json -o router_config/
Accessing router: router1...
Writing output file "router_config/router1"...
Success : "router_config/router1"!
Accessing router: router2...
Writing output file "router_config/router2"...
Success : "router_config/router2"!
Accessing router: router3...
Writing output file "router_config/router3"...
Success : "router_config/router3"!
Überprüfen Sie die erstellte Datei.
% ls router_config
router1.txt router2.txt router3.txt
% less router1.txt
show configuration | no-more
## Last commit: 2015-05-01 17:00:00 JST by user1
version x.x.x;
system {
host-name router1;
time-zone Asia/Tokyo;
(snip)
das ist alles.
Sie können die von diesem Tool erfasste Routerkonfiguration wie folgt verwalten.
% configcollector -i sample_routers.json -o router_config/
% git add router_config/ .
4.git commit (Update durchführen)
% git commit
% git push
(Nur zum ersten Mal% git push origin master)
Ich habe mich zum ersten Mal in meinem Leben für PyPI registriert. Ich bin froh, dass ich zum ersten Mal in die Reihen der anständigen OSS-Kommissare aufgenommen werden konnte. Es gibt viele Stellen, an denen ich noch nicht weiß, wie man PyPI und OSS verwendet. Ich wäre Ihnen dankbar, wenn Sie mir ein Feedback geben könnten. https://pypi.python.org/pypi/ConfigCollector https://github.com/taijiji/ConfigCollector
Recommended Posts