Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Beispiel: Verwenden von Junos PyEZ zum Zurücksetzen der Konfiguration

Mit der Junos PyEZ-Bibliothek können Sie Betriebs- und Konfigurationsaufgaben auf Junos-Geräten ausführen. In diesem Beispiel wird das Dienstprogramm Junos PyEZ jnpr.junos.utils.config.Config verwendet, um die Konfiguration auf einem Junos-Gerät zurückzusetzen.

Anforderungen

In diesem Beispiel werden die folgenden Hardware- und Softwarekomponenten verwendet:

  • Konfigurationsverwaltungsserver mit Python 3.5 oder höher und Junos PyEZ Version 2.0 oder höher

  • Junos-Gerät mit aktiviertem NETCONF und einem mit den entsprechenden Berechtigungen konfigurierten Benutzerkonto

  • Öffentliches/privates SSH-Schlüsselpaar, das für den entsprechenden Benutzer auf dem Server und dem Junos-Gerät konfiguriert ist

Übersicht

In diesem Beispiel wird eine Python-Anwendung vorgestellt, die das Dienstprogramm Junos PyEZ Config verwendet, um die Konfiguration auf dem angegebenen Gerät zurückzusetzen. Auf Junos-Geräten werden eine Kopie der zuletzt festgeschriebenen Konfiguration und bis zu 49 vorherige Konfigurationen gespeichert. Sie können zu jeder der gespeicherten Konfigurationen zurückkehren. Dies ist nützlich, wenn Konfigurationsänderungen zu unerwünschten Ergebnissen führen und Sie zu einer bekannten funktionierenden Konfiguration zurückkehren möchten. Das Zurücksetzen der Konfiguration ähnelt dem Verfahren zum Vornehmen von Konfigurationsänderungen auf dem Gerät, aber anstatt Konfigurationsdaten zu laden, führen Sie ein Rollback durch, bei dem die gesamte Kandidatenkonfiguration durch eine zuvor festgeschriebene Konfiguration ersetzt wird.

Die Python-Anwendung importiert die Klasse, die Device die Verbindung mit dem Junos-Gerät verarbeitet, die Klasse, die Config zum Ausführen von Konfigurationsmodusbefehlen auf dem Zielgerät verwendet wird, sowie erforderliche Ausnahmen aus dem jnpr.junos.exception Modul, das Ausnahmen enthält, die bei der Verwaltung von Junos-Geräten auftreten.

Nachdem die Device Instanz für das Zielgerät erstellt wurde, stellt die open() Methode eine Verbindung und eine NETCONF-Sitzung mit dem Gerät her. Die Config Hilfsmethoden werden dann die Kandidatenkonfiguration sperren, zurücksetzen, festschreiben und entsperren.

Die rollback() Methode verfügt über einen einzelnen Parameter, bei dem es sich um die Rollback-ID handelt, rb_iddie die zu ladende gespeicherte Konfiguration angibt. Gültige Werte sind 0 (Null für die Konfiguration mit dem letzten Commit) bis eins kleiner als die Anzahl der gespeicherten vorherigen Konfigurationen (maximal ist 49). Wenn Sie diesen Parameter im Methodenaufruf weglassen, wird er standardmäßig auf 0 gesetzt. In diesem Beispiel wird die Konfiguration mit der Rollback-ID 1 geladen, bei der es sich um die Konfiguration handelt, für die kurz vor der aktiven Konfiguration ein Commit ausgeführt wurde. Die rollback() Methode lädt die Konfiguration in die Kandidatenkonfiguration, die dann durch Aufrufen der commit() Methode aktiviert wird.

Nach dem Rollback und dem Commit der Konfiguration ruft die Anwendung die close() Methode zum Beenden der NETCONF-Sitzung und -Verbindung auf. Die Anwendung enthält Code zum Behandeln von Ausnahmen, z. B LockError . für Fehler, die beim Sperren der Konfiguration auftreten, und CommitError für Fehler, die während des Commit-Vorgangs auftreten. Die Anwendung enthält auch Code zum Behandeln zusätzlicher Ausnahmen, die auftreten können.

Konfiguration

Erstellen der Junos PyEZ-Anwendung

Schritt-für-Schritt-Anleitung

So erstellen Sie eine Python-Anwendung, die Junos PyEZ verwendet, um die Konfiguration auf einem Junos-Gerät zurückzusetzen:

  1. Importieren Sie alle erforderlichen Module, Klassen und Objekte.

  2. Fügen Sie alle erforderlichen Variablen ein, die in diesem Beispiel den Hostnamen des verwalteten Geräts enthalten.

  3. Erstellen Sie eine Funktionsdefinition und einen main() Funktionsaufruf, und platzieren Sie die restlichen Anweisungen in der Definition.

  4. Erstellen Sie eine Instanz der Device Klasse, und geben Sie den Hostnamen und alle Parameter an, die für diese spezifische Verbindung erforderlich sind.

  5. Öffnen Sie eine Verbindung, und stellen Sie eine NETCONF-Sitzung mit dem Gerät her.

  6. Erstellen Sie eine Instanz des Config Dienstprogramms.

  7. Sperren Sie die Konfiguration.

  8. Führen Sie ein Rollback aus, bestätigen Sie die Konfiguration und behandeln Sie alle Fehler.

  9. Entsperren Sie die Konfiguration, beenden Sie dann die NETCONF-Sitzung und schließen Sie die Verbindung mit dem Gerät.

Ergebnisse

Überprüfen Sie auf dem Konfigurationsverwaltungsserver die abgeschlossene Anwendung. Wenn die Anwendung nicht den gewünschten Code anzeigt, wiederholen Sie die Anweisungen in diesem Beispiel, um die Anwendung zu korrigieren.

Ausführen des Junos PyEZ-Codes

Ausführen der Anwendung

So führen Sie den Junos PyEZ-Code aus:

  • Führen Sie die Anwendung auf dem Konfigurationsverwaltungsserver aus.

Überprüfung

Überprüfen Sie die Konfiguration

Zweck

Vergewissern Sie sich, dass die Konfiguration auf dem Junos-Gerät ordnungsgemäß zurückgesetzt wurde.

Aktion

Melden Sie sich beim Junos-Gerät an, und zeigen Sie die Konfiguration oder Konfigurationsunterschiede sowie die Protokolldatei an. Zum Beispiel:

Bedeutung

Die Konfigurationsunterschiede und der Inhalt der Protokolldatei weisen darauf hin, dass für die Konfiguration erfolgreich ein Rollback durchgeführt und ein Commit auf dem Gerät ausgeführt wurde.