Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Verwenden Sie Junos PyEZ, um die Kandidatenkonfiguration und eine zuvor festgeschriebene Konfiguration zu vergleichen

ZUSAMMENFASSUNG Verwenden Sie Junos PyEZ diff() und pdiff() Methoden, um die Kandidatenkonfiguration mit einer zuvor festgeschriebenen Konfiguration zu vergleichen.

Auf Junos-Geräten werden eine Kopie der zuletzt festgeschriebenen Konfiguration und bis zu 49 vorherige Konfigurationen gespeichert. Mit dem Dienstprogramm Junos PyEZ jnpr.junos.utils.config.Config können Sie die Kandidatenkonfiguration mit einer zuvor festgeschriebenen Konfiguration vergleichen und die Differenz ausdrucken oder zurückgeben. In Tabelle 1 werden die Methoden beschrieben, die der Ausgabe des show | compare rollback n Befehls "Konfigurationsmodus" in der Junos OS CLI entsprechen.

Tabelle 1: Junos PyEZ-Methoden zum Vergleich von Konfigurationen

Methode

Beschreibung

diff()

Vergleichen Sie die Kandidatenkonfiguration mit der angegebenen Rollback-Konfiguration, und geben Sie die Differenz als Objekt zurück.

pdiff()

Vergleichen Sie die Kandidatenkonfiguration mit der angegebenen Rollback-Konfiguration, und geben Sie die Differenz direkt in der Standardausgabe aus.

Hinweis:

In der Datenbank für flüchtige Konfigurationen wird nur die aktuelle Version der festgeschriebenen kurzlebigen Konfigurationsdaten gespeichert, weshalb der Vergleich der geänderten kurzlebigen Konfiguration mit zuvor festgeschriebenen Konfigurationen nicht unterstützt wird.

Die diff() and-Methode pdiff() ruft die Differenz zwischen der Kandidatenkonfiguration und einer zuvor festgeschriebenen Konfiguration ab, auf die durch den Rollback-ID-Parameter verwiesen wird, rb_idim Methodenaufruf. Wenn der Parameter weggelassen wird, wird die Rollback-ID standardmäßig auf 0 gesetzt, was der aktiven Konfiguration entspricht.

Die Differenz wird im Patch-Format zurückgegeben, wobei:

  • Anweisungen, die nur in der Kandidatenkonfiguration vorhanden sind, wird ein Pluszeichen (+) vorangestellt

  • Anweisungen, die nur in der Vergleichskonfiguration und nicht in der Kandidatenkonfiguration vorhanden sind, wird ein Minuszeichen (-) vorangestellt.

  • Die Methoden werden zurückgegeben oder gedruckt None , wenn es keinen Unterschied zwischen den Konfigurationen gibt.

In einer Junos PyEZ-Anwendung können Sie nach dem Herstellen einer Verbindung mit dem Gerät die diff() or-Methode pdiff() für ein Config or Table-Objekt aufrufen, um die Kandidaten- und Rollback-Konfigurationen zu vergleichen. Im folgenden Beispiel wird die Config Klasse verwendet, um Konfigurationsänderungen in die Kandidatenkonfiguration zu laden, und dann wird die pdiff() Methode aufgerufen, um die Unterschiede zwischen der geänderten Kandidatenkonfiguration und der aktiven Konfiguration auszugeben, bevor ein Commit für die Änderungen ausgeführt wird.

Wenn Sie den Code ausführen, werden die Unterschiede in der Standardausgabe ausgegeben. Zum Beispiel:

Um die Differenz zwischen den Konfigurationen als Objekt für die weitere Bearbeitung abzurufen, rufen Sie die diff() Methode anstelle der pdiff() Methode auf, und speichern Sie die Ausgabe in einer Variablen. Zum Beispiel:

Wenn Sie Junos PyEZ-Konfigurationstabellen und -ansichten verwenden, um strukturierte Konfigurationsänderungen auf einem Gerät vorzunehmen, können Sie die Konfigurationsdaten laden und festschreiben, indem Sie entweder die lock()Methoden , load()und commit() unlock() und einzeln aufrufen oder indem Sie die set() Methode aufrufen, die alle diese Methoden automatisch aufruft. Wenn Sie Konfigurationstabellen verwenden, um ein Gerät zu konfigurieren, und Sie die aktualisierte Kandidatenkonfiguration mit einer zuvor festgeschriebenen Konfiguration vergleichen möchten, indem Sie die diff() oder-Methoden pdiff() in Ihrer Anwendung verwenden, müssen Sie die load() and-Methoden commit() anstelle der set() Methode verwenden. Auf diese Weise können Sie die Unterschiede abrufen, nachdem die Konfigurationsdaten in die Kandidatenkonfiguration geladen wurden, aber bevor sie festgeschrieben wurde. Zum Beispiel:

Im folgenden Beispiel wird die Kandidatenkonfiguration mit der Konfiguration mit der Rollback-ID 5 verglichen, es werden jedoch keine Änderungen an der Konfiguration vorgenommen: